Простой таймер для кухни на PIC16F628A. Реверсивный счётчик на PIC16F628A c индикатором Схема таймера — индикаторы с общим анодом
Этот простой таймер на PIC16F628A можно использовать на кухни, да и не только на кухне, а везде где необходимо отсчитать промежуток времени от 1 до 99 минут. Основой является микроконтроллер PIC16F628A – достаточно популярный и не дорогой. В предыдущих статьях были рассмотрены различные конструкции на данном микроконтроллере, к примеру, .
Органами управления таймера являются одна кнопка и валкодер. По завершению отсчета времени раздается прерывистый акустический сигнал.
Описание работы простого таймера на PIC16F628A
После подачи питания на схему таймера на светодиодных индикаторах высвечивается установленное время, светодиод не светится. Путем вращения ручки валкодера возможно поменять установку времени от 1 до 99 минут.
Схема таймера — индикаторы с общим катодом
Схема таймера — индикаторы с общим анодом

После установки требуемого временного диапазона, необходимо нажать кнопку, после чего зазвучит кратковременный акустический сигнал, и таймер активизирует отсчет времени, светодиод будет мигать, и время на табло будет убавляться каждую минуту.
По истечении времени, таймер выдаст прерывистые акустические сигналы, светодиод будет гореть постоянно. Путем нажатия кнопки отключается акустический сигнал, и таймер переходит в исходное состояние в ожидании нового ввода времени. Это было описание работы таймера с первой версией прошивки.
Вторая версия функционирует так же, как и первая, однако снабжена небольшими дополнениями. В состоянии выбора времени, если валкодер не крутить 2-3 секунды, на индикаторе появится анимационная заставка. Вращение валкодера или нажатие кнопки отключает заставку и снова активизируется режим выбора времени.
Это схема простого таймера построенного на микроконтроллере PIC16F628A и индикаторе LCD 1602. Идея таймера позаимствована с одного португальского сайта по радиоэлектронике.
Микроконтроллер PIC16F628A в данной схеме тактируется от внутреннего генератора, который является достаточно точным для данного случая, но поскольку выводы 15 и 16 остаются незанятыми, то можно было бы использовать внешний кварцевый резонатор для большей точности.
Таймер на PIC16F628A. Описание работы
Как уже было сказано ранее, этот проект создан на основе уже существующего проекта, но на самом деле обе схемы отличаются друг от друга, и поэтому код был практически полностью переписан. В таймере для управления есть три кнопки: «START/STOP», «MIN» и «SEC»
- «START/STOP» — для запуска и приостановки таймера.
- «MIN» — для установки минут. Количество минут устанавливаются от 0 до 99, а затем все начинается снова с 0.
- «SEC» — для установки секунд. Секунду также устанавливаются от 0 до 59 и потом снова с 0.
Одновременное нажатие на «MIN» и «SEC» приводит к сбросу таймера во время работы.
Когда время на таймере достигает 00:00, раздается звуковой сигнал (3 коротких и 1 длинный звуковой сигнал) и светодиод HL1 загорается. В качестве звукоизлучателя применен зуммер электромагнитного типа. После этого, при нажатии одной из кнопок, происходит сброс таймера и выключение светодиода HL1.
Когда таймер производит обратный отсчет на выводе 13 (RB7) находится высокий уровень, а при остановке таймера появляется низкий логический уровень. Данный вывод можно использовать для управления внешними исполнительными устройствами. питание таймера осуществляется от cстабилизированного источника на .
Перемычка J1 предназначена для калибровки таймера. При ее замыкании таймер входит в режим настройки. С помощью кнопок «MIN» и «SEC» можно увеличить/уменьшить значение внутреннего параметра, который позволяет замедлять или ускорять работу таймера. Это значение сохраняется в EEPROM. Если находясь в этом режиме нажать кнопку «START/STOP», то этот параметр будет сброшен до значения по умолчанию.
Код написан и скомпилирован с mikroC PRO для PIC.
Параметры проекта:
- Генератор: INTOSC
- Частота генератора: 4 МГц
- Сторожевой Таймер: отключен
- Power-up таймер: включен
- RA5/MCLR/VPP: отключен
- Brown-out: включен
Фото готового таймера.
Полтора года назад на сайте я рассказал о . Пришли комментарии с просьбой заменить индикаторы с общим катодом на индикаторы с общим анодом. Идя на встречу пожеланием, я переписал программу таймера. Но не значительные изменения коснулись и электрической схемы устройства.
Для упрощения программы было принято решение изменить схему подключения светодиода, индицирующего начало работы таймера. Выход на светодиод был перемещен с вывода 13 DD1, это седьмой разряд порта В, на пятнадцатый вывод – шестой разряд порта А. В остальном схема осталась такой же. Кстати, использовать составной трехамперный транзистор КТ973А в данной конструкции я думаю не целесообразно, да и не всегда он оказывается под рукой в нужный момент. Для усилителя импульсов звуковой частоты может подойти и маломощный транзистор КТ361Г.

