Кухонный таймер на AT89C2051

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

Контроллер выбран AT89C2051 как недорогой и знакомый для меня, программа была написана на ассемблере с использованием fasmg и отлажена на платформе sz89S52 . Конструкция собрана на плате из ДВП, которая одновременно является верхней панелью, соединения выполнены одножильным лакированным проводом. Чертеж расположения деталей выполнен при помощи программы QCad . Схема выполнена в программе kicad .

После включения питания таймер устанавливается на исходое заданное время 10 минут. При необходимости время выставляется вращением ручки энкодера. Запуск осуществляется нажатием на ручку энкодера (энкодер со встроенной кнопкой). Работа таймера индицируется "подмигиванием" цифр на индикаторе. Окончание работы индицируется равномерным миганием значения "00" на индикаторе (скважность 1/2) и подачей звукового сигнала. Выключение сигнала выполняется кратковременным нажатием на ручку энкодера. Возможна остановка таймера в процессе работы (пауза) - для этого во время работы нужно нажать и удержать кнопку, пока "подмигивание" прекратится, затем можно запустить заново, не меняя значение (секунды при этом сбрасываются).

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


Скачать исходник

Скачать чертеж
Последнее обновление: 2013-04-28 14:18:54 EEST