Часы на pic16f628a схема ds1307 – «Red Dragon» — часы на газоразрядных индикаторах ИН-14 + PIC16F628A » Журнал практической электроники Датагор (Datagor Practical Electronics Magazine)

ЧАСЫ С ТЕРМОМЕТРОМ НА PIC16F628A

Часы построены на микроконтроллере PIC16F628A, в качестве датчика используется DS18B20, транзисторы BC212 управляют общими анодами семисегментного индикатора, также в состав схемы входят несколько пассивных элементов.

Устройство настраивается с помощью 4-х кнопок. Одна увеличивает, другая уменьшает значение, третья кнопка используется для входа в меню, а также переключает элементы меню. При выходе из меню настройки сохраняются в EEPROM контроллера. Если часы зависают по какой-то причине кнопкой сброса они могут быть перезапущены. Часы будут продолжать работать с последними сохраненными значениями. Микроконтроллер тактируется от внешнего кварца частотой 4МГц для более точного отсчета времени. PIC16F628 управляет дисплеем в режиме мультиплексирования. Индикаторы находятся под контролем одного типа транзистора — BC212.

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

 

Настройка часов, описание меню:

— ho: Установка часов 0-23 
— nn: Установка минут 0-59 
— dn: Установка месяца
— dd: Установка числа месяца
— dY: Установка года
— dt: Установка формата индикации месяца. Если 1 — буквами(JA FE ||A AP ||Y JU JL AU SE oc no dE), 2 — цифрами(01 02 03 04 05 06 07 08 09 10 11 12). 
— tt: Задержка индикации времени. Значение переменной 2-99с 
— td: Задержка индикации даты. Значение переменной 2-99с. В случае если равно нулю дата не показывается! 
— tE: Задержка индикации температуры. Значение переменной 2-99с. В случае если равно нулю температура не показывается! 
— Sh: Калибровка шестнадцатеричного значения (см. ниже) 
— Sl: Калибровка шестнадцатеричного значения (см. ниже)

Примеры установки калибровок Sh/Sl:

Отставание на 30 секунд в 24 часа: 30/86400 = 0,000347 
1000000 — (1000000 * 0,000347) = 999653 (в десятичной системе) = F40E5 (шестнадцатеричной)

В результате шестнадцатеричное значение 40E5 раскладываем на Sh=40, SL=E5

Отставание на 2 секунды в 1 час: 2/3600 = 0,000555 
1000000 — (1000000 * 0,000555) = 999445 (в десятичной системе) = F4015 (HEX)

Sh=40, SL=15

Спешат на 15 секунд за 60 дней: 15/5184000 = 0,000002 
1000000 + (1000000 * 0,000555) = 1000002 (в десятичной системе) = F4242 (HEX)

Sh=42, SL=42

Скачать прошивку и печатную плату 

shemu.ru

Точные часы и таймеры

При использовании маломощного сверхяркого индикатора (такого
как
CA04-41SRWA) и обычных пальчиковых или мизинчиковых батареек (ещё
лучше, но дороже поставить аккумуляторы)
необходимости отключать индикатор во время отсутствия сетевого
напряжения нет. 

 Схема такого варианта питания удобна, если применён блок
питания,
выполненный в виде зарядного для мобильного телефона со
стабилизированным выходным напряжением 5 вольт.

  В этом случае можно использовать любую из прошивок для часов
с
питанием от батареек (clock_4c).

Рис
1. Схема часов без
контроля внешнего напряжения питания(clock_4c_02a)

  В том случае, если используется индикатор с большим
потреблением, или миниатюрные батарейки с малым ресурсом, лучше
использовать схему с контролем напряжения питания. В этой схеме
контроллер проверяет наличие напряжение на входе RA5 (4-й вывод
микросхемы).
  При отсутствии напряжения обесточиваются индикаторы, цепь
звука
и игнорируется нажатие на кнопки, а сам контроллер продолжает
отсчитывать время.
 Кроме того анодные цепи индикатора дополнительно усилены
транзисторами, чтобы не перегрузить порты микроконтроллера. Резисторы в
цепях катодов индикатора устанавливаются с таким расчётом, чтобы
максимальный ток на одном сегменте не превышал 25 мА. 

Рис
2. Схема часов с контролем
внешнего напряжения питания(clock_4c_02b)

