Самодельные электронные часы на pic16f628a. Простейшие электронные часы на PIC16F628A с подробно коментированным исходным кодом. Запуск и настройка часов

Answer

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry"s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five http://jquery2dotnet.com/ centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

Часы - будильник на микроконтроллере PIC16F628A с питанием от батареек

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

Рис 1. Вид передней панели.

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

Рис 2. Режимы индикации.

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

Рис 3. Схема часов.

Часы с небольшим 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

На МК. Сердцем его является микроконтроллер PIC16F628A. В схеме термометра используется 4-х значный или 2+2 светодиодный индикатор с общим анодом. Датчик температуры используется типа DS18B20, и в моем случае показания датчика отображаются с точностью 0,5*С. Термометр имеет пределы измерения теемпературы от -55 до +125*С, что достаточно на все случаи жизни. Для питания термометра была использована обычная зарядка от мобилы на ИП с транзистором 13001.

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

Для прошивки PIC16F628A я использовал программу ProgCode, установив её на компьютер и собрав программатор ProgCode по известной схеме:

Обозначение выводов используемого микроконтроллера и цоколёвка некоторых других аналогичных МК:

Программа ProgCode и инструкции с фотографиями пошаговой прошивки находятся в архиве на форуме. Там же и все необходимые для этой схемы файлы. В программе открываем и нажимаем на кнопку "записать всё”. В моем изготовленном устройстве, как видно из фотографий, собрано 2 термометра сразу в одном корпусе, верхний индикатор показывает температуру дома, нижний - на улице. Размещается он в любом месте помещения и соединяется с датчиком гибким проводом в экране. Материал предоставил ansel73. Прошивку редактировал: [)еНиС

Часы на PIC16F628A и датчике температуры DS18B20.

4-х сегментный светодиодный индикатор.

Анимированная смена индикации.

Вариант простых часов на популярном и доступном микроконтроллере PIC16F628A. Фактически c них начинался проект на AVR .

Описание часов.


1. Функции.

– часы, формат отображения времени 24-х часовый, часы:минуты.

– цифровая коррекция точности. Возможна ежесуточная коррекция ±25 сек. Установленное значение в 1 час 0 минут 30 сек будет прибавлено/вычтено из текущего времени.

– термометр.

– индикация. Поочередная.

– настраиваемая анимация смены показаний.

– использование энергонезависимой памяти микроконтроллера для сохранения настроек при отключении питания.

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

2. Настройка.

2.1. При включении питания часы в основном режиме.

2.2. Нажатием на кнопку SET производится вход в режим настроек и выбора параметра для установки. По-очереди доступны для установки:

– минуты;

– часы;

– секунды (обнуляются при нажатии на кнопки PLUS или MINUS );

– величина коррекции. В старшем разряде символ " с ";

– время индикации текущего времени. В старших разрядах символы " tc ". Диапазон установки 0÷99 сек. Если установлен 0, то время отображаться не будет;

– время индикации температуры. В старших разрядах символы " tt ". Диапазон установки 0÷99 сек. Если установлен 0, то температура отображаться не будет;

– выбор эффекта анимации. В старших разрядах символы " EF ". Если установлен 0, смена информации будет проводиться без эффектов , если выбран автоматический режим (символ А ), то будет производиться поочередная смена эффектов. Если выбран режим r , то смена эффектов будет производиться случайным образом.

– выбор скорости анимации. В старшем разряде символ " P ". Диапазон установки 0÷99. Одна единица соответствует примерно 2 мсек, чем выше величина, тем медленнее идет анимация.

2.3. Устанавливаемый параметр мигает.

2.4. Удержанием кнопок PLUS / MINUS производится ускоренная установка параметра.

3. Примечания.

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

При отключении основного питания (+12 V ) индикация отключается, часы продолжают идти. Питание МК осуществляется от резервного источника.

В архиве прошивки для индикаторов с общим катодом и анодом, проект в Proteus и описание.

Вопросы, пожелания в форум .

11.03.2015

Добавлена обновленная прошивка для индикатора с общим катодом. В новой прошивке больше эффектов анимации и небольшие изменения в алгоритме. Подробное описание в архиве.

Часы с небольшим 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 руб:

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

Источник: www.cxem.net


C этой схемой также часто просматривают:
Похожие публикации