Таймер для кухни на PIC16F628A с энкодером. Простой таймер для кухни и не только… Ленивый таймер для кухни схема


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

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

Подумав немного, сын решил делать продвинутый кухонный таймер . Я ему немного помог со схемой. Основные функции нашего подарка:

  • Режим таймера до 3 часов
  • Режим секундомера
  • Громкий сигнал
  • Компактный размер
  • «Вечные» батарейки - аккумуляторы, зарядка как у телефона, по micro usb
  • Ну и конечно игры - кубик (случайное число от 1 до 6), лото, бомба (очень веселая игра)

Подбираем компоненты

В качестве индикатора, мы выбрали светодиодный трех-разрядный индикатор с общим анодом - у него всего 11 выводов, очень удобно. Купить не сложно, и в принципе, довольно экономично в энергопотреблении (но конечно не LCD).

Микроконтроллер - STM8S003F3P6 - с ним мы уже работали, так что все знакомо. ST-link уже есть.

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

В качестве пищалки, очень компактная и громкая пищалка HC0903A

Аккумулятор - LIR2032. Всего 45 mAh, но этого хватит на 40 часов непрерывной работы таймера. От кварцевого резонатора решили отказаться (нужны выводы), особенная точность нам не нужна, ну и у STM8 довольно точный внутренний генератор. Микросхема заряда - TP4056.

Управление - 2 тактовые кнопки. Прибор все время находится в спящем режиме, потребление меньше 5 мкА, спать может долго. Плату защиты для аккумулятора делать не стали, особенно не нужна. У МК нижний предел 3В, так что сильно не просядет. При включении идет музыка, включается индикатор (бросок тока), и если аккумулятор севший, то МК перегрузится и перейдем в спящий режим, что является сигналом к зарядке. Заряжается он током 100 мА около 40 минут, что в принципе очень быстро. Схему и программу можно скачать на github, ссылка в конце.

Корпус сын решил делать сам из монтажного короба 40 х 16 мм. Раскрасил акрилововыми красками, в качестве стекла вырезали кусок из DVD диска. Получилось очень симпатично.

Трассировку платы сын делал сам в Kicad. Расположение компонент придумал он же. Кнопки по бокам от индикатора, пищалка внизу, аккумулятор на ней. Все вошло плотно, ничего ни куда не болтается. Плата двухсторонняя. Делали из одностороннего стеклотекстолита толщиной 0.8мм с помощью метода холодного переноса тонера. Две половинки платы соединили и зафиксировали перемычками. Из разъемов - micro usb, питание и программирование.

Программа

Данный индикатор имеет общий анод, соответственно выводить в один момент времени можно только один разряд. Для вывода одновременно трёх разрядов необходима динамическая индикация.

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

Придумали с кнопками так:

  • Правая кнопка - долгое нажатие, смена режимов, их три - Таймер, Секундомер, Игры
  • Правая кнопка - одиночное нажатие, смена подрежима. У таймера - это выбор предустановленных времен, у секундомера - выбор обычного секундомера и с подтверждением, у игры - соотв. Различные игры
  • Левая кнопка - одиночное нажатие - старт/стоп или ход в игре, долгое нажатие - режим настройки, программирования
С индикатором так:
  • Когда выбран таймер - то сразу выводится некое число из предустановленных настроек (Например 5,15,30 минут), их можно перепрограммировать, хранятся в ПЗУ
  • Когда выбран секундомер - то 000
  • Когда игры - L - лото, 6 - бомба, С - кубик.
  • На индикатор цифры выводятся хитро, так как разряда только три, то выводим максимальное число значащих элементов. Например, таймер - 200 минут 30сек - то выводим 200., если таймер 10мин 15с, то выводим 10.1, если 1 минута 25с, то 1.25. При этом чтобы понимать, что таймер или секундомер запущен, точка мигает в такт секундам.
  • Когда секундомер остановлен, например на 10 мин 25с то показываем попеременно 10. и.25, раз в секунду, чтобы видеть и секунды тоже.
Программа оказалась не такой простой, сын писал ее почти 3 недели в школьное время, с небольшой моей помощью. Очень много условий, разные флажки - старт, стоп, работа с памятью и т. д. Но результатом он был очень доволен.

Испытания

Первые испытания прошли в школе. Вместо кубика, гадание на оценках. Гадал весь класс. Потом бомба - супер игра. Прибор загадывает случайное время от 5 до 20секунд и начинает тикать каждую секунду. Вы его передаёте по кругу. Когда таймер дойдёт до нуля - сигнал взрыва. Тот, у кого в руках прибор, проиграл.