Здесь
Вы можете загрузить
прошивку для схемы clock_4c_02b

Clock_4c_02b_cod.hex 
в
HEX формате

  
   
     

Описание работы часов полностью соответствует описанию часов
с питанием от батареек.

Успехов
Вам в
творчестве!

www.kaligraf.narod.ru

Простые электронные часы на PIC16F628A — 26 Декабря 2014 — Блог

Простые электронные часы на PIC16F628A 

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

схема часов:

Схема очень простая, простой и алгоритм их работы (см.коментарии в исходнике). Кнопки кн1 и кн2 служат для коррекции времени — часов и минут соответственно. Часы имеют 24 часовой формат отображения. В 1-м разряде часов сделано гашение незначащего нуля. Точность хода часов целиком зависит от частоты кварцевого резонатора. Но даже без специальных подборок кварцев и конденсаторов в тактовом генераторе — часы идут весьма точно.

Часы собраны на 2-х печатных платах, пристыкованных одна к одной под углом 90 градусов. На одной плате размещен целиком индикатор, а все остальное на другой. Элемент резервного питания выломан из китайской зажигалки со светодиодным фонариком. Удаляем светодиод, а держатель батареек устанавливаем на плату. На фотографии видно, что к батарейкам выведены обрезки выводов резисторов — они то и держут всю эту конструкцию. Конечно емкость таких батареек невелика, но когда часы питаются от сети, ток от батареек не потребляется. Они питают схему, только если нет сетевого питания. При этом питается только микроконтроллер, индикатор же от батареек не питается, поэтому гаснет, а часы продолжают ход. Кнопки управление вынесены с платы в любое удобное место корпуса. Конструкция кнопок может быть любой. Для питания от сети использован китайский БП-адаптер, в который добавлена плата с микросхемой 7805 (5-ти вольтовый стабилизатор). Вобще подойдет любой блок питания, с выходным напряжением 5В и током 150мА.

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

 

 

Скачать прошивку и плату

 

 

 

radiolubitel.moy.su

Новые часы-термометр в гараж на PIC16F628A — DRIVE2

Решил собрать ещё одни часы для гаража так как прошлые показались мне маленькими в моём большом гараже. Мне нужны часы побольше. Одни у меня уже забрал сосед по гаражу вторым на LCD1602 придумал другое применение.
Схема новых часов аналогична моим первым часам только добавлены драйвер и транзисторные ключи. В качестве драйвера индикации использовал UNL2804, a в качестве драверов индикаторов транзисторные ключи на NPN транзисторах. Индикаторы применил с общим анодом SA15-11SRWA.

Полный размер

индикаторы

Я уже пытался разработать часы на больших индикаторах разработка обсуждалась в статье Часы-Термометр в гараж версия с большими индикаторами (разработка). Но до практической реализации дошло только сейчас.
Вот сама схема.

Полный размер

схема

Разработал плату согласно имеющимся компонентам.

Полный размер

Сторона деталей

Полный размер

Сторона проводников

Ну и наконец готовое устройство.

Полный размер

часы-термометр

Полный размер

снял индикаторы

Полный размер

Плата без индикаторов

Полный размер

сторона дорожек

Так как у индикаторов тонкие ножки они держатся не очень надёжно. Я их слепил между собой двух сторонним скотчем.

Полный размер

слепил вместе

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

Полный размер

время, точка мигает но сфотографировал когда точка погасла

Полный размер

температура

Полный размер

Полный размер

Вся документация схема, плата прошивка в архиве.
Скачать архив в архиве все мои разработки часов по этой схеме. И добавлю, плату можно использовать с любыми, самодельными индикаторами просто в разъёмы втыкаем штекера от своих индикаторов, допустим как сделано тут.
Небольшое видео по работе часов.

Вот собственно и всё. Думаю эти часы в моём гараже обоснуются надолго.

www.drive2.ru

Простые часы на микроконтроллере PIC16F628

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

Данную конструкцию можно рекомендовать начинающим, я специально снабдил исходную программу подробными комментариями, чтобы легче было понять, что и как тут работает. Схема очень простая, простой и алгоритм их работы(см.комментарии в исходнике). Кнопки S1 и S2 служат для коррекции времени — часов и минут соответственно.

