Кухонный суточный таймер на pic схема. Конкурс на лучшую конструкцию на микроконтроллерах. Видео работы таймера

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

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

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

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

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

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

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

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

Предлагаю к повторению несложную схему бытового (кухонного) таймера на 99 минут собственной разработки. Идея заключалась в простоте управления, чтоб буквально любая (тупая) домохозяйка без проблем могла им пользоваться. Достаточно просто набрать 2 цифры минут и нажать кнопку "Старт". При необходимости можно установить и секунды. Также имеется скрытое "сервисное меню", где "спрятано" несколько фич - отображение прямого/обратного отсчета времени при работе таймера и несколько различных вариантов световых и звуковых эффектов по окончании отсчёта времени. Еще одной особенностью таймера (правда только на уровне программирования контроллера) является возможность выбора варианта управления ногой RC5 - появление на ней "1" либо во время счета времени, либо после окончания счета. Эту ногу можно использовать, например, для управления нагрузкой или как нибудь по своему усмотрению. Я в своем варианте сделал включение дополнительного усилителя звука по окончании счета.

В начале я разработал "дизайн" табло. В таймере применен индикатор на 2 цифры с двоеточием слева, а вокруг него расположены 6 светодиодов. При отсчете времени они показывают десятки секунд, а при окончании счета изображают бегущий огонь. Двоеточие тоже выполняет функцию визуального конроля режима. При установке времени в режиме минут оно погашено, а в режиме секунд - горит. Когда таймер запущен, начинается отсчет времени. Если время меньше одной минуты, на индикаторе отображаются секунды и двоеточие горит постоянно. Когда "натикало" больше минуты - на индикаторе высвечиваются минуты, а двоеточие начинает мигать. Десятки секунд, как писал выше, показывают светодиоды. Сейчас при чтении этого текста кажется что слишком все намудрено, но в реале все очень просто и логично.

Поскольку я предполагал встроить этот таймер прямо в стену, питание ему сделал от сети с настоящим выключателем. Никаких спящих и дежурных режимов! Не люблю я их. Только полное выключение! Блок питания - простейший импульсный, по типу китайской зарядки. За особой точностью хода я не гнался, так как для приготовления всяческих кулинарных изделий точность даже плюс/минус пару минут не так уж и критична. Да и образцового секундомера у меня тоже не было. На глаз при установке максимального интервала в 99 минут по сравнению с "эталонными" часами разницы практически не было. Ну может там каких пол секунды и было, но на глаз это отследить трудно. Так что если Вас все устраивает, можете приступить к повторению девайса. Вот его схема:

На время прошивки МК перемычки JP1 и JP2 снимаются. Для экономии места на схеме ключи VT5, VT6, VT9 и VT10 не показаны. Индикатор взял из старого компьютерного корпуса. В нем в качестве двоеточия используется левая 1. Только при окончательной сборке эти сегменты надо немного закрасить чтоб получилось 2 точки (я просто заклеил ненужные участки черной изолентой). Еще особенностью этого индикатора является то, что сегменты этой левой единицы соединены последовательно внутри индикатора и выведены как сегмент H (запятая) от второй цифры. Поэтому обратите внимание, что номинал R22 меньше, чем у резисторов для других сегментов. Вообще же можно просто использовать обычный индикатор на 2 цифры и 2 последовательно соединенных светодиода для двоеточия. Я взял такой индикатор просто потому, что он у меня уже был. На всякий случай дам его распиновку.

Установка времени происходит следующим образом. По умолчанию (при включении) таймер находится в режиме ввода минут, при этом двоеточие погашено. Цифровыми кнопками набираем сколько надо минут и нажимаем кнопку "Старт" (S12 по схеме). Вводимые цифры по ходу нажатия сдвигаются влево, какие цифры на индикаторе горят - столько минут в данный момент и установлено. Например, если на индикаторе горит 23 (установлено 23 минуты), а надо поставить 6 минут, то просто нажимаем "0" и "6". Если надо установить и секунды - нажимаем кнопку "Сек" (S10 по схеме), при этом зажигается двоеточие. Ставим сколько надо секунд точно также, как и минуты. Если набранное число получилось больше 59 секунд, старшая цифра начинает мигать, символизируя ошибку, и сбрасывается в 0. Запустить таймер можно как из режима минут, так и из режима секунд. После запуска таймера, остановить его досрочно можно повторно нажав кнопку "Старт".

