Схема таймера на микроконтроллере – Таймер на микроконтроллере atmega8

Таймер на микроконтроллере atmega8


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

Компактные размеры

Видео проверки таймера

Сердцем данного таймера является очень популярный и уже не дорогой микроконтроллер Atmega8. Вы можете сказать, что для прошивки нам потребуется программатор которого нет, но это не так, для прошивки Atmega достаточно всего пять коротких 10-15 см. проводков подключенных через резисторы 150-200 Ом. напрямую к LPT порту по этой схеме.


Вот по этой причине, эти микроконтроллеры стали самыми популярными у радиолюбителей.

На этом рисунке Вы видите: Схему распиновки ножек МК для подключения и прошивки.

Пункт 1. Подготовим все необходимое для изготовления таймера.

Самые обязательные радиодетали схемы, остальное обычно можно подобрать у себя дома, самая маленькая микросхема, это часы DS1307.

Нам потребуются такие радиоэлементы:
• Микроконтроллер Atmega8
• Интегральные часы DS1307
• LCD жидкокристаллический индикатор
• Стабилизатор 7805
• Конденсатор 500-1000 Мф - 16 вольт.
• Реле или электронный ключ (в зависимости от нагрузки которая планируется подключаться).
• Резисторы сопротивлением 5,1ком - 3 шт., резистор переменный (по мануалу LCD дисплея).
• Кварц часовой 32768 Гц.
• Кнопки без фиксации - 4 шт.
• Батарейка таблетка на 3 вольта.
• Текстолит для платы.
• Небольшой трансформатор ~220в. -> ~6-12в.
• Коробка распаечная для корпуса.
+ Для программатора: резисторы 150-200 Ом. - 4 шт., разъем LPT порта (для удобства, не обязателен).

Обязательные инструменты каждого радиолюбителя:
• Паяльник для пайки микросхем, паяльник для пайки пассивных радиодеталей и проводов.
• Тестер для прозвонки дорожек и проверки радиодеталей.
• Олово, канифоль.
+ Принтер лазерный (для изготовления платы или другой способ).

Пункт 2. Приступим к изготовлению.

Таймер будем делать по этой главной схеме.


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

Лично я своем таймере применил вот такую схему БП и исполнительное устройство на транзисторе и реле.


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


Они более компактные (без радиатора), но менее мощные, чем простое реле.

В соответствии с главной принципиальной схемой + БП + ИУ и анализом монтажных габаритов вашей коробки для корпуса, а также размеров подобранных радио элементов, проектируем форму, размер и рисунок дорожек на плате. Для этого удобно пользоваться программой Sprint Layout.

Для моего устройства получилась вот такая простая плата.


