Прикручиваю датчики к контроллёру
Добавлено: Вс фев 13, 2011 20:38:57
Надо на мк повесить датчики давления, температуры и влажности воздуха.
Купил себе вот эти радости:
давление: http://lv.farnell.com/freescale-semicon ... dp/1555603
температура: http://lv.farnell.com/jsp/search/produc ... KU=8598550
влажность: http://lv.farnell.com/jsp/search/produc ... KU=1566265
чтобы вам не лазить по даташитам:
Температура - резистивный датчик: 1K при нуле, 1.385K при 100 градусах. Интересует промежуток от -30 до +55.
Влажность - ёмкостный датчик: 300pF при нуле, 360pF при максимальной влажности. Интересуют все значения.
Давление - на выходе напряжение.
Включать хочу примерно так: Посчитал включение температурного датчика в делитель напряжения с образцовым 1.1К резистором - для хорошей точности нужен 12-14битный ADC. На AVR контролёрах стоят 10битные. Можно ADC и купить, но лишние IC в схему включать не хочу. На AVRfreaks наткнулся на схемку для измерения ёмкостей (см. рисунок).
1) включаем счётчик
2) пускаем на лапку мк единицу
3) ждём прерывания от компаратора
4) останавливаем счётчик
5) меняем напряжение на пине на ноль и оставляем так до следующего измерения
Теперь, собственно вопросы:
1) С контроллёром вроде определился - хочу AtTiny261A: http://lv.farnell.com/atmel/attiny261a- ... dp/1841618. Он довольно дешёв, у него есть ADC, мультиплексуемый компаратор, 8 и 16 битные таймеры, и USI для связи.
Что меня мучает:
Первое - пустая Errata в даташите: not known, not tested.
Второе - у меня програматор года полтора назад куплен, а этот контроллёр вроде новый. В списке устройств програматора написано что поддерживает AtTiny261. Atmel в общем стараются делать новые девайсы совместимыми с предыдущими, но меня терзают сомнения. Может лучше взять AtTiny261 (в два раза дороже)?
2) Не имею представления как подобрать резистор и конденсатор для датчиков так, чтобы наибольшая точность достигалась в нужном мне диапазоне. И вообще - будет ли там хоть какая-то точность с этим методом включения?
Точные значения резистора и конденсатора я подсчитаю численно в экселе - подскажите только в каком диапазоне искать.
И ещё - как по-англицки будет образцовый резистор? На слово "reference" поиск Farnell выдаёт только voltage reference микросхемы. Если можно - тыкните пальцем в какой категории в каталоге их искать. Особенно - конденсаторы. Надо бы что-то поточнее, но 4-6 евро/шт - максимум.
А, почти забыл - мк будет работать от 10 или 20 МГц - как удобнее. Думаю - возьму кристалл подороже - с тремя нулями после запятой.
3) Осталось только поинтересоваться про напряжения.
Питание. Все результаты измерений относительны к напряжению питания, и по идее нет особой разницы - будет там 4.7В или 5.2В. Но всё-же. Датчик питать буду не от лабораторного блока питания, а от китайской подделки (хоть и стабилизированой), поэтому и интересуюсь - может ли повлиять на результат измерений небольшой дрифт в радиусе полувольта от номинала? Если повлияет - наверно надо какую-нибудь стабилизирующую микросхемку втиснуть. Жаться сильно не стоит - сыкономив 1 евро десятикратно похерить точность я не хочу.
Фильтрация питания. Для более-менее точной измерительной техники на мк допустимо ставить стандартный комплект?:
электролит 47uF + керамика 100nF между VCC и GND
дроссель 100uH-120uH между VCC и AVCC
100nF между AVCC и AGND
И глупый вопрос - куда включать AREF? На прямую в AVCC? Это же как я понимаю - reference voltage для ADC?
Ничего вроде не забыл?
Reference voltage для компаратора.
Как погрешность меньше сделать - устанавливать делителем напряжения, воткнуть стабилитрон или использовать микросхему? Какой минимальный ток нужно обеспечить для работы?
И ещё одно - какое напряжение выбрать? Напомню - мерять собираюсь RC цепь, а там после процентов 85 уже никаким точным ADC ничего не различишь. Одни источники говорят ставить на 3/4 от питания, другие - 70%. Судя по графику с википедии 86,5% тоже хорошо для верхнего предела. Мысли, идеи?