Его мощность коллектора составляет 150 милливатт. Смотрим таблицу. Но ее можно значительно увеличить, если дополнить транзистор теплоотводом, который можно изготовить из медной полоски. Ширина полоски равна ширине корпуса транзистора, длина произвольная. Изгибается полоска в соответствии с фото.

Из более тонкой полоски делается зажим, но можно сделать его и из такой же полоски, что и сам теплоотвод. Теплоотвод одевается на корпус транзистора через теплопроводную пасту. Качественно сделанный теплоотвод «сидит» на корпусе транзистора довольно прочно и мощность коллектора транзистора при этом может достигать 500… 700 милливатт.

А громкости звука при такой мощности транзистора вполне достаточно даже для больших помещений. Тем более что транзистор в данной схеме, работает в импульсном режиме, и коэффициент полезного действия при этом очень большой. Если в одной из отогнутых сторон полоски сделать отверстие, то такой теплоотвод можно крепить к плате с помощью винтика, диаметром 2… 3 мм. На все про все у меня уходит пять минут. Рисунок печатной платы можно скачать из прошлой статьи «
Это очередная поделка из хлама - таймер для кухни, хотя и не обязательно для кухни. В ход пошли детали которые валялись без дела, в частности старые индикаторы АЛСки, резисторы выпаянные из старых плат и т.д. Основа устройства микроконтроллер PIC16F628A, один из самых распространенных и дешевых. Управление таймером осуществляется с помощью валкодера и одной кнопки. Диапазон выдержки времени от 1 до 99 минут. По окончанию цикла отсчета времени подается прерывистый звуковой сигнал. А архиве лежит две прошивки, первая просто таймер, а вторая с некоторыми наворотами, об этом ниже.
Также есть вариант под индикаторы с общим анодом. Обратите внимание, что и прошивки под каждую из схем - свои. Все отличия выделены на схеме красным цветом.

После включения питания на индикаторах высвечивается заданное время, светодиод не горит. Вращая валкодер можно изменить установку времени от 1 до 99 минут. Когда время установлено, нажимаем кнопку - раздается короткий звуковой сигнал и таймер начинает отсчет времени, светодиод мигает, а время на индикаторе уменьшается каждую минуту. Когда время дошло до нуля, таймер издает прерывистые звуковые сигналы, светодиод светиться постоянно. Теперь нажатием кнопки снимается звуковой сигнал и девайс возвращается в исходное состояние - режим установки времени. Так работает первая версия прошивки.
Вторая версия прошивки работает также как и первая, но имеет несколько дополнений. В режиме установки времени, если к валкодеру не прикасаться несколько секунд, на дисплее начинает бегать анимационная заставка. нажатие кнопки или вращение валкодера отключит анимацию и вновь отобразит режим установки времени. Во время отсчета времени, если осталась одна минута, на дисплее индицируются секунды от 60 до 00. Когда сработал звуковой сигнал, звучать он будет не бесконечно, а около 20 секунд. Далее дисплей начинает индицировать анимационную заставку (отличную от той, которая в режиме установки). А также, через каждую минуту будет напоминать коротким звуковым сигналом. Нажатием кнопки также, как и в первой прошивке таймер сбрасуется в режим установки времени. Когда до срабатывания таймера остается 3 секунды, таймер издает на каждую секунду короткий звуковой сигнал, т.е. 3...2...1 и далее срабатывает как обычно. Обе прошивки доступны и лежат в архиве вместе с рисунком печатной платы.
Звуковой сигнал реализован с помощью аппартаного ШИМ встроенного в микроконтроллер. Динамическая головка должна иметь сопротивление порядка 50 ом. Можно применить и низкоомные динамические головки (4 или 8 ом), но в данном случае лучше установить малогабаритный выходной трансформатор, т.к. через 4 омную головку будет протекать большой ток, который может вызвать перегрузку блока питания и спровоцировать сброс микроконтроллера.






