Терморегулятор для инкубатора


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

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


 Предлагаемое устройство является результатом работы над созданием простого и эффективного цифрового прибора для инкубатора. В этой схеме не используются какие-либо дефицитные компоненты, а применение датчика DS18B20, традиционного для микропроцессорных термометров, позволило исключить всякие аналоговые элементы.
  Устройство обеспечивает цифровой контроль и стабилизацию температуры с точностью 0,1 °C и изменяемым гистерезисом, а также управление исполнительным механизмом с возможностью регулирования времени его работы  в пределах 1…999 секунд и промежутка между включением двигателя в пределах 1…999 минут. Стабилизация температуры осуществляется регулированием мощности, что отличает устройство от ранее описанных и позволяет добиться более высокой точности управления. Мощность в нагрузке может принимать одно из 150 дискретных значений. Кроме того, устройство не содержит регулировочных элементов, вся настройка производится в цифровом виде. В устройство также введены функции часов с будильником, что расширяет сферу его применения.
Устройство состоит из основного блока (рис. 1), и схемы коммутации и датчика, помещенных в корпус инкубатора (рис 2)

Рис.1. Схема основного блока устройства
   
 
Рис.2. Схема коммутации и датчика

Блок управления содержит микроконтроллер DD1, осуществляющий все необходимые операции измерения и сравнения температуры, отсчета временных интервалов; регистр DD3 для управления индикаторами HL1 - HL2; стабилизатор напряжения питания DA1; генератор звукового сигнала будильника DD2.
Блок коммутации подключается к разъему XS2 и состоит из двух электронных ключей, первый из которых предназначен для управления нагревателем EL1 и состоит из оптрона U1, диодного моста VD11 и симистора VS1. Второй ключ, управляющий двигателем исполнительного механизма, образован элементами R17, U2, VD12, R18 и VS2.
Выносной датчик температуры состоит из микросхемы DD4 – интегрального термодатчика, со встроенным АЦП и интерфейсом 1-Wire. Микросхема DS18B20 подробно описана во многих источниках и широко применяется в различных устройствах. Согласно документации [1] точность измерения температуры с помощью DS18B20 составляется около 0,5 °C. Однако встроенный в  нее АЦП имеет разрешение 12 бит, причем последние 4 бита отведены под дробную часть значения температуры. Это означает, что фактическое разрешение составляет 1/16 = 0,0625 °C. Согласно материалам НТЛ «Элин» [2], DS18B20 обеспечивает достаточную линейность преобразования в широком диапазоне температур. Таким образом, можно значительно увеличить точность измерения, если для выбранного температурного интервала вычислить по двум крайним точкам калибровочные коэффициенты: масштабирование Z и смещение O полученного с датчика значения. В итоге, результат измерения будет определятся по формуле: , где T – результат, полученный с датчика, а T° - выводимое на индикатор значение. С помощью процедуры калибровки, суть которой будет описана ниже, можно получить погрешность измерения, не превышающую 0,1 °C.
Микроконтроллер осуществляет опрос датчика DD4 по интерфейсу 1-Wire в режиме одного ведомого устройства (без адресации), формируя на выводе 12 необходимые сигналы. Измерение осуществляется примерно раз в 2 секунды. Микроконтроллер также осуществляется пересчет полученного значения с учетом калибровочных коэффициентов и отображает результат в градусах Цельсия на индикаторах HL1 - HL2.
Микроконтроллер DD1 формирует на выводе 2 сигнал для включения двигателя исполнительного устройства. Также на выводе 17 DD1 формируются импульсы, которые управляют работой симистора VS1, обеспечивая фазоимпульсное регулирование мощности нагревателя EL1. Для синхронизации с сетевым напряжением служит встроенный в DD1 аналоговый компаратор, на вход которого поступает через ограничители R2, VD2, R3, VD3 переменное напряжение с диодного моста VD1.
Управление светодиодными индикаторами HL1 - HL2 осуществляется с помощью DD2, в качестве которой применен специализированный сдвиговый регистр КР1561ПР1. К выходу D0 (вывод 4) DD2 подключены два светодиода VD9 и VD10, мигающие с частотой 1 Гц (разделительные точки). Индикатор HL1 отображает единицы и десятки температуры, а старший разряд HL2 — десятые доли градусов. Младший разряд HL2 индицирует режим работы устройства. Если на нем светятся сегменты a, b, f  (в виде буквы П), то это означает, что происходит увеличение мощности нагрузки (нагрев); если активны сегменты g, b, f  (как латинская U) —  осуществляется уменьшение мощности (охлаждение). Независимо от этого, если светится сегмент d, то это означает, что включен исполнительный механизм.
Управление устройством осуществляется с помощью кнопок SB1 - SB3.  Кнопка SB1 «Установка» предназначена для выбора устанавливаемого параметра работы устройства. При первом нажатии SB1 на индикаторы выводится нижний предел термостабилизации. При температуре ниже этого значения происходит последовательное увеличение мощности нагревателя на одну градацию (из всего 150 градаций мощности). После первого нажатия SB1 устройство переводится в режим настройки, о чем свидетельствует мигание одного разряда индикатора, инкрементирование значения которого возможно нажатием кнопки SB2 «+». Выбор изменяемого разряда производится нажатием кнопки SB3 «Разряд». Последующее нажатие SB1 вызывает вывод на индикаторы верхнего предела термостабилизации, определяющего значение температуры, выше которой начинается декрементирование мощности нагревателя.
Далее по нажатию SB1 выводится время работы исполнительного механизма в секундах. Еще одно нажатие SB1 приведет к отображению интервала в минутах, отсчитываемого между включениями двигателя исполнительного устройства (время паузы). Если интервал паузы установить в 0, то двигатель будет работать непрерывно; напротив, если установить интервал работы в 0, то исполнительный механизм отключается. 
Очередное нажатие SB1 приводит к отображению для модификации текущего времени (установка часов). Далее по нажатию SB1 выводится время срабатывания будильника. При совпадении введенного здесь значения с текущим временем осуществляется включение сигнального устройства, собранного на элементах DD2 и BF2. Если введено несуществующее время, то будильник отключается.
Наконец, по очередному нажатию SB1 происходит выход из режима установки и на индикаторах начинает отображаться текущая температура. Все устанавливаемые параметры сохраняются в энергонезависимой памяти DD1.
Кнопка SB3 «Разряд» используется по своему прямому назначению только в режиме настройки. Во время обычной работы устройства, нажатие SB3 приводит к переключению между термометром и часами. В режиме индикации времени на  HL2 отображаются минуты, а на HL1 — часы. Кнопка SB2 «+» вне режима настройки служит для прерывания сигнала будильника.
Коды программы для микроконтроллера DD1 содержатся в файле PicIncub.hex, а исходный текст – в PicIncub_SRS.zip.
Топология печатных плат не приводятся. Все устройство может быть собрано на нескольких макетных платах подходящих размеров.
В качестве микроконтроллера DD1 может быть применен PIC16F628 или PIC16F628A. Термодатчик DD4 может быть заменен на более дешевый компонент DS1822, полностью совместимый с DS18B20, но обладающий меньшей точностью измерения. Однако в этом случае, процедура калибровки обязательна, так как эта микросхема дает погрешность, достигающую ±2°C.
В качестве трансформатора питания T1 можно использовать любой небольшой маломощный трансформатор, обеспечивающий выходное напряжение около 12 В. В качестве резервного источника GB1 можно применить любой малогабаритный гальванический элемент на рабочее напряжение 3,5 – 5 В. GB1 необходим для поддержания хода часов при отключении питания схемы и его установка не обязательна.
Особых требований к дискретным элементам не предъявляется. Оптроны АОУ115Г могут быть заменены на АОУ115Д, АОУ103В. В качестве HL1 - HL2 можно использовать аналогичные импортные индикаторы с общим катодом. Это же относится и к светодиодам VD9 и VD10. В качестве BF1 вполне подойдет любой другой импортный или отечественный пьезокерамический излучатель с резонатором. Можно несколько упростить схему, включив вместо узла сигнализации специальный излучатель со встроенным генератором (например, серии HCM или KPX). В этом случае отпадает необходимость в DD2. В качестве сдвигового регистра DD3 можно применить его импортный аналог CD4094.
Симисторы КУ208Г могут быть заменены на КУ208В или ТС112-10, ТС112-16. Если суммарная мощность нагрузки VS1 или VS2 не превышает 40 Вт, то теплоотвод для соответствующего симистора не нужен. В противном случае требуется установка VS1 или VS2 на ребристый радиатор размером 25 х 50 х 60 мм, при этом коммутируемая мощность возрастает до 500 Вт. В качестве соединителей XS1 - XP1 и XS2 - XP2 удобно применить 3-х контактный штыревой разъем, который используется в стереонаушниках.
Правильно собранное устройство начинает работать сразу. Требуется только регулировка параметров измерения и сравнения температуры.
Налаживание устройства, сводится к калибровке измерительной части. Для этого в устройство введен специальный режим установки аппаратных констант. Он активизируется, если перед включением питания зажать все три кнопки SB1, SB2 и SB3. После входа в этот режим, спустя 2-3 секунды, на индикаторе начинает отображаться текущая температура. Отличие заключаются в том, что теперь используется все четыре разряда индикаторов: отображение температуры происходит с точностью до сотых.
Если представить результат измерения на индикаторе в виде целого четырехразрядного числа R (т.е. без учета разделительных точек), то оно связано со значением, снимаемым с датчиком так:
где Z – калибровочная константа масштабирования (лежит в диапазоне от 0 до 1600 и при 1600 - без масштабирования), O – константа смещения (лежит в диапазоне от 0 до 1000, при 500 - без сдвига), и T – значение, полученное от датчика DD4 (0 - при 0 °C, 1600 - при 100 °C).
Назначение кнопок такое же, как и в основном режиме. Нажатие на SB1 приводит к отображению для модификации константы смещения O. Далее нажатие SB1 приводит к отображению следующего модифицируемого параметра — константы масштабирования Z. Следующее нажатие SB1 приводит к появлению времени реакции регулятора мощности. Это промежуток времени в секундах, через который осуществляется сравнение температуры и изменение мощности. Очередное нажатие SB1 приводит устройство в исходное положение: режим измерения температуры.
Регулировку устройства производят в следующем порядке. Сначала устанавливают O = 500 и Z = 1600. Что соответствует отображению значения температуры, снимаемого с датчика DD4 без преобразования.
Далее датчик DD4 помещают в среду, для которой точно известна ее температура t1, например 25,00 °C. Тающий снег или лед использовать не рекомендуется так как, во-первых, диапазон калибровки получается слишком широким и снижается точность, а во-вторых, в устройстве не предусмотрено измерение отрицательной температуры. После того, как показания индикаторов установились, получают их значения R1 (в целочисленной форме), например R1 = 2576 (на индикаторах 26:76).
После этого датчик вместе с точным термометром помещают среду, нагретую до температуры 35…40 °C. Через некоторое время, после установления показаний, получают аналогично значение температуры t2 (по точному термометру) и показания индикаторов R2.
Далее параметры O и Z вычисляют по соотношениям:
Обычно значения констант лежат в пределах: Z = 1550…1650, O = 450…550 (зависят от экземпляра датчика DS18B20).
Полученные константы вводят в устройство, и на этом калибровка заканчивается.
В заключение следует отметить, что датчик DS18B20 гарантированно дает точность измерения не превышающую ±0,5 °C. Если такая погрешность допустима, то процедуру калибровки можно вообще не проводить, ограничившись параметрами по умолчанию: O = 500 и Z = 1600.
Во время работы устройства можно также подобрать время реакции регулятора мощности. Чем больше время реакции, тем устойчивее работа регулятора. С другой стороны, меньшее время реакции позволяет более точно отслеживать быстрые изменения температуры. Фактически этот параметр зависит от объема камеры инкубации. Для приведенных параметров и малогабаритного инкубатора вполне подойдет значение по умолчанию — 10 секунд. Но если наблюдается эффект, когда изменение температуры в камере происходит значительно медленнее, чем изменение мощности, и устройство долгое время не переходит в стационарный режим (наблюдаются непрерывные и значительные колебания мощности), то время реакции следует увеличить. Кроме того, важно иметь некоторый запас мощности нагревателя. Рекомендуется работа устройства, когда лампы нагревателя горят в полнакала.
Датчик DS18B20 имеет черный пластмассовый корпус, что приводит к его нагреванию под прямым светом ламп накаливания. В этом случае, результат измерения может быть гораздо больше, чем фактическая температура воздуха в инкубаторе. Чтобы этот эффект не наблюдался датчик следует размещать так, чтобы на него не падали прямые лучи от ламп нагревателя.
Рекомендации по конструированию исполнительного механизма приведены в [3]. Следует заметить, что, благодаря возможности точной установки времени работы двигателя, отпадает необходимость в кулачковом механизме и контактных выключателях на валу редуктора двигателя. Во время налаживания устройства нужно только точно подобрать такое время работы двигателя, при котором вал редуктора поворачивался бы на нужный угол.
Дополнительные источники:
1.     Техническое описание DS18B20 — ftp://ftp.elin.ru/pdf/1-Wire/DS18B20.pdf
2.     Применение устройств ML-ОЕМ / Материалы НТЛ «Элин» — http://www.elin.ru/1-Wire/oem1.htm
3.     Григорьев А. Блок управления кинематикой инкубатора. — Радио, 1999, № 10, с. 32 (также опубликовано http://www.chipinfo.ru/literature/radio/199910/p32.html)
Борисевич Алексей, г. Севастополь, xmastal@mail.ru
Страница статьи: http://www.radioland.net.ua/sxemaid-341.html