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

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-м курсе, о микроконтроллерах имею довольно смустное представление, ибо с ними встречаться практически не приходилось(: и как раз в этом семестре у меня появилась дисциплина “программирование микропроцессорных устройств”, на кторой я и должен освоить ассемблер. узнать много нового и интересного о микроконтролерах(: такие вот дела, за бред не судите строго, я просто описал ту задачу, которую мне поставили и с которой я не совсем пока что могу справиться…