РадиоКот :: Программируемый кухонный таймер
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Теги статьи: Добавить тег

Программируемый кухонный таймер

Автор: kostya13
Опубликовано 18.02.2014
Создано при помощи КотоРед.

Введение

Данное устройство представлет собой программируемый таймер, выполненный на микроконтроллере ATTINY2313 и снабженный светодиодным семисегментным индикатором.

(А внутре у ней неонка и думатель) :)

Я старался сделать управление как можно простым и удобным.

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

Назначение клавишам предустановленных значений, позволяет одним нажатием установить время больше 9 минут, а так же одним нажатием переустановить таймер на новое значение. Такие операции гораздо быстрее, чем многократное нажатие на клавиши "+" "-" или кручение ручкой (особенно если надо переустановить таймер на то же время).

Например пельмешки варятся 7 минут, яйца 10, а блинчики надо переворачивать через 2 минуты. Можно настроить эти таймеры на кнопки 1, 2 и 3 и после включения сутройства, например, просто нажать 2, чтобы влючить таймер для варки яиц.

Если вы решили, что с сегодняшнего дня яца будете варить 11 минут, ничего страшного, можете тут же перепрограммировать кнопку 2 на 11 минут.

Схема достаточно проста:

 

Характеристики

Диапазон отсчета от 1 до 99 минут.
Кнопками * и # можно в любой момент изменять текущее значение таймера.

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

В любой момент можно переустановить таймер, нажав нужную кнопку.

При удержании цифровой кнопки более 4 секунд, произойдет запись текущего значения таймера в ячейку с номером кнопки. Новые значения записываются в eeprom память.

Нажатия на кнопки и операция записи сопровождаются звуковой индикацией.

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

Работает устройство от 2 батареек AA.

 

В качестве корпуса мне попалась нерабочий пульт сигнализации  с очень подходящей клавиатурой:

Программное обеспечение

Программа написана для компилятора gcc, поэтому в Windows используется пакет WinAVR.
В Linux пакет avr-gcc.
В архиве имеется готовая версия прошивки.

Программа позволяет настраивать частоту и длительность звучания для звука клавиш и звука окончания отсчета. Можно даже составить простенькую мелодию.

Так же настраивается время реакции на кнопи (встроенный антидребезг контактов).

Сборка программы осуществляется командой
make build.

Фьюзы установленны по умолчанию:
Low 0x64; High 0xdf; Extended 0xff.
Поэтому на новом контроллере их можно не трогать.
Ключи для прошивки фьюзов программы avrdude:
-U lfuse:w:0x64:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m

На страничке https://www.engbedded.com/fusecalc можно посомтреть более подробную расшифровку значений
Так же есть файл fuses.png в каталоге проекта.

Компилятор для Windows можно взять здесь:
https://sourceforge.net/projects/winavr/

Какие пакеты нужны для сборки в Linux можно почитать здесь:
https://avr.ru/tools/linux/dev

Для прошивки я использовал программу avrdude.
Пример команды для прошивки:
avrdude -p t2313 -c usbasp -U flash:w:kt.hex
Если в Makefile все параметры указаны верно, можно запустить прошивку командой
make program

 

Для прошивки я использовал программу avrdude.
При сборке создается файл с раширенийем eep. Его можно залить в eeprom контроллера, чтобы сбросить все установленные
значения таймера.

Аппаратное обеспечение

Таймер выполнен на микроконтроллере ATTINY2313, причем задействованы все возможные выводы контроллера.

Тактуется внутренним генератором, частота работы 1МГц.

В качестве индикатора выбран двухсимвольный светодиодый индикатор с общим АНОДОМ. Для схемы подойдет любая модель, главное,
чтобы был общий АНОД.

Транзисторы обычные маломощные n-p-n структуры. Я взял КТ315. Можно любой аналог.
Базовые резисторы R1 - R3 номиналом 1кОм, мощность 0,125Вт.

Для вывода звука, можно применять небольшой динамик сопротивлением 8 Ом и мощностью 0,25Вт.
Или  можно использовать пьезоизлучатель. В этом случае для получения максимальной громкости
надо настроить частоту звука окончания счета на резонансную частоту излучателя (ее можно
посмотреть в документации на излучатель). Так же можно подобрать излучатель с максимальной
громкостью. Поэтому я считаю применение излучателей более практично.

 

Выводы контроллера, управляющие сегментами (с 12 по 18) подключены напрямую т.к. питание низкое и вдобавок
динамическое управление дают небольшой ток. Если питать от 5В источника питания то необходимо
эти ножки подключать  через резисторы примерно на 68Ом.

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

Все схемы нарисованы в программе kicad.

Скачть программу можно здесь:
https://www.kicad-pcb.org/display/KICAD/Download


Для того, чтобы размещать несколько плат на печатном листе я использовал пакет Latex.
Makefile для этого дела размещен в каталоге scheme.

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

Ссылки

Скачать проект

Если у вас установлен Mercurial, можно просто клонировать проект:
hg clone https://bitbucket.org/kostya13/kitchen-timer

В проекте имеется как исходный код, готовая прошивка для этого кода.
Электрические схемы для программы kicad. И готовые изображения принципиальной схемы.

 



Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

19 16 8
0 0 1