Купил себе вот эти радости:
давление: http://lv.farnell.com/freescale-semicon ... dp/1555603
температура: http://lv.farnell.com/jsp/search/produc ... KU=8598550
влажность: http://lv.farnell.com/jsp/search/produc ... KU=1566265
чтобы вам не лазить по даташитам:
Температура - резистивный датчик: 1K при нуле, 1.385K при 100 градусах. Интересует промежуток от -30 до +55.
Влажность - ёмкостный датчик: 300pF при нуле, 360pF при максимальной влажности. Интересуют все значения.
Давление - на выходе напряжение.
Включать хочу примерно так: Посчитал включение температурного датчика в делитель напряжения с образцовым 1.1К резистором - для хорошей точности нужен 12-14битный ADC. На AVR контролёрах стоят 10битные. Можно ADC и купить, но лишние IC в схему включать не хочу. На AVRfreaks наткнулся на схемку для измерения ёмкостей (см. рисунок).
1) включаем счётчик
2) пускаем на лапку мк единицу
3) ждём прерывания от компаратора
4) останавливаем счётчик
5) меняем напряжение на пине на ноль и оставляем так до следующего измерения
Теперь, собственно вопросы:
1) С контроллёром вроде определился - хочу AtTiny261A: http://lv.farnell.com/atmel/attiny261a- ... dp/1841618. Он довольно дешёв, у него есть ADC, мультиплексуемый компаратор, 8 и 16 битные таймеры, и USI для связи.
Что меня мучает:
Первое - пустая Errata в даташите: not known, not tested.
Второе - у меня програматор года полтора назад куплен, а этот контроллёр вроде новый. В списке устройств програматора написано что поддерживает AtTiny261. Atmel в общем стараются делать новые девайсы совместимыми с предыдущими, но меня терзают сомнения. Может лучше взять AtTiny261 (в два раза дороже)?
2) Не имею представления как подобрать резистор и конденсатор для датчиков так, чтобы наибольшая точность достигалась в нужном мне диапазоне. И вообще - будет ли там хоть какая-то точность с этим методом включения?
Точные значения резистора и конденсатора я подсчитаю численно в экселе - подскажите только в каком диапазоне искать.
И ещё - как по-англицки будет образцовый резистор? На слово "reference" поиск Farnell выдаёт только voltage reference микросхемы. Если можно - тыкните пальцем в какой категории в каталоге их искать. Особенно - конденсаторы. Надо бы что-то поточнее, но 4-6 евро/шт - максимум.
А, почти забыл - мк будет работать от 10 или 20 МГц - как удобнее. Думаю - возьму кристалл подороже - с тремя нулями после запятой.
3) Осталось только поинтересоваться про напряжения.
Питание. Все результаты измерений относительны к напряжению питания, и по идее нет особой разницы - будет там 4.7В или 5.2В. Но всё-же. Датчик питать буду не от лабораторного блока питания, а от китайской подделки (хоть и стабилизированой), поэтому и интересуюсь - может ли повлиять на результат измерений небольшой дрифт в радиусе полувольта от номинала? Если повлияет - наверно надо какую-нибудь стабилизирующую микросхемку втиснуть. Жаться сильно не стоит - сыкономив 1 евро десятикратно похерить точность я не хочу.
Фильтрация питания. Для более-менее точной измерительной техники на мк допустимо ставить стандартный комплект?:
электролит 47uF + керамика 100nF между VCC и GND
дроссель 100uH-120uH между VCC и AVCC
100nF между AVCC и AGND
И глупый вопрос - куда включать AREF? На прямую в AVCC? Это же как я понимаю - reference voltage для ADC?
Ничего вроде не забыл?
Reference voltage для компаратора.
Как погрешность меньше сделать - устанавливать делителем напряжения, воткнуть стабилитрон или использовать микросхему? Какой минимальный ток нужно обеспечить для работы?
И ещё одно - какое напряжение выбрать? Напомню - мерять собираюсь RC цепь, а там после процентов 85 уже никаким точным ADC ничего не различишь. Одни источники говорят ставить на 3/4 от питания, другие - 70%. Судя по графику с википедии 86,5% тоже хорошо для верхнего предела. Мысли, идеи?