Полученный рисунок переносим с помощью специального маркера или по технологией ЛУТ (с помощью лазерного принтера и утюга) на медный слой текстолита. Если у вас принтер лазерный Brother (как у меня), то идею с ЛУТ лучше сразу забросить, по причине используемого в нем тугоплавкого тонера ~400C вместо обычных~200С, я кстати когда-то по глупости купил этот принтер именно для ЛУТ :(., поэтому в результате моя плата рисована маркером.
Нанесенный на медь рисунок вытравливаем в ванночке с хлорным железом или любым другим специальным раствором.

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

Микроконтроллер прошиваем программатором или с помощью 5 проводков.

*Прошивка* multitimer100.rar [5.35 Kb] (скачиваний: 1437)

Автор прошивки специально для удобства (за что ему спасибо) и не стал изменять заводские фьюзы, что очень сильно облегчает, без заморочки, прошивку для начинающего радиолюбителя. Если МК еще не использовался, новый из магазина, то просто заливаете прошивку и все, но если уже есть изменения в фьюзах, то надо выставить их так CKSEL=0001. Все остальное просто и не нуждается в пояснении.

Пункт 3. Сборка.

Для корпуса очень удобно использовать распаечные коробки из пластмассы, они бывают разных размеров и форм.



В прорезанную ножом крышку, при помощи термоклея из пистолета, закрепляем LCD экран., прорезаем отверстия под кнопки управления и кнопку питания.


Подрезаем выступающий клей.

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

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

Управление меню осуществляется четырьмя кнопками.

Меню состоит из трех пунктов, СLOCK -установка часов, TIMЕ - установка таймеров и RESET -сброс всех установленных таймеров.

Сначала заходим (*) в меню часов и выставляем точное время.


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

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


На видео в начале статьи можно посмотреть подробнее о меню.

Я применяю этот таймер для полива гидропоники.

Доставка новых самоделок на почту

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

*Заполняя форму вы соглашаетесь на обработку персональных данных

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

usamodelkina.ru

Схема. Таймер-терморегулятор на микроконтроллере - Сайт радиолюбителей и радиомастеров. Схемы и сервис мануалы.

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

Технические характеристики в режиме терморегулятора
Интервал регулируемой температуры, °С ………………………………….от -55 до +125
Разрешающая способность при измерении и регулировании, °С:
в интервале температуры -9,9…-99,9 °С …………………………………..0,1
в интервале температуры -55…-10 °С и +100…+125 °С ……………….1
Погрешность измерения, °С, не более:
в интервале температуры -10…+85 °С ……………………………………..±1
в интервале температуры -55…-10 °С и +85…+125 °С …………………±2
Интервал установки гистерезиса, °С ………………………………………..± 0…50

Верхняя граница установки интервала регулирования, °С …………….-55…+125
Нижняя граница установки интервала регулирования, °С …………….-55…+125
Интервал корректировки показаний термометра, °С……………………..±2

Терморегулятор работает как в режиме нагрева, так и охлаждения. Дополнительно можно установить продолжительность поддержания температуры в интервале 1—999 мин или остановку работы терморегулятора на тот же промежуток времени. В процессе работы подсчитывается суммарная продолжительность подключения нагрузки к сети. Устройство предназначено для работы совместно с датчиком температуры DS18B20 и автоматически определяет его ID-код.

Технические характеристики в режиме таймера
Интервалы установки времени
секунд……………..1…999
минут………….1…999
часов ………………1…999
Направления отсчёта времени …………………..прямое или обратное

Таймер обеспечивает задержку как включения, так и отключения нагрузки.
Схема таймера-терморегулятора показана на рис. 1. Все основные функции возложены на микроконтроллер DD1, управление режимами и ввод данных осуществляют с помощью кнопок SB1—SB3, а информация выводится на трёхразрядный светодиодный индикатор HG1. Питание осуществляется от сети, которую подключают к зажимам 1 и 2 колодки ХТ1. На трансформаторе Т1, диодном мосте VD1, стабилизаторе DA1 и сглаживающих конденсаторах С2 и С4 собран узел питания. Резистор R1 повышает надёжность работы устройства при повышенном сетевом напряжении. Но при желании его можно исключить, установив на плате взамен него проволочную перемычку.

Включение или отключение питания нагрузки осуществляется с помощью реле К1, контакты которого К1.1 нормально разомкнуты и подсоединены к зажимам 3 и 4 колодки ХТ1. Датчик температуры DS18B20 подключают к зажимам 5 и 6. Применена двухпроводная схема подключения датчика: к зажиму 6 присоединён вывод 2, к зажиму 5 — выводы 1 и 3. Для вывода информации на индикатор HG1 использована динамическая индикация с периодом обновления символов около 20 мс.

Управление работой и установку параметров осуществляют с помощью трёх кнопок SB1 “◄” (уменьшение), SB2 “►” (увеличение) и SB3 “∟” (ввод). В зависимости от предварительной установки устройство может выполнять функции универсального терморегулятора или быть в роли таймера. Для выбора функционального назначения необходимо нажать на кнопку SB3 и, удерживая её, подать напряжение питания. На индикаторе HG1 появится номер текущей установки (рис. 2). Кнопками SB1 и SB2 устанавливают режим работы: 1 — универсальный терморегулятор (задан по умолчанию), 2 — таймер. Для подтверждения следует нажать на кнопку SB3. Изменения вступят в силу после следующего включения.

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

Установку температуры производят кнопками SB1 и SB2, по умолчанию она составляет 30 °С. В момент нажатия на любую из этих кнопок на индикаторе HG1 появляется мигающее значение устанавливаемой температуры, а по истечении 5 с после последнего нажатия терморегулятор возвращается в рабочий режим. Все введённые данные сохраняются в энергонезависимой памяти микроконтроллера. При нажатии и удержании кнопок SB1 и SB2 выбранный параметр изменяется быстрее. В зависимости от продолжительности нажатия последовательно переключаются три его скорости изменения.


Для установки других настроек терморегулятора необходимо войти в меню. Для этого следует нажать на кнопку SB3. Изменение настроек производят в соответствии с рис. 3. Через 5 с после последнего нажатия любой кнопки устройство переходит в рабочий режим, а все настройки сохраняются в энергонезависимой памяти. Ниже приведено описание доступных параметров.

ГГР — гистерезис. Параметр, в котором задаётся разность температур включения и отключения нагрузки. Установленное число суммируется с заданной установкой температуры для включения и вычитается для выключения. Если, например, задана температура 30,0 °С, а ГГР — 4,5, то в режиме нагревания отключение нагрузки произойдёт при температуре 30,0 + 4,5 = 34,5 °С, а включение — при 30,0 – 4,5 = 25,5 °С. Если терморегулятор работает в режиме охлаждения, отключение произойдёт при температуре 25,5 °С, а включение — при 34,5 °С. Если установить ГГР равным 0, на индикаторе отобразится надпись ГР и прибор будет работать как обычный термометр, на индикаторе отобразится текущая температура, а нагрузка будет всё время отключена. По умолчанию установлено значение ГГР, равное 3,0.

ВПР — верхний предел температуры. Этот параметр определяет максимально возможное значение устанавливаемой температуры. В случае превышения этого предела, независимо от других установок, нагрузка будет отключена. По умолчанию в ВПР задано значение 80,0.
НПР — нижний предел температуры. Этот параметр определяет минимально возможное значение устанавливаемой температуры. В случае снижения температуры ниже НПР, независимо от других настроек, нагрузка также будет отключена. Значение НПР всегда меньше или равно ВПР. По умолчанию в НПР задано значение 10,0.
ВРВ — продолжительность времени включения (в минутах). Этот параметр задаёт временной интервал, в течение которого поддерживается заданная температура. По его окончании нагрузка будет отключена. Признак истечения установленного временного интервала — постоянно светящаяся точка в младшем разряде индикатора. Повторный запуск таймера производят нажатием на кнопку SB3. Если ВРВ установлено равным 0, на индикатор выводится изображение “—“, а таймер в работе терморегулятора не участвует. По умолчанию таймер отключён.

ВРО — продолжительность времени отключения. Параметр задаёт временной интервал (в минутах), в течение которого устройство находится в выключенном состоянии, предназначен для использования совместно с параметром ВРВ. По окончании установленного интервала времени устройство возвращается к функции поддержания температуры. Если, например, установить значение ВРВ 90, а ВРО 60, терморегулятор будет циклически поддерживать температуру в течение 90 мин, а затем отключаться на 60 мин и снова включаться на 90 мин и т. д. Если ВРО равно 0, на индикаторе выводится изображение “–“, а таймер в работе терморегулятора не участвует. По умолчанию ВРО имеет нулевое значение (таймер отключён).
ПАР — параметры работы. Значение ПАР определяет режим работы терморегулятора: нагревание или охлаждение. При работе совместно с нагревателем в ПАР необходимо установить НА, при работе совместно с охладителем — ОС. По умолчанию в ПАР задано значение НА (работа с нагревателем).

ПОП — поправка показаний. Этот параметр позволяет проводить корректировку показаний термометра и в случае необходимости добиться (по образцовому термометру) погрешности измерения менее 0,1 °С. Значение ПОП добавляется к текущим показаниям температуры. Обычно в корректировке показаний нет необходимости, поскольку датчик температуры DS18B20 имеет заводскую калибровку и очень высокую точность измерения. По умолчанию ПОП имеет значение 0,0 (корректировка отсутствует).
РАБ — время работы нагревателя (или охладителя). В этом режиме выводится время (в часах), в течение которого нагрузка была включена. Это позволяет оценить расход электроэнергии. Например, если месячные показания РАБ равны 250, а мощность нагревательного элемента — 0,5 кВт, расход электроэнергии составляет 125кВт·ч.

НОГ — идентификационный номер (ID-код) датчика температуры. Выводится 64-разрядный идентификационный номер датчика DS18B20, представленный в шестнадцатеричном формате. Например, 28А2С86801000017. (последняя цифра отмечена десятичной точкой). Просмотр номера производится нажатием на кнопки SB1, SB2 и может понадобиться для определения, какой из датчиков подключён. Если связь с датчиком нарушена или по каким-либо причинам код считать не удалось, на индикатор будет выведено сообщение Err (ошибка).

Устройство автоматически определяет наличие и исправность датчика температуры. При обрыве цепи или отсутствии датчика на индикаторе появится надпись HI, а при коротком замыкании или неправильном подключении — Lo. При любой неисправности нагрузка автоматически отключается. Провод, соединяющий датчик с устройством, должен иметь сечение не менее 0,5 мм2, а длину — не более 10 м. Информация считывается с датчика температуры с периодом 1 с и сравнивается с предыдущим значением. Если скорость роста температуры превышает 30 °С/с или скорость падения температуры превышает 20 °С/с, ситуация интерпретируется как аварийная и нагрузка отключается.

Для просмотра и изменения установок при работе в режиме таймера необходимо войти в меню. Для этого следует нажать на кнопку SB3. Установку проводят в соответствии с рис. 4 Через 5 с после последнего нажатия на любую кнопку устройство переходит в рабочий режим, а все настройки сохраняются в энергонезависимой памяти. После входа в меню появляется текущая установка таймера (индикатор мигает). Кнопками SB1 и SB2 устанавливают временной интервал в пределах 000…999 (по умолчанию задано 100). Если установить 000, таймер блокируется, а в рабочем режиме на индикаторе будет сообщение “—“.

После установки цифрового значения нажимают на кнопку SB3, и затем можно задать единицы измерения времени. Это могут быть секунды SEC (по умолчанию), минуты Ml или часы HOU.
Далее устанавливают режим работы таймера. При выборе ОН, по истечении установленного временного интервала, нагрузка будет подключена, выбор OFF означает, что нагрузка будет отключена. Выбор направления счёта таймера — обратный при выборе ОБС (задан по умолчанию) и прямой при выборе — ПРС. Во время работы таймера на индикаторе отображается время. Запуск таймера осуществляют нажатием на кнопку SB2. Если задан прямой счёт, показания изменяются от нуля до максимального значения, например, 0, 1, 2… и т. д., а если обратный — от максимального значения до нуля, например, 100, 99, 98… и т. д.

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

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

Большинство деталей монтируют на двух печатных платах из фольгированного стеклотекстолита, чертежи которых показаны на рис. 5 и рис. 6. Применены постоянные резисторы для поверхностного монтажа РН1-12, остальные — МЛТ, С2-23. Оксидные конденсаторы — К50-35 или импортные, остальные — К10-17. Реле — JZC-22F3SC20DDC12V, кнопки — DTST-6. Трансформатор должен обеспечивать на выходе выпрямителя напряжение 12 В при токе до 150 мА ХТ1 — однорядный клеммник серии 305. Для программирования микроконтроллера предназначен файл modul_v2.hex.

Платы устанавливают в пластмассовый корпус рис. 7). Внешний вид собранного устройства показан на рис. 8. Резистор R2 был предназначен для защиты микроконтроллера в процессе отработки конструкции, но после изготовления нескольких экземпляров устройств он был исключён и взамен него на плате установлена проволочная перемычка.

