В начало | Зарегистрироваться | Заказать наши киты почтой
 
 
 
 

Датагорский проект №12 "Simplex Clock". Часы на микроконтроллере ATTINY2313A с бэкапом, коррекцией хода и дисплеем h=44мм

📆15 февраля 2014   ✒️Datagor   🔎45.769   💬39  

Привет, дрУги! А у нас появился новый кит, которым я решил открыть направление электронных часов. Забирайте кит часов в датагорском магазине: Project-012 "Simplex Clock". Часы на микроконтроллере с бэкапом, коррекцией хода и дисплеем h=44мм. Набор для сборки

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

Для этого простого проекта и пожелания мои были просты. Мне пока не надо, чтобы часы спутники считали и за пивом бегали. Мне — чтоб время показывали. Чтоб цифири покрупнее и почётче. Чтоб надёжный бэкап был и без «золотых» батареек. И чтоб врали не больше нескольких секунд в месяц.

Но обо всём по порядку!

LM8560 must die!

У меня были электронные часы с приёмником внутри. Эксплуатация показала, что это изделие современного китайпрома по имени Scarlett не пригодно ни как первое, ни как второе. Приёмник так плох, что я просто не буду о нём говорить. А часы собраны на снятом с производства в 1812 году чипе LM8560.

Чип замечателен двумя нюансами. Первое: не используется кварц. Наверное, в 80х годах прошлого века кварцы были зело дороги. Точность хода обеспечивается частотой сети 220В. Я не знаю, как в Японии, где этот чип был рождён в недрах фирмы Sanyo, но у нас в Сибири частота электросети явно не эталон: минут пять туда-сюда в месяц легко.

И на это даже не успеваешь рассердиться, т.к. напряжение у нас периодически вырубается (микрорайон новый, кругом стройка) на несколько секунд или минут и приходится заново ручками восстанавливать время на часах. В качестве бэкапа производитель предлагает использовать недешёвую батарейку «Крона», которая очень быстро и неожиданно сдыхает, а узнаёшь об этом только по абракадабре на индикаторах часов после очередного отключения.

Второй нюанс чипа – удивительное управление LED-индикаторами. Кто желает, посмотрите даташит внизу. Говоря коротко, во всех часах на LM8560 применяется необычный LED-индикатор, который невозможно прямым образом применить в самоделках, даже после того, как ударишь часы за хвост об угол.

Куда приводят мечты

И задумался я над простыми домашними часами. Поискал готовые решения на «лёгких» микроконтроллерах AVR класса TINY. И, не поверите, — не нашёл ни одного проекта. Нет, полустаеек и каких-то, копирующих ошибки друг друга, схемок, я нашёл массу, как в русском, так и в зарубежном сегменте Сети.
Но я не нашёл ни одного проекта, который одновременно был бы прост, был полно описан, предлагал исходные коды прошивки и имел бы хорошие потребительские свойства.
А пожелания мои были просты. Мне не надо, чтобы часы спутники считали и за пивом бегали. Мне — чтоб время показывали. Чтоб цифири покрупнее и почётче. Чтоб надёжный бэкап был и без «золотых» батареек. Чтоб врали не больше нескольких секунд в месяц.

Я нашёл крупные индикаторы, набросал в DipTrace простейшую схемку по мотивам источников, упомянутых ниже, устранил все замеченные ошибки, ввёл блок на ионисторе, запланировал одну ногу контроллера под определение состояния питания, развёл печатку в размер четырёх индикаторов и под доступные мне детали, заказал прототипы на заводе, получил и позвонил по Скайпу моему соратнику Ивану Гаврилову.

Ваня, сказал я, а напиши нашу собственную прошивку для наших собственных часиков. Должно работать так-то и так-то. Скоро сказка сказывается, да не скоро дело делается. Программа была успешно написана на «С», потом переписана и дописана раз десять. Я кидал идеи и проводил испытания в железе на своей стороне. Ваня строчил код, придумывал новые ходы и ругал мои идеи на своей стороне.
И, наконец, под напором двух интеллектов, часики ожили и похорошели. Заработали, как задумано!

Итого: Иван получил оплату за работу, я пошёл писать эту статью. Мы оба получили массу неоценимого опыта и остались «с чувством глубокого удовлетворения», как говорил один генсек в прошлом веке.
А вы, дрУги, получили новый датагорский кит. Забирайте кит часов в нашем магазине: Project-012 "Simplex Clock". Часы на микроконтроллере с бэкапом, коррекцией хода и дисплеем h=44мм. Набор для сборки