Первые испытания секундомера и таймера прошли на ура. Засекали разное время, сверяли с точными часами, ошибка 1-2 секунды на час. Отрабатывали звук сигнала.

Вручение подарка

Наступил день рождения. Бабушка быстро прошла обучение и была очень рада. Все вместе испытали Лото, полностью автоматизированное. Каждые 5 секунд прибор пищит и выдает новое число, из оставшихся в мешке. Играют все, водит прибор! Кто не успел тот опоздал.

Итоги

Итак, прибор получился просто отличный. Практика программирования очень интересная. Если вам тоже интересны микроконтроллеры, то можете сделать себе (или в подарок) такой же и попрограммировать. Вы обязательно научитесь:
  • делать платы
  • паять smd компоненты
  • программировать STM8
  • работать с аккумуляторами
  • обрабатывать кнопки
  • издавать различные звуки
  • работать с таймерами и обрабатывать временные события
  • бороться с энергопотреблением
На github выложена схема и плата в формате Kicad. Выложен начальный проект для STM8, там самое сложное - динамическая индикация, инициализация микроконтроллера, сложная обработка кнопок - короткое, двойное, долгое нажатие. Остальную программу предлагаю написать самостоятельно, это ведь так интересно!

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

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

Принципиальная схема показана на рисунке выше. Всего три микросхемы-счетчика серии К176. D1 - часовая микросхема, в данном случае она вырабатывает минутные импульсы и импульсный сигнал частотой 1024 Гц, который служит для звуковой индикации. D1 содержит два счетчика, первый нижний вырабатывает, на ряду с другими сигналами, импульсы частотой 1 Гц, а второй верхний содержит делитель этих импульсов на 60, таким образом на выводе 10 D1 получаются импульсы с частотой повторения в одну минуту.

Импульсы частотой 1 Гц кроме того поступают на транзисторный ключ VT1, в коллекторной цепи которого включен светодиод, мигающий во время работы таймера с периодом в одну секунду.

Минутные импульсы с выв. 10 D1 поступают на двухразрядный десятичный счетчик на двух одинаковых микросхемах D2 и D3. Время устанавливается при помощи переключателей S1 и S2, причем S1 устанавливает единицы минут, a S2 - десятки. Например если нужно время 63 минуты - S1 устанавливаем в положение "3", a S2 - в положение "6".

Звукоизлучающее устройство состоит из транзистора VT2, миниатюрного динамика В1 и логического элемента "3-й" на резисторе R6 и диодах VD2-VD4. Пока на установленных выходах счетчиков логические нули (или на одном из них нуль) хотябы на один из диодов VD2 и VD4 через переключатель S1 или S2 поступает логический ноль. При этом диод открыт и в точке соединения R6 и R7 устанавливается также ноль. Как только установленное время истекает на оба диода поступают единицы и они закрываются. В результате на базу VT2 поступает напряжение высокого уровня через R6-R7.

А для того, чтобы получить тональный сигнал это напряжение прерывается с частотой 1024 Гц при помощи диода VD3, на катод которого поступает эта частота с вывода 11 D1. Установка таймера в нуль производится в момент включения питания при помощи конденсатора С5, зарядный ток которого устанавливает все четыре счетчика в нулевые состояния.

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

Возможно установить стандартный разъем и питать таймер от сетевого адаптера для переносной аудиотехники на 9 В. В процессе настройки, возможно прийдется подобрать соотношение резисторов R7 и R8 таким образом, чтобы до наступления установленного времени динамик не звучал.

В качестве динамика годится любой электродинамический или электромагнитный маломощный звукоизлучатель, например электромагнитный капсюль от телефонного аппарата, динамик от радиоприемника и т.д. Микросхемы К176ИЕ8 можно заменить на К561ИЕ8. Транзисторы КТ315 - любые соответствующей мощности и структуры. Диоды КД521 любые маломощные импульсные или выпрямительные, и даже лучше если германиевые типа Д9. Светодиод тоже любой видимого спектра.

Вид печатной платы кухонного таймера

Данное устройство будет полезно любому человеку, которому приходится постоянно готовить, и надежно защитит вашу кухню от чрезмерного количества дыма. Этот прибор, как следует из названия - кухонный таймер. Он предназначен для отсчитывания интервалов при приготовлении различных блюд. Таймер имеет несколько клавиш, при помощи которых можно легко установить время от 1 минуты до 99 часов. Обратный отсчет начинается автоматически, через 3 секунды после установки времени. Благодаря громкой пищалке вы точно услышите когда блюдо готово. Устройство собрано на основе микроконтроллера ATMega8.

Описание конструкции

