на главную
Карта сайта
English version
Вы читаете:

Термометр с функцией таймера или управления термостатом - RadioRadar

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

Термометр с функцией таймера или управления термостатом

22

   Описания различных электронных цифровых термометров неоднократно публиковались в различных источиках. Как правило, они содержали преобразователь температура—частота и измерительную часть на дискретных цифровых элементах, преобразующих измеренную частоту в показания температуры. Построенный на дискретных элементах преобразователь температура—частота требует калибровки и позволяет достичь приемлемой точности в довольно ограниченном интервале (из-за нелинейности температурных характеристик элементов). Применение современной элементной базы — микроконтроллеров и специальных датчиков — значительно упрощает схемотехнику устройства с одновременным повышением функциональности и точности измерений.


   Принципиальная схема предлагаемого термометра изображена на рис.1. Его основа - популярный микроконтроллер (МК) PIC16F84A (DD1). Для измерения температуры использован интегральный цифровой датчик (ВК1) DS18B20 фирмы MAXIM. Эта микросхема не требует калибровки и позволяет измерять температуру окружающей среды от -55 до +125 °С, причем в интервале -10...+85 °С производитель гарантирует абсолютную погрешность измерения не хуже ±0,5 °С. Датчик DS18B20 - наиболее совершенный из широко известного семейства DS18X2X, выпускавшихся ранее под маркой Dallas Semiconductor. В отличие от функциональных аналогов DS1820 и DS18S20 он перед началом измерения позволяет задать необходимую относительную точность преобразования температуры из следующего ряда значений: 0,5; 0,25; 0,125 и 0,0625 °С, при этом время измерения равно соответственно 93,75; 187,5; 375 и 750 мс.

Принципиальная схема термометра