Пара слов о комплектации кита часов

В конструкторе использованы в основном обычные выводные элементы для простоты сборки даже начинающими.
Есть, однако, и несколько smd-элементов: контроллер ATTINY2313A и пара резисторов, т.к. я считаю, что постепенно всем придётся освоить работу с smd или отказаться от своего увлечения электроникой. Тренируйтесь, ребята! Кроме того, контроллеры в выводном исполнении ощутимо дороже и менее доступны мне в промышленных количествах.

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

Отмечу несколько «интересных» элементов.

 — Ионистор (суперконденсатор) ёмкостью 330000 мкФ, чёрными стрелками помечен минус. Благодаря такой нечеловеческой ёмкости и программной реализации засыпания контроллера при пропадании основного питания мы имеем 30-40 минут сохранения отсчёта времени без батареек и т.п.


 — Мини-конденсаторы высотой всего 5 мм, для слим-конструкций это важно.


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

Рассмотрим схему часов на микроконтроллере ATTINY2313

«Сердце» наших простых часов MCU1 – микроконтроллер ATTINY2313 – представляет собой восьмиразрядный микроконтроллер AVR:
 — напряжения питания 1,8 — 5,5 В;
 — 2 Кбайт системной программируемой Flash-памяти про¬грамм;
 — 128 байт EEPROM;
 — 128 байт SRAM (ОЗУ);
 — 18 линий ввода—вывода (I/O);
 — 32 рабочих регистра;
 — однопроводной интерфейс для внутрисхемной отладки;
 — два многофункциональных таймера/счётчика с функцией совпадения;
 — поддержка внешних и внутренних прерываний;
 — последовательный программируемый USART-порт;
 — универсальный последовательный интерфейс с детектором начала передачи;
 — программируемый сторожевой таймер с внутренним генерато¬ром;
 — три программно изменяемых режима энергосбережения.
Подробнее читайте в даташите.


Сегмент схемы 1. Чип работает c кварцем Y1 на 4 МГц. Корпус кварца рекомендую подключить к точке QGND на печатной плате (заземлить) для улучшения стабильности работы часов.

Сегмент схемы 2. Обеспечение бесперебойной работы часов: ионистор SC1, токоограничительный резистор R4 и диод Шоттки VD1. В нормальном режиме ионистор заряжается от основного источника питания. При пропадании основного питания, ионистор питает микроконтроллер, а диод VD1 предотвращает разрядку ионистора через другие цепи часов. Китовый ионистор 0,33F поддерживает отсчёт времени ок. 40 минут. На печатной плате предусмотрено универсальное посадочное место для всех популярных корпусов ионисторов. При необходимости вы сможете значительно увеличить время бэкапа, применив более ёмкий ионистор.

Сегмент схемы 3. Стабилизатор питания U1 на 5 В выполнен на чипе 7805. На его вход X1 можно подавать напряжение до +24 В. Если вы применяете внешний источник питания +5 В, например, зарядное устройство от сотового телефона, то U1 нужно исключить. В этом случае убедитесь, что напряжение питания ни в коем случае не превысит +5,5 В. У китайских зарядок замечен большой разбег параметров.

Сегмент схемы 4. В программе контроллера реализовано наблюдение за состоянием основного питания. Если пропадает +5V, то индикация отключается, контроллер переходит на питание от ионистора и засыпает, счёт времени сохраняется. При появлении основного питания контроллер просыпается, часы возвращаются к нормальной работе.
Не забудьте установить перемычку между точками TP1-TP2 на плате, иначе ваш контроллер будет спать, и никакой индикации вы не увидите.

Входы контроллера от кнопок управления S1-S3 подтянуты к +V резисторами R1-R3 для повышения помехоустойчивости. Также «дребезг» контактов подавляется програмно. Назначение и использование кнопок будет описано ниже.

Транзисторные ключи Q1-Q4 включены по схеме с общим эмиттером, разгружают по току выходы микроконтроллера. Яркость свечения индикаторов можно изменять подбором резисторов R5-R12 в диапазоне от 0 до 100 Ом.

Собираем часы на микроконтроллере ATTINY2313

1) Для начала нужно рассмотреть все элементы, понять назначение, проверить комплектность.

2) Запаиваем микроконтроллер. Я обычно наношу кисточкой немного самодельного спирто-канифольного флюса, он густоватый и клейкий, что облегчает дальнейшее точное позиционирование smd-компонента.