Часы имеют 24 часовой формат отображения. В 1-м разряде часов сделано гашение незначащего нуля. Точность хода часов целиком зависит от частоты кварцевого резонатора. Но даже без специальных подборок кварцев и конденсаторов в тактовом генераторе — часы идут весьма точно. Элемент резервного питания это батарейка на 3в.(CR2032)
Установленная в батарея-держатель. Когда часы питаются от сети, ток от батарейки не потребляется. Она питает схему, только если нет сетевого питания. При этом питается только микроконтроллер, индикатор же от батарейки не питается, поэтому гаснет, а часы продолжают ход. Кнопки управление вынесены на боковую часть корпуса.
Конструкция кнопок может быть любой. (Я  использовал тактовые кнопки) Для питания от сети использовал зарядное устройство от моб. телефона NOKIA на 5в. (В реале там оказалось 9в.)

Вообще подойдет любой блок питания, с выходным напряжением 7,5-12в. и током 150мА   ( в схеме часов имеется стабилизатор напряжения).

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

Схема часов:

Ниже фото часов собранные мной в SMD-Варианте!

Кому нужен файл печатной платы, пишите!

Скачать архив : Схема, прошивка, исходник.

Скачать .ZIP

electronic-devices.com.ua

Часы-будильник с ДУ на PIC16F628A — Устройства на микроконтроллерах — Схемы устройств на микроконтроллерах

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

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

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

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

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

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

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


Скачать архив файлов — рисунки печатных плат и прошивки микроконтроллеров. 


cxema.my1.ru

Часы термометр на PIC16F628A, DS1307, DS18B20 или DS18S20. — Устройства на микроконтроллерах — Схемы устройств на микроконтроллерах

Начну из далека. Года два назад, когда я начал осваивать микроконтроллеры PIC16,  мне естественно хотелось собрать действующую схему. Был закуплен самый дешевый программатор, собрана схема, естественно самые простые часы на PIC16F84A. Все собрал, прошил, запустил, начал тестировать и понял, что это фигня. После примерно месяца работы, часы сбивались. Собрал еще одни на PIC16F628A с резервным питанием вроде, но они тоже через несколько месяцев работы сбивались. Понял я, что делать часы только на микроконтроллере не очень хорошая идея. Ну и естественно мой взор привлекли часы реального времени DS1307 с интерфейсом I2C. В сети достаточно много схем на этих микросхемах. Нашел, на мой взгляд самую оптимальную для себя с сайта:  http://c2.at.ua/load/pic/prostye_chasy_termometr_s_poocherednoj_smenoj_indikacii/12-1-0-136

Собрал, прошил, запустил. Отличные часы, простые, температуру показывают. Вроде все ничего, но при включение высвечивается на несколько секунд надпись «Soir». Возможно программист решил таким образом увековечить свой труд, но на мой взгляд это как то не правильно.  С этим я смерился. Собрал я этих часов аж три экземпляра. Но вдруг оказалось, что датчика температуры DS18B20 у меня больше нет, но осталось 3 датчика DS18S20. Это и оказалось тем решающим фактором, который подвиг меня на написание своей программы для этих часов. Ну, почти этих, все таки одну перемычку все же пришлось добавить.  К этому времени я уже достаточно поднаторел в программировании PIC контроллеров, опять же как мне кажется. Ну в общем все получилось. Все изготовленные мной ранее   часы были перепрошиты и уже несколько недель успешно работаю, вроде даже без нареканий. Соответственно две прошивки, для DS18B20 и DS18S20. Ну вот и вся история.

Соответственно  прошивка  для датчика температуры DS18S20:

 Файлы к статье Часы термометр на PIC16F628A

 для датчика температуры DS18B20:

 Файлы к статье Часы термометр на PIC16F628A

PROTEUS:

DS18S20:  Файлы к статье Часы термометр на PIC16F628A

DS18B20:  Файлы к статье Часы термометр на PIC16F628A

Печатная плата с контроллером: Файлы к статье Часы термометр на PIC16F628A, DS1307, DS18B20 или DS18S20.

Плата индикатора: Файлы к статье Часы термометр на PIC16F628A, DS1307, DS18B20 или DS18S20.

Плата кнопок: Файлы к статье Часы термометр на PIC16F628A, DS1307, DS18B20 или DS18S20.

cxema.my1.ru