Простое GSM охранное устройство на PIC16F628A с электронным ключом типа Touch Memory. Схема электронных часов на pic16f628a - устройства на мк - radio-bes - электроника для дома Описание оригинальной схемы

Принципиальная схема частотомера

Микроконтроллер PIC16F628A служит для того, чтобы выполнить всю работу без каких-либо дополнительных микросхем. На 16F628A 16 I/O выводов, два из которых используются для кварцевого генератора, один предназначен для ввода сигнала, а другой может быть использован только для ввода, что дает нам только 12 полезных I/O контактов. Решение - поставить транзистор, который открывается при выключении всех других цифр.

Светодиодный 7-сегментный дисплей, используемый здесь, с общим катодом типа BC56-12SRWA. Когда все сигналы находятся на высоком уровне, транзистор Q1 открывается и переключается на первой цифре. Ток для каждого сегмента составляет около 7 мА.

Вся схема частотомера потребляет тока порядка 30 мА в среднем. Микроконтроллер использует свой внутренний 4 MHz генератор для тактирования CPU. А внешний кварцевый генератор с частотой 32768 Hz нужен для установки 1 второго временного интервала. Tmr0 используется для подсчета входного сигнала на выводе RA4.

В качестве входного сигнала нужно будет 5 вольт прямоугольного вида. Сам частотомер может измерять до 1 мегагерца, что более чем достаточно для любительских проектов. Это сделано для удобства, так как счетчик может достигать показаний 999999 Гц - и ничего переключать не нужно. Меряем хоть 11 герц, хоть 139,622 килогерц.

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


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

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


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

Вот еще один образец лабораторного оборудования — LC метр. Данный режим измерения, особенно замер L практически невозможно найти в дешевых заводских мультиметрах.

Схема данного LС метра на микроконтроллере была взята с сайта www.sites.google.com/site/vk3bhr/home/index2-html. Прибор построен на PIC микроконтроллере 16F628A, и так как я недавно приобрел программатор PIC, я решил испытать его это с помощью этого проекта.

Я убрал регулятор 7805, так как решил использовать зарядное устройство на 5 вольт от сотового телефона.

В схеме подстроичный резистор на 5 кОм, но на самом деле я поставил 10 кОм, согласно datasheet на приобретенный LCD модуль.
Все три конденсаторы 10 мкФ танталовые. Необходимо заметить что конденсатор C7 – 100мкФ на самом деле 1000мкФ.
Два конденсатора по 1000пФ конденсаторы styroflex с допустимым отклонением в 1%, индуктивная катушка 82мкГн.

Общий ток потребления с подсветкой составляет около 30мА.
Резистор R11 ограничивает ток подсветки и должен быть рассчитан в соответствии с фактически используемым LCD-модулем.

Я использовал оригинальный рисунок печатной платы в качестве отправной точки и изменил его под имеющиеся у меня компоненты.
Вот результат:




Последние две фотографии показывают LC метр в действии. На первом из них измерение емкости конденсатора 1нФ с отклонением 1%, а на втором — индуктивность 22мкГн с отклонением в 10%. Устройство очень чувствительно – то есть, с неподключенным конденсатором он показывает емкость порядка 3-5 пФ, но это устраняется путем калибровки.

Часы с небольшим 4-х цифровым индикатором. Точка между часами и минутами мигает с частотой 0,5 секунд. Можно встроить в любой предмет: в настольный календарь, в радиоприемник, в автомобиль. Расчетная погрешность – 0,00002%. На практике – за полгода ни разу не было необходимости в коррекции.

Питание 4.5 - 5 вольт, ток до 70мА. Стабилизатор напряжения находится в вилке - адаптере. Он собран на 3 ваттном трансформаторе и высокочастотном преобразователе – стабилизаторе по стандартной схеме. Для авто, конечно, трансформатор не нужен. Микросхема без радиатора, практически не греется. Разъём для блока питания 3.5мм. Кварц 4 МГц. Транзисторы n-p-n любые маломощные.

Кнопки любые. Длина толкателя кнопок выбирается исходя из требований конструкции. Можно кнопки припаять и со стороны проводников. При каждом нажатии на кнопку добавляется единичка. При удержании – счет ускоряется до разумной скорости.

Резисторы МЛТ – 0,25. R7 – R14 300 – 360 Ом. R3 – R6 1-3 кОм.
Аккумуляторы: 4 штуки из GP- 170, или подобные. При отключении сетевого напряжения они питают только микроконтроллер. 8 суток выдерживают точно, проверил.
Диоды с наименьшим падением напряжения в прямом направлении.

Платы изготовлены из одностороннего фольгированого стеклотекстолита.