3) Изготовим проставку для вертикального позиционирования деталей на ПП. Например, из куска ненужной пластиковой карты. Такую проставку рекомендуем обязательно применить при запаивании кварца, затем она удаляется. Запаяйте нагрузочные конденсаторы С1-С2, максимально укоротив их ножки.


4) Облудите небольшую площадку на боку корпуса кварца и соедините перемычкой с точкой QGND на плате.


5) Припаяйте провода к точкам подключения программатора: Vcc, GND, Reset, SCK, MOSI, MISO и соедините с вашим программатором. Если вы используете датагорский USB-программатор Project-5 DAVR-910, то дополнительного питания на ПП часов подавать не нужно.


6) Прошейте контроллер китовым хексом. Настройки фьюзов смотрите на картинках. Отпаяйте провода программатора.


7) Проверьте сопротивления резисторов мультимером со свежей батареей. Запаяйте все резисторы, используя проставку. Запаяйте smd-резисторы R15-R16.

8) Установите конденсатор С3 — шунт питания контроллера. Установите ионистор. Установите диод VD1, L1 на расстоянии 3-5 мм над платой, конденсаторы С4-С5.


9) Отформуйте выводы транзисторов как показано на фото и запаяйте на ПП. Обратите внимание, шелкография на ПП не совпадает, т.к. в конечной комплектации применены другие транзисторы.

10) Фланец 7805 припаяйте к полигону ПП хорошо прогретым паяльником. Полигон далее будет работать как радиатор. Или посадите 7805 на винт М4 с теплопроводной пастой «КПТ», «Алсил».


11) Очистите ПП от избытков флюса вручную или в УЗ-ванне. Я использую ультразвуковую ванну CT-400A с парой переделок (увеличение мощности и выдержки времени). В чистом изопропиловом спирте платы отмываются очень хорошо.


12) Вот так выглядит наша плата перед окончательным этапом сборки. Не забудьте установить перемычку между точками TP1-TP2 на плате, иначе ваш контроллер будет спать, и никакой индикации вы не увидите.


13) Теперь установите кнопки. Правильно спозиционируйте и, покачивая, дошлите кнопки до характерного защёлкивания на плате.

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


15) Переверните плату и установите индикаторы, поправляя выводы тонкой отвёрткой. Положите плату вниз индикаторами на ровную поверхность. Убедитесь, что индикаторы установлены ровно и одинаково по глубине и «прихватите» все индикаторы – запаяйте средние выводы в каждом ряду, что бы предотвратить дальнейшее смещение. Теперь запаяйте все остальные выводы.


16) Отформуйте выводы светодиодов и впаяйте, как на фото. Этим мы обеспечиваем единство наклона с цифрами индикаторов.


17) Сборка окончена, наши часы готовы, ура! Подайте питание и нажмите кнопку «Сброс».

Установка текущего времени

1) Рекомендую толкатель кнопки «Сброс» укоротить наполовину, чтоб затруднить случайное нажатие. Сделать это можно теми же бокорезами.
2) Часы могут работать в двух режимах отображения времени: «ЧЧ:ММ» + мигание разделительных светодиодов и «ММ:СС» + постоянное свечение светодиодов. Переключение между режимами осуществляется нажатием на кнопку «Минуты» в течение 1,5 сек.
3) В режиме «ЧЧ:ММ» кратковременными нажатиями кнопок установите верные показания часов и минут.
4) Перейдите в режим «ММ:СС». Кратковременным нажатием кнопки «Часы» синхронизируйте ваши часы с эталонными часами. При этом происходит обнуление секунд. Кратковременными нажатиями кнопки «Минуты» скорректируйте минуты, если требуется. Вернитесь в основной режим «ЧЧ:ММ».

Программная коррекция хода часов

В наших часах реализован простой алгоритм коррекции. Можно задать период от 1 до 10 дней и коррекцию от -30 до +30 секунд. Коррекция происходит в 00:00.

Вход в режим настройки коррекции осуществляется нажатием на кнопку «Часы» в течение ок. 2 сек.

На экране отобразятся начальные уставки «0 0», что соответствуют отключённой коррекции.
Кратковременные нажатия на кнопку «Часы» меняют период от 0 до 10 дней и далее по кругу. Прохождение через 0 обнуляет заданное значение коррекции.
Кратковременные нажатия на кнопку «Минуты» меняют коррекцию от 0 секунд до 30 секунд, далее от -30 секунд до 0 секунд и далее по кругу. Признаком отрицательно значения является свечение разделительных светодиодов.
Например, индикация «5 3» означает «раз в 5 дней прибавить 3 секунды», а индикация «7:3» означает «раз в 7 дней отнять 3 секунды».

