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

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

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

   Применение сверхяркого
индикатора позволяет снизить ток, потребляемый схемой. Снижение тока
потребления также достигается в режиме «LoFF» — индикатор погашен, при
этом включена только мигающая точка младшего разряда часов. Рис
1. Вид передней панели.

   Регулируемая яркость индикаторов позволяет выбрать
наиболее комфортное отображение показаний (и опять же снизить
энергопотребление).

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

   Коррекция показаний, выведенных на индикатор
включается
при нажатии на кнопку «Коррекция». При этом кратковременная подсказка
выводится на 1/4 секунды, после чего корректируемое значение начинает
мигать с частотой 2 Гц. Корректируются показания кнопками «плюс» и
«минус». При длительном нажатии на кнопку, включается режим
автоповтора, с заданной частотой. Частоты автоповтора нажатия кнопки
составляют:  для часов, месяцев и дня недели — 4 Гц;
 для
минут, года и яркости индикатора — 10 Гц;  для корректирующего
значения — 100 Гц.

   Все откорректированные значения, кроме часов,
минут и
секунд, записываются в EEPROM и восстанавливаются после выключения —
включении питания. Секунды при коррекции обнуляются. Из всех режимов,
кроме часы-минуты, минуты-секунды и LoFF организован автоматический
возврат. Если в течение 10 секунд ни одна из кнопок не нажата, то часы
переходят в режим отображения часов — минут.

  Нажатием на кнопку «Вкл/Выкл буд.» включается/выключается
будильник. Включение будильника подтверждается коротким двухтональным
звуком. При включенном будильнике светится точка в младшем разряде
индикатора.

   В режиме «Corr» на индикатор выведена
корректирующая
константа, начальное значение которой 5000 микросекунд в секунду. При
отставании часов константу увеличиваем на величину отставания,
вычисленное в микросекундах за одну секунду. Если часы спешат, то
константу уменьшаем по тому же принципу.Рис
3. Схема часов.

Прошивки

Clock_4c_bat.hex  
Прошивка, полностью
соответствующая выше приведенному описанию (обычный HEX формат)
Clock_4c_01.hex 
   Прошивка с
изменённым
расположением кнопок для платы-1
 — укорочен от 1/10 до 1/20
сек. звук подтверждения  нажатия на кнопку

Печатные
платы

Рис
4. Вид смонтированных часов.

Часы удалось смонтировать в
корпус от неисправных
электромеханических часов. Туда же установлены три мизинчиковых
батарейки.

Замерены токи потребления часов в разных режимах:
— режим LoFF  
     
       0,95 мА  (расчётное
время
работы 80 суток для батарей, ёмкостью 2000 мАч )

           
       
        — режим 10%  
яркости   1,9 мА

           
       
        — режим 50%  
яркости   5,0 мА

           
       
        — режим 100% яркости
  8,8 мА

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

www.kaligraf.narod.ru

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

Схема и программа очень простых часов на микроконтроллере AVR с использованием микросхемы реального времени DS1307

Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “Радиолюбитель“

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

Конструкция собрана на микроконтроллере ATyni26 (просто именно этот МК был под рукой). Но вы можете применить любой другой МК, главное чтобы у него было 13 свободных входов – 11 для вывода текущего времени на четырехразрядный семисегментный светодиодный индикатор и 2 вывода – на кнопки установки и коррекции времени.

Схема часов:

В схеме применены следующие детали:
— Микроконтроллер – ATyni26 в DID корпусе
– Часы реального времени – DS1307 в DIP корпусе
– Кварц – 32,768 кГц, с входной емкостью 12 пф (можно взять с материнской платы компьютера), от этого кварца зависит точность хода часов
– резервное питание DS1307 – 3 вольтовый литиевый элемент CR2032
– 4-разрядный семисегментный светодиодный индикатор – FYQ-5641UB -21 с общим катодом (ультраяркий, голубого цвета свечения)
– все транзисторы – NPN-структуры, можно применить любые (КТ3102, КТ315 и их зарубежные аналоги), я применил ВС547С
– микросхемный стабилизатор напряжения типа 7805
– все резисторы мощностью 0,25 ватт
– полярные конденсаторы на рабочее напряжение 50 вольт
Ток потребления устройством составляет до 30 мА.
Для питания конструкции можно использовать любое ненужное зарядное устройство от телефона или подходящий блок питания с выходным напряжением 7-9 вольт.
Общение микроконтроллера с часами DS1307 происходит по шине I2C и организовано программным путем.
Батарейку резервного питания часов DS1307 можно и не ставить, но в этом случае, при пропадании напряжения в сети, текущее время придется устанавливать заново.
Печатная плата устройства не приводится, конструкция была собрана в корпусе от неисправных механических часов. Светодиод (с частотой мигания 1 Гц) служит для разделения часов и минут в конструкции.