В целях упрощения предусмотрена возможность исключения токоограничивающих резисторов R4—R11 в цепях управления сегментами индикатора HG1. В этом случае их заменяют отрезками провода, в микроконтроллер следует загрузить файл modul_v1.hex Чтобы исключить перегрузку по току индикатора и микроконтроллера, подача напряжения на каждый разряд индикатора осуществляется на 0,3 мс, поэтому работают они при номинальном среднем токе. Яркость свечения индикаторов с различным числом включённых элементов немного различается из-за неравномерного распределения тока и различного падения напряжения на выходных транзисторах портов микроконтроллера. Индикатор с общим катодом можно заменить на аналогичный, но с общим анодом. Для этого в начале программы modul_v1 .asm (modul_v2.asm) следует удалить строку tfdefine _COMMON_CATODE_ и заново откомпилировать программу.

При программировании устанавливают следующую конфигурацию микроконтроллера: BODLEVEL=1; BODEN = 0; SUT1 = 1; SUT0 = 1; CKSEL3 = 1; CKSEL2 = 1; CKSEL1 = 1; CKSEL0 = 1; RSTDISBL = 1; WDTON = 1; SPIEN = 0; СКОРТ = 0; EESAVE = 0; BOOTSZ1 = 1; BOOTSZ0 = 1; BOOTRST = 1.

