Часы, будильник, термометр на ATmega8, DS1307, DS18B20

Часы, будильник, термометр на ATmega8, DS1307, DS18B20 внешний вид

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

Захотел, чтобы новые часы информировали не только о текущем времени, но и о температуре в помещении, где они находятся. Задался поиском подобных схем в интернете, отталкиваясь от уже имеющихся комплектующих, а именно: микроконтроллер ATmega8 и светодиодный индикатор с общим катодом. Отличное решение нашлось на этой странице, которое предоставил пользователь Soir, за что ему большая благодарность.

Схема часов не сложная, плюс, я сделал в ней некоторые упрощения. Что получилось, я привожу ниже. Оригинальная и упрощенная схема, разведенная в Proteus, имеется в АРХИВЕ. В данном архиве приведены также прошивки ATmega8, дающие разный функционал часам, пример выставления фьюзов, полная инструкция по настройке часов и их возможностях, а так же разведенная печатная плата в формате *.lay6. Печатная плата разводилась мной под уже имеющийся корпус. В архиве представлены прошивки для индикаторов с общим анодом и катодом.

Часы, будильник, термометр на ATmega8, DS1307, DS18B20 схема

Хочу признать, что часы получились отлично. В часах есть будильник (как разовый, так и по дням недели), термометр. Для регулировки освещения индикатора в дневное и ночное время, могут использоваться как предустановки в часах, так и специальный датчик (фоторезистор). Есть возможность коррекции времени, если оно отстает или спешит; цифровая коррекция отображения температуры с градацией 0,1ºС.

Большим плюсом является наличие сохранения настроек в энергонезависимой памяти микроконтроллера. Помимо этого, применение микросхемы DS1307, в паре, с батарейкой, делают часы абсолютно энергонезависимыми. Батарейка выполняет дежурное питание часов. Теперь, сколько бы поставка электричества у Вас не обрывалась, при ее возобновлении, часы буду идти, без каких-либо изменений и отклонений, даже останется заведенным будильник(и).

Часы, будильник, термометр на ATmega8 печатная плата

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

Пользователь "yurich" предоставил свой вариант разводки платы под корпус советских часов "Кварц". Файл можно скачать ЗДЕСЬ.

Поділитись:
Сторінки коментарів:
admin , сказав 16.12.2018 о 12:24:

iwanowich, по какой схеме Вы собирали? Я не вижу на плате транзисторных ключей.

iwanowich , сказав 16.12.2018 о 12:26:


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

admin , сказав 16.12.2018 о 12:41:

iwanowich, еще раз говорю. Пришлите схему (не плату), по которой Вы собирали часы.

iwanowich , сказав 16.12.2018 о 12:46:

По этой схеме которая здесь выложена,только добавил ключи.

admin , сказав 16.12.2018 о 12:52:

iwanowich, нарисуйте как Вы их подключали. Видимо, именно здесь и кроется загвоздка.

iwanowich , сказав 16.12.2018 о 12:57:
admin , сказав 16.12.2018 о 13:27:

iwanowich, для начала sh5461as - малогабаритный индикатор, которому ключи не нужны. Подключение верное. Ищите ошибку в разводке печатной платы. Попробуйте заменить резисторы базы на 4,7k.

iwanowich , сказав 16.12.2018 о 15:36:

Так может по этому и такая фигня происходит,что индикатор жрет мало и через ключи идет за свет индикатора и сбой контроллера,а на прямую всё работает.Может когда подключу большой,этого не будет происходить?

Вот подключил первый на базу,даже через резистор идет за свет.
Отпаял транзистор,но резистор базовый не убирал,за свет пропал,но при подачи питания,должно высветится Soir.На букве S,пропал сегмент H.Соответственно,когда горит 2 его тоже нет.

admin , сказав 16.12.2018 о 16:50:

iwanowich, может, транзистор не успевает закрываться. Попробуйте базу соединить с эмиттером через резистор 10k.

iwanowich , сказав 16.12.2018 о 17:30:

Попробую отпишусь.

iwanowich , сказав 16.12.2018 о 22:56:

Попробовал соединить базу через 10кОм,не чего не дало,опять завис контроллер и за свет.

Добавленно позже (в 23:22 16.12.2018):

А на 23 ногу надо что цеплять,в протеусе фото резистор.

admin , сказав 16.12.2018 о 23:35:

iwanowich, уже все варианты исключили. Ради оценки ситуации, отпаяете эти резисторы с эмиттера и подпаяйте к 5ти вольтам. Край, который был припаян к базе, пусть останется. Как сейчас ведут себя часы?

Добавленно позже (в 23:37 16.12.2018):

Если Вы фоторезистор не планируете использовать, то 23й пин не задействован.

iwanowich , сказав 17.12.2018 о 12:15:

Я попробовал в протеусе собрать,тут по другому себя ведут.Но зависает точно так же.Припаял 10кОм,с базы на 5 вольт.На первом разряде загорелась восьмёрка и всё зависло.

Добавленно позже (в 13:58 17.12.2018):

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

Добавленно позже (в 20:46 17.12.2018):

А вы можете проверить их впртеусе,добавив ключи?

admin , сказав 17.12.2018 о 21:07:

iwanowich, если найду свободное время, проверю.

iwanowich , сказав 17.12.2018 о 21:16:

Хорошо я подожду.

admin , сказав 18.12.2018 о 22:56:

iwanowich, у меня в Протеусе получилось запустить так. Пробуйте.

iwanowich , сказав 19.12.2018 о 11:14:

Попробовал я в железе,по вашему протеусу,вообще индикатор потух.

Добавленно позже (в 11:26 19.12.2018):



Один раз вот так показывает,другой раз вот так.А в железе вообще не чего не показывает.

admin , сказав 19.12.2018 о 16:25:

iwanowich, развел все катоды с ключами. Всё работает. Может Вы прошивку от индикатора с общим анодом используете?

iwanowich , сказав 19.12.2018 о 18:06:

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

admin , сказав 20.12.2018 о 09:36:

iwanowich, попробуйте эту комбинацию: СКАЧАТЬ

iwanowich , сказав 20.12.2018 о 13:06:

А фьюзы у меня правильно выставленные?

Добавленно позже (в 13:27 20.12.2018):

Залил я вашу скаченную прошивку в железо,как не показывал не чего,так и не показывает и попробовал в протеусе,загорелось Soir,потом перешёл на время,начала моргать точка,потом она перестала моргать,а время,так и осталось висеть.

Добавленно позже (в 13:27 20.12.2018):

А баз ключей в железе пашет.

admin , сказав 21.12.2018 о 09:37:

iwanowich, если без ключей работает, то фьюзы при работе с ключами никакого отношения не имеют.

iwanowich , сказав 21.12.2018 о 09:48:

Тогда я не знаю почему так происходит.Как соберу большой индикатор,так тогда и проверю.

Хотел вот такой добавить к этим часам,а без ключей делов не будет.

admin , сказав 21.12.2018 о 10:11:

iwanowich, там, где брали эту плату, посмотрите какие ключи используются и как они подключаются.

iwanowich , сказав 21.12.2018 о 10:26:

Эту плату я развёл сам.

Сторінки коментарів:
Необхідно авторизуватись, щоб мати можливість коментувати.