Многофункциональный циклический таймер

Таймер — устройство управления исполнительными устройствами, нагрузками по временным циклам. Это усовершенствованный и более многофункциональный финальный вариант, раннее опубликованной схемы: таймер обратного отсчета на МК ATmega8

Многофункциональность заключается в следующем: программно в одном устройстве реализовано четыре функции.
—  циклический таймер с возможностью работать в 2-х настроенных отрезках времени бесконечно.
—  функция таймера, работать в 2-х настроенных отрезках времени однократно.
таймер обратного отсчета.
—  секундомер
автозапуск настраивается из меню в 2-х вариантах:
1) вариант после подачи питания 5V на схему МК отсчет начинается сразу
2) вариант после подачи питания 5V на схему МК отсчет начнется лишь после нажатия кнопки ▲ пуск.

Данные выбранного режима одного из 4-х (циклический таймер, таймер цикл однократно, таймер обратного отсчета, секундомер, состояние автозапуска) сохраняются в энергонезависимой памяти МК автоматически, и после очередной подачи питания 5V на схему МК восстанавливаются автоматически.

Запись временных отрезков таймера №1 и таймера №2   записываются в энергонезависимую память МК в активном состоянии таймера (см. описание меню) и при каждой новой подаче питания 5V на схему МК, записанные раннее значения восстанавливаются автоматически.

Характеристики таймера:
— циклический таймер два независимых настраиваемых диапазона времени таймер №1 от 1сек до 96 часов (четверо суток) и таймер №2  отрезок времени от 1 сек и до 99 минут.
— функция таймера, работать в 2-х настроенных отрезках времени однократно. Диапазоны, таймер №1  от 1сек до 96 часов и таймер №2  от 1 сек и до 99 минут. Графически:
— таймер обратного отсчета, с интервалом времени в диапазоне от 1 секунды до 96 часов.
— секундомер от 1 секунды до 24 часов, и далее в часовом режиме с 0 секунд.

Схема многофункционального циклического таймера:

Управление:
В режиме основного экрана, кнопками ▲▼◄►  оперативно производится такое управление:
▲ старт, пауза;
▼ сброс
► вход в меню 
◄ возврат
При одновременном нажатии кнопок ◄ ▲ происходит запись в энергонезависимую память МК временных данных отображаемых на экране.
При одновременном нажатии кнопок ◄ ▼ производится чтение и вывод на экран ЖКИ, временных данных находящихся в энергонезависимой памяти МК.

Система меню:
Управление всеми функциями осуществляется при помощи 4-х кнопок, условно обозначенных символами:
▲▼◄► Навигацию по меню можно просто осуществлять с помощью подсказок.
Подсказка – символ, ▲▼◄► который соответствует определенной кнопке.
Для перехода из основного режима к системе меню, следует нажать кнопку ► меню.
Меню полностью русифицировано и отображаемые подсказки в виде символов ▲▼◄► будут вашими подсказками в данной навигации.

Графически, навигация по меню выглядит так:

Если спустя время, вы забыли, какой интервал у вас запрограммирован в памяти МК, можно зайти в меню, пункт «установленное время», отображает записанные раннее временные значения.

А так же, если войти в любой пункт меню и не нажимать ни одну кнопку в течение 30 секунд, произойдет возврат в основной режим автоматически.
Вся информация активных состояний отображается на ЖКИ.

Описание режимов работы

 циклический таймер с возможностью работать в 2-х настроенных отрезках времени бесконечно.
В рабочем цикле принимают участие два таймера. На экране ЖКИ  таймеры обозначаются как т №1 и т №2
Визуально работу циклического таймера можно отобразить таким графиком.

Для работы циклов время задается с точностью до секунды;
диапазон отсчета: таймер №1 от 1сек до 96 часов и таймер №2 от 1 сек и до 99 минут.