Сердцем устройства является микроконтроллер U1 (ATMega8) с кварцевым резонатором X1 (16 МГц) и обвязкой из двух конденсаторов C1 (22 пФ) и C2 (22 пФ). Стабилизатор U2 (7805) с обвязкой из конденсаторов C3 (100 мкФ) и C4 (47 мкФ) стабилизирует напряжение питания 5В, необходимое для корректной работы микроконтроллера и связанных компонентов. На разъем Zas подается напряжение 7-12В. Если у Вас имеется блок питания с напряжением 5-6В, можно исключить из схемы стабилизатор напряжения. Зуммер B1 и аноды дисплея W1 управляются транзисторами T1 - T5 (BC556), с обвязкой из резисторов R1 - R8 (3.3 кОм), R17 (3.3 кОм) и R18 (3.3 кОм). Резисторы R9 - R16 (330 Ом) ограничивают ток через сегменты дисплея. Разъем Prog и один вывод R используются для подключения программатора. Клавиатура таймера подключена к разъему Sw.

Изготовление

Рисунок печатной платы для устройства есть в архиве в конце статьи. Установка деталей начинается с пайки двух перемычек. Затем устанавливаются все резисторы и прочие элементы в порядке от меньшего к большему. Кварц X1 должен быть "низкий" - он устанавливается под дисплей - в противном случае он просто не поместится туда. Зуммер B1 можно припаять на плату, как это показано на фотографиях, но позже выяснилось, что после закрытия корпуса звук слишком тихий (несмотря на отверстия, просверленные в корпусе). Лучше приклеить зуммер на одну из сторон корпуса (так, как это показано на последнем фото), и соединить проводами с платой. Клавиатура состоит из 5 кнопок без фиксации 12х12мм непосредственно на лицевой части корпуса, так что их толкатели находятся чуть выше поверхности корпуса. Для этого устройства в качестве блока питания хорошо использовать зарядное устройство для телефона, из-за его небольшого веса и размеров.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
U1 МК AVR 8-бит

ATmega8A-AU

1 В блокнот
U2 Линейный регулятор

LM7805CT

1 В блокнот
T1-T5 Биполярный транзистор

BC556

5 В блокнот
C1, C2 Конденсатор 22 пФ 1 В блокнот
C3 100 мкФ 1 В блокнот
С4 Конденсатор электролитический 47 мкФ 1 В блокнот
R1-R8, R17, R18 Резистор 3.3 кОм 10 В блокнот
R9-R16 Резистор 330 Ом 8 В блокнот
W1 7-сегментный индикатор AF-05643FG-B 1 Или с аналогичной распиновкой В блокнот
B1 Пьезодинамик с генератором 1

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

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

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

Вторая версия прошивки работает также как и первая, но имеет несколько дополнений. В режиме установки времени, если к валкодеру не прикасаться несколько секунд, на дисплее начинает бегать анимационная заставка. нажатие кнопки или вращение валкодера отключит анимацию и вновь отобразит режим установки времени. Во время отсчета времени, если осталась одна минута, на дисплее индицируются секунды от 60 до 00. Когда сработал звуковой сигнал, звучать он будет не бесконечно, а около 20 секунд. Далее дисплей начинает индицировать анимационную заставку (отличную от той, которая в режиме установки). А также, через каждую минуту будет напоминать коротким звуковым сигналом. Нажатием кнопки также, как и в первой прошивке таймер сбрасывается в режим установки времени. Когда до срабатывания таймера остается 3 секунды, таймер издает на каждую секунду короткий звуковой сигнал, т.е. 3...2...1 и далее срабатывает как обычно. Обе прошивки доступны и лежат в архиве вместе с рисунком печатной платы.

Звуковой сигнал реализован с помощью аппаратного ШИМ встроенного в микроконтроллер. Динамическая головка должна иметь сопротивление порядка 50 ом. Можно применить и низкоомные динамические головки (4 или 8 ом), но в данном случае лучше установить малогабаритный выходной трансформатор, т.к. через 4 омную головку будет протекать большой ток, который может вызвать перегрузку блока питания и спровоцировать сброс микроконтроллера.

Печатная плата, вариант Алексея Антонова

Комментарии

1 2

0 #21 kaktuss 14.06.2015 16:08

Цитирую AntonChip:

Можно глянуть скриншот установки битов конфигурации при программировании


Спрашивал автора какую конфигурацию при прошивке, он ответил, что все есть уже в прошивке. Поэтому ничего не устанавливал, просто залил прошивку.
Я бы выложил скриншоты, но не знаю как. Может на почту Вам скинуть?

