Периодичный таймер на микроконтроллере. Кухонный таймер на микроконтроллере ATtiny13

Данная схема таймера на микроконтроллере PIC16F684 позволяет осуществлять независимый выбор момента выключения и включения нагрузки. Отличительным качеством данного таймера служит использование ЖК-индикатора SoG со встроенным последовательным интерфейсом.

Описание работы таймера на микроконтроллере

Индикатор имеет 8 семи-сегментных цифр. Индикация времени начинается четырьмя цифрами посередине. Часы и минуты разделяются десятичной точкой. Индикация включенной или выключенной нагрузки таймера отображается с правой стороны индикатора (0 –выключено,1 – включено)

Все управление таймером осуществляется посредством 4-х кнопок. Если нажать и удерживать кнопку «Установка» на протяжении 2 секунд, то активируется режим установки. Сначала устанавливается реальное время (часы и минуты). После установки времени необходимо один раз нажать на «установка»

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

Функционирование микроконтроллера осуществляется от встроенного RC-генератора частотой 8 МГц. Схема внутренних часы функционируют от кварцевого генератора 32768 Гц. Все основное время микроконтроллер находится в режиме sleep, поэтому среднее значение тока потребления составляет примерно 5…7 мкА.

В роли ключа используется IRLML2502 (BSS138). Тактильные кнопки произвольные. Прочие радиоэлементы SMD. Штекер для программирования микроконтроллера PLS5 с нумерацией выводов как в PICKit2.

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

Технические характеристики в режиме терморегулятора
Интервал регулируемой
температуры, °С... .от -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

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

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

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

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

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

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

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

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

Таймер предназначен для однократного или периодического включения нагрузки постоянного тока напряжением от 8 до 12V, силой тока не более 1А. Таймер питается от того же источника питания, что и нагрузка. Время задается установкой перемычки, и может быть 5 минут, 10 минут, 20 минут или 40 минут.

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

Запуск таймера производится кнопкой. Отсчет времени начинается с момента отпускания этой кнопки. Источником тактовых импульсов служит мигающий светодиод. От частоты его мигания зависят временные интервалы. Имеющийся у автора светодиод мигал с частотой около 1,7 Гц.

При этом временные интервалы в 40, 20, 10 и 5 минут указаны приближенно, на деле они на несколько секунд меньше. Поэтому, применять этот таймер там, где нужно строгое и точное соблюдение временных интерва-лов не имеет смысла. Он годится только там, где слишком большой точности не требуется, например, в различных военно-спортивных играх.

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

В основе схемы лежит микросхема CD4040 (аналог К561ИЕ20), - двоичный счетчик на 12 разрядов. Источником тактовых импульсов служит мигающий светодиод HL1. Перемычка Л служит для выбора временного интервала (на схеме показана в положении «40 минут»). Перемычка J2 служит для выбора режима (на схеме показана в положении однократного включения нагрузки).

Рис. 1. Принципиальная схема таймера (реле времени) для управления низковольной нагрузкой с током до 1А.

После обнуления счетчика D1 на всех его выходах логические нули. И нулевое напряжение через перемычку Л поступает на затвор полевого транзистора VT1, коммутирующего нагрузки. Поэтому он закрыт и на нагрузку ток не поступает.

В указанном на схеме положении, через перемычку J2 и резистор R2 подается ток на мигающий светодиод с выхода микросхемы D1. Светодиод HL1 мигает, создавая импульсы тока и напряжения по цепи своего питания. Импульсы напряжения через цепочку R3-C1 поступают на вход счетчика. После отпускания кнопки S1 счетчик начинает считать эти импульсы.

Спустя заданное время, логическая единица возникает на том выходе счетчика, с которым соединена перемычка Л. При этом, напряжение поступает на затвор полевого транзистора VT1 и он открывается. А через J2 напряжение высокого логического урвня поступает на мигающий светодиод HL1, и ток через него прекращается, - он больше не мигает и не генерирует импульсы.

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

Детали и печатная плата

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

Рис. 2. Печатная плата для схемы таймера.

Четыре контакта работают для перемычки J2, и восемь контактов - для перемычки J1. Монтаж выполнен на печатной плате, на рисунке показанной схематически. Питание может быть от 5 до 15V.

Гордеев И. РК-2017-05.

Иногда требуется просто задать временной интервал, без особой микроскопической точности. Например, для приготовления пищи, где погрешность в несколько секунд за полчаса, час не играет важной роли. Исходя из этих соображений в качестве тактового генератора выбран внутренний RC-генератор. Стабильность которого зависит от температуры и изменения напряжения питания, поскольку микроконтроллер сохраняет свою работоспособность при напряжении 1,8-5,5 В. В качестве источника питания применил 3-х вольтовую батарейку (или 2 элемента по 1,5 В).

Ставилась задача максимально упростить конструкцию при минимуме внешних деталей и элементов управления и индикации (как можно проще). Программа написана на ассемблере в AVR Studio.

Для управления режимами таймера имеется пара кнопок. Первая "SET" для установки временного интервала, вторая "RESET" для сброса в любой момент если потребуется «переиграть» ситуацию и выставить другой временной интервал. А так же звуковой зуммер, в качестве звуковой индикации о состоянии таймера в разный период работы.

Таймер сделан с минимальным 5 минутным дискретным интервалом, таких интервалов можно набрать сколько угодно (до 255) если удерживать кнопку в нажатом состоянии.

Принципиальная схема кухонного таймера:

После отпускания кнопки начинается запуск таймера и обратный отсчёт, особенность таймера - звуковая индикация (глаза и руки не участвуют в контроле, а только слух), при установке «пикает» столько раз сколько нужно раз набрать 5-ти минутных интервалов. Например: нужен интервал 30 минут, значит надо нажать кнопку "SET" и удерживая её в нажатом состоянии, набрать «пиликаний» на 6 раз и отпустить кнопку. С момента отпускания кнопки "SET", зажигается светодиодный индикатор, свидетельствующий о том, что таймер запущен, и гаснет только по окончании всего цикла, также с момента запуска начинается обратный отсчёт, зуммер «пикает» по прошествии очередного дискретного 5-тиминутного интервала столько раз сколько их ещё осталось до завершения полного цикла таймера. А когда весь цикл пройден, в конце цикла звучит длительный «пиликающий» сигнал на протяжении около 10 секунд оповещающий о финале.

После этого, таймер переходит в режим ожидания перейдя по команде sleep в энергосберегающий режим Power down где потребляемый ток составит меньше микроампера в программе задействован, внутренний RC-генератор тактовая частота которого выбрана 128 / 8 кГц.

Loading...Loading...