Выход из режима настройки коррекции осуществляется нажатием на кнопку «Минуты» ок. 2 сек.

Установите точное время по эталонным часам и сверьте показания через несколько дней. Чем длиннее этот проверочный период, тем точнее можно подстроить ход часов.
Пересчитайте результат до минимальных целых значений. Согласно полученным результатам, введите в часы данные коррекции.
Например, за 30 дней часы убежали вперёд на 12 секунд. Это соответствует 2 секундам в 5 дней. Именно эти значения коррекции нужно применить: «5:2», т.е. «раз в 5 дней отнять 2 секунды».

Расчёт времени работы устройства на ионисторе

[16-02-2014][+] В комментариях появились вопросы по времени работы от ионистора и я решил немного осветить эту тему в меру моих скромных познаний. Так же я добавил в файлы статью на тему, рекомендую.

Формула рассчета времени работы устройства от ионистора



Потребление Attiny2313 в режиме "Idle" составляет ок. 0,5 мА.
По мере разрядки ионистора и снижения напряжения питания этот ток падает


Посчитаем грубо, прикидочно. Внутреннее сопротивление R нашего ионистора = 30 Ом. Вообще у современных ионисторов оно редно бывает больше 50 Ом. Ток утечки IL примем за 0. Устройство работает до V1 = 1.8 Вольт, начальное напряжение V0 = 4.6 Вольт.
Переводим все единицы в одноразмерные и считаем. Получается ок. 1830 секунд, те самые 30 минут и 40 минут на практике. Возможно и чуть больше, я дольше не ждал. Как я писал выше, потребление контроллера понижается с падением U питания. Плюс были приняты все меры по снижению энергопотребления, описанные в даташите Attiny2313.

Наша Attiny2313 не умеет работать с кварцами ниже 0,9 МГц, а энергопотребление контроллеров очень зависит от частоты. Для сравнения контроллер Atmega8A с часовым кварцем 32 кГц в "Idle" должен работать от этого же ионистора ок. 7 суток. Ток потребления на такой низкой частоте очень сильно ниже (смотри потребление МК "Figure 28-14. Idle Supply Current vs. VCC" в даташите на стр. 242).

Поставленная задача по бекапу в этой конструкции полностью решена. Это Simplex Clock - простые часы. Я хотел в этой конструкции 30 минут, я их получил. Следующий кит будет сложнее, на другом камне, по другой идеологии и все желающие смогут неделями смотреть на отключенные часы, тихо радуясь, что внутри они тикают.
Чем скорее в лавке закончится первый часовой кит, тем скорее там появится второй.

Файлы

Вы можете получить прошивку не покупая кит. За файлом прошивки обращайтесь в комменты, если ваш рейтинг не менее 50.
За исходниками на С обращайтесь в комменты, если ваш рейтинг не менее 300.

- Несколько страниц из журнала "Электронные компоненты" №6 2008 с хорошей статьёй по ионисторам: 🎁Rasschet-ionistorov-EK_2008_06_073-76.pdf  857.71 Kb ⇣ 32
- Автоматизированный расчет времени работы от ионистора в MS Excel: 🎁Raschet-vremeni-raboty-na-ionistore.7z  4.17 Kb ⇣ 33 (моё произведение)
- Даташит LM8560: 🎁LM8560-Digital-Alarm-Clock-Sanyo.7z  178.63 Kb ⇣ 50
- Свежий даташит ATtiny2313A: 🎁ATtiny2313A-ATtiny4313.7z  4.42 Mb ⇣ 35
- Даташит на индикаторы: 🎁CPD-15011A.7z  407.46 Kb ⇣ 53
- Опись комплектации кита: 🎁bom-simplex-clock-30012014.7z  60.15 Kb ⇣ 40

Упомянутые источники

Это варианты, которые быстро находит Гугль и которые мне не понравились по разным причинам.
cxem.net/mc/mc190.php
www.tehnari.ru/f170/t61889/
www.joyta.ru/3283-prostye-chasy-na-mikrokontrollere-attiny2313/
licrym.org
и многие другие.

На посошок

На очереди корпус из акрила с лазерным раскроем. Наш дизайнер Дмитрий в муках творчества.
О результатах сообщу.

