Описание.
Потребность в регулировании температуры возникает очень часто и схем терморегуляторов великое множество. Микроконтроллер Tiny15 вполне подходит для этой цели, если температура задана единожды и известна. Когда нужен регулируемый терморегулятор с индикацией текущей и заданной температуры, возникают трудности из за малого числа выводов контроллера, но они вполне преодолимы. На рисунке приведена принципиальная схема устройства. Индикация и регулировка здесь решена путем использования восьмиразрядного сдвигового регистра U6 типа 74НС164. Четыре разряда отведены для индикации семи сегментов цифр и поступают на вход дешифратора U5 тип – 74247, три разряда управляют динамической индикацией (коммутируют последовательно транзисторы Q2, Q3, Q4), один разряд управляет силовым элементом.
В качестве датчика температуры использован терморезистор KTY-81 с максимальной рабочей температурой 175 градусов Цельсия. Операционный усилитель (ОУ) U1А является источником опорного напряжения, потенциометр R1 регулирует «ноль» терморегулятора. ОУ U1В – усилитель сигнала, потенциометр R2 меняет коэффициент усиления. Этими двумя регулировочными элементами производится тарировка регулятора после сборки.
Основной элемент схемы – это микроконтроллер U4 типа Tiny15, выбран потому, что имеет четыре канала АЦП и два восьмиразрядных таймера.
Используются два канала АЦП: для измерения текущей и заданной температуры. Потенциометр R16 регулирует величину температуры, до которой необходимо вести нагрев. Цепь D1, R23 служит для подачи на компаратор микроконтроллера не сглаженного выпрямленного напряжения частотой 100Гц, это необходимо для «привязки» измерений к частоте сети и последующего усреднения полученных значений, это значительно повышает помехоустойчивость устройства в условиях сильных помех.
Принципиальная схема.
Рис. 1
Данные на сдвиговый регистр поступают с вывода 5 микроконтроллера, а тактовые импульсы с вывода 7, который в процессе работы постоянно переконфигурируется с выхода на вход и обратно. Так пришлось поступить из за малого числа выходов контроллера. ( Есть другой выход – использование вывода «Reset» в качестве сигнального, но при этом возникают трудности с программированием контроллера).
Как вход вывод 7 работает часть полупериода 50Гц для опроса кнопки «Измерение/Установка», а как выход – для выдачи тактовых импульсов на регистр. Динамическая индикация работает синхронно с частотой сети и подсвечивает каждый разряд в течение 1/300сек. При такой скорости обновления индикации мерцания не заметно. Для выравнивания времени индикации каждого из разрядов, в начале работы измеряется длительность полупериодов выпрямленного напряжения сети. (Дело в том, что частота внутреннего генератора разных микроконтроллеров имеет значительный разброс).
Коммутация нагревательного элемента осуществляется при помощи симмистора Q5, которым управляет оптосиммистор U3 типа МОС3063, (можно применить и другие из этой серии, без автоматической привязки к «пересечению нуля», так как привязка и так сделана программно). Фильтр в цепи управления нагревом R11,C1,R12 необходим для того, чтобы изменения сигнала на выходе регистра в момент обновления данных не влияли на состояние элементов коммутации. Цепочка R34,C9 нужна для подавления переходных процессов в нагрузке.
Одной из особенностей программы управления, есть то, что в ней сделана попытка плавного регулирования, то есть: при уменьшении разности текущей и заданной температуры интенсивность нагрева уменьшается. Это осуществлено путем изменения «скважности» нагрева, другими словами – в течение части полупериодов переменного напряжения сети нагрузка отключается.
Программа была написана на Ассемблере в AVRStudio v.4.13, отладка велась на VMLAB v.3.12. Очень рекомендую пользоваться вышеперечисленными средствами, так как они, не смотря на некоторые недостатки, обеспечивают высокую верность эмуляции работы контроллеров.
Схема получилась, конечно, несколько громоздкой и надуманной, но она предоставляет
случай показать возможности даже сверхмалых микроконтроллеров.
Все необходимые для повторения файлы находятся в архиве.