На принципиальной схеме слева виден коннектор X3 с надписью "Out". Это тот самый выход управления чем-нибудь, про который я писал в начале. В исходном состоянии там "0". На этапе программирования МК можно задать, когда там будет появляться уровень "1" - во время отсчета времени или по окончании отсчета и до возвращения таймера в исходное положение. Задается это в памяти данных EEPROM, в ячейке по адресу 0x2105 (на рисунке квадратик 1). Записав туда значение 0x01, на выходе будет логическая "1" во время работы таймера. Записав 0x00 - после окончания отсчета времени. Вот скриншот программы при программировании МК.

По адресу 0x2107 (квадратик 2) находится значение числа коррекции при отсчёте времени (отстают-уменьшить, спешат-увеличить). Изменять число желательно в небольших пределах и без особой надобности лучше не трогать. Не ставить числа, равные 0 и 0FFh. По адресу 0x2109 (квадратик 3) находится число, определяющее сколько минут будет работать звуковой сигнал при окончании отсчета, если таймер не сбросили в исходное состояние нажатием кнопки.

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

Если нагрузка не очень мощная (несколько десятков Ватт), тиристор можно даже не ставить на радиатор. При опытах я подключал лампу накаливания 25W и все детали были холодные, как труп.

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

Т.е. выход "Out" включал питание "усилка", а сам сигнал звука брался с выхода ПИКа для мелкого динамика. Получилось, что когда нажимаешь кнопки при установке времени - пищит только маленький динамик, а когда срабатывает таймер - пищат сразу оба динамика. Этот дополнительный усилочек собран на отдельной платке.

Сам таймер собран на двухсторонней печатной плате, нарисованной в . Архив приложен в конце статьи. Плата разведена под PIC в корпусе TSSOP с шагом 0,65мм.

Фото платы в процессе сборки/отладки.

Для питания таймера использовал простейший импульсный блок питания, собранный по этой схеме (саму схему взял готовую где-то в интернете). Подробно писать про него здесь нет никакого смысла, ибо это тема для отдельной статьи про импульсные блоки питания. Приведу лишь данные по намотке трансформатора. Сам каркас подходящего размера берется из энергосберегающей лампы или из сгоревшего китайского БП. Также его можно выдрать из цепи дежурки компьютерного БП или из монитора, но по размерам они будут немного больше. Для беспроблемной разборки каркаса и сердечника трансформаторов, я их окунаю в кипящую воду на 3-4 минуты и потом аккуратно, без больших усилий, разбираю. Дальше снимаем все старые обмотки и мотаем новые. Обмотки: 1-2 - 600 витков диаметром 0,08 - 0,1мм; 3-4 - 23 витка диаметром 0,3 - 0,55мм; 5-6 - 10 витков диаметром 0,08 - 0,1мм. Обмотка 1-2 намотана внавал, остальные виток к витку. Все обмотки необходимо хорошо заизолировать друг от друга. При намотке соблюдать направление и начало обмотки по точкам. Две половинки Ш-образных сердечников стыкуются через изоляционную прокладку (воздушный зазор ~ 0,1 мм).

Но можно поступить проще, взяв любой готовый китайский блок питания с напряжением 8-9 вольт на выходе.

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

Ну и готовое устройство в сборе.

И напоследок про "сервисное меню", о котором упомянуто в начале текста. Если из режима установки секунд набрать "1", "1", "1", "1", "1" и "Старт", то кнопками "1" и "2" можно выбрать прямой или обратный отсчет времени. На индикаторе будет высвечиваться "Cu " (Count Up) или "Cd " (Count down). Выход из меню с сохранением настроек в EEPROM кнопкой "Старт".

Если набрать последовательность "2", "2", "2", "2", "2" (также из режима установки секунд) и "Старт" - кнопками "1" - "4" можно выбрать один из четырех вариантов звукового сигнала при срабатывании таймера. На индикаторе будет высвечиваться "A1 " -"A4 " (Alarm). Выход с сохранением настроек в EEPROM так же кнопкой "Старт".

