Помогите найти микроконтроллер, плиз:)

morogorec

Добрый день, у меня такая картина: пишу выпускную работу по микропроцессорному газосигнализатору. уже очень долго мучаюсь и никак не получается найти микроконтроллер, удовлетворяющий всем параметрам: Переферия: usb 2.0, АЦП 8 или 10 бит, встроенный термодатчик(очень важно), цена не более 130 рублёв(определяющий параметр), желательно без компараторов. просмотрел много контроллеров, и уже почти остановился на pic18f13k50, но там не оказалось термодатчика, который в мне бы уменьшил навесные элементы… помогите пожалуйста, очень, очень нужно(: ps корпус от 24 выводов и выше(: я нуб в этом деле, но у меня всё впереди.

xplporer

Просто интересно… В чем смысл встроенного термодатчика? Мерять температуру чипа? Потому наверное встроенный найти трудно…

AndyBig

Внешний термодатчик - это ровно один дополнительный элемент 😃 Встроенный в контроллер термодатчик будет не только бесполезен, но и принципиально вреден. Мерять-то нужно температуру окружающей среды?

morogorec

объясняю, что, да как:) существует схема включения датчиков газа TGS 8xx и TGS 2xxx www.electronics.ru/pdf/2_2005/07.pdf вот тут она есть. термосопротивление там нужно для термокомпенсации, чтоб при любых изменениях температуры, можно было не меняя шкалу измерений померить концентрацию газа. В приведённой выше схеме присутствуют компараторы, а моя задача сделать газосигнализатор цифровой, поэтому компараторы у меня заменятся ацп, термокомпенсация будет производиться программно, а так же будет выход usb, чтоб можно было получать инфу, ну например через сотовый телефон… figaro выпускает своимикропроцессоры, адаптированные для своей же продукции, но стоят эти микропроцы от полутора тысяч и более, моя же задача максимально удешевить устройство, при этом, чтоб было как можно меньше внешних элементов. За основу взят блок AM1 figaro. я уже ооочень долго ищу подходящий микроконтролер, но всё никак не найду подходящего, помогите, если можете, ну оочень надо(:

AndyBig
morogorec:

термосопротивление там нужно для термокомпенсации, чтоб при любых изменениях температуры, можно было не меняя шкалу измерений померить концентрацию газа

Именно поэтому температурный датчик должен стоять максимально близко к датчику газа, а не внутри контроллера, температура которого будет отличаться от температуры воздуха.

morogorec:

моя же задача максимально удешевить устройство, при этом, чтоб было как можно меньше внешних элементов

Ну так поставьте обычный терморезистор и меряйте его тем же АЦП. Все равно с Вашим подходом точность газоанализатора будет весьма далекой от идеала, но принцип будет соблюден - термокомпенсация имеется.

morogorec:

а так же будет выход usb, чтоб можно было получать инфу, ну например через сотовый телефон…

Я бы на Вашем месте на это особо не расчитывал. Во-первых, дешевые контроллеры не имеют USB Host, во-вторых описывать в прошивке host-поддержку не так просто, как может показаться.

virtex

это любой чип avr / pic с usb интерейсом (можно без него (програмно реализовать) ) + термодатчик лучше цифровой но впринцепе вообще любой + 5 минут на прошивку всё прримитивно

AndyBig
virtex:

это любой чип avr / pic с usb интерейсом

Теперь расскажите как Вы подключите ко всему этому телефон по USB 😃

virtex

да безпроблем на смом деле … к телефону я бы предпочёл безпроводной протокол но всётаки

микроконтроллеро с апаратным USB хостом я невстречал => google lab есть проэкты для avr с программным usb хостом максимум 3 устройства правда более частота непозволяет … не о каких hispeed речи тоже не идёт ,есть совместимость 2-0 low speed устройства

есть usb хост у телефона тогда вообще рай на прерывание int0 + лапку порта вешаете D+ и развлекаетесь

для того чтобы опрашивать термодатчик времени у вас хватит с лихвой а вот для вычислейни елси они требуються врятли

гляньте проэкт avr usb там программно решение на 3,3v при частоте от 12mhz и выше (не весь ряд avr такое может)

автору:

почему именно без компараторов ? просто неиспользуйте =) у всех современных мк (90%) ацп есть 10разрядный даже 16 разрядные только с таких ацп без кучи обвеса для стабилизаци питания нет ровно никакого толку реальность 6-7 разрядов остальное мусор

вам проще всего подключить аналоговый термодатчик через один из входов АЦП ищите датчик 5V из всего обвеса у вас будет только 2 конденсатора подтягивюний резистор reset + резистор на usb для идентификации типа устройства

если используете внешний резонатор то ещё 2 конденсатора + кварц

если требуеться высокоточный ацп то Шим + стабилизатор + индуктивно ёмкостая цепь + аналоговый делитель

если простая стабилизация то любой стандартный стабилизатор с шим + несколько кондеров

AndyBig
virtex:

микроконтроллеро с апаратным USB хостом я невстречал => google lab есть проэкты для avr с программным usb хостом максимум 3 устройства правда более частота непозволяет

Хм, не знал про реализацию программного хоста на АВР, спасибо за информацию 😃
Контролеры с аппаратным хостом бывают, но это уже АРМы довольно высокого класса. Хайспидовских контроллеров - по пальцам пересчитать, и те почти все в BGA-корпусах.

По поводу встроенного АЦП и минимальной внешней обвязки - я уже высказал свое мнение. Это получится игрушка с точностью дай бог процентов 20… Даташиты смотрели на эти газовые датчики? У них диапазон выходного напряжения 0-80 мВ 😃
А при таком подходе как сейчас это будет проект на “отвяжитесь” - дунули газом на датчик, циферки на индикаторе поменялись. То есть термокомпенсация почти не добавит никакой точности.

virtex

бычного ATmega8 достаточно чтобы утянуть программный usb интерфейс (устройство а не хаб) … стоимости контролеров от 60рублей

нус 0-80mv я бы вам нерекомендовал отдавать на ацп даже если установить опорное напряжение в 1v прогрешность будет просто жудкой …

усиливайте выход до 2-5 вольт (оптимально до напряжения патиния контроллера) я с трудом представляю как вообще в малогабаритном устройстве отцифровывать 80mv это качественная развязка нужна + большие задежки для стабилизации напряжение ,ёмкости на входе ацп всёже присутствуют

цифровых датчиков на i2c разве нет ? так удобнее но их точность вероятно меньше + нагрузка на контролеер больше

при програмной реализации на частоте 16-20mhz (вообще недокументированно но работает) у контроллера останеться 5-15% процессорного времени для все обработки + вы несможете прерывать выполнение основного кода ибо это вызовет ошибки протакола передачи и синхронизации usb очень тонкая штука

+Мк avr немогут быть сертифицированными устройствами для работы с USB так как их выход несоответствует уровням указаным в документации USB но пара диодов и всё колдовство котово

схемы в avr usb прилагаються всё понятно и доступно очень широкое описание …

проэкт реализован на русском microsin.ru смотрите здесь по мимо этого есть ещё десяток … но если что рекомендую именно его это 100% plug and play минимум колдовства

morogorec
virtex:

автору:

почему именно без компараторов ? просто неиспользуйте =) у всех современных мк (90%) ацп есть 10разрядный даже 16 разрядные только с таких ацп без кучи обвеса для стабилизаци питания нет ровно никакого толку реальность 6-7 разрядов остальное мусор

