Основное назначение термосигнализатора сводится к индикации достижения температурой заранее определенного значения. Автономное питание позволяет схеме выполнять непрерывную индикацию, сводит к нулю проблемы качества сетей электроснабжения и требует меньшего количества проводов для подключения. Использование полупроводникового сенсора с цифровым выходом еще больше упрощает принципиальную схему, и позволяет получить относительно высокие точностные характеристики.
Основное отличие сигнализаторов температуры от просттейших измерителей сводится к наличию в конструкции выходных элементов и органов задания температуры срабатывания. Если с заданием все просто, достаточно установить две кнопки, то на выходное устройство накладываются определенные ограничения в связи с автономным питанием. Применение традиционных решений здесь неприемлемо, так как биполярные транзисторы, отопары и другие подобные элементы потребляют значительный ток. На помощь может придти такой элемент, как полевой транзистор. Он потребляет минимальный ток по цепи затвора, и соответственно не приводит к быстрому расходу батарей. Естественно, что со стороны внешних цепей необходимо обеспечить отдельный источник питания.
Принципиальная схема термосигнализатора
Схема сигнализатора берет начало от термометра на микроконтроллере PIC12F629. Дополнительные функции сигнализатора потребовали увеличения памяти и количества периферийных линий микроконтроллера. В схеме использован 8-ми разрядный процессор PIC16F684, оснащенный 2К слов памяти программ и имеющий 12 периферийных цепей. Возможности микроконтроллера позволяют легко реализовать опрос датчика, задание, индикацию и сигнализацию температуры. Для уменьшения энергопотребления используется внутренний тактовый генератор и «спящий» режим. Фактическая температура измеряется лишь раз в несколько секунд, с такой же частотой производится и переключение выхода. Конечно, подобное решение не совсем подходит для условий с резкими скачками температуры, но во многих задачах вполне приемлемо.
Основной алгоритм программы примерно соответствует термометру. Главное отличие заключается в необходимости реализации задания температуры срабатывания и гистерезиса. Для перехода в режим задания используется кнопка SB1. Она подключена к входу прерывания INTмикроконтроллера, и при ее нажатии процессор выходит из состояния «сна». Учитывая небольшое количество цифр, которые требуется устанавливать, задание температуры производится поразрядно, т.е. отдельно устанавливаются десятые, единицы и десятки температуры. Для гистерезиса оставлены только десятые и единицы. Переключение между разрядами выполняется опять же кнопкой SB1. Разряд, операции с которым производятся работа в текущий момент, подсвечивается миганием. Кнопка SB2, при нажатии на нее, увеличивает значение в выбранном разряде на единицу. После задания всех цифр, нажатие на SB1 приведет к переводу программы в обычный режим. Для недопущения нештатных ситуаций, связанных с оставлением программы в режиме задания, используется дополнительный 16-разрядный таймер TIMER1. Переполнение данного таймера вызывает прерывание примерно 1 раз в секунду. В процедуре обработки прерывания производится подсчет количества таких ситуаций и при превышении определенного значения выполняется возврат в нормальный режим работы. Нажатие на любую кнопку приводит к сбросу данного счетчика. Также TIMER1 дополнительно используется для получения мигания задаваемого разряда.
Принцип работы выхода
Заданное значение температуры и гистерезис автоматически сохраняются в энергонезависимой памяти микроконтроллера. При подаче питания эти значения считываются и используются в дальнейшей работе. Доступно задание порога срабатывания от 0 до 99.9 градуса, гистерезиса от 0 до 9.9 градуса. Включение выхода произойдет, когда температура превысит значение суммы порога задания и гистерезиса. Отключение происходит, когда измеряемая температура опустится ниже значения порога. Термометр способен индицировать отрицательную температуру, но задание минусовых значений не реализовано.