Опытные хозяйки всё отмеряют на глаз и чувствуют время «внутренними» часами, но люди склонны впадать в задумчивость и отвлекаться на другие дела. Очень часто так случается, что и у опытных хозяек с любовью подготовленные к выпечке пироги превращаются в несъедобный углерод. Результат - испорченное настроение, зря потраченное время и срыв намеченных планов. Избежать подобной ситуации поможет простой кухонный таймер на широко распространённом микроконтроллере ATtiny2313 компании Atmel.

При разработке таймера ставилась задача использования минимального количества деталей, простоты управления, простоты повторения устройства, возможности питания таймера как от трёх батареек АА (LR6) по 1,5 В, так и от внешнего адаптера.

Возможности и основные характеристики таймера:

1. Время установки таймера от 1 до 90 мин.
2. Звуковая сигнализация включения и выключения таймера.
3. Звуковая сигнализация окончания установленного времени.
4. Принудительное выключение таймера до истечения установленного времени.
5. Самостоятельное выключение таймера по истечении 10 с после его включения в случае, если после включения таймера время выдержки не было установлено или не запущен отсчёт времени.
6. Питание устройства как от трёх батареек, так и от внешнего адаптера напряжением от 7 до 10 В.
7. Ток потребления таймера в выключенном состоянии в несколько раз меньше тока саморазряда пальчиковых батареек.

Алгоритм работы таймера

Таймер включается нажатием кнопки энкодера. На индикаторе высвечивается минимально возможное время выдержки, равное 1 мин. Вращением ручки энкодера вправо происходит увеличение времени выдержки, а при вращении ручки энкодера влево - уменьшение времени, начиная с 90 мин. Таймер выключится самостоятельно, если в течение 10 с после установки времени не была нажата кнопка запуска. Для запуска отсчёта времени необходимо снова нажать кнопку энкодера. При этом таймер начинает отсчёт установленного времени, а на индикаторе единиц минут с периодом в 1 с будет мигать децимальная точка, индицирующая режим обратного отсчёта. По истечении установленного времени на индикаторе таймера высветится цифра 0 и прозвучат 5 тональных сигналов. После этого цифра 0 погаснет, а децимальная точка будет мигать ещё 10 с. По истечении и этого времени, в напоминание, снова прозвучат 5 тональных сигналов, и таймер выключится. Остановить работу таймера можно принудительно в любой момент, нажав кнопку энкодера.

Схема, конструкция и детали таймера

Принципиальная схема кухонного таймера показана на рис.1. «Мозгом» устройства является микроконтроллер (МК) IC1 типа ATtiny2313 фирмы ATMEL в корпусе DIP20. Микроконтроллер ATtiny2313 тактируется от внутреннего генератора частотой 8 МГц с выключенным предделителем на 8.

Рисунок 1

Для управления таймером применён инкрементный энкодер с кнопкой фирмы Bourns типа РЕС12-4220F-S0024 .В качестве индикатора установленного времени применён сдвоенный 7-сегментный индикатор красного свечения с общим катодом (ОК) фирмы SENIOR SEC5244WS .

Предусмотрена также возможность установки в этом таймере индикаторов с общим анодом (ОА) без изменения принципиальной схемы и платы. Для этого необходимо при программировании МК использовать другую прошивку, разработанную автором специально под индикаторы с ОА, В качестве звукового извещателя используется зуммер (Magnetic Buzzer) типа КХ-1205 фирмы King-state. В таймере использованы SMD-резисторы и конденсаторы типоразмера 0508.

Таймер собран на односторонней печатной плате из фольгированного текстолита размерами 48x56 мм с использованием нескольких перемычек, которые размещены со стороны установки деталей. Чертёж печатной платы таймера под ЛУТ показан на рис.2.

Рисунок 2

Для питания таймера от внешнего адаптера применён линейный интегральный стабилизатор 78L05 в корпусе SOP-8. Схема дополнительной платы для внешнего адаптера показана на рис.З, а чертёж печатной платы под ЛУТ - на рис.4. Её размеры 48x66 мм. Батарейный отсек для трёх гальванических элементов изготовлен из фольгированного текстолита. Причём его обратная сторона - это дополнительная плата внешнего адаптера питания. Если в питании устройства от сети нет необходимости, то собирать дополнительную плату не нужно, а вместо нее следует установить плату из фольгированного стеклотекстолита того же размера.

Рисунок 3

Рисунок 4

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

Выбор редакции
У бабушки моего сына скоро будет день рождения. Так как я его увлёк микроконтроллерами, то пришла идея подарить какой-то прибор,...

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

Типовой конденсатор со схемным обозначением «С» относится к категории наиболее распространённых радиокомпонентов, работающих в цепях как...

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