Вход

   Звукотехника

   Источники питания

   Измерительная техника

   Автолюбителям

   Радио-начинающим

   Электроника в быту

   Радио и связь

   Примочки для ПК

   Шпионские штучки

   Микроконтроллеры

   Об Arduino

   Проекты на Arduino

   Учебники и статьи

   Софт для Arduino

   ЛИТЕРАТУРА

     Справочники

     Начинающим

     Книги

   СОФТ

     Полезный софт

   ЖУРНАЛЫ

     Радио

     Радиоаматор

   ДОКУМЕНТАЦИЯ

     Справочный листок

Главная » Статьи » СХЕМЫ » Микроконтроллеры

Барометр и термометр на ATmega8 (с печатной платой)

Температура и давление окружающего воздуха оказывают большое влияние на самочувствие человека. Их важно знать и в походе, и на даче, и дома. Предлагаемый компактный прибор как нельзя лучше подходит для этого. Его можно использовать также для приблизительной оценки высоты, например, при подъеме в горы. Уменьшение давления на 1 мм ртутного столба соответствует увеличению высоты над уровнем моря приблизи­тельно на 10 м.

Пределы измерения и погрешность  прибора определяются в основном примененными в нем датчиками тем­пература -55...+125 °С, атмосферное давление 225. 825 мм ртутного столба Прибор питается напряжением 9 В от гальванической батареи типа "Крона" или сетевого адаптера Потребляемый ток — 30 мА (при выключенной под­светке ЖКИ). Размеры корпуса — 118x72 28 мм. Работа прибора была проверена при температуре от -5 до +25 С Погрешность измерения давле­ния не превысила 4 мм ртутного столба Схема прибора изображена на рис. 1 причем собранный на отдель­ной плате модуль измерения давления выделен штрихпунктирной линией.

Необходимые для работы датчика так­товые импульсы частотой 32768 Гц выра­батывает кварцевый генератор на эле­ментах микросхемы DD1 В принципе, эти импульсы мог бы формировать и микро­контроллер DD2 с помощью одного из имеющихся в нем таймеров Но это по­требовало бы усложнения программы.

Напряжение 3,6 В для питания датчи­ка В1 и микросхемы DD1 получено с помощью стабилитрона VD1 Резисторы R1 —R3 — нагрузочные для линий свя­зывающего датчик с микроконтролле­ром интерфейса 1С и сигнала XCLR Печатная плата модуля измерения дав­ления показана на рис. 2

Хотя датчик HP03SB содержит и встроенный измеритель температуры, его показания используются програм­мой микроконтроллера DD2 только для уточнения результатов измерения дав­ления. На ЖКИ HG1 вместе со значени­ем давления выводятся показания дру­гого датчика температуры — DS1624 (В2) Причина этого проста — он точнее При необходимости датчик В2 можно сделать выносным и расположить там где температура представляет наиболь­ший интерес. При установке в корпусе прибора этот датчик следует вынести на боковую стенку, сделав в ней окно по его размерам Иначе неизбежна ошибка на 1,5 ..1,8 'С, в чем я убедился на практике Напряжение питания +5 В стабилизи­ровано микросхемой DA1 Подстроеч ным резистором R8 устанавливают наи­лучшую контрастность изображения на ЖКИ Кнопкой SB1 включают подсветку его табло. Остальные элементы необхо­димы для работы микроконтроллера Элементы R7 R9 СЮ VD2 — цепь уста­новки микроконтроллера в исходное состояние Кварцевый резонатор ZQ2 с конденсаторами С11.С12 — частотозадающая цепь тактового генератора мик роконтроллера.

На рис. 3 представлен чертеж ос­новной печатной платы прибора а на рис. 4 — расположения деталей на ней В переходное отверстие показанное залитыми (плата на рис. 2), необходимо вставить и пропаять с двух сторон прово­лочную перемычку. Для микроконтрол­лера DD1 должна быть предусмотрена панель, так как в процессе налаживания прибора эту микросхему придется из­влекать и вновь устанавливать.

Остановимся на некоторых особен­ностях датчика HP03SB. общий вид и га­баритные размеры показаны на рис. 5 Для определения давления необходимо предварительно прочитать из памя­ти установленного в приборе экземпля­ра этого датчика двухбайтные значения коэффициентов С,—С- и однобайтные значения параметров A—D. Все они ин­дивидуальны для данного экземпляра.

Результаты измерения представляют собой два двухбайтных числа- D1 — дав­ление D2 — температура.  Прочитав их из памяти датчика программа должна вычислить вспомогательные значения


Более подробные сведения о датчике HP03SB имеются в [1]. Однако необ­ходимо отметить что там указаны невер­но адреса внутренней памяти датчика, по которым хранятся его индивидуаль­ные константы. Следует пользоваться теми адресами что приведены в [2] В приборе можно применить и другие дат­чики серии НРОЗ Некоторые из них име­ют меньшую точность, другие отлича­ются конструктивным оформлением.

Работа программы начинается с ини­циализации портов микроконтроллера и ЖКИ Успешную инициализацию под­тверждает вывод на табло надписи "TER- MOBAR" (буква Н пропущена). Затем инициализируется датчик давления, счи состояние регистра статуса модуля TW1 микроконтроллера не проверяется.

Для чтения коэффициентов и пара­метров датчика предназначена специ­альная программа ReadCC, которую необходимо загрузить в программную  память микроконтроллера полностью собранного прибора (с подключенным модулем измерения давления), вклю­чить его и через несколько секунд выключить. После этого нужно извлечь микроконтроллер и с помощью про­грамматора прочитать содержимое его EEPROM. В нем по адресам, указанным в табл. 1, находятся значения индиви­дуальных коэффициентов и парамет­ров датчика. Далее необходимо открыть файл рабочей про­граммы баро­метра-термо­метра BARO-2 asm, найти в нем фрагмент, приведенный в табл. 2, и ис­править значе­ния объявлен­ных там конс­тант в соответ­ствии с прочи­танными из EEPROM Пара­метр D в про­грамме не ис­пользуется

Теперь про­грамма готова к работе с уста­новленным в прибор экзем­пляром датчика Остается от­транслировать ее с помощью AVR Studio и загрузить полу­ченный НЕХ- файл в микро­контроллер Уч­тите, что анало­гичный файл, приложенный к статье, рассчи­тан на работу с датчиком, имев­шимся у автора Если загрузить его в микрокон­троллер при­бор с другим эк­земпляром дат­чика давления будет работать но давать неточ­ные показания

В разработке использованы фрагменты программ из [3] и [4]. Подпро­граммы преоб­разования чи­сел из шестнадцатеричного формата в дво­ично-десяти­чный перерабо­таны с учетом разрядности чисел. Подпро­граммы пере­множения и де­ления двух­байтных чисел, предназначен­ные для микро­контроллеров семейства MCS-51, пере­ведены на язык ассемблера AVRASM Мень­ше всего под­верглась изме­нениям подпрограмма управления ЖКИ, учтены лишь особенности индикатора MT-10S1 а для ввода и вывода сигналов использо­ваны другие порты микроконтроллера.






Источник: Радио. 2010. №6. | Категория: Микроконтроллеры | Добавлен: 14.07.2010 | Автор: Н. САЛИМОВ | Просмотров: 8810

Проверка тИЦ и PR
Яндекс.Метрика

РадиоГИД © 2010-2016 Обратная связь Сайты-партнеры
Бесплатный хостинг uCoz