Рис.1. Принципиальная схема термометра

   Принцип действия датчика DS18X2X основан на подсчете числа импульсов, вырабатываемых генератором с низким температурным коэффициентом вовременном интервале, который формируется генератором с другим температурным коэффициентом, при этом внутренней логикой датчика учитывается и компенсируется параболическая зависимость частот обоих генераторов от температуры.

   Обмен управляющими командами и данными между датчиком ВК1 и МК DD1, работающим на частоте 4 МГц, осуществляется по однопроводной двунаправленной шине передачи данных 1-Wire. Каждый экземпляр DS18B20 имеет уникальный 48-битный номер, записанный с помощью лазера в ПЗУ в процессе производства, что позволяет подключать к одной шине практически любое число таких приборов. Ограничивающим фактором является в основном только общее время, затрачиваемое на последовательный опрос всех датчиков, подключенных к сети.

   С периодом, равным 1 с, МК DD1 посылает датчику ВК1 команду на запуск процесса измерения температуры с точностью 0,0625 °С и получает от него результат предыдущего замера. Принятый отдатчика 12-битный код, соответствующий измеренной температуре, преобразуется в десятичную форму, округляется до десятых долей градуса и выводится на светодиодный индикатор HG1 в динамическом режиме. Подачей напряжения лог. 0 на один из выходов RA0, RA1 или RA2 МК включает соответствующий разряд индикатора, выводя при этом на выходы RB0-RB6 семиэлементный код отображаемой в данном разряде цифры. Управление точкой на индикаторе, отделяющей целую часть отображаемой температуры от десятичной, МК производит через выход с открытым стоком RA4. Период отображения всех трех разрядов индикатора составляет примерно 12,3 мс (частота - 81 Гц).

   Так как в приборе применен трехразрядный индикатор, в интервале от -19,9 до +99,9 oС температура отображается с точностью до 0,1 °С, а в интервалах -55-20 и +100...+125°С - с точностью до 1 °С. Кроме того, в этих интервалах абсолютная погрешность измерения температуры возрастает до ±2 °С, поэтому отображение температуры с точностью до десятых долей градуса теряет смысл.

   В конце каждого периода отображения информации на индикаторе МК проверяет состояние кнопок SB1 и SB2, для чего на выходах RA0—RA2 устанавливает напряжение высокого логического уровня (это соответствует отключению всех разрядов индикатора HG1), а на выходе RA4 — напряжение лог. 0. Разряды RB5, RB6 перенастраиваются на ввод, при этом к ним подключаются внутренние «подтягивающие» резисторы, соединенные с шиной питания +5 В. Таким образом, при нажатии на кнопку SB1 или SB2 высокий логический уровень напряжения на RB5, RB6 сменяется низким, что и отслеживается МК. Подключенные к этим разрядам элементы светодиодного индикатора не оказывают существенного влияния на состояние указанных входов МК, поскольку ток в обратном направлении через них пренебрежимо мал. Удержание кнопок в нажатом состоянии не влияет на работу индикаторов в период отображения информации, так как ток между выходами RA4 и RB5, RB6 через кнопки SB1, SB2 ограничен резисторами R4, R5.

   Питается прибор от сети переменного тока напряжением 220 В через балластный конденсатор СЗ. Благодаря диодному мосту VD1 через стабилитрон VD2 проходят обе полуволны сетевого напряжения. В результате значительно снижаются пульсации напряжения на конденсаторе С5 и становится возможным уменьшить емкость конденсатора СЗ, от которой зависит максимальный ток, отдаваемый источником питания в нагрузку.

   Времязадающая цепь R1C4R2 формирует паузу перед запуском МК, необходимую для того, чтобы после включения устройства в сеть напряжение на конденсаторах С5, С6 успело возрасти до уровня, обеспечивающего нормальную работу МК.

   При включении звукового сигнала, когда вступает в работу каскад на транзисторе VT1 с включенным в его коллекторную цепь звукоизлучателем НА1, потребляемый устройством ток значительно увеличивается, поэтому в программе МК предусмотрено отключение индикатора на время подачи сигнала. Питается этот каскад энергией, накопленной в конденсаторе С5, что приводит к большим просадкам напряжения на нем. Для поддержания стабильного напряжения питания МК и датчика температуры в устройство введены интегральный стабилизатор напряжения DA1 и оксидный конденсатор большой емкости С6. Если звуковая сигнализация не нужна, микросхему DA1 и конденсатор С5 можно исключить, но в этом случае Д815Е (VD2) необходимо заменить стабилитроном Д815А с напряжением стабилизации 5,6 В.

   Коды прошивки ПЗУ МК для термометра с функцией таймера приведены в табл.1. При нажатии на кнопку SB1 подается короткий звуковой сигнал и на индикаторе появляется значение оставшегося времени до подачи звукового сигнала или 0 (в младшем разряде), если время в таймере не было установлено. Требуемую выдержку времени (в пределах 1...99 мин) вводят нажатием на кнопку SB2 (не отпуская SB1). При этом показания индикатора начинают автоматически увеличиваться с частотой 2 Гц. По достижении нужного значения кнопки отпускают. Возврат к показаниям температуры происходит через 1 с после отпускания кнопки SB1. По окончании заданного времени устройство в течение 10 с подает прерывистый звуковой сигнал частотой 1500 Гц.

   В табл.2 приведены коды прошивки МК, наделяющей описываемый прибор функцией управления термостатом, поддерживающим заданную температуру в контролируемой среде с точностью ±1°С. Просмотр и установка температуры (в интервале -54...+124°С) осуществляются, как и в предыдущем случае, с помощью кнопок SB1 и SB2. Заданное значение температуры сохраняется в энергонезависимой памяти данных МК и загружается из нее при каждом последующем включении устройства в сеть.

   При работе устройства с термостатом сигнал для управления нагревателем или компрессором холодильника снимается с выхода RA3, при этом вместо каскада на транзисторе VT1 устанавливают оптосимисторное реле, управляющее питанием исполнительного устройства или контактора, который, в свою очередь, подключает нагреватель или компрессор к электросети. Схема возможного варианта такого реле показана на рис.2.

