Простой таймер для кухни на PIC16F628A. Реверсивный счётчик на PIC16F628A c индикатором Суточный таймер на pic16f628a своими руками


Этот вариант часов сделан таким образом, чтобы максимально упростить схему, снизить энергопотребление, и в итоге получить прибор, который легко помещается в кармане. Выбрав миниатюрные аккумуляторы для питания схемы, SMD - монтаж и миниатюрный динамик (например от нерабочего мобильного телефона), Вы можете получить конструкцию, размером чуть больше спичечного коробка.
Применение сверхъяркого индикатора позволяет снизить ток, потребляемый схемой. Снижение тока потребления также достигается в режиме "LoFF" - индикатор погашен, при этом включена только мигающая точка младшего разряда часов.

Индикация
Регулируемая яркость индикаторов позволяет выбрать наиболее комфортное отображение показаний (и опять же снизить энергопотребление).
В часах реализовано 9 режимов индикации. Переход по режимам осуществляется с помощью кнопок "плюс" и "минус". Перед выводом на индикацию самих показаний, на индикаторы выводится короткая подсказка названия режима. Длительность вывода подсказки - одна секунда. Применение кратковременных подсказок позволило достичь хорошей эргономичности часов. При переходах по режимам отображения (которых получилось достаточно много, для такого простого прибора, как обычные часы) не возникает путаницы, и всегда понятно, какие именно показания выведены на индикатор.


Коррекция показаний, выведенных на индикатор включается при нажатии на кнопку "Коррекция". При этом кратковременная подсказка выводится на 1/4 секунды, после чего корректируемое значение начинает мигать с частотой 2 Гц. Корректируются показания кнопками "плюс" и "минус". При длительном нажатии на кнопку, включается режим автоповтора, с заданной частотой. Частоты автоповтора нажатия кнопки составляют: для часов, месяцев и дня недели - 4 Гц; для минут, года и яркости индикатора - 10 Гц; для корректирующего значения - 100 Гц.
Все откорректированные значения, кроме часов, минут и секунд, записываются в EEPROM и восстанавливаются после выключения - включении питания. Секунды при коррекции обнуляются. Из всех режимов, кроме часы-минуты, минуты-секунды и LoFF организован автоматический возврат. Если в течение 10 секунд ни одна из кнопок не нажата, то часы переходят в режим отображения часов - минут.
Нажатием на кнопку "Вкл/Выкл буд." включается/выключается будильник. Включение будильника подтверждается коротким двухтональным звуком. При включенном будильнике светится точка в младшем разряде индикатора.
В режиме "Corr" на индикатор выведена корректирующая константа, начальное значение которой 5000 микросекунд в секунду. При отставании часов константу увеличиваем на величину отставания, вычисленное в микросекундах за одну секунду. Если часы спешат, то константу уменьшаем по тому же принципу.

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

Для упрощения программы было принято решение изменить схему подключения светодиода, индицирующего начало работы таймера. Выход на светодиод был перемещен с вывода 13 DD1, это седьмой разряд порта В, на пятнадцатый вывод – шестой разряд порта А. В остальном схема осталась такой же. Кстати, использовать составной трехамперный транзистор КТ973А в данной конструкции я думаю не целесообразно, да и не всегда он оказывается под рукой в нужный момент. Для усилителя импульсов звуковой частоты может подойти и маломощный транзистор КТ361Г.


Его мощность коллектора составляет 150 милливатт. Смотрим таблицу. Но ее можно значительно увеличить, если дополнить транзистор теплоотводом, который можно изготовить из медной полоски. Ширина полоски равна ширине корпуса транзистора, длина произвольная. Изгибается полоска в соответствии с фото.


Из более тонкой полоски делается зажим, но можно сделать его и из такой же полоски, что и сам теплоотвод. Теплоотвод одевается на корпус транзистора через теплопроводную пасту. Качественно сделанный теплоотвод «сидит» на корпусе транзистора довольно прочно и мощность коллектора транзистора при этом может достигать 500… 700 милливатт.


А громкости звука при такой мощности транзистора вполне достаточно даже для больших помещений. Тем более что транзистор в данной схеме, работает в импульсном режиме, и коэффициент полезного действия при этом очень большой. Если в одной из отогнутых сторон полоски сделать отверстие, то такой теплоотвод можно крепить к плате с помощью винтика, диаметром 2… 3 мм. На все про все у меня уходит пять минут. Рисунок печатной платы можно скачать из прошлой статьи «


Фото счётчика

"Реверсивный счётчик, который я предлагаю для повторения, собран на микроконтроллере PIC16F628A. Он имеет два входа управления «+1» и «-1», а также кнопку «Reset» (четвёртая кнопка зарезервирована и пока не используется). Мой предыдущий счётчик импульсов имел недоработку в нём была всего одна кнопка «+1» и при её длительном удержании счёт продолжался. Мой новый счётчик избавлен от этой недоделки. Как бы долго или коротко не была нажата кнопка входа, счёт продолжится только при её очередном нажатии. Максимальное количество поступивших импульсов 9999. При воздействии на вход «-1» счёт ведётся в обратном порядке до значения 0000. Показания счётчика сохраняются в памяти контроллера и при отключении питания. Сброс показаний счётчика и состояния памяти в 0 осуществляется при нажатии кнопки «Reset». Тех, кто решит повторить мою схему, пусть не пугает то, что при первом включении на индикаторе может высветиться непредсказуемая информация. При первом же нажатии на любую из кнопок всё станет на свои места и «мусора» больше не будет. Где и как можно использовать эту схему я пока ещё не придумал, но надеюсь, что она кому-нибудь принесёт пользу. И последнее если у кого-то под рукой не окажется нужного индикатора, а будет какой-нибудь другой (или даже 4 отдельных одинаковых индикатора), я готов помочь перерисовать печатку и переделать прошивку. Прикрепляю в архиве схему, плату и прошивки под индикаторы с общим анодом и общим катодом. Желаю всем удачи!"

Вместо индикатора GNQ-5641Ax-Bx можно применить любой другой индикатор с аналогичной распиновкой.


Схема, прошивки для индикаторов с общим анодом или катодом и печатная плата, скачать 66 кб.

Есть дополнение, которое позволяет сделать из устройства счётчик для намоточного станка. При этом, схема и печатная плата не изменяются. Отличие в назначении кнопок и в программе микронтроллера. Вход у счётчика один, кнопки "+" и "-" определяют направления счёта (инкремент и декремент). При инкременте горит правая точка, при декременте самая левая точка индикатора. Результат, а также направление счёта сохраняются в памяти МК. При включении питания настройки и счёт восстановливаются. Кнопкой "Reset" можно обнулить счёт. Скачать дополнение 20 кб.

Это схема простого таймера построенного на микроконтроллере 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стабилизированного источника на .

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

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

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

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

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

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

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

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

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

Схема таймера — индикаторы с общим катодом

Схема таймера — индикаторы с общим анодом

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

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

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