Набрав "3", "3", "3", "3", "3" и "Старт" кнопками "1" - "4" можно выбрать один из четырех вариантов "бегущего огня" круговых светодиодов при срабатывании таймера. На индикаторе будет высвечиваться "E1 " -"E4 ".

Набрав "4", "4", "4", "4", "4" и "Старт" кнопками "1" - "4" можно выбрать один из четырех вариантов мигания семисегментных индикаторов при срабатывании таймера. На индикаторе будет высвечиваться "L1 " -"L4 ".

В архиве приложены платы таймера и блока питания (если кому надо) и прошивка контроллера. Фьюзы уже указаны в прошивке, ничего менять не надо. На плате таймера присутствует несколько керамических конденсаторов 0,1мкФ по питанию, не показанных на принципиальной схеме. Также есть пару деталей, обозначенных FB (ferrite bead) - это просто так называемые ферритовые бусинки, используемые в качестве перемычек.

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

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

PIC16F636

1 В блокнот
IC2 Кодер, декодер

SN74LS155A

1 В блокнот
IC3 Регистр сдвига К561ИР2 1 В блокнот
IC4 Линейный регулятор

L78L05

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

КТ3107БМ

4 В блокнот
VT4-VT12 Биполярный транзистор

КТ3102БМ

29 В блокнот
D1-D4 Выпрямительный диод

1N4148

4 В блокнот
Q1 Кварцевый резонатор 20 МГц 1 В блокнот
C1, C2, C4 220 мкФ 3 В блокнот
C3, C5, C8 Электролитический конденсатор 100 мкФ 3 В блокнот
C6, C7 Конденсатор 22 пФ 2 В блокнот
C9 Конденсатор 0.1 мкФ 1 В блокнот
R1-R3 Резистор

1 кОм

3 В блокнот
R4-R6 Резистор

680 Ом

3

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

Одна кнопка (по схеме S1) - "SET" для установки всех режимов, (всё будем делать одной кнопкой зачем нам куча разных ручек,переключателей?), а вторая кнопка (по схеме S2) - "RESET", которая позволит остановить таймер в любой момент приведя его в начальное состояние и отключить реле.

Алгоритм работы

Интервал времени таймера формируется от перемножения двух чисел: первое число (множимое) - это набранный интервал в минутах от 1 до 255, а второе число (множитель), которое при перемножении на, набранное вами, первое число сформирует заданное время таймера.

ПРИМЕР