До установки микроконтроллера в панель изготовленной платы, включите питание и замеряйте напряжение на 14 ножке панельки. Должно быть 4,5 – 4,8 вольт. На 5-ой ножке 0 вольт. Если вы не уверены в качестве изготовленной платы или в исправности деталей – проверьте устройство без микроконтроллера. Делается это очень просто:

  • Вставьте перемычку из оголенного провода в панельку, 1 и 14 клемму. Это значит, что +4,5 вольт с первой ноги через резистор откроет транзистор VT 2 и катод индикатора единиц часов будет соединен с нулем.
  • Любой провод присоединить одним концом к +, а другим концом поочередно касаться клемм 6,7,8,9,10,11,12,13 панельки.
  • При этом наблюдать зажигающиеся сегменты и их соответствие схеме: + на 6-ой ножке – горит сегмент "g" и так далее.
  • Переставьте перемычку в 2 и 14 клеммы панельки. Проверьте все сегменты индикатора единиц минут.
  • Перемычка 18 и 14 – проверяются десятки часов, 17 и 14 – десятки минут.

Если что-то неправильно работает – исправляйте. Если все правильно – программируйте микроконтроллер и вставляйте, при отключенном питании, в панельку.
НЕХ файл прилагается.
Включайте питание и получайте готовые часы.

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

  • PIC16F628A – 22,8 грн
  • LM2575T-5.0 – 10грн
  • FYQ 3641AS21 - 9,3грн
  • Панелька – 3грн
  • Кварц – 1,5грн

Литература:

  • Pic микроконтроллеры. Все, что вам необходимо знать. Сид Катцен.2008г.
  • PIC-микроконтроллеры. Архитектура и программирование. Майкл Предко. 2010г.
  • Pic микроконтроллеры. Практика применения. Кристиан Тавернье.2004г.
  • Разработка встроенных систем с помощью микроконтроллеров PIC. Тим Уилмсхерст. 2008г.
  • Data sheet: PIC16F628A, FYQ 3641, LM2575.
  • Самоучитель по программированию PIC контроллеров для начинающих. Евгений Корабельников. 2008г.

Ниже вы можете скачать прошивку и печатную плату в формате LAY

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

Обозначение Тип Номинал

Магазин

МК PIC 8-бит

PIC16F628A

1
Поиск в магазине
VR2 DC/DC импульсный конвертер

LM2575

1 Поиск в магазине
VT1-VT4 Биполярный транзистор

КТ315А

4
Поиск в магазине
VD1, VD3, VD4 Диод

Д310

3
Поиск в магазине
VD2 Диод Шоттки

1N5819

1
Поиск в магазине
VD5 Диодный мост

DB157

1
Поиск в магазине
С1, С2 Конденсатор 20 пФ 2
Поиск в магазине
С3 Конденсатор 0.1 мкФ 1
Поиск в магазине
С4 330 мкФ 16 В 1
Поиск в магазине
С5 Электролитический конденсатор 100 мкФ 35 В 1
Поиск в магазине
R1, R2 Резистор

10 кОм

2
Поиск в магазине
R3-R6 Резистор

1.5 кОм

4
Поиск в магазине
R7-R9, R11-R14 Резистор

300 Ом

7
Поиск в магазине
R10 Резистор

360 Ом

1

Данное устройство представляет из себя обычные электронные часы с будильником, но управляются они с пульта дистанционного управления на ИК лучах. Часы реализованы программно, индикация динамическая. В схеме предусмотрено резервное питание, на случай отключения эл.энергии. Будильник реализован на простой "пищалке" с встроенным генератором - buzzer.

Пульт управления реализован на микроконтроллере PIC12F629. Питается пульт от обычной батарейки для материнской платы компьютеров. Если не нажата ниодна из кнопок - микроконтроллер находится в режиме SLEEP и практически не потребляет тока. Как только кнопка нажата - микроконтроллер "просыпается" и формирует кодовую посылку на ИК светодиод.


При включении питания на дислей выводится текущее время, двоеточие мигает. Если нажать кнопку CLOCK диплей покажет время на которое установлен будильник (двоеточие не мигает), либо --:-- , если будильник выключен. Повторное нажатие на кнопку CLOCK, или через 6 секунд - девайс будет опять отображать текущее время. Нажатие кнопки COR переводит устройство в режим коррекции часов, если в данный момент индицируются часы; либо в режим установки будильника, если на дисплее отображается будильник. Первое нажатие - мигают часы, кнопкой +1 устанавливаются часы, второе нажатие кнопки COR - мигают минуты - кнопкой +1 устанавливаются минуты, третье нажатие - выход из режима коррекции часов (или будильника). Если корректируется время будильника - то он автоматически включается.

Когда дисплей индицирует время установки будильника (включается кнопкой CLOCK) - нажатие кнопки +1 включает, а повторное нажатие выключает будильник, дисплей, соответственно, показывает время установки будильника или --:-- (двоеточие не мигает). Если будильник выключен, то время его установки не сбрасывается.

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

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

Для резервного питания часов, также как и в пульте управления, использована батарейка от материнской платы компьютера. Ее напряжение 3V, поэтому микроконтроллер в часах нужно применить низковольтный - PIC16LF628A. Если же применить батарейку с напряжением более 3,6V то подойдет и обычный PIC16F628A. Ну и совсем идеальный вариант - применить микроконтроллер с технолигией NANOWATT - PIC16F819 (Внимание! для этого микроконтроллера используется другая прошивка).