Работа программы.
Тактовая частота работы микроконтроллера – 1 мГц (заводская установка, FUSE-биты трогать и устанавливать не надо). Размер программы – 1 килобайт.
При запуске программы происходит:
— запуск таймера Т0 с предустановленной частотой СК/8 и вызовом прерывания по переполнению (при такой предустановленной частоте вызов прерывания происходит каждые 2 миллисекунды)
– инициализация портов (порты РА0-6 и РВ0-3 настраиваются на вывод, РА7 и РВ6 на ввод)
– инициализация шины I2C (выводы РВ4 и РВ5)
– при первом запуске, или повторном запуске при отсутствии резервного питания DS307, проверяется 7 бит (СН) нулевого регистра DS1307 и происходит переход в первоначальную установку текущего времени. При этом, кнопка S1 – для установки времени, кнопка S2 – переход к следующему разряду. Установленное время – часы и минуты записываются в DS1307 (секунды устанавливаются в ноль), а также вывод SQW/OUT (7-й вывод) настраивается на генерацию прямоугольных импульсов с частотой 1 Гц
– разрешается глобальное прерывание
– программа переходит в цикл с опросом копки S2
При переполнения счетчика таймера Т0 программа переходит к обслуживанию прерывания (каждые 2 мс):
– считывается текущее время с DS1307 которое записывается в четыре переменные SRAM (десятки часов, единицы часов, десятки минут, единицы минут)
– подпрограммой вывода текущего времени производится динамическая индикация текущего времени на светодиодном индикаторе
– при нажатии кнопки S2 программа запрещает глобальное прерывание и переходит в подпрограмму коррекции времени (кнопками S1 и S2 устанавливаются десятки и единицы минут, затем, с 0 секунд, нажатием кнопки S2 происходит запись уточненного времени в DS1307, разрешение глобального прерывания и возвращение в основную программу).

Примененные в схеме часы DS1307 позволяют выводить на индикацию секунды, минуты, часы, день недели, дату и год.
Если в схеме вместо светодиодных индикаторов применить LCD дисплей, к примеру WH0802 (двухстрочный, с выводом восьми символов в строке) или аналогичный, то можно организовать полноценные часы с полным выводом текущего времени, а питание устройства организовать от гальванических элементов или аккумуляторных батарей.

Расположение выводов микроконтроллера ATyni26:

Расположение выводов DS1307:

Типовая схема подключения D1307:

Рекомендуемая схема подключения кварца к DS1307:

Общение микроконтроллера с часами реального времени DS1307 организовано программным путем, поэтому в схеме можно применить микроконтроллер у которого нет аппаратного модуля I2C.

Программа написана в среде Algorithm Builder, и если вы используете эту программную среду, то сможете ознакомиться с алгоритмом общения микроконтроллера с другими устройствами по шине I2C (в алгоритме подробно прокомментирована каждая строчка).


  Даташит DS1307 на русском (312.1 KiB, 1,680 hits)

  Часы на ATyni26 в Algorithm Builder (8.2 KiB, 1,610 hits)

  Программа часов на ATyni26 в HEX коде (3.1 KiB, 1,445 hits)

  Схема часов в формате sPlan7 (119.3 KiB, 1,997 hits)



radio-stv.ru

Alex_EXE » PIC16F628A

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

Фотография модуля

Часы состоят из микросхемы DS1307, кварца на 32,768Кгц, батарейки и 2-х подтягивающих резисторов на линии SDA и SLC. Благодаря батарейке они продолжают идти при отключении внешнего питания. Также у DS1307 есть свободные 56 байтов энергозависимой статической ОЗУ, которые можно использовать в своих целях.

Читать полностью »

Alex_EXE | 21.12.2010 | Микроконтроллеры |