После установки нужных интервалов времени, необходимо сохранить эти значения в память МК (в соответствующем таймеру меню, кнопкой ► сохранить, или в режиме основного экрана, одновременно кнопки ◄ ▲.

В основном режиме нажав кнопку старт, таймер №1 начнет отсчет.
При достижении значения 00:00.00, включается исполнительное устройство, и отсчет продолжает таймер №2  (в это время обнуленные 00:00.00 показания таймера №1, будут восстановлены автоматически в соответствии с данными энергонезависимой памяти МК).

А также если таймер №1 находится в десяти секундном интервале до включения нагрузки, будет подан несколько раз сигнал зуммер ((РС5) 28 ножка МК).

Таймер №2  при достижении значения 00.00, выключается исполнительное устройство, и отсчет продолжает таймер №1 (в это время обнуленные 00.00 показания таймера №2, будут восстановлены автоматически в соответствии с данными энергонезависимой памяти МК).

И так будет продолжаться бесконечно… 

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

Кнопка ▼ сброс, отсчет остановится, на экране ЖКИ показания обнулятся (но не в энергонезависимой памяти МК) и если  было включено исполнительное устройство, ОТКЛЮЧИТСЯ.
Отображение на ЖКИ символов > + < означает, что при однократном нажатии кнопки старт начнется (продолжится) отсчет времени таймеров №1 или №2.

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

функция таймера один цикл, будет работать в 2-х настроенных отрезках времени однократно.

Управление и настройки будут соответствовать описанному выше.

Таймер №1 начинает отсчет.

При достижении значения 00:00.00, включается исполнительное устройство, и отсчет продолжает таймер №2  (в это время обнуленные 00:00.00 показания таймера №1, будут восстановлены автоматически в соответствии с данными энергонезависимой памяти МК).

Таймер №2  при достижении значения 00.00, выключает исполнительное устройство,
Исполнительное устройство отключено, и отсчет больше не возобновляется, пока не будет нажата кнопка пуск ▲.

Аналогично тут работает и функция  автозапуск.

Если эта функция не активирована, после подачи питания на схему таймера, таймер будет ждать, пока нажмете кнопку пуск ▲.

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

— таймер обратного отсчета

Тут принцип управления и применения функции   автозапуск, практически не имеет отличий.
Но все же они есть. В работе принимает участие лишь таймер №1 .

При достижении значения 00:00.00, включается исполнительное устройство, и отсчет останавливается.
Исполнительное устройство будет включено до тех пор, пока не будет нажата кнопка ▼ сброс.

секундомер
Управляется кнопками старт ▲ пауза, ▼ сброс. Работа секундомера основана на формате отображения 24 часового цикла.

FUSE

Для программатора в PonyProg и CodeVisionAVR нужно убрать все галочки с настройки тактового генератора.
После прошивки программатором фьюзов от внешнего кварца, контроллер будет читаться программатором лишь с кварцем.

Внимание! что касается FUSE-битов. Это основной источник ошибок, приводящих к залочиванию контроллера.
— CKSEL3…0 должны быть НЕзапрограммированы.

В PonyProg и CodeVisionAVR стоят так:

Прошивка контроллера должна производится двумя файлами, нех. и еер.. Если вы пользуетесь программой PonyProg тогда е2р это, нех и еер в одном файле.

Комплектующие: ЖКИ 16х2 на базе контроллера HD4480, МК ATmega8 с любой буквой, внешний кварц 8 МГц, пьезодинамик с генератором.

Печатная плата

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

Работу схемы можно протестировать в proteus’е:

Если при симуляции проекта в proteus’е некорректно отображаются символы кириллицы на ЖКИ, то для правильного отображения кириллицы на ЖК индикаторе распаковать библиотеку LCDrus.zip (приложена в архиве проекта) в папку models proteus’а.

Применение этого таймера: существует множество ситуаций, в которых таймер может оказаться полезным, а иногда — незаменимым. Разнообразие функций таймера как раз и позволит применить его, для какой либо автоматизации в бытовом хозяйстве, организуя нужные периодические или с задержкой включения света, насоса, компрессора. Думаю также, найдутся кулибины, которые применят этот таймер для кормления рыбок, хомячков, полива растений. Вы должны понимать и отдавать себе отчет, что доверять живых существ нескольким байтам интеллекта это может быть чревато…

Архив проекта: схема, прошивка, фьюзы, печатная плата, proteus.

C@at (http://c2.at.ua)

См. также проект: Устанавливаем в корпус многофункциональный циклический таймер

Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

МК AVR 8-битATmega81

Линейный регуляторLM78L051

Биполярный транзисторBC5471

Выпрямительный диод1N41481

LCD-дисплейЖКИ 16х21

Электролитический конденсатор470 мкФ1

Электролитический конденсатор100 мкФ1

Электролитический конденсатор1 мкФ1

Конденсатор0.1 мкФ1

Подстроечный резистор5 кОм1

Резистор10 кОм1

Резистор6.8 кОм1

Кварцевый резонатор8 МГц1

Реле12В1

Пьезоизлучатель1

Кнопка без фиксации4
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.