|
Скачать дополнения |
||
|
Случилось так, что в связи с болезнью пришлось оставить домик в поселке без присмотра. Нужен таймер, который в течении 2-3 недель (а получилось 2,5 месяца) создавал эффект присутствия в доме, не взирая на нестабильное напряжение и частое отключение сети. Из продающихся за разумную цену ничего не подошло. Интернет и радиотехническая литература тоже не удовлетворила меня полностью. Пришлось творить самому. За пару вечеров собрал простенький таймер с часами, который по вечерам с 18-00 до 21-00 включал свет. В случае отключения напряжения часы не сбивались: индикатор отключался, а микроконтроллер продолжал работать от аккумуляторов, которые потом заряжались малым током. Время такое выбрал потому что был январь месяц. В конце февраля перевел часы на полтора часа назад. Теперь хотя на таймерных часах было 18-00 и включалась лампа, реально было 19-30 вечера. К концу марта необходимость в таймере отпала, но думаю он мне еще пригодится на период отпуска. Возможно дойдут руки до усовершенствования, ну а пока делюсь тем, что есть.

Схема простая, подобна тем часам, которые я выкладывал на этом сайте. Там же и блок питания с резервными аккумуляторами. Добавлен только узел включения лампы. Сначала я его сделал на симисторе ВТВ-16. Но экономка вспыхивала при включении в сеть (иногда). Чем бороться с переходными процессами, поставил реле, думаю для лампы-экономки это безопаснее. К плате я не подводил 220 вольт, поэтому симистор (а впоследствии – реле) с транзистором и диодом закрепил отдельно.

Также в корпусе установил и патрон под лампу. Для охлаждения в боковых и задней стенке корпуса просверлил по 8 отверстий d=5мм: по 4 в нижней части и по 4 в верхней. Но нагрев не ощущается.
Часы выставляются двумя кнопками: часов и минут. Программа написана на Ассемблере. Программа проверяет соответствие часов установленным (запрограммированным) значениям. Сейчас в программе установлены 18, 19 и 20 часов. Но при программировании можно изменить время работы таймера. На примере IC Prog (в других программах - аналогично) нужно найти по адресу 0013h значение 3012, по адресу 0017h значение 3013, по адресу 0021h значение 3014. Первые две цифры значений (30) - это код команды, а вторые две - это значение часов в шестнадцатеричном коде: 12 соответствует десятичному числу 18, 13 -19 и т.д. Для изменения нужно дважды кликнуть левой кнопкой по значению того адреса, который хотите изменить. Откроется окно редактирования, в котором значение 3012 меняете на другое, например 3005. Теперь таймер будет включен утром с 5-00 до 6-00 и вечером с 19-00 до 21-00. Так-же можно установить любое другое время.

Список радиоэлементов
| Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
|---|---|---|---|---|---|---|
| МК PIC 8-бит | PIC16F628A | 1 | В блокнот | |||
| VR1 | DC/DC импульсный конвертер | LM2575 | 1 | В блокнот | ||
| VT1-VT4 | Биполярный транзистор | КТ3102 | 4 | В блокнот | ||
| VT5 | Биполярный транзистор | КТ315А | 1 | В блокнот | ||
| VD1-VD3 | Диод Шоттки | 1N5819 | 3 | В блокнот | ||
| VD4 | Выпрямительный диод | 1N4004 | 1 | В блокнот | ||
| VS1 | Диодный мост | DB157 | 1 | В блокнот | ||
| C1, C2 | Конденсатор | 20 пФ | 2 | В блокнот | ||
| С3, С6 | Конденсатор | 0.1 мкФ | 2 | В блокнот | ||
| С4 | 330мкФ 25В | 1 | В блокнот | |||
| С5 | Электролитический конденсатор | 100мкФ 25В | 1 | В блокнот | ||
| R1, R3, R6, R7, R11, R12 | Резистор | 300 Ом | 6 | В блокнот | ||
| R2, R4 | Резистор | 10 кОм | 2 | В блокнот | ||
| R5 | Резистор | 360 Ом | 1 | В блокнот | ||
| R8-R10, R13 | Резистор | 1.5 кОм | 4 | В блокнот | ||
| R14 | Резистор | 100 Ом | 1 | В блокнот | ||
| R15 | Резистор | 6.2 кОм | 1 | В блокнот | ||
| R16 | Резистор | 2 кОм | 1 | В блокнот | ||
| R17 | Резистор | 1 кОм | 1 | В блокнот | ||
| F1 | Предохранитель | 100 мА | 1 | В блокнот | ||
| L1 | Катушка индуктивности | 330 мкГн | 1 |