ну задание мне такое дал мой дипломный руководитель, говорит, реализуй схему на микроконтроллере, 8 бит ацп, без компараторов, с usb поддержкой, и чтоб там термодатчик был… я бы может и не обращался сюда за помощью, но второй месяц уже почти впустую тыкаюсь, толком не могу даже принципиалку нарисовать, на бакалавра учусь… ладно хоть модуль, который за основу брать, нашёл… вся загвоздка в микроконтролере…

virtex

да нету у вас никакой загвоздки … такое ощущение что вы вообще в глаза невидели микроконтроллеров либо с ними неработали …

Шас вообще бывают кнтролеры без компаратора которые имеют аппаратный USB ? … вы ненайдёте таких

котроллер 8 бит ацп 2 линии 10 бит 4 порта I/0 таймеры компораторы и т д стоит 100 рублей у производителя 30-50

совместим (с минимальными изменениями) со всеми контроллерами семейства Atmega Xmega и вообще Avr контроллерами

я пердставил вам схему готового устройста которое будет работать без изменений как есть включил прошил = работает

ознакомиться с проэктом вы можете здесь microsin.ru

вы можете написать свою прошивку заменить частоту на подходящую … и т д

с вашей задачей может справиться 90% Любой микроконтроллер с частотой от 8Mhz для pic 24Mhz

