RadioRadar - Радиоэлектроника, даташиты, схемы

https://www.radioradar.net/radiofan/miscellaneous/thermometer_high_accuracy_sensor_ds18s20.html

Термометр повышенной точности с датчиком DS18S20

Предлагается устройство измерения температуры, выполненное на микроконтроллере ATmega8515 и датчике температуры DS18S20, отличающееся простотой схемы и конструкции при повышенной точности измерения.

Сегодня выпускаются много различных датчиков температуры, как аналоговых, так и цифровых. Однако многие аналоговые датчики имеют существенно нелинейную зависимость выходного параметра от температуры (терморезисторы), сигналы других (термопар) приходится значительно усиливать перед использованием.

Все они зачастую требуют калибровать изготовленный измеритель температуры по образцовому термометру, чтобы устранить систематическую погрешность. Цифровые датчики калиброваны, как правило, на заводе и имеют линейную шкалу температуры.

Для использования в приборе был выбран распространённый цифровой датчик DS18S20. Согласно [1], он способен измерять температуру в интервале от -55 до +125°С. К сожалению, почти во всех известных термометрах с этим датчиком (например, в [2]) не используется возможность получать от него значения температуры с дискретностью меньше 0,5 °С. Это, видимо, связано с необходимостью считывать с датчика дополнительную информацию и производить вычисления с использованием сложной для простого микроконтроллера операции деления. В предлагаемом термометре эта возможность реализована. Отсчёт температуры ведётся с дискретностью 0,1 °C, что позволяет точнее отслеживать тенденции её изменения.

Благодаря использованию 40-выводного микроконтроллера ATmega8515-16PU схема измерителя температуры, изображённая на рис. 1, получилась сравнительно простой. Датчик DS18S20 (ВК1) связан с микроконтроллером по интерфейсу 1-Wire. Для управления датчиком в микроконтроллере выбран выход PE1, а принимает информацию от датчика вход PE0. Использование двух выводов вместо одного существенно упростило программу микроконтроллера.

Схема измерителя температуры

Рис. 1. Схема измерителя температуры

 

Работа интерфейса 1-Wire основана на кодировании передаваемых по нему логических нулей и единиц определёнными интервалами времени. Длительность этих интервалов задана довольно жёстко, поэтому микроконтроллер тактируется от генератора, стабилизированного внешним кварцевым резонатором ZQ1 и обеспечивающего длительность машинного такта 0,25 мкс.

Подав датчику команду начать цикл измерения температуры, микроконтроллер ждёт его окончания. Затем он читает из внутренних регистров датчика не только обычно используемое измеренное значение температуры Тизм с ценой младшего двоичного разряда 0,5 оС, но и два поправочных коэффициента к нему. Коэффициент K(COUNT_PER_C) - число импульсов, генерируемых внутри датчика на один градус температуры. Коэффициент K2 (COUNT_REMAIN) - остаток во внутреннем счётчике после отсчёта целой части значения измеренной температуры. Расчёт уточнённого значения температуры T микроконтроллер выполняет по формуле, аналогичной приведённой в справочных данных датчика DS18S20:

T = int(Тизм) - 0,25 + (K1 - K2) / K1

Вывод значения температуры происходит через порты A, B и C микроконтроллера, выводы которых соединены через ограничивающие ток резисторы R2-R9, R12-R25 с катодами элементов светодиодных семиэлементных индикаторов HG1-HG3 с общим анодом. Отображается температура от -55 до +99,9 °С. Отрицательные значения температуры, лежащие в пределах -55...-10°С, отображаются целыми числами со знаком минус (рис. 2,а). В интервале-9,9...-0,1 °С температура отображается с десятыми долями градуса и знаком минус (рис. 2,6). Положительные значения в интервале 0...+99,9°С выводятся без знака с десятыми долями градуса (рис. 2,в).

Отображение температуры

Рис. 2. Отображение температуры

 

Термометр собран на стеклотекстолитовой технологической плате с металлизированными отверстиями, расположенными по сетке с шагом 2,5 мм (рис. 3). Для микроконтроллера на плате установлена панель. Конденсаторы С1-СЗ - керамические. Монтаж произведён на обратной установке деталей стороне платы проводом МГТФ. Датчик температуры ВК1 можно сделать выносным, соединив его с платой тройкой свитых проводов длиной не более 5 м.

Термометр собран на стеклотекстолитовой технологической плате с металлизированными отверстиями

Рис. 3. Термометр собран на стеклотекстолитовой технологической плате с металлизированными отверстиями

 

Потребляемый термометром ток, в зависимости от выводимого на индикаторы значения температуры, изменяется от 50 до 110 мА. При использовании указанного на схеме микроконтроллера термометр может быть запитан от любого источника постоянного напряжения 4,5...5,5 В. При питании от батареи микроконтроллер желательно заменить на 

ATmega8515L-8PU, который работает при напряжении питания 2,7...5,5 В, что практически совпадает с допустимым напряжением питания датчика DS18S20 (3.5,5 В).

Программу микроконтроллера можно скачать здесь.

Литература

1. High precision 1-Wire Digital Thermometer - URL: http://www.robotstorehk. com/sensors/doc/DS18S20.pdf (21.02.14).

2. Самохин И. Цифровой термометр с функцией управления термостатом. - Радио, 2007, № 7, с. 35, 36.

Авторы: Е. Лукьяненко, Н. Никитина, А. Старых, г. Таганрог Ростовской обл.