Суточный таймер на микроконтроллере своими руками. Кухонный таймер на микроконтроллере ATtiny13. Работа таймера и функции кнопок

Таймер на ATmega8 простой, небольшая схема, на часовом кварце

Описание управления.

Если в работе осталось меньше десяти часов, ведущий нуль убирается, если осталось меньше часа, на индикатор выводятся ММ:СС, при настройке таймера формат времени ЧЧ:ММ.
Когда осталось меньше 20 секунд, на сигнальный вывод (РС4) подаются импульсы с периодом 0,5с.
при нажатии кнопки SW4 во время работы таймера останавливает полностью счет, последующие нажатия по очереди восстановляют предыдущую настройку или обнуляют таймер

Если джампер Jmp1 замкнут, то при появлении питания, таймер продолжает отсчет. Если разомкнут, то отсчет пока питания нет, не идет (пауза). При резервном питании, индикация отсутствует. Точка около единиц часов мигает.
При нажатии на кнопку СБРОС таймер отключает нагрузку, останавливается и обнуляется, при еще одном нажатии восстанавливается предыдущая настройка. Точка мигает только когда идет счет.

точки индикатора:

Не мигают: таймер остановлен
- мигает средняя - таймер запущен

Индикаторы ОА .

Автор проекта VasylYE найти его можно здесь http://elektron.ucoz.ru/forum/

Вниманию глубокоуважаемой публики предлагается очередной проект из цикла "меньше не бывает". На этот раз это таймер, собранный на микроконтроллере attiny2313 . Количество деталйе, кроме микроконтроллера, минимально, хотя и слегка больше, чем в уже известном проекте "термостат - еще меньше, чем не бывает". И тем не менее, таймер достаточно "нафарширован" функциями.

Назначение.

Таймер предназначен для управления бытовыми нагрузками по одному из 3 алгоритмов:

  • Цикл : непрерывное включение нагрузки на заданный интервал времени с последующим отключением на другой заданный интервал;
  • Выдержка и однократное включение - включение нагрузки по истечению заданного интервала времени;
  • Выдержка и однократное отключение - отключение нагрузки по истечению заданного интервала времени.
Основные технические характеристики и функции.
Минимальный отсчитываемый интервал времени 1 сек
Максимальный отсчитываемый интервал времени 999 мин. 59 сек.
Шаг перестройки интервалов времени в интервале 1 сек.
Управление Кнопками
Количество кнопок управления 2
Тип индикатора 7-сегментный
светодиодный
3(4)-разрядный
Сохранение заданных интервалов для каждого режима при отключении питания Предусмотрено
Продолжение отсчета времени при восстановлении основного питания Предусмотрено
Резервный источник питания Литиевая
батарейка 3В
Выходной сигнал Логический,
0 - 5В, 20 мА
Предупреждительный сигнал за 10 секунд до окончания интервала Предусмотрен
Тип индикатора (общий анод/катод) Не имеет значения

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

На рисунке приведена принципиальная схема таймера. группа из трех светодиодов может быть заменена четвертым разрядом индикатора (далее описание ведется именно в расчете на этот вариант, т.е. дополнительные светодиоды упоминаются, как соответствующие сегменты 4-го разряда). Для достижения настоящей миниатюрности все компоненты, кроме индикатора, следует выбирать в SMD-исполнении. Звукоизлучатель - это не простой динамик, а зуммер со встроенным генератором, т.е. такой, что при подаче 5В начинает пищать.

Две кнопки, обозначенные Р и СС , используются доля управления всеми функциями таймера.


Режимы работы таймера

Предусматривается два режима работы таймера - конфигурирование и основной.

Конфигурирование

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

В режиме конфигурации кнопка Р служит для выбора параметра, а кнопка СС изменяет выбранный параметр. Выбранный параметр мигает. Параметров всего два: тип индикатора и поведение таймера при работе от резервного источника питания. Первый параметр отображается в первом разряде индикатора, второй - в третьем разряде.