Допустим надо набрать 1 час = 60 мин., учитывая, что минимальный дискретный временной интервал таймера =1 минуте, мы можем сформировать этот интервал несколькими вариантами, например первое число = 10 минутным интервалом, набираем первое число удерживая кнопку нажатой чтобы (10 раз мигнул светодиод, или «пиликнул» зуммер пьезоизлучателя). Набрав нужное количество, отпускаем кнопку, после этого таймер повторит «озвучит» набранное вами число(мигнув светодиодом и «пиликнув» пьезоизлучателем) набранное количество раз, когда D2 погаснет, после этого начинает прерывисто мигать второй светодиод D1. Это означает, что набор первого числа принят, но установка ещё не завершена, надо продолжать установку, (в этот момент, когда мигает D1 можно замкнуть контакты джампера S3 и оставить их в замкнутом положении, этим действием мы запишем наши настройки в энергонезависимую память микроконтроллера EEPROM, которые там будут храниться до момента записи другого временного интервала вместо прежнего. Это удобно, если вам нужен один временной интервал, которым Вы пользуетесь постоянно. Пока перемычка (джампер S3) замкнута, таймер будет выдавать только этот временной интервал, записанный вами (чтобы не набирать каждый раз снова) и сохранится в памяти при полном обесточивании устройства.

Второе число которое надо выбрать, это - множитель (набирается следом после первого). Для формирования часа тогда должен быть равен 6-ти (10мин. х 6 = 60 =1 час).

Процедура набора, такая же, как и при установке первого числа, посредством удерживания в нажатом состоянии кнопки и считая в такт с мигающим светодиодом D2 шесть миганий. После чего кнопку отпустить, сразу же следом в подтверждение, что число принято индикация D2 мигнёт и "пиликнет" повторно 6 раз, далее светодиод D1 снова начнёт прерывисто мигать. Это означает, что второе число принято и таймер готов к запуску.

СТАРТ

Чтобы запустить таймер надо нажать кнопку "SET" очередной 3-й раз удерживая нажатой около секунды, D2 тут же мигнёт (озвучит) последний раз для напоминания количество набранных вами интервалов и следом включается реле а режим индикации D1 переходит из мигающего в постоянно зажжённое состояние до окончания цикла, D2 по прошествии очередного набранного интервала будет мигать и «пиликать» зуммером.

Столько раз сколько ещё осталось до конца набранного вами суммарного интервала времени? После каждых (набранных в примере) 10 прошедших минут светодиод мигнёт столько раз сколько осталось интервалов 10 минутных из 6-ти по убывающей (5 раз потом 4 потом 3..2..1 и финиш). По окончании всего часового цикла, реле выключит нагрузку. светодиод D1 погаснет, а D2 и зуммер около 8 секунд будут ещё индицировать, оповещая, что цикл закончен.

Для установки в таймере часового интервала вариантов может быть масса. Например, набрать, первое число минута =1, а второе = 60. Тогда через каждую минуту светодиод будет мигать столько раз сколько минут осталось до конца, а можно и первое число сделать = 6-ти минутам, а второе = 10-ти, остальное по аналогии с вышеприведёнными примерами.

Такой универсальный вариант на разные вкусы, поэтому и назвал «УНИВЕРСАЛЬНЫЙ». По сути Вы сами программируете таймер на своё усмотрение, с желаемым вариантом и частотой индикации.

Если, используя таймер, Вам необходимо каждый раз набирать разные интервалы, то перемычку S3 замыкать не надо. А если таймер вам необходим для одного постоянного интервала времени, то целесообразно занести эти параметры один раз, записав их в память EEPROM микроконтроллера, который вы запрограммируете сами, сделав это так.

Установить (замкнуть перемычку джампера S3) надо ТОЛЬКО в период после набора первого или второго числа, когда мигает D1 (ни раньше ни позже) , и оставив её после этого замкнутой постоянно, при дальнейшей эксплуатации, после этого, при каждом очередном запуске таймера, нажимая кнопку «SET» сразу будет включится реле, а зуммер и D2 напомнит вам индикацией, сколько периодов временных вам осталось до конца, когда реле отключится.

Детали

Старался максимум простоты, минимум деталей и органов настроек, получилось: пара светодиодов, зуммер-пьезоизлучатель, транзистор управляющий реле, реле на 12 вольт, которое будет включать нагрузку, микросхема-стабилизатор 7805, процессор ATtiny 13 (с любыми буквами этой серии), да и всё, пожалуй.

Питаться схема будет от источника 12 В. На макетке гоняю, всё работает пока идеально. Если требуется сделать более громким звук зуммера, следует добавить усилительный каскад на транзисторе, наподобие того, как в схеме в предыдущей статье «кухонный таймер ».

Программирование микроконтроллера

ВНИМАНИЕ!!!
Очень важный момент, я использовал в микроконтроллере самую маленькую тактовую частоту внутреннего генератора это 128 кГц / 8 = 16 кГц, Это выставляется фьюзами при программировании (фото я прилагаю, где надо поставить какие галочки).

Почему выбрал такую частоту? Да вот захотелось мне))) а переписывать программу под другую тактовую частоту, потом влом было. Да и не за чем, всё работает. Меня это устраивает. Вам же, решать самим повторять эту конструкцию, или нет.

Так вот при использовании программатора с режимом ISP (типа STK 200 и пр.), которые наиболее часто используются для программирования AVR микроконтроллеров.

Ваш микроконтроллер, запрограммируется моей прошивкой ОДИН РАЗ!!! Повторно перепрограммировать его можно будет только применив параллельное высоковольтное программирование или вернув, перезаписав, заводские настройки (предупреждаю заранее!).

Вернуть заводские настройки можно при помощи программатора с возможностью режима H/V. (высоковольтного программирования). Я пользуюсь как раз программатором с таким режимом в STK 500. Но если вы уверены, что будете делать этот таймер, то первый раз прошивка «зальётся» с любого программатора, и проблем никаких не будет.

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

ПРОШИВКИ