Одна из самых больших вкусностей PIC16F628A – является последовательный порт. С его помощью контроллер можно сопрягать с компьютером, с другими контроллерами и различной периферией, его можно легко преобразовывать в другие интерфейсы RS-232/422/485. Его можно использовать как для постоянной связи с компьютером, так и только на стадии отладки. В данной статье рассмотрим простой пример связи микроконтроллера с компьютером.

Фото сопрягаемой платы

Читать полностью »

Alex_EXE | 04.12.2010 | Микроконтроллеры |

Компаратор (аналоговых сигналов) – электронная схема, принимающая на свои входы два аналоговых сигнала и выдающая логическую «1», если сигнал на прямом входе («+») больше чем на инверсном входе («-»), и логический «0», если сигнал на прямом входе меньше чем на инверсном входе.

Многие микроконтроллеры содержат встроенные модули компараторов.

В микроконтроллере присутствует также источник опорного напряжения, задача которого разделить напряжение питания до нужного значения.

Читать полностью »

Alex_EXE | 12.11.2010 | Микроконтроллеры |

Небольшой преобразователь интерфейсов RS232-RS485. Предназначен для подключения линии RS-485 к компьютеру через COM порт, также может применяться и по-другому. Изготавливался для проекта умного дома и имеет соответствующий проекту 6-ти контактный телефонный разъём линии RS-485 и его распиновку.

Вид платы конвертера RS232 — RS485

Читать полностью »

Alex_EXE | 28.09.2010 | Умный дом |

Написание программы.


Дисплей nokia 3310
Результат работы функции проверки дисплея.

Читать полностью »

Alex_EXE | 20.07.2010 | Микроконтроллеры |

Автоматизированный дом, который выполняет команды владельца, предугадывает желания и исполняет их, управляет всей или почти всей электроникой в доме – это умный дом. Умный дом – очень сложная структура, состоящая из множества кирпичиков, которые подчиняются единому центру. Эти кирпичики могут: как полностью подчиняться центру, а могут быть и самостоятельными модулями, со связью с центром.
Одному из таких кирпичиков умного дома посвящена данная статья, а этот кирпичик – релейный выключатель на 3 переключающихся реле и 2 кнопки с подсветкой для управления ими. Подсветка кнопок зависит от состояния включения реле. Также модуль оснащён интерфейсом для подключения к единой сети умного дома, в качестве которого выбран RS-485, с протоколом управления всем этим хозяйством.

Читать полностью »

Alex_EXE | 08.02.2010 | Умный дом |

Данный термометр позволяет подключит 2 термодатчика, в роли которых выступаю DS18S20. Один термодатчик, который подключен к 18 выводу микроконтроллера припаян к плате и является внутренним, в то время как второй датчик выносной и подключаеться к схеме по средством штекера, удобно использовать аудио стерео штекеры. Кнопка S1 производит выбор датчика: внутренний или внешний. Принципиальная схема термометра:

Читать полностью »

Alex_EXE | 15.09.2009 | Измерительная техника, Микроконтроллеры |

alex-exe.ru

Большие светодиодные часы-календарь на микроконтроллере ATMega8

Читать все новости

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

В основе  часов находится микроконтроллер ATMega8 и  микросхема — DS1307.  Таким образом принципиальная схема получилась достаточно простой (Рис.1).

Рис.1. Принципиальная схема часов на микроконтроллере ATMega8

Микросхема DS1307 – представляет собой экономичные часы реального времени с последовательным интерфейсом. DS1307 содержит часы-календарь с представлением информации в двоично-десятичном коде и 56 байт энергонезависимого статического ОЗУ. Адрес и данные передаются по двунаправленной двухпроводной последовательной шине. Информация о реальном времени и календаре представляется в секундах минутах, часах, дне, дате, месяце и годе. Если текущий месяц содержит менее 31 дня, то микросхема автоматически определит количество дней в месяце с учетом высокосности текущего года. Часы работают или в 24-часовом или 12-часовом формате с индикатором AM/PM (до полудня/ после полудня). DS1307 содержит встроенную схему контроля уровня основного источника питания и при его недопустимом значении автоматически переключается к резервной батареи Bat1.
Написание программы для микроконтроллера ATmega8 и его сопряжение с DS1307 не составило особого труда.

Больше всего пришлось повозится над созданием светодиодного табло с большими цифрами и его коммутацией с источником питания, напряжением больше чем питание микроконтроллера. Как известно микроконтроллер ATmega8 питается от 5В, а для моего светодиодного табло необходимое напряжение около 14В.

Светодиоды соединены по такой схеме:

Рис.2. Светодиодный индикатор

В одном сегменте индикатора 6 светодиодов, рассчитанных на 3В каждый. Как видим из Рис.2 все сегменты соединены между собой катодами (индикатор с общим катодом).

Каждый сегмент индикатора коммутируется с «+» источника питания через транзисторные драйвера выполненные на транзисторах BC547 (см.Рис.1, VT1,VT2). Таких драйверов 7 (на каждый сегмент). С другой стороны, для коммутации индикаторов (подключения общих катодов индикаторов к «-» источника питания) используется микросхема ULN2003A. Это 7-канальный коммутатор мощных нагрузок на основе транзисторов Дарлингтона (составных) с открытым коллектором.


Светодиоды вставлены в трехслойную фанеру, окрашенную в черный цвет. Корпус, как видим из ДСП. Поскольку красного светофильтра не нашел, то табло закрыл обычным стеклом.

Вот так получилось:

Рис.3. Часы с большим светодиодным дисплеем на микроконтроллере ATmega8

Рабочий режим:

Рис.4. Часы с большим светодиодным дисплеем на микроконтроллере ATmega8

Рис.5. Часы с большим светодиодным дисплеем на микроконтроллере ATmega8Рис.6. Часы с большим светодиодным дисплеем на микроконтроллере ATmega8

Часы и календарь отображаются на табло поочередно.

Видео работы и настройки часов-календаря:

Да, чуть не забыл, в начале каждого часа подается короткий сигнал через buzer со встроенным генератором (см. Рис.1).

Файлы к проекту:

Чтобы увидеть ссылку войдите или зарегистрируйтесь

Fuse-биты при программировании выставляем так:

Возможно, Вам это будет интересно:

meandr.org

ЧАСЫ-БУДИЛЬНИК С ДУ на PIC16F628A | Библиотека устройств на микроконтроллерах

ЧАСЫ-БУДИЛЬНИК С ДУ на PIC16F628A

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

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

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

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

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

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

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

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

elektro-shemi.ru

ЧАСЫ НА PIC16F628 С ДАТОЙ И ДНЕМ НЕДЕЛИ — Proton PICBasic

Порядок вывода комментариев:
По умолчаниюСначала новыеСначала старые

Спасибо, то-же очень нравятся, все друзья кто не увидит, первое слово, а мне такие.

Вот решил написать маленький отчет по часам, прошло ровно пол года с последней коррекции, корректировал 12 января, за пол года часы отстали на 3 секунды, показатель на мой взгляд отличный, я собрал уже трое таких часов, и у всех коррекция разная на первых 4018 на вторых 4021 на третьих 4016, вот такой разброс у кварцев, хотя кварцы и кондеры с одной посылки, утверждать что с одной партии не буду.
Вообщем часами доволен не только я, в доме хоть одни нормальные часы появились, похрену отключение света, идут точно, рекомендую попробовать, не пожалеете. Просьба если кто повторил, напишите отзыв, интересно узнать от людей впечатления, все-же это моя первая разработка на PIC.
Желаю всем удачи.

Подскажите на плате два полярных конденсатора а на схемеодин и еще на плате R или С рядом с пол.конденс.на схеме его нет

Ура сделал часы, работают. xaker-sss  огромное спасибо за помощь . Я рад что естьтакие люди как  ты. Вы радуете и приносите
хорошее   настроение, удачи.

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

Привет. Отчет: Прошло 24 часа полет нормальный , часы идут. Чтомне еще в этих часах нравится, так это коррекция, если часы отстают или спешат
можно исправить.
xaker-sss, не подскажешь,как можно сделать, чтобы индикаторы в определенное время примерно с 22 до 07
было более слабое свечение, а то  они  даже с затемненным стеклом как ночник. С однойстороны это даже плюс, но когда они смотрят прямо на тебя.
       Наверно это уже другая работа и часы. Пока

Да это надо прошивку дорабатывать, добавлять ШИМ, пока это не планирую.

Уважаемый автор! Я понимаю, что прошло много времени, но хочу спросить:
Как бы сделать так, чтобы день недели отображался не порядковым номером, а выводился на 14- или 16-ти сегментный индикатор в формате ПН, ВТ, СР, ЧТ, ПТ, СБ, ВС.
Вы не пробовали ? Было бы здорово! Часы эти с собрал, работают замечательно.

www.picbasic.ru