В режиме конфигурации изображение на индикаторе может отсутствовать или быть странным/нечитаемым - это нормальное явление: так как таймер рассчитан на работу с индикатором любого типа (общий анод или катод), то при неверной настройке изображение будет испорчено - надо всего лишь нажать кнопку СС , переключив тем самым тип индикатора на другой. Если тип индикатора выбран верно, в первом разряде отобразится буква А (индикатор с общими анодами) или С (индикатор с общими катодами.

Нажав кнопку СС можно переключиться на второй настраиваемый параметр - начнет мигать третий разряд индикатора. В этом разряде отображается либо минус , либо буква G . Минус означает, что при отсутствии основного питания таймер будет остановлен, и продолжит работу только после восстановления питания. Буква G обозначает режим сохранения "хода" таймера и при отсутствии основного питания. Вы должны выбрать наиболее удобный режим для себя.

Завершить режим конфигурации можно нажатием и удержанием кнопки Р более нескольких секунд. После завершения настроек изображение на индикаторе станет характерным для основного режима работы.

Основной режим

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

Особенности индикации

На индикаторе интервала отображается время. Формат отображения можно назвать «минуты с плавающими секундами». Десятичная точка на индикаторе отделяет единицы минут от десятков секунд. Положение точки не фиксировано и зависит от того, какое количество минут следует отображать. Если количество минут более 99, то весь индикатор целиком занят под показания минут, секунды при этом не отображаются. Если минут менее 100, но более 9, то на индикаторе можно видеть десятки секунд. Если же минут менее10, то секунды отображаются полностью - и десятки, и единицы. Таким образом, с достаточной точностью можно видеть оставшееся время до истечения заданного интерва-ла (см. рисунки).

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

Дополнительный индикатор состоит из 3-х светодиодов (в случае применения 4-го разряда индикатора используются сегменты А, G, D), назначение которых показано в таблице.

Индикатор Сегмент Назначение
ВКЛ A

ВКЛЮЧЕНА

ОТКЛ G Показывает, что на дисплее интервал, в течение которого нагрузка ВЫКЛЮЧЕНА
1РАЗ D

Показывает, что включен однократный режим отсчета интервала

Когда идет отсчет времени, т.е. таймер работает в режиме счета , точка между минутами и секундами на индикаторе мигает. Индикаторы ВКЛ и ОТКЛ могут светиться совместно с индикатором 1РАЗ , означая при этом соответствующий режим выдержки времени и отключения или включения нагрузки. Например, если светятся индикаторы ОТКЛ , 1РАЗ и мигает точка, это означает следующее: нагрузка отключена, идет отсчет интервала, после его окончания нагрузка включится, а таймер остановится.

В режиме цикла индикатор 1РАЗ не светится.

Состояния

Различается три основных состояния в основном режиме работы:

  • Ожидание - таймер остановлен, можно изменить настройки интервалов и выбрать алгоритм работы. Далее это состояние обозначается О .
  • Счет - таймер отсчитывает выбранный интервал и управляет нагрузкой по выбранному алгоритму. Возможна приостановка или полная остановка от-счета времени, т.е. переход в состояние О . Далее это состояние обозначается С .
  • Кроме основных, имеется еще дополнительное состояние изменения интервалов , далее обозначаемое, как состояние И .
Управление состояниями таймера

Управление состояниями осуществляется уже известными кнопками СС и Р .

Когда таймер в состоянии О , кнопка Р переключает алгоритм работы, что соответственно отображается на индикаторе. Можно выделить 4 варианта алгоритма работы:

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

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

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

В последних двух вариантах алгоритма работы после истечения интервала нагрузка будет, соответственно, включена или отключена, а таймер перейдет в состояние С .

Последние 10 секунд каждого интервала подаёся звуковой сигнал, напоминая о скором завершении интервала - в этом случае нажатие кнопки СС позволяет перезапустить выбранный интервал, т.е. продлить интервал еще на столько же. Если сигнализация скорого завершения интервала не требуется - нужно либо отключать звукоизлучатель при помощи тумблера, либо не устанавливать его вообще.

Кнопка Р в режиме С выполняет функцию "Стоп " - отсчет времени останавливается и таймер переходит в режим О , при этом интервал восстанавливает значение, заданное пользователем, т.е. таймер готов к очередному запуску.

Изменение длительности интервалов

В состоянии О возможно изменить длительность текущего интервала, т.е. того, который отображен на индикаторе. Для этого надо нажать и удерживать кнопку Р до тех пор, пока не включится состояние изменения интервала. От состояния О это состояние отличается тем, что один из разрядов индикатора мигает - именно его значение будет изменяться при нажатии кнопки СС . Изменение происходит по кругу, т.е. 1-2-3-4-5-6-7-8-9-0-1-2-..., но при этом учитывается тот факт, что не может быть задан интервал 0 секунд и 0 минут, а так же число десятков секунд не может превышать 5.

Важное замечание : таймер определяет длительное нажатие кнопки Р уже после того, как отработает ее нажатие краткое, т.е. сначала произойдет переключение режима таймера, а затем включится режим изменения интервала. Эту особенность следует учитывать при работе.

Выбрать разряд для изменения можно нажатием кнопки Р . Так как интервал состоит из 5 разрядов, из которых может быть видимо только 3, по мере продвижения редактируемого разряда слева направо происходит и сдвиг точки, отделяющей минуты от секунд.

Такой поразрядный способ изменения интервала позволяет наиболее быстро ввести любое значение от 0.0 до 999.59 при помощи всего пары кнопок. Дополнительно облегчает ввод автоповтор нажатой кнопки, т.е. если нажать и удерживать кнопку более 1,5 секунд, показания начнут изменяться автоматически в ускоренном темпе.

Нажимая кнопку Р , можно просмотреть все разряды интервала, не меняя их. Завершается ввод значения интервала нажатием и удержанием кнопки Р до тех пор, пока не перестанет мигать разряд на индикаторе.

Возможные применения устройства.

Полив растений, кормление животных (алгоритм «цикл»).

Экспонирование в фотографических и других процессах (алгоритм «выдержка и отключение»).

Кухонный таймер (алгоритм «выдержка и включение» для сигнализации конца интервала или «отложенное выключение» для электроприборов).

Освещение на лестничных клетках (алгоритм «выдержка и выключение», индикатор не требуется).

Так как работа над таймером шла долго и активно обсуждалась на форуме, у некоторых посетителей сайта возникал вопрос: для чего используется звуковое напоминание о скором завершении интервала и возможность продлить текущий интервал? Это предусмотрено на случай использования таймера в качестве "незабудки". Например, вы сели паять, а таймер у вас управляет питанием паяльника. Вы настроили таймер на работу в режиме "включено 1 раз " на 15 минут. Предположим, спустя 10 минут вам позвонили по телефону и вы отложили паяльник. Если вы заболтались - таймер начнет попискивать, напоминая о себе. Если вы не слышите этих сигналов - таймер отключит паяльник, уберегая вас от пожара. Если же вы не спите, не заняты - вы нажимаете кнопку СС и продолжаете работать еще 15 минут до очередного напоминания.

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

P.S. Для тех, кто захочет что-то поменять в коде таймера.
В настоящее время прошивка собирается компилятором WinAVR 20100110 и занимает 2016 байта из имеющихся 2048 . Но такой объем получен не просто так, а только при определенных усилиях со стороны программиста и компилятора. Makefile для сборки проекта прилагается к исходникам - не стоит изменять его в плане опций компилятора или компоновщика!


(8) | Просмотров: 121608

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

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


Сердцем данного таймера является очень популярный и уже не дорогой микроконтроллер Atmega8.

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

Что нам понадобится:

Схема таймера

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

Как вариант исполнительного устройства на триаках, тиристорах и симисторах показаны ниже.



Вариант из программы Sprint Layout.

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

Микроконтроллер прошивается программатором или с помощью простых 5 проводов.

Автор прошивки (скачать — multitimer) постарался и не стал изменять фьюзы, что очень сильно облегчает, без заморочки, прошивку для начинающего радиолюбителя. Если МК еще не использовался, новый из магазина, то просто заливаете прошивку и все, но если уже есть изменения в фьюзах, то надо выставить их так CKSEL=0001. Все остальное просто и не нуждается в пояснении.

Для корпуса очень удобно использовать распаечные коробки из пластмассы, они бывают разных размеров и форм.

В прорезанную ножом крышку, при помощи термоклея из пистолета, закрепляем LCD экран., прорезаем отверстия под кнопки управления и кнопку питания.

Размещаем все узлы внутри корпуса, постоянно проверяя как закрывается крышка, при необходимости переносим или подгибаем мешающие.

На собранную схему подаем питание, должно появиться такое изображение.

Управление осуществляется четырьмя кнопками. Меню состоит из трех пунктов, СLОСК -установка часов, RЕSЕТ -сброс всех установленных таймеров, ТIМЕR — установка таймеров.

Сначала заходим (*) в меню часов и выставляем (>)(<)(#) точное время.


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

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

Электронный таймер предназначен для программного управления бытовыми приборами, освещением и другими приборами. Таймер можно использовать для аквариумного и другого оборудования. Использование таймера позволит экономить электроэнергию, не понижая уровень комфорта.

Вариант 1

В состав данного устройства входит три таймера. Таймер 1.1 и таймер 1.2 каждый из них позволяет задавать время включения и выключения нагрузки, которая подключается к реле KV1. Таймер 2.1 и таймер 2.2 также позволяет задавать время включения и выключения нагрузки, которая подключается к общему реле KV2. Таймер 3 представляет собой обратный таймер, который управляет нагрузкой через KV3.

В данном устройстве применен микроконтроллер PIC16F628A. Элементы С1, С2, ZQ1 являются внешними частотозадающими элементами внутреннего тактового генератора. Для отображения информации используется индикатор HG1 с контроллером KS0066. Индикатор может отображать две строки по шестнадцать символов. Подстроечным резистором R4 можно регулировать контрастность изображения. Помощью SB1-SB5 происходит управление режимами работы и индикации, а так же настройка таймера. Через выводы 1,17,18 микроконтроллера происходит управление транзисторами VT1-VT3 и далее реле KV1-KV3, которые включают либо отключают нагрузку. При использовании реле с током катушки более 100 мА, то транзисторы КТ315В следует заменить на транзисторы максимально допустимый ток коллектора, которых больше тока катушки реле.

Режим отображения текущего времени.




Режим отображения таймера 1.1.

Если время включения установлено равным времени выключения то считается не используемым.

Назначение клавиш и управление ими такое же, как и в режиме текущего времени.

Таймеры 1.2, 2.1 и 2.2 по индикации и управлению аналогичны таймеру 1.1.

Режим отображения таймера 3

Таймер 3 - это обратный таймер.

Для входа в режим настройки таймера 3 необходимо нажать и удерживать, до появления мигающего курсора, кнопку SB5. В режиме настройки перемещение курсора осуществляется кнопками SB3 и SB4, а изменение значений кнопками SB1 и SB2. При отсчете времени остановить таймер 3 можно нажав SB5. После повторного нажатия SB5 таймер продолжит отсчет времени и когда его значение будет равно нулю, нагрузка отключится.

Переключение между режимами отображения осуществляется кнопками SB1 и SB2.

Биты конфигурации микроконтроллера.

Вариант 2

Режим отображения текущего времени

Назначение клавиш управления в этом режиме:
SB5 - вход/выход в режим настройки текущего времени.
SB3, SB4 – перемещение курсора влево либо вправо при настройке.
SB1, SB2 – уменьшение либо увеличение значений времени при настройке.

Режим отображения таймера


Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
DD1 МК PIC 8-бит

PIC16F628A

1 В блокнот
HG1 LCD 16x2 BC1602B2 1 В блокнот
ZQ1 Кварцевый резонатор 4 МГц 1 В блокнот
VD1-VD3 Диод

КД105Б

3 В блокнот
VT1-VT3 Биполярный транзистор

КТ315В

3 В блокнот
C1, C2 Конденсатор 15...30 пФ 2 В блокнот
R1, R3, R5 Резистор

1 кОм

3 В блокнот
R2, R6 Резистор

И. КОТОВ, г. Красноармейск Донецкой обл., Украина
Предлагаемое устройство может выполнять функции таймера, термометра и терморегулятора. Оперативная регулировка позволяет настроить его на выполнение указанных функций как совместно, так и по отдельности. Вся необходимая информация выводится на трёхразрядный светодиодный индикатор. При разработке устройства ставились задачи минимизации электрической схемы, упрощения процесса управления и расширения функциональных возможностей. Они были решены за счёт применения микроконтроллера и специализированного датчика температуры.

Технические характеристики в режиме терморегулятора
Интервал регулируемой
температуры, °С... .от -55 до +125 Разрешающая способность при измерении и регулировании, °С:
в интервале температуры-9,9...-99,9 °С...........0,1
в интервале температуры-55...-10 °С и+100...
+125 °С.....................1
Погрешность измерения, °С, не более:
в интервале температуры-10...+85 °С.............±1
в интервале температуры-55...-10 °С и+85...
+125 °С....................±2
Интервал установки гистерезиса, °С................± 0...50
Верхняя граница установки интервала регулирования, °С................-55...+125
Нижняя граница установки интервала регулирования,°С................-55...+125
Интервал корректировки
показаний термометра, °С......±2
Терморегулятор работает как в режиме нагрева, так и охлаждения. Дополнительно можно установить продолжительность поддержания температуры в интервале 1-999 мин или остановку работы терморегулятора на тот же промежуток времени. В процессе работы подсчитывается суммарная продолжительность подключения нагрузки к сети. Устройство предназначено для работы совместно с датчиком температуры DS18B20 и автоматически определяет его ID-код.
Технические характеристики в режиме таймера
Интервалы установки времени
секунд.................1...999
минут..................1...999
часов..................1...999
Направления отсчёта времени.......................прямое
или обратное
Таймер обеспечивает задержку как включения, так и отключения нагрузки.
Схема устройства показана на рис. 1.


Все основные функции возложены на микроконтроллер DD1, управление режимами и ввод данных осуществляют с помощью кнопок SB1-SB3, а информация выводится на трёхразрядный светодиодный индикатор HG1. Питание осуществляется от сети, которую подключают к зажимам 1 и 2 колодки ХТ1. На трансформаторе Т1, диодном мосте VD1, стабилизаторе DA1 и сглаживающих конденсаторах С2 и С4 собран узел питания. Резистор R1 повышает надёжность работы устройства при повышенном сетевом напряжении. Но при желании его можно исключить, установив на плате взамен него проволочную перемычку.
Включение или отключение питания нагрузки осуществляется с помощью реле К1, контакты которого К1.1 нормально разомкнуты и подсоединены к зажимам 3 и 4 колодки ХТ1. Датчик температуры DS18B20 подключают к зажимам 5 и 6. Применена двухпроводная схема подключения датчика: к зажиму 6 присоединён вывод 2, к зажиму 5 - выводы 1 и 3. Для вывода информации на индикатор HG1 использована динамическая индикация с периодом обновления символов около 20 мс.
Управление работой и установку параметров осуществляют с помощью трёх кнопок SB1 "<" (уменьшение), SB2 ">" (увеличение) и SB3 "˾" (ввод). В зависимости от предварительной установки устройство может выполнять функции универсального терморегулятора или быть в роли таймера. Для выбора функционального назначения необходимо нажать на кнопку SB3 и, удерживая её, подать напряжение питания. На индикаторе HG1 появится номер текущей установки (рис. 2).

Кнопками SB1 и SB2 устанавливают режим работы: 1 - универсальный терморегулятор (задан по умолчанию), 2 - таймер. Для подтверждения следует нажать на кнопку SB3. Изменения вступят в силу после следующего включения.
При работе устройства в качестве терморегулятора датчик температуры располагают в месте, где необходимо поддерживать заданную температуру. После подключения прибора к сети на индикаторе "пробегает" тестовая надпись HELLO - терморегулятор готов к работе. В рабочем режиме на индикаторе HG1 постоянно отображается текущее значение температуры. О том, что нагрузка в данный момент включена, свидетельствует мигающая точка в младшем разряде.
Установку температуры производят кнопками SB1 и SB2, по умолчанию она составляет 30 °С. В момент нажатия на любую из этих кнопок на индикаторе HG1 появляется мигающее значение устанавливаемой температуры, а по истечении 5 с после последнего нажатия терморегулятор возвращается в рабочий режим. Все введённые данные сохраняются в энергонезависимой памяти микроконтроллера. При нажатии и удержании кнопок SB1 и SB2 выбранный параметр изменяется быстрее. В зависимости от продолжительности нажатия последовательно переключаются три его скорости изменения.


Для установки других настроек терморегулятора необходимо войти в меню. Для этого следует нажать на кнопку SB3. Изменение настроек производят в соответствии с рис. 3. Через 5 с после последнего нажатия любой кнопки устройство переходит в рабочий режим, а все настройки сохраняются в энергонезависимой памяти. Ниже приведено описание доступных параметров.

ГГР - гистерезис. Параметр, в котором задаётся разность температур включения и отключения нагрузки. Установленное число суммируется с заданной установкой температуры для включения и вычитается для выключения. Если, например, задана температура 30,0 °С, а ГГР - 4,5, то в режиме нагревания отключение нагрузки произойдёт при температуре 30,0 + 4,5 = 34,5 °С, а включение - при 30,0 - 4,5 = 25,5 °С. Если терморегулятор работает в режиме охлаждения, отключение произойдёт при температуре 25,5 °С, а включение - при 34,5 °С. Если установить ГГР равным 0, на индикаторе отобразится
надпись ГР и прибор будет работать как обычный термометр, на индикаторе отобразится текущая температура, а нагрузка будет всё время отключена. По умолчанию установлено значение ГГР, равное 3,0.
ВПР - верхний предел температуры. Этот параметр определяет максимально возможное значение устанавливаемой температуры. В случае превышения этого предела, независимо от других установок, нагрузка будет отключена. По умолчанию в ВПР задано значение 80,0.
НПР - нижний предел температуры. Этот параметр определяет минимально возможное значение устанавливаемой температуры. В случае снижения температуры ниже НПР, независимо от других настроек, нагрузка также будет отключена. Значение НПР всегда меньше или равно ВПР. По умолчанию в НПР задано значение 10,0.
ВРВ - продолжительность времени включения (в минутах). Этот параметр задаёт временной интервал, в течение которого поддерживается заданная температура. По его окончании нагрузка будет отключена. Признак
истечения установленного временного интервала - постоянно светящаяся точка в младшем разряде индикатора. Повторный запуск таймера производят нажатием на кнопку SB3. Если ВРВ установлено равным 0, на индикатор выводится изображение "---", а таймер в работе терморегулятора не участвует. По умолчанию таймер отключён. ВРО - продолжительность времени отключения. Параметр задаёт временной интервал (в минутах), в течение которого устройство находится в выключенном состоянии, предназначен для использования совместно с параметром ВРВ. По окончании установленного интервала времени устройство возвращается к функции поддержания температуры. Если, например, установить значение ВРВ 90, а ВРО 60, терморегулятор будет циклически поддерживать температуру в течение 90 мин, а затем отключаться на 60 мин и снова включаться на 90 мин и т. д. Если ВРО равно 0, на индикаторе выводится изображение "---", а таймер в работе терморегулятора не участвует. По умолчанию ВРО имеет нулевое значение (таймер отключён).
ПАР - параметры работы. Значение ПАР определяет режим работы терморегулятора: нагревание или охлаждение. При работе совместно с нагревателем в ПАР необходимо установить НА, при работе совместно с охладителем - ОС. По умолчанию в ПАР задано значение НА (работа с нагревателем).
ПОП - поправка показаний. Этот параметр позволяет проводить корректировку показаний термометра и в случае необходимости добиться (по образцовому термометру) погрешности измерения менее 0,1 °С. Значение ПОП добавляется к текущим показаниям температуры. Обычно в корректировке показаний нет необходимости, поскольку датчик температуры DS18B20 имеет заводскую калибровку и очень высокую точность измерения. По умолчанию ПОП имеет значение 0,0 (корректировка отсутствует).
РАБ - время работы нагревателя (или охладителя). В этом режиме выводится время (в часах), в течение которого нагрузка была включена. Это позволяет оценить расход электроэнергии. Например, если месячные показания РАБ равны 250, а мощность нагревательного элемента - 0,5 кВт, расход электроэнергии составляет 125кВт-ч.
НОГ - идентификационный номер (ID-код) датчика температуры. Выводится 64-разрядный идентификационный номер датчика DS18B20, представленный в шестнадцатеричном формате. Например, 28А2С86801000017. (последняя цифра отмечена десятичной точкой). Просмотр номера производится нажатием на кнопки SB1, SB2 и может понадобиться для определения, какой из датчиков подключён. Если связь с датчиком нарушена или по каким-либо причинам код считать не удалось, на индикатор будет выведено сообщение Err (ошибка).
Устройство автоматически определяет наличие и исправность датчика температуры. При обрыве цепи или отсутствии датчика на индикаторе появится надпись HI, а при коротком замыкании или неправильном подключении - Lo. При любой неисправности нагрузка автоматически отключается. Провод, соединяющий датчик с устройством, должен иметь сечение не менее 0,5 мм2, а длину - не более 10 м. Информация считывается с датчика температуры с периодом 1 с и сравнивается с предыдущим значением. Если скорость роста температуры превышает 30 °С/с или скорость падения температуры превышает 20 °С/с, ситуация интерпретируется как аварийная и нагрузка отключается.
Для просмотра и изменения установок при работе в режиме таймера необходимо войти в меню. Для этого следует нажать на кнопку SB3. Установку проводят в соответствии с рис. 4

Через 5 с после последнего нажатия на любую кнопку устройство переходит в рабочий режим, а все настройки сохраняются в энергонезависимой памяти. После входа в меню появляется текущая установка таймера (индикатор мигает). Кнопками SB1 и SB2 устанавливают временной интервал в пределах 000...999 (по умолчанию задано 100). Если установить 000, таймер блокируется, а в рабочем режиме на индикаторе будет сообщение "---".
После установки цифрового значения нажимают на кнопку SB3, и затем можно
задать единицы измерения времени. Это могут быть секунды SEC (по умолчанию), минуты Ml или часы HOU.
Далее устанавливают режим работы таймера. При выборе ОН, по истечении установленного временного интервала, нагрузка будет подключена, выбор OFF означает, что нагрузка будет
отключена. Выбор направления счёта таймера - обратный при выборе ОБС (задан по умолчанию) и прямой при выборе - ПРС. Во время работы таймера на индикаторе отображается время. Запуск таймера осуществляют нажатием на кнопку SB2. Если задан прямой счёт, показания изменяются от нуля до максимального значения, например, 0, 1, 2... и т. д., а если обратный - от максимального значения до нуля, например, 100, 99, 98... и т. д.
Остановку таймера производят кнопкой SB1. При повторном нажатии на неё он перейдёт в исходное состояние. Если выбрана установка на включение, по окончании установленного интервала нагрузка будет подключена и на индикаторе появится сообщение ОН, а если установка на выключение - OFF и нагрузка отключена. О текущем состоянии нагрузки можно судить по десятичной точке в младшем разряде индикатора. Она светит - нагрузка включена, погашена - отключена. В случае установки минут или часов точка каждую секунду кратковременно вспыхивает, если нагрузка отключена, и кратковременно гаснет, если включена.
Для повышения надёжности работы в устройстве применён ряд программных приёмов. В первую очередь, это касается работы с EEPROM микроконтроллера. Каждый параметр в энергонезависимой памяти продублирован в четырёх ячейках. Чтение и запись проводятся поблочно. После каждого чтения содержимое четырёх ячеек сравнивается между собой. Если в одной или двух из них оно отличается от остальных, единое значение всех ячеек блока восстанавливается по тем, в которых оно идентично.
Большинство деталей монтируют на двух печатных платах из фольгированного стеклотекстолита, чертежи которых показаны на рис. 5 и рис. 6.


Применены постоянные резисторы для поверхностного монтажа РН1-12, остальные - МЛТ, С2-23. Оксидные конденсаторы - К50-35 или импортные, остальные - К10-17. Реле - JZC-22F3SC20DDC12V, кнопки - DTST-6. Трансформатор должен обеспечивать на выходе выпрямителя напряжение 12 В при токе до 150 мА ХТ1 - однорядный клеммник серии 305. Для программирования микроконтроллера предназначен файл modul_v2.hex.
Платы устанавливают в пластмассовый корпус (рис. 7).

Внешний вид собранного устройства показан на рис. 8.

Резистор R2 был предназначен для защиты микроконтроллера в процессе отработки конструкции, но после изготовления нескольких экземпляров устройств он был исключён и взамен него на плате установлена проволочная перемычка.
В целях упрощения предусмотрена возможность исключения токоограничивающих резисторов R4-R11 в цепях управления сегментами индикатора HG1. В этом случае их заменяют отрезками провода, в микроконтроллер следует загрузить файл modul_v1.hex Чтобы исключить перегрузку по току индикатора и микроконтроллера, подача напряжения на каждый разряд индикатора осуществляется на 0,3 мс, поэтому работают они при номинальном среднем токе. Яркость свечения индикаторов с различным числом включённых элементов немного различается из-за неравномерного распределения тока и различного падения напряжения на выходных транзисторах портов микроконтроллера. Индикатор с общим катодом можно заменить на аналогичный, но с общим анодом. Для этого в начале программы modul_v1 .asm (modul_v2.asm) следует удалить строку
#define _COMMON_CATODE_ и заново откомпилировать программу.
Программ микроконтроллера скачать
При программировании устанавливают следующую конфигурацию микроконтроллера: BODLEVEL=1; BODEN = 0; SUT1 = 1; SUTO = 1; CKSEL3 = 1; CKSEL2 = 1; CKSEL1 = 1; CKSELO = 1; RSTDISBL = 1; WDTON = 1; SPIEN = 0; СКОРТ = 0; EESAVE = 0; BOOTSZ1 = 1; BOOTSZO = 1;
BOOTRST = 1.
От редакции. Текст и коды программ микроконтроллера находятся на нашем FTP-сервере по адресу .
Радио №3 2012



Что еще почитать