Прилагаемые файлы:   termotaimer.zip

И. КОТОВ, г. Красноармейск Донецкой обл., Украина
“Радио” №3 2012г.

Post Views: 230

radioelectronika.ru

Суточный таймер на микроконтроллере Attiny13


В современном мире автоматизация проникла буквально во все области жизни человека. Всем нам порой хочется, чтобы бездушная автоматика сделала за нас какую-нибудь скучную рутинную работу – полила цветы, проветрила помещение, покормила кошку, напоила собаку… Не с проста говорят, что лень – двигатель прогресса, ведь ленивый человек готов потрудиться и создать такое электронное устройство, которое сделает за него всё, что потребуется. А уж если ленивый человек дружит с паяльником, то дело остаётся за малым, лишь создать эту самую автоматику.

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

Схема:

На схеме имеются две управляющие кнопки, пронумерованные цифрами «1» и «2». Кнопка «1» устанавливается время включения нагрузки, а кнопка «2», соответственно, время выключения. Для лучшего понимания принципа работы рассмотрим такой пример: имеется ёлочная гирлянда, которую нужно каждый день включать в 13:00 и выключать в 15:00. Значит, для установки временных интервалов работы таймера нужно в 13:00 нажать кнопку «1», при этом реле включится примерно на минуту, затем дождаться 15:00 и нажать кнопку «2», реле опять-таки включится примерно на минуту, сигнализируя об успешной установке времени. В дальнейшем реле будет автоматически включать гирлянду в 13:00 и выключать в 15:00 каждый день. Мигающий светодиод свидетельствует о работоспособности устройства.

Схема содержит в себе две микросхемы – микроконтроллер Attiny13 и часовую микросхему DS1307. Напряжение питания всей схемы – 12 вольт. Благодаря линейному стабилизатору 78l05 на плате микросхемы получают нужное им питание 5 вольт, а обмотка реле питается от 12-ти вольт. Параллельно обмотке реле следует поставить маломощный диод, например, 1N4148. Транзистор SS8050, управляющий реле можно заменить на любой другой маломощный NPN транзистор. Кнопки в обвязке микроконтроллера следует взять без фиксации.

