Микроконтроллеры своими руками таймеры

Микроконтроллеры своими руками таймеры

Универсальный таймер на микроконтроллере.

Автор: ARV
Опубликовано 01.01.1970

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

Это ни что иное, как таймер, который позволит задать до 100 различных временных интервалов в течение суток, когда какая-либо нагрузка должна быть включена. Схема на рисунке 1 показывает лишь главное: три основных элемента, составляющих основу — микроконтроллер U1 типа Atmega8, интегральные часы U2 типа DS1307 и жидкокристаллический индикатор LCD1 любого типа, лишь бы он поддерживал 2 строки и не менее 16 символов в строке. Остальные элементы схемы, хотя и нужны, но не заслуживают отдельного рассказа, кроме пары слов: R1. R3 — любые резисторы сопротивлением 5,1К; RV1 — так же любой подстроечный (уточните номинал по документации на индикатор); кнопки — любые тактовые.
На схеме показана линия OUT, которая никуда не идет. Но на самом деле она должна идти к исполнительному элементу: транзисторному ключу, нагруженному на реле; оптореле; сирене; тиристору и т.п., — в общем, к любому исполнительному элементу с током потребления не более 40 мА. Я надеюсь, что прикошачить одну из многих сотен готовых схем, которые могли бы быть исполнительными для этой схемы — не проблема для любого самодельщика. Так же и той же причине на схеме не показан источник питания. Надеюсь, подобные упрощения мне будут прощены.
Несколько слов о DS1307. Эта микросхема требует особой аккуратности при разводке кварцевого резонатора X1 (т.н. часовой кварц). Рекомендации в общем просты: надо стремиться подключить его как можно более короткими проводниками к выводам микросхемы, и по мере возможности все свободное пространство под ней и вокруг нее залить площадкой меди, соединенной с общим проводом схемы. Батарейка BAT1 — любая литиевая 3В, она обеспечит верный ход часов при отключении питания прочей схемы. Т.е. если питание случайно пропадет, а потом снова появится, корректность работы таймера не будет нарушена. Если по каким-либо причинам батарейку решено не использовать, то 3-й вывод микросхемы часов надо соединить с общим проводом, иначе часы не «запустятся».
Конечно, главное в данной конструкции — программа микроконтроллера. Она разработана так, чтобы не нужно было программировать знаменитые фьюзы, т.е. верно работает с теми значениями, которые «прошиты» в микроконтроллере при изготовлении. Если используется не новый МК, то придется задать ему работу от встроенного генератора 1 МГц, т.е. запрограммировать CKSEL=0001. Все прочие фьюзы некритичны.
Управление всеми функциями осуществляется при помощи 4-х кнопок, условно обозначенных символами:
[*] [#] [>] и [ ] и [

Источник

Таймер своими руками | Программирование микроконтроллеров AVR

Рассмотрим, как сделать таймер своими руками на микроконтроллере 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)

OCR1AL = 0b000001001; // регистр сравнения 15625

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

Источник

Таймер на PIC для управления электроприборами

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

Вариант 1

В состав данного устройства входит три таймера. Таймер 1.1 и таймер 1.2 каждый из них позволяет задавать время включения и выключения нагрузки, которая подключается к реле KV1. Таймер 2.1 и таймер 2.2 также позволяет задавать время включения и выключения нагрузки, которая подключается к общему реле KV2. Таймер 3 представляет собой обратный таймер, который управляет нагрузкой через KV3.

В данном устройстве применен микроконтроллер PIC16F628A. Элементы С1, С2, ZQ1 являются внешними частотозадающими элементами внутреннего тактового генератора. Для отображения информации используется индикатор HG1 с контроллером KS0066. Индикатор может отображать две строки по шестнадцать символов. Подстроечным резистором R4 можно регулировать контрастность изображения. Помощью SB1-SB5 происходит управление режимами работы и индикации, а так же настройка таймера. Через выводы 1,17,18 микроконтроллера происходит управление транзисторами VT1-VT3 и далее реле KV1-KV3, которые включают либо отключают нагрузку. При использовании реле с током катушки более 100 мА, то транзисторы КТ315В следует заменить на транзисторы максимально допустимый ток коллектора, которых больше тока катушки реле.

Читайте также:  Обрезинивание роликов своими руками

Режим отображения текущего времени.

Назначение клавиш управления в этом режиме:
SB5 — вход/выход в режим настройки текущего времени.
SB3, SB4 – перемещение курсора влево либо вправо при настройке.
SB1, SB2 – уменьшение либо увеличение значений времени при настройке.

Режим отображения таймера 1.1.

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

Назначение клавиш и управление ими такое же, как и в режиме текущего времени.

Таймеры 1.2, 2.1 и 2.2 по индикации и управлению аналогичны таймеру 1.1.

Режим отображения таймера 3

Таймер 3 — это обратный таймер.

Для входа в режим настройки таймера 3 необходимо нажать и удерживать, до появления мигающего курсора, кнопку SB5. В режиме настройки перемещение курсора осуществляется кнопками SB3 и SB4, а изменение значений кнопками SB1 и SB2. При отсчете времени остановить таймер 3 можно нажав SB5. После повторного нажатия SB5 таймер продолжит отсчет времени и когда его значение будет равно нулю, нагрузка отключится.

Переключение между режимами отображения осуществляется кнопками SB1 и SB2.

Биты конфигурации микроконтроллера.

Вариант 2

Режим отображения текущего времени

Назначение клавиш управления в этом режиме:
SB5 — вход/выход в режим настройки текущего времени.
SB3, SB4 – перемещение курсора влево либо вправо при настройке.
SB1, SB2 – уменьшение либо увеличение значений времени при настройке.

Режим отображения таймера

Источник

Таймер на микроконтроллере 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 вольта.
• Текстолит для платы.
• Небольшой трансформатор

6-12в.
• Коробка распаечная для корпуса.
+ Для программатора: резисторы 150-200 Ом. — 4 шт., разъем LPT порта (для удобства, не обязателен).

Читайте также:  Легкий сарафан для дома своими руками

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

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

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

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

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

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

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

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

400C вместо обычных

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

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

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

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

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




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

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

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

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

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

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

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

Источник

Оцените статью
Своими руками