Выкладываю 2 прошивки. Обе рабочие, но для разных целей. Одна для заливки в Протеусе, (TIMER_PROTEUS.hex). Другая (TIMER_UNIVERSAL.hex) для программирования реального микроконтроллера программатором. Разница между ними небольшая, просто будет погрешность в точности таймера, если залить не ту прошивку.

Выкладываю модель в Протеусе,и прошивку для заливки в проект. Где в реальном режиме времени устройство эмитирует работу таймера так же,как и это будет выглядеть в реальном устройстве. В протеусе можно наглядно увидеть,как будет запрограммирована в EEPROM первая ячейка с адресом 0х00 для первого числа и с адресом 0х01 для числа множителя.

Возможно, прежде чем приступить к сборке устройства, стоит «поиграть» с виртуальной моделью этого «Универсального таймера» в Протеусе, чтобы понять, как работает этот таймер, (звук от зуммера так же эмитируется, прослушать можно со звуковой карты через колонки).

В предыдущей статье — я написал, что это последняя разработка такого устройства с использование семисегментных светодиодных индикаторов, но оказалось, что я поспешил. Дело в том, что в этой конструкции используется лишь 40% памяти микроконтроллера, да и еще остался один незадействованный вывод порта микроконтроллера (кроме вывода RESET). Поэтому было принято решение исправить эту несправедливость по отношению к МК и добавить еще один канал управления нагрузками. После проведенной работы память МК используется на 99% и задействованы все выводы МК. Полное название измененной конструкции:
«Двухканальный термометр, двухканальный термостат (терморегулятор) с возможностью работы по времени, одноканальный таймер реального времени на микроконтроллере ATmega8 и датчиках температуры DS18B20»

Описание и характеристики двухканального термометра, термостата (терморегулятора), одноканального таймера реального времени
на ATmega8 и DS18B20

Так-как данная конструкция «вышла» из предыдущей — , и подробно описана (все характеристики термометров и термостатов, режимы работы, реакция на ошибки — остались без изменений), я остановлюсь только на нововведении — таймере реального времени.

Таймер реального времени

В конструкцию введен таймер реального времени , который позволяет управлять своей, третьей нагрузкой, в режиме реального времени в течении 24 часов и позволяет в течении суток задать два временных интервала управления нагрузкой. Также таймер позволяет задать в течении суток для каждого канала термостатирования (терморегулирования) по одному временному интервалу управления нагрузками.
Что я подразумеваю под таймером реального времени. По сути, это внутренние часы с дискретностью 10 минут. При первоначальной настройки устройства устанавливается реальное текущее время с точностью до 10 минут, а дальше таймер отсчитывает 24 часовые интервалы с шагом в 10 минут как обыкновенные часы.

Дискретность отсчета временных интервалов 10 минут принята по двум причинам:
— удобство вывода информации на трехразрядном индикаторе, к примеру 22 часа 40 минут — 22,4
— управление нагрузкой с точностью до 10 минут вполне достаточна для большинства задач (реально точность составляет 5 минут — если вам надо включить нагрузку в 7 часов 35 минут, то можно установить или 7,4 или 7,3)

Введение таймера немного изменило алгоритм работы с устройством (об алгоритме работы я расскажу ниже). Теперь нажатием кнопки «Выбор» можно попасть в два меню:
— меню установки пределов температур работы термостатов и временных интервалов работы термостатов, временных интервалов управления нагрузкой по таймеру
— меню коррекции хода часов и установки текущего времени.
Так как МК работает от внутреннего RC-генератора (8 МГц), который не отличается стабильностью и зависит как от температуры МК, так и питающего напряжения, функция коррекции хода часов позволяет подстроить точность хода для конкретных условий. А функция установки текущего времени позволяет установить текущее реальное время при первоначальной настройке или уточнять его при сильном отличии от реального времени.
Показания таймера при работе устройства не высвечиваются, узнать «который час» можно только при входе в режим установки текущего времени.

Управление нагрузками по таймеру не осуществляется (выключено), если время включения и выключения установлены в ноль. В принципе, управление нагрузками по таймеру не осуществляется при равенстве времени включения и выключения.

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

Схема трехканального термометра, термостата, таймера на ATmega8

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