Особенность часовой микросхемы DS1307 состоит в том, что она может работать от резервного питания, если вдруг пропадёт основное. Для этого к её выводам 3 и 4 нужно подключить источник питания на 3 вольта, например, батарейку CR2032. В этом случае при пропадании питания отсчёт времени будет продолжаться, как только основное питание появиться вновь, устройство продолжит работать в прежнем режиме, включая и выключая реле в заданные часы. Не следует забыть ставить параллельно питанию как основному, так и резервному конденсаторы электролитические и керамические, для подавления помех любого рода. Резистор светодиода, идущий от 7-й ноги часовой микросхемы, можно уменьшить до 0,5 – 1 кОм, тогда его яркость заметно увеличится.

Перед установкой на плату микроконтроллера его необходимо прошить, файлы прошивки к статье прилагаются. Удобнее всего это делать с помощью USBASP программатора. При использовании нового, ранее не используемого микроконтроллера фьюзы менять не нужно. С завода микроконтроллеры Attiny13 тактируются от внутреннего генератора с частотой 9,6 МГц, делитель на 8 включен.

Печатную плату можно сделать по лазерно-утюжной технологии, так называемый "ЛУТ". Фото моей платы:

После залуживания плата приобретает такой вид:

Список необходимых деталей:

Резисторы 0,125 Вт:
• 6,8 кОм (682) – 1 шт.
• 10 кОм (103) – 1 шт.
• 4,7 кОм (472) – 2 шт.
• 3 кОм (302) – 1 шт.

Конденсаторы:
• 100 мкФ (электролитич.) – 2 шт.
• 100 нФ (керамич.) – 2 шт.

Остальное:
• Микроконтроллер Attiny13 (+ панелька) – 1 шт.
• Микросхема DS3107 (+ панелька) – 1 шт.
• Транзистор SS8050 – 1 шт.
• Диод 1N4148 – 1 шт.
• Кнопка без фиксации – 2 шт.
• Стабилизатор 78l05 – 1 шт.
• Светодиод на 3 вольта – 1 шт.
• Кварц 32768 Гц – 1 шт.
• Реле на 12 вольт – 1 шт.

Фото собранного мной устройства:

Схема, печатная плата и файлы для прошивки находятся в архиве: pechatnaya-plata-i-fayly-proshivki.zip [36.13 Kb] (скачиваний: 429)

Доставка новых самоделок на почту

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

*Заполняя форму вы соглашаетесь на обработку персональных данных

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

usamodelkina.ru

Простой таймер на PIC16F628A. Схема и описание

Это схема простого таймера построенного на микроконтроллере PIC16F628A и индикаторе LCD 1602. Идея таймера позаимствована с одного португальского сайта по радиоэлектронике.

Микроконтроллер PIC16F628A в данной схеме тактируется от внутреннего генератора , который является достаточно точным для данного случая, но поскольку выводы 15 и 16 остаются незанятыми, то можно было бы использовать внешний кварцевый резонатор для большей точности.

Таймер на PIC16F628A. Описание работы

Как уже было сказано ранее, этот проект создан на основе уже существующего проекта, но на самом деле обе схемы отличаются друг от друга, и поэтому код был практически полностью переписан. В таймере для управления есть три кнопки: «START/STOP», «MIN» и «SEC»

  1. «START/STOP» — для запуска и приостановки таймера.
  2. «MIN» — для установки минут. Количество минут устанавливаются от 0 до 99, а затем все начинается снова с 0.
  3. «SEC» — для установки секунд. Секунду также устанавливаются от 0 до 59 и потом снова с 0.

Одновременное нажатие на «MIN» и «SEC» приводит к сбросу таймера во время работы.

Когда время на таймере достигает 00:00, раздается звуковой сигнал (3 коротких и 1 длинный звуковой сигнал) и светодиод HL1 загорается. В качестве звукоизлучателя применен зуммер электромагнитного типа. После этого, при нажатии одной из кнопок, происходит сброс таймера и выключение светодиода HL1.

Когда таймер производит обратный отсчет на выводе 13 (RB7) находится высокий уровень, а при остановке таймера появляется низкий логический уровень. Данный вывод можно использовать для управления внешними исполнительными устройствами. питание таймера осуществляется от cстабилизированного источника на 78L05.

Перемычка J1 предназначена для калибровки таймера. При ее замыкании таймер входит в режим настройки. С помощью кнопок «MIN» и «SEC» можно увеличить/уменьшить значение внутреннего параметра, который позволяет замедлять или ускорять работу таймера. Это значение сохраняется в EEPROM. Если находясь в этом режиме нажать кнопку «START/STOP», то этот параметр будет сброшен до значения по умолчанию.

Код написан и скомпилирован с mikroC PRO для PIC.