Рис.2.

   Приведенная в табл.2 прошивка МК рассчитана на управление нагревательным элементом. К примеру, если заданная температура в термостате равна +30°С, то на выходе RA3 МК появится сигнал лог. 1 (соответствует включению нагревателя) при понижении температуры контролируемой среды ниже +29°С, но как только температура поднимется до +31°С, нагреватель будет отключен. Таким образом, гистерезис между включением и выключением нагревателя составляет 2°С. За его величину "отвечает" первый взятый в скобки байт (02) в табл.2: если его заменить на (01), гистерезис уменьшится до 1°С, а если на (03), увеличится до 3°С и т.д. Чем меньше гистерезис, тем точнее будет поддерживаться заданная температура в контролируемой среде, но чаще будут повторяться циклы включения-выключения исполнительного устройства, и наоборот.

   При управлении компрессором холодильника сигнал лог. 1 на выходе RA3, включающий систему охлаждения, должен появляться, если температура превысит заданный предел, и сменяться уровнем лог. 0, как только температура опустится ниже указанного предела, опять же с учетом гистерезиса, заданного значением первого взятого в скобки байта в табл.2. Для реализации этого режима работы взятые в скобки 2, 3 и 4-й байты таблицы нужно заменить соответственно на (19), (15) и (11).

   Исходные тексты программ, в том числе табл.1 и табл.2, можно скачать здесь. При программировании МК необходимо указать: тип генератора - HS, таймеры WDT и PWRT - включены.

   Все детали термометра монтируют на печатной плате из двусторонне фольги-рованного стеклотекстолита (рис.3). Плата рассчитана на установку резисторов МЛТ, конденсаторов КД (С1, С2), К73-17В с номинальным напряжением 400 В (СЗ), КМ( С7) и К50-35 (остальные). Для уменьшения габаритов устройства детали устанавливают на обеих сторонах платы (там, где указаны их позиционные обозначения). В отверстия контактных площадок, помеченных на чертеже рядом стоящей точкой, при монтаже впаивают проволочные перемычки (их функцию выполняет также вывод конденсатора С7). Трехразрядный светодиодный индикатор HG1 собран из трех одноразрядных LSD3212-20 (зеленого цвета свечения) и может быть заменен любым другим с потребляемым током не более 20 мА на элемент (сегмент). Перед установкой на место выводы 12 индикаторов обрезают в непосредственной близости от корпуса.

Печатная плата термометра

Рис.3. Печатная плата термометра

   Интегральный стабилизатор 78L05 (DA1) заменим любым другим с напряжением стабилизации +5 В. Звуковой капсюль-излучатель НА1 - любой малогабаритный с обмоткой сопротивлением 8...25 Ом (автор использовал электромагнитныйизлучатель НС0903А).

   Если предполагается использовать термометр в жестких климатических условиях, оксидные конденсаторы С5 и С6 следует выбрать с расширенным температурным диапазоном (с маркировкой на корпусе (+105°С) или выше), а МК PIC16F84A - исполнения E/P обозначающего, что данная микросхема может работать при температуре от -40 до + 125 °С. Смонтированную плату термометра в этом случае помещают в герметичный пластмассовый корпус и заливают герметиком (например, эпоксидной смолой). Отверстия для кнопок с внутренней стороны заклеивают куском тонкой резины, после чего с обеих сторон получившейся резиновой мембраны, над кнопками SB1 и SB2, наклеивают пластмассовые кружки диаметром, несколько меньшим диаметра отверстий в корпусе. Таким образом обеспечивается полная изоляция элементов устройства от внешней среды. При использовании устройства в обычных условиях герметизацию можно не делать.

   Размещать датчик температуры внутри корпуса термометра нельзя, так как это приведет к увеличению погрешности измерений (из-за нагрева элементов) и инерционности показаний термометра при изменении температуры окружающей среды. Одно из конструктивных решений - размещение микросхемы датчика внутри стеклянной ампулы от лекарств подходящего размера. Места выхода гибкого кабеля из ампулы и из корпуса термометра тщательно заливают герметиком. Длина трехжильного кабеля может быть от нескольких сантиметров до десятков метров.

   Собранное из исправных деталей и без ошибок в монтаже устройство в налаживании не нуждается.

Автор: С.КОРЯКОВ, г.Шахты Ростовской обл.

