Часы, будильник, термометр на ATmega8, DS1307, DS18B20
Более четырех лет назад я собрал простые часы на ATmega8. Все это время они исправно работали и приносили пользу, особенно в темнее время суток. Но мне показалось, что такой микроконтроллер, как ATmega8 может делать намного больше, чем просто подсчитывать колебания кварца и выводить их в виде времени.
Захотел, чтобы новые часы информировали не только о текущем времени, но и о температуре в помещении, где они находятся. Задался поиском подобных схем в интернете, отталкиваясь от уже имеющихся комплектующих, а именно: микроконтроллер ATmega8 и светодиодный индикатор с общим катодом. Отличное решение нашлось на странице, которое предоставил пользователь Soir, за что ему большая благодарность.
Схема часов не сложная, плюс, я сделал в ней некоторые упрощения. Что получилось, я привожу ниже. Оригинальная и упрощенная схема, разведенная в Proteus, имеется в АРХИВЕ. В данном архиве приведены также прошивки ATmega8, дающие разный функционал часам, пример выставления фьюзов, полная инструкция по настройке часов и их возможностях, а так же разведенная печатная плата в формате *.lay6. Печатная плата разводилась мной под уже имеющийся корпус. В архиве представлены прошивки для индикаторов с общим анодом и катодом.
Хочу признать, что часы получились отлично. В часах есть будильник (как разовый, так и по дням недели), термометр. Для регулировки освещения индикатора в дневное и ночное время, могут использоваться как предустановки в часах, так и специальный датчик (фоторезистор). Есть возможность коррекции времени, если оно отстает или спешит; цифровая коррекция отображения температуры с градацией 0,1ºС.
Большим плюсом является наличие сохранения настроек в энергонезависимой памяти микроконтроллера. Помимо этого, применение микросхемы DS1307, в паре, с батарейкой, делают часы абсолютно энергонезависимыми. Батарейка выполняет дежурное питание часов. Теперь, сколько бы поставка электричества у Вас не обрывалась, при ее возобновлении, часы буду идти, без каких-либо изменений и отклонений, даже останется заведенным будильник(и).
В эстетическом плане, данные часы, также хороши. Есть более десяти видов визуальных эффектов смены отображения времени и температуры. Кстати, эти эффекты можно выбирать самостоятельно или выставить их отображение в случайном порядке.
Пользователь "yurich" предоставил свой вариант разводки платы под корпус советских часов "Кварц". Файл можно скачать ЗДЕСЬ.
yurich, аккуратно вышло. Раньше тоже часто использовал провода витой пары, но если их несколько раз согнуть в месте пайки - 100% один или несколько переломятся. Сейчас "разжился" МГТФ. Единственная проблема - все одного цвета.
Добрый день! Подскажите, Если применить мегу в корпусе TQFP 32, прошивка подойдет? Просто необходимо учесть несовпадение выводов?
piff, да, думаю, должна подойти.
Спасибо. Попробую.
piff, Нарисуешь печатку для TQFP 32,поделись
Печатка с расположением деталей в двух вариантах минимальных размеров (изготавливалась под приборную панель в авто)
Ссылка будет в последующих комментариях.
Под корпус TQFP32
mr.genych, могли бы Вы прикрепить фото готового устройства?
Собирал приятелю вместо часов с "уплывшим" дисплеем в Audi-80, не фотографировал, а машина уже продана. Как будет время планирую собрать ещё один экземпляр с большими индикаторами для дома, но на той же плате. Как будет готово - фото обязательно выложу!
mr.genych, спасибо. Будет интересно посмотреть.
1000 извинений! Ранее выложенная ссылка на пробную плату с ошибками! Ссылку на рабочую плату выложу позже, так как она на рабочем пк!
mr.genych, удалил, чтобы не путались люди.
Итак, как и обещал, выкладываю ссылку на архив с печатными платами под Atmega8 формата TQFP32. Так же в архиве находится плата для прошивки контроллера данного формата.
Все ньюансы описаны в текстовом файле внутри архива.
Так же выкладываю фото своих почти собранных часов, выполненных на переделанном индикаторе из убитых китайских часов-приёмника на данной плате. Термодатчик и датчик освещения будут выносные, поэтому на фото их нет (пока не подключены).
Ссылка на архив:
Кнопки управления пока тоже не подключены, настраивал замыканием контактов пинцетом.
Точка после цифры 2 светится при включенных будильниках. При выключенных - не светится.
mr.genych, здорово получилось. И платы аккуратно сделаны. ЛУТ?
admin, конечно ЛУТ, куда же без него! 🙂 Быстро, дёшево, практично!
Всем здравствуйте. Собрал данные часы с изменениями в схеме, на питание 12 Вольт. Микроконтроллер периодически перезагружается, и при использовании кнопок происходит "залипание" с надписью alarm. Но необязательно на ней. Печатку проверил несколько раз. Резки подтянул к питанию - никаких изменений, все та же нестабильная работа. Может у кого такое было? В чем моя ошибка, подскажите пожалуйста...
Видео "работы"... Извиняюсь за звук, снимал на телефон...
Elektron, По питанию точно всё ок? Мега не греется? Было такое, что при нажатии на кнопки мега зависала на пункте CLOC при "кривом" питании.
Elektron, Понижайка на чём реализована?
Понижающий стабилизатор 78L05. Я пробовал запитывать отдельным источником питания, результат тот же. Прикол в том что я три Меги прошитых разными прошивками и фьюзами ставлю и у всех одно и тоже, просто одна может побольше нажатий не зависать... Реализовал подключение индикатора по типу этой схемы:

Иной раз проходит пара смен отображения времени и температуры и потом перезагрузка и снова надпись "clok". Ещё если кнопки не трогать то она так и будет перезагружаться бесконечно. Стоит только нажать снова зависает.
Поправка, стабилизатор 7805
Отдельно питал от аналогового источника питания 5 вольт. 12 вольтовый импульсный, адаптер.
Может полностью от трансформатора запитать...
Мега холодная
Elektron, На 20-ю ногу меги питание через резистор приходит?
mr.genych, Сейчас да, пришлось на панельку вторую поставить. До этого напрямую было. Не повлияло никак.
Elektron, Питание с 7 ноги попробуй вообще убрать, оставь только на 20-й.
На 1307 питание тоже подай отдельно... В общем, отвяжи 7 ногу вообще от схемы!
В оригинальной схеме 7 нога AVR вообще не задействована....

Скорей всего в этом и причина глюка!
mr.genych, Ну это же протеус, там 7я нога не показывается, т.к. это вывод питания и подключается по умолчанию, а схеме потому и не обозначается. НО... если мы посмотрим печатку что в статье то увидим что 7я нога электрически не подключена к питанию, но используется и подаёт питание на ds1307 (связь через Кристал), а 8я вообще в воздухе( GND процессора). Я это тоже видел и провернул, с помощью все той же второй панельки (выдрал ножки) и седьмую и восьмую как на фото из статьи, оставлял неподключенными... И нифига... (((
Может плотность монтажа компонентов, два слоя текстолита(меди) какие-то наводки паразитные или ещё что формируют... Даже не знаю. Либо все три микроконтроллера неисправны (вдруг ни с того ни с сего).
mr.genych, Спасибо, кстати, ща помощь. Хоть с кем-то можно проблему обсудить.
Elektron, такой эффект может наблюдаться из-за некачественного источника питания. От чего запитаны часы?
admin, Да я тоже на питание грешу... Питание брал сначала от 12 вольтового адаптера от роутера. Затем питал от сетевого трансформатора со стабилизацией.
Осталось с аккумулятором потестить...
Но теперь только в понедельник. Все на работе осталось.
Elektron, я когда собирал первый вариант, правда в корпусе TQFP32, у меня тоже был задействован вывод VCC (7 нога в dip корпусе) на питание 1317. Долго голову ломал почему при нажатии на MENU всё стопорилось на CLOC а далее либо всё висло, либо часы уходили в перезагруз... Ради эксперимента задрал вывод vcc вверх, тем самым отключив его от схемы, и всё заработало. Обрати внимание на мой вариант платы выше в комментариях, там нога vcc не задействована, а питание на 1307 взято паралельно avcc. По идее 1307 на vcc вешать логично, но вот у меня всё пошло именно по нелогичному пути и оно работает правильно! Может, конечно это применимо только к TQFP32, но, блин, они же идентичны за исключением корпуса и количества ног.
Сейчас посмотрел плату часов без термометра и будильников собранных мной 100 лет назад на той же TQFP32. Там vcc вообще включен паралельно с avcc и схема работает нормально, а вот в этой схеме такой тип подключения не прокатил и всё заработало только после полной отвязки vcc от схемы...