Параметры проекта:

  • Генератор: INTOSC
  • Частота генератора: 4 МГц
  • Сторожевой Таймер: отключен
  • Power-up таймер: включен
  • RA5/MCLR/VPP : отключен
  • Brown-out: включен

Фото готового таймера:

Скачать прошивку и рисунок печатной платы (unknown, скачано: 2 855)

www.joyta.ru

Программируемый таймер на микроконтроллере | Компьютер и жизнь

Приветствую, друзья.

Хочу представить вам мою конструкцию программируемого таймера.

Данный таймер предназначен для отсчета заданных промежутков времени.

Он может иметь как непрерывно-циклический режим работы (бесконечный цикл «включение-пауза»), так и ограниченно-циклический (заданное количество циклов «включение-пауза»), либо однократное включение — на заданное время включения.

Время включения, время паузы и количество рабочих циклов задаются независимо.

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

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

Таким образом, минимальный промежуток времени может быть равным 1 секунде, максимальный – 4 часам и 15 минутам.

Отсчет времени начинается после нажатия кнопки старта (кнопку надо нажимать менее двух секунд).

Блок-схема программы таймера изображена на рис. 1.

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

Для удобства таймер оснащен световой и звуковой сигнализацией.

Питаться таймер может как от сетевого адаптера с выходным постоянным напряжением 15-20 В, так и от аккумулятора напряжением 12 В.

Описание работы схемы таймера

Схема устройства изображена ниже. Его основа – микроконтроллер ATMega8L.

В качестве источника тактового сигнала используется внутренний RC-генератор микроконтроллера частотой 1 МГц. Для повышения точности отсчета временных интервалов используется синхронизация внутреннего таймера-счетчика Т/С2, (далее – таймера Т2) микроконтроллера от внешнего кварцевого резонатора BQ1 на частоту 32768 Гц. При коэффициенте деления 128 8-разрядный таймер Т2 переполняется каждую секунду, генерируя прерывание.

Исполнительным устройством служит реле К1, которое управляется посредством ключа на транзисторе VT1 с вывода РС5 микроконтроллера. Его контакты выведены на внешние клеммы разъема X2 и могут быть использованы для управления внешними цепями, в том числе и сетевым напряжением 220 В.

Звуковые сигналы подает пьезокерамический излучатель BQ2 (со встроенным звуковым генератором), который управляется выводом  РС4 микроконтроллера. Питание на микроконтроллер (+5 В) подается с выхода интегрального стабилизатора DA1. Напряжение на вход DA1 подается либо с выхода интегрального стабилизатора DA2 (+12 В), либо с аккумулятора, выбор осуществляется с помощью перемычки J1.

Светодиод HL1 зеленого цвета индицирует наличие питающего напряжения. Светодиод HL2 красного цвета служит для индикации режима работы и количества включений реле в предыдущем цикле работы. При срабатывании реле (на время включения) светодиод HL2 загорается на 1,5 с и на 0,25 с гаснет, если реле обесточено (время паузы) светодиод загорается на 0,25 с и на 1,5 с гаснет. После окончания отсчета времени светодиод HL2 гаснет. Таким образом, по характеру свечения HL2 видно, в каком состоянии находится таймер.

Конденсаторы С2 – С6 блокировочные. Диоды VD2, VD3 служат защитой от ошибочной полярности источников напряжения, диод VD1 – защита от ЭДС самоиндукции, возникающей при коммутации реле.

Движковые DIP-переключатели SA1 — SA8 служат для задания величины времени включения, времени паузы и количества рабочих циклов. Такие же переключатели SB1 – SB4 служат для выбора программируемой величины — времени включения, времени паузы, режима работы, количества рабочих циклов  и величины кванта времени. Соответствие переключателей программируемой величине приведено в табл. 1.

Задавать время включения/паузы и количества рабочих циклов надо в двоичном виде, что является некоторым неудобством. Но для перевода десятичных величин в двоичные можно использовать калькулятор, встроенный в Windows. При программировании следует помнить, что нулю двоичной величины соответствует положение ON переключателей, единице – положение OFF. Программирование производится с помощью кнопки программирования S1. Старт таймера осуществляется посредством стартовой кнопки S2.

Программировать таймер нужно перед стартом отсчета времени (сразу после включения) или после окончания рабочего цикла.

В процессе отсчета времени программирование невозможно. Если начался отсчет времени, таймер нечувствителен к нажатию кнопок и изменению положения DIP-переключателей. Таймер остановится после окончания отсчета времени или исчезновении напряжения питания.

Звуковая сигнализация таймера

Звуковая индикация таймера работает следующим образом. При нажатии на кнопку старта в течение менее 2 с (переход в рабочий режим) раздается короткий звуковой сигнал длительностью 0,1 с, свидетельствующий о начале отсчета времени. Если используется ограниченно-циклический режим, то сразу по окончании отсчета времени раздается звуковой сигнал длительностью 2 с. Если кнопка старта нажата более 2 с, раздается 5 звуковых сигналов длительностью 0,1 с  — и таймер возвращается в исходный режим.