выберайте любые решения вплоть до архитектуры 8080 … c внешней памятью =))))

я бы на вашем месте сконцентрировал своё внимание на датчике и его характеристиках … нехотите ломать голову ?

берите цифровой датчик … и если вы реально учились а не … ну пы понимаете то легко поймёте что из схемы можно исключить 90% всех деталей без проблем поключить датчик через 3 проводка и более ниочём небеспокоиться и оно будет работать …

всё дело в программировании и вашем желании

AndyBig

Газовый датчик, инструментальный операционник для усиления сигнала от датчика (например AD8551), терморезистор, ARM-контроллер с аппаратным USB-девайсом (например LPC2141). Вот и все, что Вам нужно. Правда, телефон к этому если подключать, то только по UART, а компьютер (ноутбук) - по USB.

xplporer

В принципе… тут никаких скоростей нет. все медленно и печально. можно поставить UART-USB чип и не париться 😃 а так считай даже тиньки осьминого хватит под такой сложный девайс…

AndyBig

Ну если стоит в списке задач USB, то брать уже чип с аппаратным USB, что бы все по-честному 😃

virtex

uart- usb извращение помоему … это лишние деньги лишний чип лишняя пайка

но идея имеет право на жизнь но удасться ли на контроллере сэкономить столько ?

AndyBig

Вот по сути и вся блок-схема анализатора:

london

автору:
встроенный термодатчик у микроконтроллеров с минимальным энергопотреблением,
например полностью подходит MSP430F5504: usb 2.0, 10 bit ADC, Temp Sensor,
правда с наличием проблемы

mikki

Чето заумно ИМХО…
А можно предполагаемую блок схему? По USB Вы хотите получать или передавать инфу? Для промышленности общепринять вроде как RS485…
И модемы если че есть чтобы инфой обмениваться с внешним миром.
Для нормального измерения нужно как минимум использовать иструментальный усилитель… тогда не потребуется калибровка и настройка (если использовать обычные операционники то затраты на настройку могут превысить затраты на изготовление)…
Сам использую термодатчики RTD с компенсацией длины кабеля с помощью генераторов тока… Бюджетненько не получится… Плата датчика без контроллера под тыщу обходится за канал…
Для термокомпенсации можно использовать термодатчик с цифрой на выходе…
тогда обычного проца хватит чтоб все это хозяйство обработать и передать куда надо (у меня на PIC16F877 реализовано на 36 каналов))))
Все что написал мое ИМХО, проверенное на собственных граблях))) Но для димлома и USB нормально))

morogorec