Так-как в схеме применены «выводные» детали, то для удобства размещения конструкции в подходящем корпусе схема разделена на две части:
— Блок индикации — индикаторы и кнопки
— Блок управления — все остальное
Надо было бы вывести в блок индикации и светодиоды, которые сигнализируют о включенных каналах, но это можно сделать и самостоятельно при разводке платы (добавить три пары контактных площадок для светодиодов и соединить их с блоком управления проводами).

Конструкция устройства

Основа устройства — микроконтроллер ATmega8 с тактовой частотой 8 МГц от встроенного генератора с внутренней RC-цепочкой.
Для подстройки частоты внутреннего генератора необходимо при программирование МК записать в EEPROM-память по нулевому адресу значение калибровочной ячейки для тактовой частоты 8 МГц. В выложенном ниже НЕХ-файле EEPROM-памяти по умолчанию записано число $В1 (В1) — среднее значение калибровочных ячеек 5 проверенных микроконтроллеров.
Кроме того, для правильной работы таймера реального времени, а работает он по прерываниям от таймера/счетчика Т1 при равенстве счетного регистра и регистра сравнения OCR1A, при программировании EEPROM-памяти следом за значением калибровочной ячейки записывается число 33050 (1А81) которое программным путем заносится в регистр сравнения OCR1A. При коррекции хода таймера меняется и значение этого числа.

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

Датчики DS18B20 подсоединяются к устройству через 3-х контактные штыревые линейки DS1 и DS2, нумерация выводов которых соответствует нумерации выводов датчиков.

Управление разрядами осуществляется маломощными биполярными транзисторами NPN-типа.

Вход в меню, установка значений , запуск режимов однократного нагрева (охлаждения) осуществляется тремя тактовыми кнопками типа DTS:
— S1 — «Выбор»
— S2 — » + »
— S3 — » — »


— для каналов термостатирования — через оптосимисторы МОС3063 и симисторы ВТ139-800Е по стандартной схеме включения, что позволяет управлять нагрузками мощностью до 3,5 кВт (если мощность нагрузки более 300-400 Вт — симисторы необходимо ставить на радиаторы)
— для канала от таймера — через миниатюрное механическое реле с напряжением питания катушки 5 Вольт, что позволяет, в зависимости от примененного реле, управлять нагрузкой до 2 — 2,5 кВт

Обращаю ваше внимание на подключение сетевого напряжения 220 вольт к устройству и включение нагрузки — подключать надо как на схеме, с учетом «фазы» и «нуля» сетевого напряжения.

Питание устройства осуществляется от любого источника постоянного тока напряжением 7-25 Вольт. Схему можно запитать и от ненужного зарядного устройства от сотового телефона с выходным напряжением 5 +-0,5 Вольт. В этом случае можно из схемы исключить стабилизатор 7805 и конденсаторы С4, С5. Средний ток потребления устройством 40 миллиампер.

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

Детали, примененные в конструкции:

Управление трехканальным термометром, термостатом, терморегулятором, таймером

1. Вход в меню

В устройстве имеется два меню.
При «коротком» нажатии на кнопку «Выбор» на индикаторах высвечивается надпись «ON—-OFF», входим в меню:
— установки пределов температур работы термостатов и временных интервалов работы термостатов, временных интервалов управления нагрузкой по таймеру
При «длинном» нажатии кнопки «Выбор» надпись «ON—-OFF» сменяется надписью «Cor—-USt», при этом надо отпустить кнопку, входим в меню:
— коррекции хода часов и установки текущего времени

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

2. Меню «Коррекции хода и установки текущего времени» (длинное нажатие кнопки «Выбор»)