При программировании таймера процедура успешного программирования необходимой величины сопровождается двумя сигналами по 0,1 с. Если произошла ошибка (например, ошибочно задан нулевой интервал времени включения, чего быть не должно) раздается звуковой сигнал длительностью 1 с. При ошибке надо проверить положение DIP-переключателей SB1 – SB4.

При программировании микроконтроллера должны быть запрограммированы следующие фьюзы — SUT0, SUT1, CKSEL1, CKSEL2, CKSEL3, BODEN, BODLEVEL. Так как производится запись в энергонезависимую память (данные в которой могут искажаться при медленном снижении напряжения питания), то используется встроенная схема BOD (Brown-Out Detection) микроконтроллера, которая отслеживает питающее напряжение и производит сброс микроконтроллера при снижении его ниже 4 В.

Конструкция таймера

Конструктивно таймер собран на плате из фольгированного стеклотекстолита толщиной 1,5 мм размерами 83×52 мм. Топология печатной платы изображена на рис. 3, расположение деталей на ней – на рис. 4. В исходном состоянии в EEPROM запрограммированы следующие значения констант: время включения – 10 с, время паузы – 10 с, количество циклов включения – 3, квант времени – одна секунда, режим работы – циклически-ограниченный.

Транзистор VT1 можно заменить на КТ3102 с любым буквенным индексом или аналогичным. В качестве светодиодов можно использовать любые современные высокоэффективные светодиоды с заметным свечением при токе 2-3 мА. Реле К1 – постоянного тока, типа JZC-22F, но можно использовать и другое с катушкой на 12 В, подходящее по току контактов и типоразмеру.

Программирование таймера

Рассмотрим примеры перепрограммирования таймера. Отметим, что при программировании следует учитывать внутреннюю логику встроенной в микроконтроллер программы. Рабочий цикл – это время включения плюс время паузы. Количество рабочих циклов может быть и нулевым – это означает, что реле включается однократно на время включения. Таким образом, чтобы включить реле N раз, надо задать N – 1 рабочих циклов, соответственно, если задать N рабочих циклов, реле включится N + 1 раз.

Пример 1. Время включения – 10 сек, время выключения – 8 сек, режим работы – циклически-ограниченный, количество рабочих циклов — 5.

Для начала запишем все числа в двоичном виде: число 10 – это 00001010, 8 – 00001000, 5 – 00000101. Включаем таймер, ставим переключатель SB3 – ON (квант времени – секунда), SB4 — ON (циклически-ограниченный режим), SB2/SB1 – ON/OFF (время включения), на переключателях SA1 – SA8 набираем число 00001010 (SA2, SA4 – OFF, все остальные – ON) и нажимаем кнопку программирования. Слышим два коротких сигнала.

Далее ставим SB2/SB1 – OFF/ON (время паузы), набираем на SA1 – SA8 число 00001000 (SA4 – OFF, остальные – ON), вновь нажимаем кнопку программирования, вновь слышим два коротких сигнала. Теперь ставим SB2/SB1 – OFF/OFF (количество рабочих циклов), набираем на SA1 – SA8 число 00000101 (SA1, SA3 – OFF, остальные – ON), вновь нажимаем кнопку программирования, слышим два коротких сигнала. Выключаем и вновь включаем питание – и таймер с новыми значениями констант готов к работе.

Пример 2. Время включения – 4 сек, время выключения – 3 сек, режим работы – циклически-непрерывный.

Число 4 – 00000100, число 3 – 00000011. Включаем таймер, ставим SB3 –ON (квант времени – секунда), SB4 – OFF (циклически-непрерывный режим), SB2/SB1 – ON/OFF (время включения), на переключателях SA1 – SA8 набираем число 00000100 (SA3 – OFF, все остальные — ON), нажимаем кнопку программирования, слышим два сигнала. Далее ставим SB2/SB1 – OFF/ON ( время паузы), набираем на SA1 – SA8 число 00000011 (SA1, SA2 – OFF, остальные – ON), нажимаем кнопку программирования, слышим два коротких сигнала. Выключаем и вновь включаем питания – и таймер с новыми значениями констант готов к работе.

Пример 3. Время включения – 20 мин однократно.

Число 20 – 00010100. Включаем таймер, ставим SB3 – OFF (квант времени — минута), SB4 – ON (циклически ограниченный режим), SB2/SB1 – ON/OFF (время включения), на переключателях SA1 – SA8 набираем 00010100 (SA3, SA5 – OFF, остальные – ON), нажимаем кнопку программирования, слышим два коротких сигнала. Ставим SB2/SB1 – OFF/OFF (количество рабочих циклов), набираем на SA1 – SA8 число 00000000 (все переключатели – ON), нажимаем кнопку программирования, слышим два коротких сигнала. Выключаем и вновь включаем питание – таймер с новыми значениями констант готов к работе.

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

