Захаров Денис, Украина
В Интернете можно найти немало схем, позволяющих измерять температуру и отображать ее в цифровой или аналоговой форме.
Часто для этого используется популярный датчик температуры DS18B20 или его аналоги. Приборы имеют хорошую точность, помехоустойчивость, и, по сравнению с аналоговыми решениями, значительно упрощают схему. Пределы измеряемых подобными датчиками температур, как правило, ограничены диапазоном от –55 до 125 ºС. Что же делать, если нужно измерить температуру выше 125 °С? Очевидно, нужно использовать аналоговые датчики, температурный диапазон которых может достигать +300 °С. Надо отметить, что в этом случае точность измерений снизится. Но часто при измерении больших температур знать точное значение необязательно, и погрешность в несколько градусов будет приемлемой, а при отображении на аналоговой шкале, например, на линейке светодиодов, и вовсе незаметной.
Для нормальной работы устройства в температуре 0 … 250 °С, был выбран аналоговый датчик KTY84_130, рабочий диапазон которого составляет –40 + 300 °С. Его параметры идеально подходят под выбранный температурный диапазон. За обработку данных отвечает микроконтроллер (МК) Atmega8. Конечно, годится и любой другой, но автору этот МК представляется одним их самых доступных и популярных. Фьюз биты оставлены заводские. При решении задачи критерии точного измерения были отложены на второй план. Погрешность в пределах нескольких градусов вполне устраивала.
Цифровая индикация результатов измерений
Для цифрового отображения данных используются LCD дисплей. При желании устройство можно модернизировать, доработав код программы. Свободных портов ввода-вывода для этого достаточно. LCD дисплей подключен по 4-битной шине (Рисунок 1). Старшие разряды индикатора D4 - D7 подключены к младшим разрядам D0 - D4 микроконтроллера. Поскольку точных временных привязок в этом устройстве нет, то нет и необходимости во внешнем задающем кварцевом резонаторе. К портам PB6 и PB7 подключены управляющие выводы дисплея. Как можно видеть, все линии управления дисплея выходят с одной стороны корпуса МК, что упрощает трассировку печатной платы.
Рисунок 1. | Принципиальная схема устройства. |
Вычисление значения температуры
Из Рисунка 1 видно, что аналоговый датчик температуры подключен прямо к входу АЦП микроконтроллера. При использовании операционного усилителя погрешность измерения была бы меньше. Напряжение на АЦП подается через делитель, образованный терморезистором и переменным резистором. Для лучшей точности настройки переменный резистор выбран многооборотным.
Таблица 1. | Зависимость сопротивления от температуры. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Построив на основании Таблицы 1 график в Mathcad (Рисунок 2), можно увидеть зависимость сопротивления аналогового датчика от приложенной температуры. Исходные данные таблицы взяты из технического описания KTY84_130. Функция имеет практически линейный характер, лишь с небольшим отклонением на высоких температурах.
Рисунок 2. | График зависимости сопротивления датчика от температуры. |
При измеряемой температуре 0 ºС сопротивление терморезистора составляет 498 Ом. Напряжение на выходе делителя равно
где
- UД – напряжение на датчике температуры относительно земли,
- UПИТ – напряжение питания,
- RД – сопротивление датчика температуры,
- R1 – установленное сопротивление переменного резистора.
При температуре 0 ºС напряжение на входе АЦП должно составлять 0.6 В. Для вычисления значения температуры автор использовал следующую формулу:
где
- АЦП – 10 разрядный цифровой код АЦП, снятый с датчика,
- UОТС – отсекающее значение (60), равное 0.6 В при 0 ºС.
Диапазону измеряемых температур от 0 ºС до 250 ºС соответствуют поступающие с делителя входные напряжения АЦП от 0.6 до 1.8 В. Опорное напряжение АЦП составляет 5 В, поэтому при указанных значениях цифровой код будет находится в пределах от 123 до 368. Это число помещается в регистр и конвертируется в три разряда ASCII кода. Поскольку датчик KTY84_130 рассчитан на максимальную температуру 300 ºС, лучше оставить небольшой запас и ограничится 250 ºС.
На Рисунке 5 показано устройство, собранное на макетной плате. Код программы открытый, и каждый может с легкостью доработать его под собственные задачи.
Рисунок 3. | Собранное устройство на макетной плате. |
Программное обеспечение МК и виртуальная модель Proteus для LCD 16×2 - скачать
Программное обеспечение МК и виртуальная модель Proteus для LCD 8×2 - скачать