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

  • 24.09.2014

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

  • 08.10.2016

    MAX9710/MAX9711 — стерео/моно УМЗЧ с выходной мозностью 3 Вт имеющие режим пониженного потребления. Технические характеристики: Выходная мощность 3 Вт на нагрузке 3 Ом (при КНИ до 1%) Выходная мощность 2,6 Вт на нагрузке 4 Ом (при КНИ до 1%) Выходная мощность 1,4 Вт на нагрузке 8 Ом (при КНИ до 1%) Коэффициент подавления шумов …

  • 30.09.2014

    Характеристики: Диапазон воспроизводимых частот 88…108 МГц Реальная чувствительность 3 мкВ Выходная мощность УНЧ 2*2Вт Диапазон воспроизводимых частот 40…16000Гц Напряжение питания 3…9В Приемник построен на 2-х микросхемах CXA1238S и TEA2025B. CXA1238S содержит универсальный АМ\ЧМ радиоприемный тракт, выбор режима работы определяет лог. уровень на 15-ом выводе микросхемы. В состав ЧМ входит — …

  • 22.04.2015

    На рисунке № 1 показана схема простого индикатора сетевого напряжения. R1 ограничивает прямой ток через светодиод HL1. С1 используется в качестве балластного элемента, что позволило улучшить тепловой режим уст-ва индикации. При отрицательной полуволне сетевого напряжения стабилитрон VD1 работает как обычный диод, предохраняя светодиод от пробоя в обратным смещением. При положительной …

  • 21.09.2014

    В наше время, когда многие обзавелись дачей или домом в селе, где сварка является необходимостью, возникает проблема с ее приобретением. Покупка заводского аппарата осложняется его высокой стоимостью. Самая трудоемкая часть — изготовление самого сварочного трансформатора. При этом изготовитель сталкивается с проблемой приобретения магнитопровода. К магнитопроводу предъявляют следующие требования: достаточная площадь …

Случилось так, что в связи с болезнью пришлось оставить домик в поселке без присмотра. Нужен таймер, который в течении 2-3 недель (а получилось 2,5 месяца) создавал эффект присутствия в доме, не взирая на нестабильное напряжение и частое отключение сети. Из продающихся за разумную цену ничего не подошло. Интернет и радиотехническая литература тоже не удовлетворила меня полностью. Пришлось творить самому. За пару вечеров собрал простенький таймер с часами, который по вечерам с 18-00 до 21-00 включал свет. В случае отключения напряжения часы не сбивались: индикатор отключался, а микроконтроллер продолжал работать от аккумуляторов, которые потом заряжались малым током. Время такое выбрал потому что был январь месяц. В конце февраля перевел часы на полтора часа назад. Теперь хотя на таймерных часах было 18-00 и включалась лампа, реально было 19-30 вечера. К концу марта необходимость в таймере отпала, но думаю он мне еще пригодится на период отпуска. Возможно дойдут руки до усовершенствования, ну а пока делюсь тем, что есть.

Схема простая, подобна тем часам, которые я выкладывал на этом сайте. Там же и блок питания с резервными аккумуляторами. Добавлен только узел включения лампы. Сначала я его сделал на симисторе ВТВ-16. Но экономка вспыхивала при включении в сеть (иногда). Чем бороться с переходными процессами, поставил реле, думаю для лампы-экономки это безопаснее. К плате я не подводил 220 вольт, поэтому симистор (а впоследствии – реле) с транзистором и диодом закрепил отдельно.

Также в корпусе установил и патрон под лампу. Для охлаждения в боковых и задней стенке корпуса просверлил по 8 отверстий d=5мм: по 4 в нижней части и по 4 в верхней. Но нагрев не ощущается.

Часы выставляются двумя кнопками: часов и минут. Программа написана на Ассемблере. Программа проверяет соответствие часов установленным (запрограммированным) значениям. Сейчас в программе установлены 18, 19 и 20 часов. Но при программировании можно изменить время работы таймера. На примере IC Prog (в других программах - аналогично) нужно найти по адресу 0013h значение 3012, по адресу 0017h значение 3013, по адресу 0021h значение 3014. Первые две цифры значений (30) - это код команды, а вторые две - это значение часов в шестнадцатеричном коде: 12 соответствует десятичному числу 18, 13 -19 и т.д. Для изменения нужно дважды кликнуть левой кнопкой по значению того адреса, который хотите изменить. Откроется окно редактирования, в котором значение 3012 меняете на другое, например 3005. Теперь таймер будет включен утром с 5-00 до 6-00 и вечером с 19-00 до 21-00. Так-же можно установить любое другое время.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
МК PIC 8-бит

PIC16F628A

1 В блокнот
VR1 DC/DC импульсный конвертер

LM2575

1 В блокнот
VT1-VT4 Биполярный транзистор

КТ3102

4 В блокнот
VT5 Биполярный транзистор

КТ315А

1 В блокнот
VD1-VD3 Диод Шоттки

1N5819

3 В блокнот
VD4 Выпрямительный диод

1N4004

1 В блокнот
VS1 Диодный мост

DB157

1 В блокнот
C1, C2 Конденсатор 20 пФ 2 В блокнот
С3, С6 Конденсатор 0.1 мкФ 2 В блокнот
С4 330мкФ 25В 1 В блокнот
С5 Электролитический конденсатор 100мкФ 25В 1 В блокнот
R1, R3, R6, R7, R11, R12 Резистор

300 Ом

6 В блокнот
R2, R4 Резистор

10 кОм

2 В блокнот
R5 Резистор

360 Ом

1 В блокнот
R8-R10, R13 Резистор

1.5 кОм

4 В блокнот
R14 Резистор

100 Ом

1 В блокнот
R15 Резистор

6.2 кОм

1 В блокнот
R16 Резистор

2 кОм

1 В блокнот
R17 Резистор

1 кОм

1 В блокнот
F1 Предохранитель 100 мА 1 В блокнот
L1 Катушка индуктивности 330 мкГн 1

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

Для упрощения программы было принято решение изменить схему подключения светодиода, индицирующего начало работы таймера. Выход на светодиод был перемещен с вывода 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 кб.


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

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


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