Забирайте кит часов в датагорском магазине: Project-012 "Simplex Clock". Часы на микроконтроллере с бэкапом, коррекцией хода и дисплеем h=44мм. Набор для сборки

Приятного всем творчества и больше свободного времени.
Спасибо за внимание!

Камрад, рассмотри датагорские рекомендации

🌼 Полезные и проверенные железяки, можно брать

Опробовано в лаборатории редакции или читателями.




 

Читательское голосование

Нравится

Статью одобрили 29 читателей.

Для участия в голосовании зарегистрируйтесь и войдите на сайт с вашими логином и паролем.

17 ноября 2017 изменил Datagor. Добавлен материал по ионисторам

 

Поделись с друзьями!

 

 

Связанные материалы

 

Схема на Датагоре. Новая статья Микрорепортаж: часы из датагорского кита Simplex Clock в кухонном гарнитуре... Привет, дрУги! Я коротко и по делу. Всего пара «говорящих» фоток. Порадовал жену. В реале смотрится...
Схема на Датагоре. Новая статья Муки творчества: прототипирование корпуса датагорских часов Simplex Clock из акрила... Привет, дрУги! Предлагаю посмотреть кино. Особенно тем, кто подумывает над приобретением нашего...
Схема на Датагоре. Новая статья Новые идеи корпусов для датагорских цифровых часов Simplex Clock. Файлы резки в комплекте... После получения датагорского конструктора Project-012 «Simplex Clock» и просмотра ролика сборки...
Схема на Датагоре. Новая статья Часы на ГРИ и К155ИД1. Нужна помощь... Доброго времени суток! Сделал часы на газоразрядных индикаторах с динамической индикацией на...
Схема на Датагоре. Новая статья Часы с GPS-синхронизацией времени и винтажными индикаторами ИН-12. Наш вариант Nixie Tube Clock... Не думал, что спустя много лет я вернусь к часам на газоразрядных индикаторах. В конце 70-х я...
Схема на Датагоре. Новая статья Программирование точных часов с применением алгоритма Брезенхама (Bresenham's Algorithm)... В свое время меня заинтересовала возможность реализации точного хода часов программно. Алгоритмы...
Схема на Датагоре. Новая статья Тёплые ламповые часы на газоразрядных индикаторах ИН-14, ATMEGA8, DS1307 и MC34063. Nixie-clock из Тулы... Последнее время весьма популярны часы в духе ретро, на газоразрядных индикаторах. В забугорье такие...
Схема на Датагоре. Новая статья Радиолюбительские конструкции на PIC микроконтроллерах, Кн.1, Н.И. Заец... Радиолюбительские конструкции на PIC микроконтроллерах, Солон-Пресс, 2003г. Автор: Н.И. Заец В...
Схема на Датагоре. Новая статья Чертеж корпуса датагорских часов Simplex Clock в формате Corel Draw... Привет, дрУги! Предлагаю всем желающим текущую версию файла раскроя акрила для корпуса часов из...
Схема на Датагоре. Новая статья Дарагия Расияни!... А вы, земляки, перевели стрелки сегодня, в 2 часа ночи, на час вперед? Сегодня у нас снова отобрали...
Схема на Датагоре. Новая статья «Red Dragon» - часы на газоразрядных индикаторах ИН-14 + PIC16F628A... Здравствуйте, уважаемые читатели журнала Datagor.ru! Предлагаю вам историю создания часов на...
Схема на Датагоре. Новая статья Вариант датагорских часов Nixie Tube Clock (JGL) с GPS-синхронизацией... С удовольствием повторил проект Юрия Глотова (JGL) «Часы с GPS-синхронизацией времени и...
 

Комментарии, вопросы, ответы, дополнения, отзывы

 

Назад Вперед
<
Читатель Датагора

papasha

<
Читатель Датагора

Datagor

<
Читатель Датагора

rosin55

<
Читатель Датагора

Datagor

<
Читатель Датагора

fav106

<
Читатель Датагора

Фёдор

<
Читатель Датагора

Datagor

Назад Вперед

Добавить комментарий, вопрос, отзыв 💬

Камрады, будьте дружелюбны, соблюдайте правила!

  • Смайлы и люди
    Животные и природа
    Еда и напитки
    Активность
    Путешествия и места
    Предметы
    Символы
    Флаги
 
 
В начало | Зарегистрироваться | Заказать наши киты почтой