Mail to Author Главная

Кухонный таймер на микроконтроллере PIC12F629

Причиной создания кухонного таймера послужила покупка обычной бутербродницы. К сожалению она не имела встроенного таймера, вследствие чего приходилось ориентироваться по часам. Особенно с утра, когда, как обычно не хватает минуты, смотреть еще и на часы не особенно удобно... Поэтому и был задуман и реализован универсальный кухонный таймер. Он позволяет коммутировать нагрузку до 700 Вт на заданное время в пределах 1-15 минут с шагом в 1 минуту. Более того, таймер имеет одну предустановленную изменяемую выдержку времени. Она, как в случае с бутербродницей, может быть использована для начального разогрева, а затем регулируемые выдержки - для последующего приготовления чего-нибудь. Выдержка времени отображается двухпозиционным семисегментным светодиодным индикатором с индикацией оставшегося времени. В качестве органов управления используются всего четыре кнопки, о назначении которых будет сказано ниже. Окончание выдержки времени индицируется звуковым сигналом. Таймер имеет небольшие габариты, из-за чего на кухне для него всегда может найтись место. Внешний вид таймера показан на рис.1.

Рисунок 1 - Внешний вид таймера

Схема не представляет собой никакой сложности и представлена на рис.2. Основой схемы является микроконтроллер DD1 PIC12F629, который производит отработку заданной выдержки времени, обработку нажатия кнопок, выдачу звукового сигнала и управление коммутирующим элементом - реле К1. Для экономии выводов и так немноговыводного микроконтроллера применено тактирование от внутреннего генератора и совместное использование выводов. Питание устройства организовано по бестрансформаторной схеме с гасящим конденсатором С1. Резистор R23 служит для разряда конденсатора, а R22 для ограничения броска тока во время включения таймера в сеть. Кнопка SB4 служит для сброса микроконтроллера, при ее нажатии шунтируется стабилитрон VD9 и тем самым кратковременно снимается питание с микроконтроллера DD1, вызывая его перезагрузку. Счетчики DD2 и DD3 используются для уменьшения числа используемых выводов микроконтроллера и для изменения отображаемого числа DD1 вызывает сброс счетчиков, а затем их новое заполнение. Частота заполнения счетчика выбрана такой, чтобы исключить заметность процесса человеческим глазом. Кнопки SB1, SB2 и светодиоды VD1, VD2 совместно используют порты микроконтроллера GP0 и GP1. В процессе обработки действий пользователя порты микроконтроллера настроены на вход и поэтому при нажатии кнопки на вход подается напряжение +5 В соответствующее логической единице и, одновременно, зажигается соответствующий светодиод. В процессе отсчета времени эти порты настраиваются на выход и светодиоды засвечиваются при выдаче в порт логической единицы. Транзисторы VT1 и VT2 также совместно используют два порта DD1 GP1 и GP2, они предназначены для формирования звукового сигнала окончания выдержки времени. При этом необходимо появления логической единицы на порту, отвечающем за сброс счетчиков (в конце отсчета времени на индикаторах все равно отображаются нули) и порту, обрабатывающем кнопку увеличения выдержки времени и зажигания красного светодиода VD1 "Включено". Управление реле К1 возложено на порт GP0, который принимает сигнал кнопки SB1 "Запуск". При нажатии на кнопку SB1 происходит запуск отсчета времени из-за появления логической единицы на входе GP0 и одновременно подача напряжения на базу транзистора VT3 и, соответственно, включение реле К1. Далее программа переводит GP0 на вывод и подает на него логическую единицу, которая и удержит реле К1 на протяжении всей выдержки времени.

Рисунок 2 - Принципиальная схема таймера

Программа микроконтроллера написана на языке С в среде программирования MicroC.

При включении таймера в сеть на экране отображается последняя установленная выдержка времени. При нажатии кнопки SB1 "Старт" начинается отсчет времени и светодиод VD2 мигает каждую секунду. По истечении очередной минуты значение выдержки на экране уменьшается на единицу. Во время отработки выдержки времения можно нажать кнопку SB4 "Сброс". При этом таймер отключит нагрузку и вернет на экран установленную выдержку времени. До нажатия кнопки SB1 значение выдержки можно изменять кнопками SB2 и SB3 ("Больше" и "Меньше" соответственно).

Таймер имеет также и режим предустановки, войти в который можно удерживая при включении таймера в сеть кнопки SB3 "Меньше". При этом на экране отобразится текущее значение предустановленной выдержки времени. Кнопку следует удерживать до одновременного кратковременного зажигания обоих светодиодов. Далее следует отпустить кнопку SB3 и кнопкой SB2 "Больше" установить требуемую выдержку (изменение выдержки времени идет от 0 до 15 и далее по кругу). Если при включении таймера в сеть удерживать кнопку SB1 "Старт", то таймер отобразит значение предустановки и начнет ее отсчитывать.

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

В качестве замены контроллеру можно предложить PIC12F675, но он несколько дороже. Реле К1 может быть использовано любое, с обмоткой на 12 В и достаточной коммутирующей способностью контактов. Светодиодные индикаторы можно использовать любые с общим катодом, желательно с наименьшим прямым током. Транзисторы VT1-VT3 могут быть заменены на КТ315, КТ3102 и иже с ними.

Рисунок платы таймера показан на рис. 3. Прямоугольный вырез на плате предназначен для розетки под нагрузку.

Рисунок 3 - Внешний вид печатной платы

Дополнительно


2009©Electricianman

Сайт управляется системой uCoz