Например TDA7294

РадиоКот > Конкурс: Поздравь Кота по-человечески 2017!

Термодатчик на Atmega8A. Вариант 1

Автор: Sobiratel_sxem, sobiratel_sxem@mail.ru
Опубликовано 31.08.2017.
Создано при помощи КотоРед.

     Добрый день, уважаемые радиолюбители.

     В радиолюбительской практике бывают случаи, когда необходимо измерять и (или) контролировать температуру в широком диапазоне, но при этом прецизионная точность измерений не требуется. Примером таких измерений может служить контроль температуры отмывочной жидкости и воздуха при автоматической отмывке и сушке печатных плат, контроль температуры при сушке и полимеризации некоторых лаков, красок, компаундов и т.д. Сегодня я хотел бы предложить Вам пример реализации подобного устройства.
     Итак, на схеме ниже представлена схема электрическая принципиальная спроектированного термодатчика. Разберёмся кратко как он работает.


     В основе данного устройства лежит термодатчик DA2, способный измерять температуру в диапазоне от -40 до +125 градусов Цельсия с точностью ±3 градуса [1].
     Аналоговый сигнал, снимаемый с термодатчика поступает на вход нулевого канала аналогово-цифрового преобразователя (АЦП) микроконтроллера DA3 [2], где происходит оцифровка и последующая обработка сигнала. В качестве алгоритма обработки было использовано усреднение по методике скользящего среднего т.к. данная методика усреднения позволяет достаточно эффективно избавиться от случайных одиночных помех [3]. Усреднение производится по результатам 10-ти измерений.
     Результат измерения и обработки выводится на ЖК-дисплей типа WH-1602A, подключённый к порту D микроконтроллера DA3 через защитные резисторы R13-R19. По умолчанию на дисплее в первой строке выводится надпись “Temprtature now” (температура сейчас), а во вторую строку выводится непосредственно температура в формате t=”текущая температура“.
     В случае превышения заданного порога температуры активируется звуковая сигнализация, реализованная программно в совокупности с внешним исполнительным устройством. Внешним исполнительным устройством служит КМОП-инвертор ( транзисторы VT3, VT4 ), выполняющий роль усилителя тока, совместно с пьезоэлектрическим излучателем Z2. При этом на дисплее во второй строке выводится надпись в формате “WARNING t=”Текущая температура””.
     Установка порога срабатывания сигнализации термодатчика производится выключателями S1, S2. При размыкании выключателя S1 происходит ступенчатое циклическое уменьшение порога срабатывания, а при размыкании выключателя S2 – ступенчатое циклическое увеличение порога срабатывания. При этом во второй строке выводится надпись в формате “Porog=”Текущий порог срабатывания””. При одновременном же размыкании выключателей S1 и S2 во вторую строку дисплея выводится значение текущего порога срабатывания сигнализации термодатчика.
     По окончанию ввода данные о пороге срабатывания сохраняются в энергонезависимую EEPROM, где и хранятся при отключении питания устройства. Запись в EEPROM производится только при различии установленного и сохранённого в памяти порога для продления срока службы EEPROM (EEPROM имеет относительно небольшой ограниченный ресурс циклов перезаписи).
     Дополнительной функцией термодатчика является автоматическая регулировка яркости подсветки посредством аппаратного ШИМ. В качестве датчика освещённости используется фоторезистор R8.
     Сигнал, снимаемый с делителя R7, R8 подаётся на четвёртый канал АЦП где оцифровывается и обрабатывается по такой же методике, что и сигнал с термодатчика. Управление подсветкой дисплея осуществляется через КМОП-инвертор ( транзисторы VT1, VT2 ), выполняющий роль усилителя тока.
     Опорный источник напряжения для измерения температуры реализован на регулируемом прецизионном стабилитроне DA1 [4, 5]. От стабильности поддержания напряжения на выходе данного источника напрямую зависит точность измерения температуры во времени.
     Микроконтроллер DA3 тактируется от внешнего кварцевого резонатора Z1, подключенного к соответствующим выводам XTAL1, XTAL2.
     Питание термодатчика осуществляется через дополнительный стабилизатор напряжения, выполненный на микросхеме DA4 [6]. Данный стабилизатор необходимо установить на дополнительный теплоотвод.
     Питание микроконтроллера DA3 осуществляется через дополнительные LC-фильтры, выполненные на дросселях L1, L2 и конденсаторах С9-С13. Кроме того данные фильтры дополнительно развязывают по питанию цифровую и аналоговую части микроконтроллера, исключая их влияние друг на друга. Данные фильтры необходимо установить как можно ближе к выводам 7, 8, 20, 22 (VCC, AVCC, GND) микроконтроллера.
     Конденсаторы С15-С18 – дополнительный фильтр питания термодатчика.
     Конденсаторы С1, С2 – дополнительный фильтр напряжения питания для обеспечения логической единицы на выводах 25, 26 (PC2, PC3) микроконтроллера при разомкнутых выключателях S1, S2.
     Конденсатор С4 – дополнительный фильтр напряжения питания термодатчика DA2. Данный конденсатор необходимо установить в непосредственной близости от выводов питания термодатчика.
     Конденсаторы С5, С6 – дополнительные фильтры выходного напряжения датчиков.
     Выключатели S3, S4 служат для отключения подсветки ЖК дисплея, а так же звуковой сигнализации.
     Все использованные детали указаны на схеме.
     Программирование микроконтроллера производится по интерфейсу SPI, для чего в термодатчике выведены соответствующие выводы микроконтроллера через защитные резисторы R9-R12.
     Настройка и налаживание устройства не представляет сложности. После сборки термодатчика необходимо подать на устройство питание в диапазоне от 7 до 35 Вольт и проконтролировать напряжение на выходе стабилизатора DA4, которое должно лежать в диапазоне от 4.9 до 5.1 Вольт. При необходимости напряжение на выходе корректируется подбором резистора R29.
     Далее необходимо проконтролировать напряжение на выходе стабилитрона DA1, которое должно быть равно 3 Вольтам. При необходимости выходное напряжение корректируется резисторами R4, R5.
     После проверки соответствия выходных напряжений заданным необходимо переменным резистором R27 выставить комфортную контрастность дисплея, которую в дальнейшем всегда можно подкорректировать.
     В различных исполнениях дисплея могут быть тонкости с подключением данного регулятора контрастности, но как минимум существует 2 варианта - первый из них показан на исходной схеме, а второй заключается в том, что напряжение на вывод контрастности VO подаётся с подвижного контакта переменного резистора, включенного между питанием +5 Вольт и общим проводом. Какой из методов используется в Вашем дисплее необходимо уточнять в документации к конкретному варианту исполнения дисплея.
     После установки необходимой контрастности необходимо подключить программатор к микроконтроллеру и произвести его «прошивку» по SPI-интерфейсу. После окончания программирования микроконтроллер будет перезагружен автоматически. При программировании необходимо выставить фьюзы в соответствии с фото ниже.

     Будьте внимательны, фьюзы приведены в ИНВЕРСНОМ варианте.
     После окончания перезагрузки остаётся только выставить переключателями S1, S2 необходимый порог срабатывания звуковой сигнализации термодатчика, после чего настройку и налаживание можно считать законченными.
     По окончанию настройки устройства производится его калибровка по образцовому термометру. Если показания термодатчика после 10-15 минут работы отличаются от показаний образцового термометра более чем на ±3 градуса Цельсия необходимо произвести корректировку коэффициента 0.0116470588 в выражении temp=((0.0116470588*res_sr)-0.5)/0.01 в исходном коде программы, после чего перекомпилировать программу и перепрошить контроллер снова, произведя повторную калибровку. После завершения калибровки устройство готово к использованию.
     В подборке фото ниже внешний вид макета термодатчика при проведении испытаний.

     На видео ниже показана работа термодатчика при проведении практических испытаний.

     На этом на сегодня всё, с уважением, Андрей Савченко.

     P.S. Исходный код программы на языке Си, а так же готовая прошивка находятся в прикреплённом архиве. Написание программы осуществлялось в среде Code Vision AVR с использованием встроенных библиотек. Не пинайте сильно за код, до этого программировал последний раз курсе эдак на втором, лет 6 тому назад... Пока делал макет данного варианта термодатчика созрели некоторые модификации в плане как железной составляющей так и програмной части, поэтому со временем появится второй вариант данного термодатчика. Буду рад обоснованным замечаниям по существу.

Список использованной литературы:

1. Параметры термодатчика TMP36GT9Z
2. Параметры микроконтроллера Atmega8A
3. Скользящая средняя
4. Описание TL431
5. Описание и применение TL431
6. Параметры LM317T

 


Файлы:
Схема в формате SPlan, прошивка, исходник прошивки


Все вопросы в Форум.


ID: 2548