Простой кухонный таймер, способный защитить вашу кухню от чрезмерного количества дыма. Идеальный подарок к 8 марта .
Таймер позволяет устанавливать время от 1 до 99 минут, отсчёт времени начинается автоматически, спустя 3 секунды после установки.
Схема устройства:
Основа устройства - микроконтроллер ATMega8 с внешним кварцем на 16 МГц. Разъем Zas служит для питания устройства, на него подаётся постоянное напряжение 7-15В. Напряжение питания 5В обеспечивается линейным стабилизатором L7805, если вы используете стабилизированный источник 4,5 - 5В например зарядное устройство от мобильного, то стабилизатор, C3 и C4 можно исключить.
Зуммер B1 и аноды дисплея W1 управляются транзисторами T1 - T5. Резисторы R9 - R16 нужны для ограничения тока идущего через сегменты дисплея. К Разъему Prog и R(reset) подключается программатор, а к разъему Sw - клавиатура или кнопки. Кнопок всего 5, четыре из них отвечают за установку времени(+1, +5, +10 и +20 минут соответственно) и одна за сброс таймера.
Печатная плата:
Список компонентов:
U1 ATmega8A-AU 1шт
U2 Линейный стабилизатор LM7805CT 1шт
T1-T5 Биполярный транзистор BC556 5шт
C1,C2 Конденсатор керамический 22 пФ 2шт
C3 Конденсатор электролитический 100 мкФ 1шт
С4 Конденсатор электролитический 47 мкФ 1шт
R1-R8, R17, R18 Резистор 3.3 кОм 10 шт
R9-R16 Резистор 330 Ом 8шт
W1 семисегментный индикатор AF-05643FG-B(или с аналогичной распиновкой) 1шт
B1 Зуммер с генератором 1шт
X1 Кварцевый резонатор 16 МГц 1шт
Фото готового устройства:
Рассмотрим, как сделать таймер своими руками на микроконтроллере ATmega8, хотя код довольно просто адаптировать и для МК AVR других серий. Электронный таймер нужное устройство во всех областях, где требуется выполнение определенных действий через конкретный промежуток времени.
Управление таймера состоит всего из четырех кнопок:
— увеличение значения числа;
— уменьшение значения числа;
— старт таймера;
— сброс таймера.
В качестве индикатора срабатывания таймера применяется генератор звуковой частоты с динамиком. Генератор будет запускаться с помощью транзисторного ключа Q5, который в свою очередь открывается положительным потенциалом, поступающим из порта PC2 микроконтроллера.
Упрощенно таймер работает следующим образом. Кнопками «+» и «-» устанавливается требуемое количество секунд; кнопкой «старт» запускается таймер. Когда таймер отсчитает до нуля, на выводе PC2 микроконтроллера ATmega8 появится высокий потенциал, который откроет Q5. Далее транзисторный ключ запустит генератор и раздастся звук в динамике. Сброс таймера осуществляется при нажатии кнопки «сброс». Генератор звуковой частоты собран на двух транзисторах Q6 и Q7 разный полупроводниковых структур. С принципом работы и описанием схемы подобных генераторов можно ознакомиться, перейдя по .
Алгоритм работы таймера на микроконтроллере
Наш таймер будет отсчитывать обратное время ровно по одной секунде, хотя можно задать и любое другое время, например минуты, часы, сотые секунды и т.п.
Для формирования интервала времени в одну секунду мы воспользуемся первым таймер-счетчиком микроконтроллера ATmega8. Все его настройки мы определим в функцию start . Сначала разделим рабочую частоту микроконтроллера 1000000 Гц на 64 и получим новую частоту 15625 Гц. За это отвечают бит CS10, CS11 и CS12 регистра TCCR1B. Далее разрешаем прерывание по совпадению и в регистр сравнения (старший и младший) записываем двоичное число равное десятичному 15625. Затем обнуляем счетный регистр TCNT1 и устанавливаем в единицу бит WGM12 регистра TCCR1B, что вызывает сброс счетного регистра при совпадении текущего его значения с числом, записанным в регистры сравнения.
void start (void)
TCCR1B &= ~(1< TCCR1B |= (1< TIMSK |= (1< OCR1AH = 0b00111101;
OCR1AL = 0b000001001; // регистр сравнения 15625
TCNT1 = 0;
TCCR1B |= (1< Когда таймер отсчитает ровно одну секунду – вызовется прерывание. В теле функции прерывания мы будем снижать значение переменной на единицу. При достижении нуля на второй выход порта C микроконтроллера появится высокий потенциал, который откроет транзисторный ключ и запустит генератор, в результате чего мы услышим звук в динамике.
ISR (TIMER1_COMPA_vect)
Z—;
Сегодня никого не удивишь конструкцией таймера, т.к. в продаже и в интернете подобных устройств, сколько угодно. И все таймеры вроде бы похожи друг на друга. И когда более подробно начинаешь рассматривать функции схемы, находишь в ней какие либо неудобства для себя. Вот из этих соображений я и сделал программу таймера, который отвечает следующим параметрам: Все поставленные задачи были реализованы в этом проекте.Схема. Описание режимов работы таймера После включения таймера, можно выставлять время, которое нам требуется. Назначение кнопок видно на схеме. После установки, нажимаете кнопку СТАРТ-пауза отсчет начинается. Максимальное выставляемое время 23.59.59. Коррекция времени отсчета может быть произведена в любой момент работы таймера, после подачи питания на схему. Как только время достигает 00.00.00, - включается светодиод (в данный момент это имитация включения исполнительного устройства или просто можно пищалку с генератором). Если при его работе таймера нажать кнопку старт-ПАУЗА, таймер остановит отсчет, двойное нажатие кнопки СТАРТ-пауза приводит к возобновлению остановленного отсчета. Чтобы выключить нагрузку после включения, нужно нажать СБРОС, данные таймера установятся 00.00.01 - нагрузка выключиться. Или выставить новый период отсчета и двойное нажатие кнопки СТАРТ-пауза. Отображение на ЖКИ символов < ! > означает, что нагрузка отключена (PD3) и при однократном нажатии кнопки СТАРТ начнется обратный отсчет установленного времени. Кварц внешний 8 MHz, для точности счета. Для программатора в PonyProg и CodeVisionAVR нужно убрать все галочки с настройки тактового генератора. После прошивки программатором фьюзов от внешнего кварца, контроллер будет читаться программатором только с кварцем. Внимание! Что касается FUSE-битов. Это основной источник ошибок, приводящих к залочиванию контроллера. В PonyProg и CodeVisionAVR стоят так: ЖК должен быть на базе контроллера HD44780 16х1, для него в архиве имеется прошивка V-1 или 8х2, в архиве прошивка V-2. Работу схемы можно протестировать в proteusе. Если при симуляции проекта в proteusе некорректно отображаются символы кириллицы на ЖКИ, то для правильного отображения кириллицы на ЖК индикаторе распаковать библиотеку LCDrus.zip (приложена в архиве проекта) в папку models proteusа. Для рассмотрения и возможного повторения, очень простую схему, очень хорошего таймера. С удобной навигацией по меню, с жидкокристаллическом LCD дисплеем, с часами реального времени, с минимально возможным количеством деталей и при всем этом можно запрограммировать целых сто временных отрезков в течении суток. Компактные размеры
Видео проверки таймера
Сердцем данного таймера является очень популярный и уже не дорогой микроконтроллер Atmega8. Вы можете сказать, что для прошивки нам потребуется программатор которого нет, но это не так, для прошивки Atmega достаточно всего пять коротких 10-15 см. проводков подключенных через резисторы 150-200 Ом. напрямую к LPT порту по этой схеме. На этом рисунке Вы видите:
Схему распиновки ножек МК для подключения и прошивки. Пункт 1. Подготовим все необходимое для изготовления таймера.
Самые обязательные радиодетали схемы, остальное обычно можно подобрать у себя дома, самая маленькая микросхема, это часы DS1307. Нам потребуются такие радиоэлементы:
Обязательные инструменты каждого радиолюбителя:
Пункт 2. Приступим к изготовлению.
Таймер будем делать по этой главной схеме. Лично я своем таймере применил вот такую схему БП и исполнительное устройство на транзисторе и реле. В соответствии с главной принципиальной схемой + БП + ИУ и анализом монтажных габаритов вашей коробки для корпуса, а также размеров подобранных радио элементов, проектируем форму, размер и рисунок дорожек на плате. Для этого удобно пользоваться программой Sprint Layout. Для моего устройства получилась вот такая простая плата. Микроконтроллер прошиваем программатором или с помощью 5 проводков. *Прошивка*
(скачиваний: 1394)
Автор прошивки специально для удобства (за что ему спасибо) и не стал изменять заводские фьюзы, что очень сильно облегчает, без заморочки, прошивку для начинающего радиолюбителя. Если МК еще не использовался, новый из магазина, то просто заливаете прошивку и все, но если уже есть изменения в фьюзах, то надо выставить их так CKSEL=0001. Все остальное просто и не нуждается в пояснении. Пункт 3. Сборка.
Для корпуса очень удобно использовать распаечные коробки из пластмассы, они бывают разных размеров и форм. Этот таймер предназначен для установки выдержек от 5 секунд до 100 минут. На его выходе имеется достаточно мощное электромагнитное реле, позволяющее коммутировать ток до З0А при напряжении 12V и ток до 10А при напряжении 220V. Благодаря применению электромагнитного реле таймер может управлять не только нагревательными или осветительными приборами, но и электронными приборами, критичными к форме питающего переменного напряжения. Трансформаторное питание, в сочетании с реле, обеспечивает полную гальваническую развязку электронной схемы таймера от сети. Для общения таймера с оператором есть четырехразрядный светодиодный индикатор, в нем очень старые 7-сегментные матрицы АЛ304 в количестве четырех штук, соединены в матрицу путем соединения вместе одноименных сегментных выводов. Конечно можно использовать и более современные светодиодные индикаторы, и даже готовые матрицы по четыре разряда под динамическую индикацию. Управляют таймером кнопками S1, S2, S3, S4. При нажатии кнопки S1 происходит включение нагрузки и запуск таймера. Чтобы установить время, в течение которого должна работать нагрузка, нужно нажать S4.На дисплее будут мигать два старших разряда (минуты). Теперь кнопками S2 и S3 можно установить значение минут. Затем нужно еще раз нажать S4. Теперь будут мигать младшие разряды и кнопками S2 и S3 можно установить секунды. Чтобы сохранить установки нужно еще раз нажать S4. Теперь индикатор будет показывать установленную выдержку. Чтобы запустить таймер нужно нажать S1. Нагрузка включается, а показания индикатора начинают убывать. Как только заданное время иссякнет на индикаторе появляется надпись «OFF», а нагрузка выключается электромагнитным реле. Чтобы повторить нужно дважды нажать кнопку S1. При первом нажатии «OFF» сменится на показание заданного времени, а при втором произойдет запуск таймера. Управление реле по выводу 23 D1. Включение - логической единицей. Ключ на VT5 и VT6 управляет электромагнитным реле К1. Такие реле используются в схемах автомобильных сигнализаций. Они могут коммутировать как постоянный ток (12V) так и переменный (220V), поскольку обладают хорошей изоляцией. Источник питания выполнен на маломощном трансформаторе. Поскольку вторичная обмотка трансформатора имеет отвод от середины (12-0-12), то выпрямитель сделан не по мостовой, а по двухполупериодной схеме на двух диодах VD2 и VD3. Если трансформатор будет с обмоткой 12V без отводом, то нужен выпрямительный мост. Реле питается непосредственно с выхода выпрямителя, а остальная схема через стабилизатор А1 напряжения 5V. При прошивке нужно задать на работу с внутренним генератором 8 МГц. Схема собрана на покупной макетной печатной плате, на её одной стороне расположены микросхема и другие детали, а кнопки и индикаторы на другой стороне. Трансформатор питания за пределами платы. Транзисторы КТ315 можно заменить на КТ3102 или любые аналоги. Транзистор КТ815 можно заменить на КТ817, КТ604. Диод КД521 - практически любой аналог. Диоды в выпрямителе КД209 - любые диоды выпрямительные на постоянный ток не ниже 150 мА. Интегральный стабилизатор 7805 можно заменить любым 5-вольтовым, например, КР142ЕН5А. Или сделать стабилизатор по параметрической схеме на двух транзисторах и стабилитроне на 5V. По поводу индикаторов сказано выше. Это могут быть любые семисегментные индикаторы с общим анодом(катодом).
– компактная конструкция и простая схемотехника;
– оперативное кнопочное управление;
– при управлении кнопками, дублирование действий на ЖКИ;
– задание времени с точностью до секунды;
– диапазон отсчета от 1 секунды до 24 часов;
– функция старт, пауза;
– функция сброса отсчета и выставленных значений времени;
– при достижении значения 00.00.00, включается исполнительное устройство;
- CKSEL3...0 должны быть НЕзапрограммированы.
Прошивка V-3, для индикатора 8х2. Добавлено; задействован еще один порт (вывод МК №27 (РС4)) на котором, будет лог. единица пока идет счет, исполнительное устройство включается после нажатия кнопки "старт-пауза" и выключается по окончании отсчета заданного времени.
АРХИВ:Скачать с сервера
Раздел.
Вот по этой причине, эти микроконтроллеры стали самыми популярными у радиолюбителей.
Интегральные часы DS1307
LCD жидкокристаллический индикатор
Стабилизатор 7805
500-1000 Мф - 16 вольт.
Реле или электронный ключ (в зависимости от нагрузки которая планируется подключаться).
сопротивлением 5,1ком - 3 шт., резистор переменный (по мануалу LCD дисплея).
Кварц часовой 32768 Гц.
Кнопки без фиксации - 4 шт.
Батарейка таблетка на 3 вольта.
Текстолит для платы.
Небольшой трансформатор ~220в. -> ~6-12в.
Коробка распаечная для корпуса.
+ Для программатора:
резисторы 150-200 Ом. - 4 шт., разъем LPT порта (для удобства, не обязателен).
Паяльник для пайки микросхем, паяльник для пайки пассивных радиодеталей и проводов.
Тестер для прозвонки дорожек и проверки радиодеталей.
Олово, канифоль.
+ Принтер лазерный (для изготовления платы или другой способ).
Как видите на ней отсутствует схема блока питания и выходного исполнительного устройства, это потому, что возможно вы решите использовать выносной стабилизированный БП, а также не известно какую нагрузку вы планируете подключать, поэтому, каждый должен сам выбрать исполнительное устройство под свои технические требования.
Но вы можете захотеть в качестве исполнительного устройства применить триаки, тиристоры и симисторы, варианты таких схемных показаны ниже.
Они более компактные (без радиатора), но менее мощные, чем простое реле.
Полученный рисунок переносим с помощью специального маркера или по технологией ЛУТ (с помощью лазерного принтера и утюга) на медный слой текстолита. Если у вас принтер лазерный Brother (как у меня), то идею с ЛУТ лучше сразу забросить, по причине используемого в нем тугоплавкого тонера ~400C вместо обычных~200С, я кстати когда-то по глупости купил этот принтер именно для ЛУТ:(., поэтому в результате моя плата рисована маркером.
Нанесенный на медь рисунок вытравливаем в ванночке с хлорным железом или любым другим специальным раствором.
На готовую плату припаиваем детали согласно схеме, особое внимание обращаем при монтаже и пайке микросхемы часов и кварцевого элемента. Длина дорожек между ними должна быть минимальной, а лучше использовать микро кварц из наручных часов и припаять его непосредственно к ножкам МС часов. Все свободное пространство рядом с МС часов и кварца заполняем площадками корпуса (GND). Батарея необходима для поддержания часов в рабочем состоянии во время отключения от сети. Если по какой-то причине вы не стали устанавливать эту батарейку, то посадите плюсовой провод на корпус, иначе часы просто не пойдут.
В прорезанную ножом крышку, при помощи термоклея из пистолета, закрепляем LCD экран., прорезаем отверстия под кнопки управления и кнопку питания.
Подрезаем выступающий клей.
Архив для статьи "Таймер на Atmega8 и светодиодных индикаторах"
Описание:
Файлы прошивок
Размер файла:
5.58 KB Количество загрузок:
4 319