После входа в меню сразу попадаем в режим коррекции хода часов:
«Cor—-00»
Повторным нажатием кнопки «Выбор» переходим в режим установки текущего времени:
«USt—-00.0»
В режиме установки текущего времени смотрим на свои самые точные часы и кнопками «+» и «-» устанавливаем ближайшее время с точностью до 10 минут.
К примеру — текущее время 20 часов 37 минут, устанавливаем на индикаторе «20,4» (20 часов 40 минут) и ровно в 20.40, нажатием кнопки «Выбор» выходим из меню. Все, реальное время выставлено, часы запущены.
Корректировать ход часов можно от +50 единиц до -50 единиц. Первоначальное значение «00» («00» появляется всегда при входе в этот режим)
При изменении установки на единицу ход часов увеличивается (+1) или уменьшается (-1) примерно на 4 секунды за 24 часа.
Точность хода часов можно проверить на канале управления нагрузкой по таймеру без подключенной нагрузки по зажиганию светодиода.
К примеру, в 21.00 мы установили текущее время, задали включение нагрузки — 8.50, выключение — 9.00. Утром замерили время выключения нагрузки. Допустим нагрузка отключилась в 8 часов 59 минут 20 секунд. Значит таймер отстал на 40 секунд за 12 часов. За 24 часа отставание составит уже 80 секунд. 80 секунд делим на 4 = 20. В режиме коррекции устанавливаем показание 20, затем переходим в режим установки текущего времени, устанавливаем ближайшее текущее время, например 9.1, и в 9 часов 10 минут, нажатием кнопки «Выбор» выходим в рабочий режим.

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

3. Меню установки температурных и временных интервалов для термостатов

Напомню режимы работы каналов термостатирования (терморегулирования):
— режим термостатирования — поддержание определенной температуры
— режим терморегулирования — поддержание температуры в определенных границах
— режим однократного нагрева (охлаждения)
Все эти режимы подробно описаны в статье , там же приведены подробные инструкции и возможности каждого режима.
С введением в конструкцию таймера реального времени появилась возможность для каждого канала задавать в течении суток один временной интервал работы канала. Для этого в меню введены дополнительные строчки времени включения и выключения каналов.
К примеру, нам надо чтобы 1-й канала термостатирования работал только в ночное время с 23.00 до 6.30. Для этого в 1-м меню (короткое нажатие кнопки «Выбор»):
— после установки верхнего и нижнего температурного предела появятся еще две строчки: «t.On——00,0» и «t.OF——00,0» (тоже самое будет и для второго канала)
— кнопками «+» и «-» устанавливаем: «t.On——23,0» и «t.OF——06,3»
Теперь, в 23.00 1-й канал начнет работать в заданном режиме, а 6.30 канал будет отключен, и так каждые сутки.
По режиму однократного нагрева/охлаждения. Если временной интервал не выбран (время включения/выключения установлены в «0»), то запуск этих режимов осуществляется в ручном режиме, нажатием соответствующей кнопки. Этот режим может работать и по времени.
Допустим нам надо на 2-м канале термостатирования с утра, к 7.00, нагреть воду в баке до 45 градусов, учитывая, что вода в баке до этой температуры нагревается за 25 минут:
— устанавливаем «2.On——00» и «2.OF——45»
— устанавливаем «t.On——06,3» а «t.OF» оставляем по умолчанию «t.OF——00,0»
Теперь, 2-канал автоматически запуститься в 6.30 минут, и по достижению температуры воды 45 градусов отключится.
При использовании режима однократного нагрева/охлаждения совместно с таймером сохраняется возможность и ручного запуска режима, но при этом следует учитывать, что в промежуток времени «t.OF—-t.On» (для предыдущего примера — с 24.00 до 6.30) ручной режим невозможен. Поэтому, для того, чтобы в любой момент времени запустить режим вручную, необходимо «t.OF» устанавливать на 10 минут меньше чем «t.On».

4. Меню установки временных интервалов для таймера

Таймер реального времени позволяет задать два временных интервала в течении суток для управления нагрузкой по таймеру.
Для этого в меню введены дополнительно четыре строчки:
— t1.1 — время включения для первого временного интервала
— t1.0 — время выключения для первого временного интервала
— t2.1 — время включения для второго временного интервала
— t2.0 — время выключения для второго временного интервала
Временные интервалы не должны пересекаться.
Допустим, нам необходимо включать освещение во дворе два раза в сутки: с 21.00 до 0.30 и с 5.30 до 7.00
Устанавливаем:
— t1.1 — 21,0
— t1.0 — 00,3
— t2.1 — 05,3
— t2.0 — 07,0
Теперь нагрузка по таймеру будет включена в 21.00 и в 5.30, и выключена в 0.30 и в 7.00

Второй вариант печатной платы:

Вариант установки FUSE битов:

(22,2 KiB, 2 016 hits)

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

Вариант 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 Резистор


Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.