Таймер на PIC для управления электроприборами. Кухонный таймер на ATmega8 Алгоритм работы таймера на микроконтроллере

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

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


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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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


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

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

Таймер предназначен для однократного или периодического включения нагрузки постоянного тока напряжением от 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.

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

Схема принципиальная таймера с энкодером


Схема на кухонный таймер с микроконтроллером ATtiny 2313

Когда-то давно были в продаже механические таймеры — они реально были просты в использовании. Вот и решено объединить эту простоту с современной базой. Так возник этот таймер с регулятором — энкодером. В нём как и в механическом прототипе, можно увеличивать и уменьшать время отсчета. Основа — микроконтроллер ATtiny 2313. Вот к нему .


Рисунок печатки таймера

Как работает устройство

Увеличение/уменьшение времени происходит скачкообразно сразу на несколько секунд. Кроме того, время можно приостановить.

Последние 5 минут сигнализируются короткими двойными пиками каждую минуту. А последние 15 секунд пикает каждую секунду.

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


Вид сбоку

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


Вид сбоку на детали

И вместо распознавания временных шагов на 15, 30, 60 секунд, лучше было бы определить скорость поворота ручки энкодера и на этой основе изменять время. Медленное вращение — подсчитывает отдельные секунды, быстрое — шаги в несколько минут.


Готовый самодельный LED таймер

Корпус… До него дело так и не дошло 🙁 Таймер уже долгое время так и используется в полуоткрытом виде: снизу 3 пальчиковые батарейки, спереди трёхцифровой индикатор LED, а сверху ручка регулятора выбора времени.

Видео работы таймера

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

Картинка от Novelty Kitchen Timers


В радиолюбительской практике частенько необходим таймер: засветка фоторезиста, выдержка после накатки, после засветки, варка пельменей, яиц (у меня частенько вся вода выкипает). Варианты из Google мне не подошли. Мне захотелось сделать таймер, в котором было бы 12 кнопок и 4-разрядный LED индикатор - я использовал красный, чтобы не засвечивать фоторезист. Для данной конструкции я применил давно лежащий в закромах микроконтроллер ATMEL AT89C2051. Питание от одного аккумулятора.

И вот конструкция готова. Встречайте: брутальный таймер радиолюбителя с временем выдержки от 1 секунды до 100 минут и шагом в 1 секунду или от 1 минуты до 100 часов с шагом 1 минута.

Около 10 лет назад я разработал таймер на ЖКИ и дешевом микроконтроллере PIC12C508 (журнал Радио № 5, 2004 г.). Всем он хорош, с тех пор даже батарейки не разу не менял. Разве что подсветки нет и кнопки в той конструкции были тактовые, заедают. И решил я не апгрейдить старую разработку, а сделать новую.

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

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

Если при включении таймера держать нажатой кнопку "1", то таймер моргнёт двумя крайними точками и включится в режим отсчёта времени в часах и минутах. Т.е. установка времени 01.00 уже будет означать 1час. Надо только учитывать что при питании от одного аккумулятора, его заряда хватит максимум на 10 часов, из этого следует что для длительных выдержек надо питать таймер или от более мощных аккумуляторов или от сети.

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

Фото собранного таймера.


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

Видео

Небольшое видео, на нём индикатор всячески перемигивает - это биение развертки фотоаппарата и динамической индикации, глазами это не видно, время обновления индикатора 20 ms.
Видео с таким разрешением, потому что дом загородом и Интернет 3G.

Файлы

Исходный текст в среде KEIL и файл прошивки для индикаторов с общим катодом и общим анодом.
🕗 05/04/14 ⚖️ 7,15 Kb ⇣ 27 Здравствуй, читатель! Меня зовут Игорь, мне 45, я сибиряк и заядлый электронщик-любитель. Я придумал, создал и содержу этот замечательный сайт с 2006 года.
Уже более 10 лет наш журнал существует только на мои средства.

Хорош! Халява кончилась. Хочешь файлы и полезные статьи - помоги мне!

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

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