спасибо всем, в том числе и за готовую схему, но… это немножко не то(: по поводу датчика я не парюсь, у меня датчик изначально задан в ТЗ tgs 842 и tgs 2442, изначальная схема, от которой я и мой руководитель отталкивались, в которой компараторы заменяются на ацп, схему использую для блока AM1 FIGARO, только там микропроцессор, который стоит порядка 2к, мне нужно заменить на гораздо более дешевый микроконтроллер и в него добавить возможность передачи данных на usb. учусь я на 4-м курсе, о микроконтроллерах имею довольно смустное представление, ибо с ними встречаться практически не приходилось(: и как раз в этом семестре у меня появилась дисциплина “программирование микропроцессорных устройств”, на кторой я и должен освоить ассемблер. узнать много нового и интересного о микроконтролерах(: такие вот дела, за бред не судите строго, я просто описал ту задачу, которую мне поставили и с которой я не совсем пока что могу справиться…

AndyBig
morogorec:

но… это немножко не то(:

Что именно - не то? Вам вроде бы уже даже примерную схему дали именно для Вашего задания…

morogorec:

в которой компараторы заменяются на ацп

Видимо, Вы очень смутно представляете себе не только контроллеры, но и вообще электронику.
Вам на пальцах расписали почему нельзя датчик сувать сразу в АЦП.

mikki:

А можно предполагаемую блок схему?

Если бы она у него была…

mikki:

Для нормального измерения нужно как минимум использовать иструментальный усилитель…

О чем я и говорил.

mikki:

Бюджетненько не получится…

Получится. Игрушка 😃

morogorec:

схему использую для блока AM1 FIGARO, только там микропроцессор, который стоит порядка 2к, мне нужно заменить на гораздо более дешевый микроконтроллер

Вы считаете, там поставили контроллер за эту цену просто что бы побольше нагреть покупателей? Ошибаетесь. Дешевых точных измерений не бывает. И сделать аналог ихнего модуля в десять раз дешевле не получится.

mikki

насчет микропроцессора Figaro… не знаю че там за камень, но сдается мне что это просто прошитый контроллер (за это и 2к берут)…

А это… вопрос…
На выходе что ожидается получить???
Схема то аварийного извещателя…
А Вам че надо? Измерить уровень аварийности?
Типа утечка газа 20%… Или что?
Если принцип тот же, то можно тупо прикрутить микроконтроллер вместо динамика и использовать его в качестве передатчика чего угодно куда угодно по событию срабатывания… А чтоб у препода вопросов не возникло, убрать нахрен компараторы и использовать их же только встроенные в микропроцессор ( ПИКов такие есть)… Тот же 876-877 Пик пойдет за глаза…

Если не заморачиваться USB (поверьте, не имея опыта работы с процами Вы его не поднимете тем более на ассемблере) то объем программирования сведется к настройке копараторов и UARTа… ну и чето типа ждем срабатывания… есть - отправляем “АТАС” на УАРТ… В каком виде? хоть на модем хоть на комп… Тут как раз и можно поизгаляться)))

morogorec

Если бы она у него была…


чудяса случаются, схема есть.
по материалам книги бэк 30 “микропроцессор fic93619A регистрирует 4 уровня загрязнения воздуха соответственно сигналу, посылаемому датчиком газа. МП компенсирует влияние на датчик атмосферной влажности и ТЕМПЕРАТУРЫ, а так же кратковременное воздействие случайных газов. В соответствии с оценкой уровня загрязнения мп выдает управляющие сигналы для регулятора качества воздуха.”
на выходе мне необходимо получить на сколько велико или низко содержание измеряемого газа, которое мне покажут светодиоды. За счёт ацп у меня как раз и появятся эти уровни. первая схема, что я представил, была общей для включения датчиков tgs 8xx и tgs2xxx, а модуль AM-1 это уже разработка figaro, так называемый вычислительный модуль.

mikki:

По USB Вы хотите получать или передавать инфу

предполагается передача инфа на какое-то внещнее устройство, например телефон.

mikki

Это схема электрическая принципиальная а не блок-схема…
Блок-схему я спросил типа циклограммы работы Вашего устройства…

Теперь вопрос по USB… Вы телефон к устройству подключать собираетесь? обычно инфа на GPRS модем передается… а с него уже или на сервер или SMS на другой телефон… а на модеме обычно есть RS232… и это можно на ассемблере написать, хотя даже имеющий опыт разработки зае… замучается))) У меня прием данных и передача на модем занимает порядка 4К байт памяти программ в проце… (хотя это вам ничего не говорит)… ну примерно 3500 команд на ассемблере
А со схемой измерения - поскольку триггеры не устраивают (хотя для 4 уровней их вполне достаточно) тогда однозначно инструментальник… по 200-400рэ за корпус… и генератор тока… примерно по той же цене…

www.terraelectronica.ru/pdf/TI/INA114.pdf Гляньте вот этот… там и применение есть… Кстати там есть схема измерения измерения термопарой с компенсацией температуры холодной спайки… походу то что вам нужно… Только не говорите что и с английским не в ладах))))

Та штука что вы показали (описание www.figaro.co.jp/en/data/…/20091110170044_4.pdf) тоже простой предельный измеритель только на 4 значения (задаются резисторами)

Глянул применяемость этих контроллеров - нигде кроме как в кофеварках применение не описано))) даже с даташитом напряг… не нашел((( обнаружил что это 4-битный контроллер фирмы Toshiba (ИМХО древний как копролит поскольку на сайте производителя о нем ни гу гу)

virtex

асемблер для такой задачи - полнейший бред … он уже идёт в области любительского программирования и извращений либо используеться для сверхдешовых монолитных устройств кторые выходят в огромные серии …

всё на C++

да и вообще помоему задача на дипломный проэкт не тянет … лично у меня имея незаконченные 9 классов образования + ещё по мелочи + какойто год работы на реализацию уйдёт максимум 10 часов … если исключить время на беготню по магазинам за деталями