До встречи на блоге!


vsbot.ru

РадиоКот :: кухонный таймер & часы

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

кухонный таймер & часы

Здравствуйте, уважаемые коллеги.

предлагаю на ваше обозрение свою версию "кухонного таймера"))).

начнём:

первое что мне хотелось что бы был не только таймер, но и часы. ЖК индикаторы отпали сразу, надо ведь что бы в потёмках его было хорошо видно!

второе, это простота управления, не хочется вешать на кухню эдакий "калькулятор" со всеми его кнопками )))

третье, раз часы, то энергонезависимые 😉

остальное уже "родилось" в процессе испытаний, и хотелок моей супруги(ведь ей пользоваться в основном), а именно:

а) секундомер

б) звук (как же я про него сразу не подумал))

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

вот что из этого вышло:

упс, на самом деле все индикаторы светятся нормально(фотик такой 🙁 )

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

чуть не забыл про схему)

и плату))) хотя.. всё и так есть в прикреплённом архиве 🙂

а как это чудо работает спросите вы, а я отвечу

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

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

по окончании отсчёта выбранного времени, таймер издаёт ужасный звук, проспать который не возможно)))

секундомер, запускается  нажатием правой верней кнопки, ну там ничего особенного нет кроме как, секундная точка бежит вправо)))

ну вот в принципе и всё, небольшое видео как работают:

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

детали:

контроллер использовал atmega48, часы DS1307.

прошивка в архиве))

 

Файлы:
видео
схемы_платы_прошивки

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


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

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


Эти статьи вам тоже могут пригодиться:

www.radiokot.ru

РадиоКот :: Таймер, mini-tini.

Таймер, mini-tini.

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

 

Суточный таймер mini-tini.

Таймер в течение суток  включит и отключит управление нагрузкой по часам реального времени, точность включения 1 минута.

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

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

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

Схема.

 

Настройка времени включения и отключения исполнительного устройства, происходит так:

В  течении суток в нужное нам время включения, нужно однократно нажать Кн1. (если нужно чтобы в течении суток устройство включалось только на 1 минуту, больше ничего делать не нужно, ровно через сутки в это-же время таймер будет включен на 1 минуту...., но это если кому нужно 1 минута, если более читаем далее).

Время отключения определяется кратковременным нажатием Кн2.

Например, рассмотрим теперь то-же самое, на  примере использования  таймера mini-tini, для управления новогодней световой иллюминацией.

Включаем таймер в сеть,  в 15:30 однократно нажимаем Кн1, далее еще раз наведываемся к таймеру  в 0:45, и однократно нажимаем Кн2, и все , таймер настроен.

Теперь таймер каждый день с 15:30 до 0:45 включает  осветительные приборы. (общее время работы составит 9 часов 15 минут)

Сборка схемы и прошивка микроконтроллера программой:

Правильно собранная схема и прошитый МК, в наладке не нуждаются, о работоспособности схемы свидетельствует мигающий светодиод L1 с частотой 1Гц .

У нового микроконтроллера фьюзы изменять не нужно, оставить по умолчанию. (ATtiny13 по умолчанию тактируется от RC-генератора на  9.6MHz и CKDIV8=on).

Фьюзы.

 

Схема в протеусе.

 

Архив: схема , прошивка, протеус.

 

 


 

Циклический таймер mini-tini.

Таймер в течении установленных отрезков времени  включает и выключает исполнительное устройство .

Схема.

 

Настройка времени включения и отключения исполнительного устройства, происходит так:

Для установки первого периода включения исполнительного устройства нужно нажать и удерживать Кн1 .  Удерживать кнопку Кн1 нужно столько сколько времени нужно вам для работы исполнительного устройства (Кн1 может записывать и время паузы, это зависит к какому порту подключается исполнительное устройство к порту МК   РВ3  или  РВ4 ).

Установка второго отрезка времени , устанавливается нажатием и удержанием  кнопки Кн2.

Например: удерживая кнопку Кн1 в течении 1й минуты, а кнопку Кн2 в течении 3х минут, мы получим , включенное исполнительное устройство на 1 минуту и выключенное на 3 минуты , и т.д. по бесконечному циклу.

Фьюзы.

Правильно собранная схема и прошитый МК, в наладке не нуждаются, о работоспособности схемы таймера mini-tini, свидетельствует мигающий светодиод L1 (при нажатии кнопки Кн1 или Кн2 горит постоянно).

 

 

Архив: схема , прошивка, протеус.

 

www.radiokot.ru

0 comments on “Схема таймера на микроконтроллере – Таймер на микроконтроллере atmega8

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *