Часы - Таймер с кратковременными подсказками названий режимов

Проектировался этот таймер на микроконтроллере PIC16F628A, как таймер для аквариума и предназначен для включения/выключения освещения в аквариуме с циклом в одни сутки. Простая схема таймера содержит минимальное количество компонентов. Простота схемы делает это устройство одним из самых легкоповторяемых и недорогих. Программно в таймере реализовано очень удобное управление. Применение сверхяркого индикатора снижает ток, потребляемый схемой. Малое энергопотребление схемы позволяет применить конденсаторный источник питания от сети или малогабаритный маломощный трансформатор.
Таймер сделан на основе программы, в которой реализованы кратковременные подсказки названий режимов индикации. Здесь реализованы те-же самые функции, кроме управления звуком, и добавлена возможность управлять одной нагрузкой(освещением в аквариуме) с циклом в одни сутки.

Реализованные функции:

- отсчёт часов(0...23 с гашением незначащего нуля), минут, секунд, даты, месяца, дня недели, года
- определение количества дней в феврале для високосного года
- переход на летнее/зимнее время в последнее воскресенье марта и октября
- коррекция хода часов с точностью 1 микросекунда в секунду (30 секунд в год)
- регулируемая яркость индикаторов
- 10 режимов индикации с подсказками названий режимов
- управление нагрузкой по заранее выставленым уставкам времени (U_on - уставка включения UoFF - уставка выключения)
- включение/выключение нагрузки кнопкой S2

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

В таймере реализовано простое линейное меню из 10 пунктов. Переход по пунктам меню осуществляется с помощью кнопок "+" и "-".
Перед выводом на индикатор показаний соответствующего пункта выводится кратковременная подсказка названия пункта меню. Длительность отображения подсказки - одна секунда. Применение кратковременных подсказок делает устройство очень простым и удобным в управлении.

Рис. 1. Режимы индикации таймера


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

Рис. 2. Схема таймера


Фотки готового изделия сделанного мной лично













Прошивки

Timer_4c.hex Timer_4c.sfr (в формате программатора ProgCode)
В этой прошивке не реализован контроль внешнего напряжения питания. Применить её можно при использовании батареек ёмкостью от 1000 мА*ч. При 10% яркости индикатора такие батарейки обеспечивают работу схемы в течение более 2-х недель, и кратковременные отключения электричества не нарушат работу встроенных в таймер часов.

Timer_4c_02.hex Timer_4c_02.sfr (в формате программатора ProgCode)
Здесь контролируется напряжение на входе RA5 микроконтроллера. При отключении внешнего питания отключается индикатор, опрос кнопок и порт управления нагрузкой. Использование данной программы позволит продлить период автономной работы часов таймера во время отключений внешнего питания.

Скачать прошивки - chasi-taymer.rar - 9 KB

16 комментариев

shamasik 31 октября 2010 08:23
Ага вот еще че народ, в статье это не указанно но сегодня утром это было проверенно: если таймер настроен на правильную дату и время, то в день перевода времени на час вперед или назад он сам автоматически переводится, что и было проверенно мной сегодня с утра(31.10.2010)
--------------------
- Век живи - век учись, дураком подохнешь...
- Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
pashka1993 3 октября 2012 01:56
а по этой теме можете кинуть если можно разводку перечень элементов если есть ещё какие-нибудь данные по схеме
baron 21 октября 2012 11:17
что за расширение .sfr , поделитесь пожайлуста .lay

забыл спросить индикатор с общим анодом ? возможно ли использовать с общим катодом ?
shamasik 10 ноября 2012 12:54
Еще данные по схеме в продолжении статьи, печаток нет и не будет из-за простоты схемы, все элементы на схеме, что их перечислять, индикатор с общим анодом.
http://radiomaster.com.ua/9140-chasy-taymer-s-kratkovremennymi-podskazkami-nazva
niy-rezhimov-v20.html
--------------------
- Век живи - век учись, дураком подохнешь...
- Отложи на послезавтра то что можешь сделать сегодня, и тогда у тебя появятся два свободных дня!
Misterix 15 марта 2013 13:53
Спасибо за схемку. Очень пригодилась. Ребята вопрос: не могу скорректировать ход часов. Уж коррекцию поставил 0, все равно убегают. Как сбавить их прыть?
baron 15 марта 2013 17:17
Цитата: Misterix
Как сбавить их прыть?

подбором кондесаторов на кварце
Natali 15 марта 2013 19:00
Misterix,
другой кварц с заземлением корпуса на общий провод минус.
и вроде программная коррекция есть.
Misterix 18 марта 2013 06:54
Спасибо, попробую.
Misterix 26 марта 2013 10:26
Блин, ни фига не помогает. Что делать. И кондеи менял и коррекцию в нульь выставил.
Natali 26 марта 2013 11:54
Misterix,
замените кварц, на новый, попробуйте коррекцию поставить не в ноль а на максимум и посмотрите будут ли они спешить еще больше.
Misterix 27 марта 2013 07:04
Спасибо за советы. Уважаемая Наташа я попробовал следующее:
1. Подбор кондеев 15 - 270 пф - эффект тот же - за 1 минуту убегают на 1 -1.5 сек, при коррекции 0.
2. При коррекции 9999 - убегают на 3 сек.
3. Прошивку заменил - эффект тот же.
Скорее всего нужен другой кварц, хотя кварц менял, правда они с одной серии.
Misterix 18 апреля 2013 17:23
Заменил кварц, все прекрасно работает, еще раз спасибо. Не нужно паят кварц к корпусу и подбирать конденсаторы. Оказывается кварцы тоже бывают _овно.
Geka 13 апреля 2014 22:09
Не реагирует на нажатие ни одна кнопка,а часы запустились сразу подскажите в чем дело??
Елизавета 1 июня 2014 18:32
Какое реле нужно (К1)?
И что означает Е на схеме?
yura6 24 августа 2015 07:24
привет всем подскажите пожалуйста почему без реле таймер работает а с ним не не хочет, таймер с общим катодом
man 25 февраля 2016 11:49
кто нибудь подскажет проблему.При нажатии кнопки 2 реле срабатывает, а когда запрограмируешь на включение не работает реле, нет выхода с 10 ноги контроллера. уже все прошивки перепробовал.Выходит в прошивке косяк.Поделитесь рабочей прошивкой с общим анодом.Спасибо.
Ваше имя: *
Ваш e-mail: *
Войти через
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Введите два слова, показанных на изображении:
© 2010-2017 Все права соблюдены.