Мнения читателей
  • Виталий/08.01.2013 - 16:33

    За созданием этой схемы слежу с момента её первой публикации. Доработок много, но есть единственный недостаток-при установке гистерезиса температура(настройки) - ОКРУГЛЯЕТСЯ!!!!! -что делает эту схему непригодной для использования в инкубаторе.Если можно будет огромная просьба к тем ребятам которые соображают в програмировании сделать эту небольшую доработку! Зарание спасибо!!

  • Сергей/27.02.2012 - 20:08

    Собрал термометр по Крякову и прошил микроконтроллер как описано В РАДИО-2006 №1 стр.43, и при включении с начало загораются все сиигменты и через 2 сек примерно показывает - 88..... Кто может помогите пожалуйста

  • Анатолий/01.01.2012 - 12:22

    Собрал схему по статье в РАДИО-2006 №1 стр.43 доработанную. Работает отлично. Хотелось бы еще одну кнопку "-". Если проскочишь устанку температуры таймера, приходится показания t гнать по круг. Очень неудобно.

  • TOLYAN/18.12.2011 - 13:33

    Терморегулятор предназначен для управления системами регулирования температуры в пределах от – (минус) 40 до + 100 гр. в стандартном исполнении или от - (минус) 50 до + 120 гр. Регулятор снабжен автоматической системой сохранения данных, чтоизбавляет пользователя заботиться о сохранения установок в памяти. В регуляторе встроена интеллектуальная система аварийного контроляданных в постоянной памяти, а также система контроля данных в оперативной памяти. В процессе работы регулятор проверяет данные на соответствие параметрам технической документации и при возникновении ситуации, при которой какой либо параметр попадает в недопустимую область, останавливает работу системы и производит перезагрузку данных. Настоящая функция позволяет предупредить поломку и предотвратить работу оборудования в аварийном режиме. Функция контроля среды позволяет контролировать исправность системы отопления или охлаждения по динамическим параметрам. Контроль по времени выхода оборудования на режим и отклонение параметра регулируемой среды выше допустимых пределов. Контроль повреждения датчика температуры и контроль выходатемпературы среды за пределы индикации регулятора. В регулятор встроена функция аварийного рестарта установок илиаварийного входа в меню настройки. http://20697314.ucoz.ru/

  • Егор/27.07.2011 - 02:46

    И я пробовал и ничего хорошего.Коряков напечатался в Радио 2003№10 Трищенко почти тоже самое(индикаторы и кнопки по другому) 2006№1-люди мучаются но ни тот ни другой ни полслова проконсультировать.Я например не могу запрограммировать ни одного файла их трех ICPROG не хочет вносить его предложения по конфигурации- кто может проконсультировать?Спасибо. А может начать с себя и научиться PICи программировать

  • Евгений/30.10.2010 - 20:53

    И я пробовал и ничего хорошего.Коряков напечатался в Радио 2003№10 Трищенко почти тоже самое(индикаторы и кнопки по другому) 2006№1-люди мучаются но ни тот ни другой ни полслова проконсультировать.Я например не могу запрограммировать ни одного файла их трех ICPROG не хочет вносить его предложения по конфигурации- кто может проконсультировать?Спасибо.

  • Marjan/25.09.2010 - 21:48

    ПриветМожет кто-то положил шестнадцатеричный код и установить прямо??Потому что я пытаюсь программы я получаю сообщение, что параметры не установлены.

  • Александр/27.08.2010 - 15:19

    у меня такая проблема,все работает нормально, только светятся все точки G, это как то напрягает, хотя когда вхожу в уставки они тухнут

  • Денис/06.08.2010 - 12:07

    мужики собрал этот термостат по корякову запустил, все работает нормально..хотел сделать установку температуры с шагом 0.5 градуса неделю бьюсь не получается, мож кто нибудь делал подскажите пожалуйста.

  • Гоша/17.05.2010 - 18:29

    Victor.Была аналогичная ситуация, записал в НЕХ файл строчку: :02400Е00F13F80 -заработал. Применил трёхразрядный индикатор ТОТ3361А1 -светятся все запятые, что делать?