Главная » Микроконтроллеры
Призовой фонд
на май 2017 г.
1. Тестер компонентов MG328
Паяльник
2. Осциллограф DSO138
Паяльник
3. Регулируемый паяльник 60 Вт
Паяльник
4. 100 руб.
От пользователей

Похожие статьи:


LED часы на ATtiny2313 и DS1307

Всем привет! Накануне праздник 8 марта, вы уже придумали что подарить? Да/Нет? Можно конечно купить готовый подарок, но лучший подарок, это подарок сделанный своими руками. И так, вот задумался я: а что подарить Маме на 8 марта? Подумал...Подумал...О, а подарю я часы. Но покупать китайские часы я не хочу и не буду по двум причинам: сразу сломается, я же радиолюбитель. И я решил сделать свои часы своими руками! И вот что из этого получилось:

DSC04630.jpg

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

И так чего мне хотелось? А хотелось мне сделать достаточно большие часы на светодиодных семисегментных индикаторах, чтобы просто показывали время и шли даже тогда, когда выключены. За основу конструкции взял AVR микроконтроллер Attiny2313 с двумя килобайтами флеша, этого более чем достаточно. Сами часы реализовал с помощью RTC микросхемы реального времени DS1307, к которой подключается батарейка на 3 вольта, для поддержания хода часов. Семисегментные индикаторы поставил REC-S12101AG, зелёного цвета, с общим анодом. Их габариты: 28,8 на 40,8 мм. Поскольку часам для питания нужны 5 вольт, то я применил готовый импульсный блок питания RS-25-5. Почему именно такой ИБП? Лежал он у меня в коробочке с детальками (Давно, год назад я купил его за пять тыщ бел. руб. у одного парня, думаю хороший ИБП, пригодится!), пылился, а трансформатора  у меня не было, вот и поставил что было. С блоком питания часы питаются от сетевого напряжения 220 вольт. Вот фото ИБП:

Блок питания

Ну собственно сложностей при сборке часов возникнуть не должно. И так, принципиальная схема часов:

Схема часов

DSC04550.jpg

Собрал я всё на печатных платах, семисегментные индикаторы разместил на одной плате, всё остальное на другой. Платы лудил сплавом розе и в конце покрывал цапон лаком. Печатные платы делал с помощью ЛУТа. Чертил в программе Sprint Layout 4.0. Вот фото платы с семисегментными индикаторами:

DSC04548.jpg

DSC04551.jpg

DSC04554.jpg

Платы вместе соединял шлейфом, вот так:

DSC04558.jpg

В ход можно пустить компьютерный IDE шлейф. Вот фото основной платы:

DSC04568.jpg

DSC04570.jpg

Обратите внимание, что корпус часового кварца нужно соединить с минусом питания, это позволяет избежать сбоев и внешних помех. Всё поместил в корпус, вот что получилось:

DSC04572.jpg

DSC04573.jpg

DSC04619.jpg

DSC04623.jpg

Как вы уже заметили внутри корпуса я закреплял всё с помощью термо клея. После сборки часов необходимо прошить микроконтроллер  прошивкой ClockFirmware.HEX. Как прошить микроконтроллер и сделать программатор я писал тут и тут. После прошивки не забудьте установить следующие фьюз-биты:

fusepp.png

Для программы SinaProg:

fuse(3).png

Я прошивал микроконтроллер с помощью программатора USBtiny и программы SinaProg. Программу (прошивку) для часов писал в среде BASCOM-AVR, исходник прилагается. У меня часы работают уже почти неделю и не на секунду не отстают. Точность хода часов зависит от кварца, его лучше купить новый. Яркость часов зависит от резисторов R1-R8, чтобы уменьшить яркость увеличьте сопротивление этих резисторов, но следует учесть, что резисторы необходимо ставить с сопротивлением не меньше 10 Ом а резистор R3 не менее 100 Ом. При первом включении часов либо после смены батареи резервного питания, зажмите обе кнопки S1, S2 и включите часы. Часы сбросятся на 00:00 и начнут идти.

Кстати, ночью часы смотрятся просто отлично:

DSC04631.jpg

Ну всё, часы готовы и работоспособны!

Мною на сборку часов было потрачено примерно 250 тысяч бел. руб. Отлично! Убил двух зайцев сразу: сделал своими руками и обошелся в меньшую сумму чем стоят китайские часы. Надеюсь часы понравятся Маме.

Для любителей программы Proteus прилагается проект часов.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
IC1 МК AVR 8-бит
ATtiny2313
1 Поиск в FivelВ блокнот
IC2 Часы реального времени (RTC)
DS1307
1 Поиск в FivelВ блокнот
VT1-VT4 Биполярный транзистор
КТ315А
4 Поиск в FivelВ блокнот
C1 Электролитический конденсатор100 мкФ1 Поиск в FivelВ блокнот
C2 Конденсатор100 нФ1 КерамическийПоиск в FivelВ блокнот
R1, R2, R4-R8 Резистор
10 Ом
7 Поиск в FivelВ блокнот
R3 Резистор
150 Ом
1 Поиск в FivelВ блокнот
R9-R12 Резистор
1 кОм
4 Поиск в FivelВ блокнот
R13-R15 Резистор
10 кОм
3 Поиск в FivelВ блокнот
R16, R17 Резистор
4.7 кОм
2 Поиск в FivelВ блокнот
CH1 Кварц32768 Гц1 Поиск в FivelВ блокнот
7Seg Семисегментный индикаторREC-S12101AG4 С общим анодомПоиск в FivelВ блокнот
Bat1, Bat2 Батарейка1.5 В2 С пеналомПоиск в FivelВ блокнот
S1, S2 Кнопка тактоваяБез фиксации2 Поиск в FivelВ блокнот
5V ИБПRS-25-51 Поиск в FivelВ блокнот
Сетевой шнур с вилкой1 Поиск в FivelВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: Изменена: 22.06.2013 0 6
Я собрал 1 5
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 4.4 Проголосовало: 5 чел.

Комментарии (121) | Я собрал (0) | Подписаться

0
Константин #
Здравствуйте. Можно ли прошивать программатором USBASP USBISP AVR?
Ответить
0
Алексей #
Ребят, часы идут только если нет резервной батарейки. А с батарейкрй только секундная точка мигает и часы на месте стоят. В чем причина, DS1307 уже менял, одновременно две кнопки для старта тоже нажимал.
Ответить
0
Алексей #
Как оказалось, часы идут два дня, затем показывают 72 часы, пока заново время не перевести.
Ответить
0
ssv #
Очень хорошие часики, ну очень
Прикрепленный файл: мои.lay
Ответить
0
Susskiy #
Можно прошивку переписать под общий катод?
Ответить
0
Денисй #
4-я нога контроллера на "землю"? Странно, но заработало именно так. До этого момента часы шли, но индикация была только при нажатии кнопок, без кнопок ничего не показывало.
Ответить
0
Денисй #
Кажется проблема с миганиями и зависаниями решилась. Все дело в обработке прерываний на период работы с DS1307.
В момент опроса их надо запрещать.

Как-то так, третий день без зависаний:

Do

Disable Interrupts

I2cstart
I2cwbyte &HD0
I2cwbyte &H00
I2cstart
I2cwbyte &HD1
I2crbyte Seco , Ack
I2crbyte Mine , Ack
I2crbyte Hour , Nack
I2cstop

Enable Interrupts
Ответить
0
Влад #
А о каких миганиях идет речь? У меня вот проблема: во втором индикаторе, где точка, когда точка загорается, то чуть меркнет сама цифра и так каждый раз. В чем может быть проблема?
Ответить
+1
игорь #
Собрал часы работают, но не сохраняет время. В чем может быть проблема?
Прикрепленный файл: 38661_Схема.jpg
Прикрепленный файл: 39748_MyClockFirmware2313.hex
Ответить
0
dizzyy Dubetskiy #
Проверить DS1307, должно быть питание 3в обязательно. Не понимаю, почему при нажатии на обе кнопки не реализован вход в настройку времени.
Ответить
0
Денис #
Реализуйте, в чем проблема? :)
Ответить
0
stasik5454 #
Тоже собрал часы на больших сегментах из светодиодов, и появилась такая же проблема с сохранением времени. Получилось ли у вас её решить ?
Ответить
0
Johnowich #
А Вы могли бы реализовать прошивку для индикатора CA56-21GWA Общий анод, подключенного к МК напрямую, без транзисторных ключей через резисторы 130 ом?
Ответить
0
Денис #
При прямом подключении будет сильно меняться яркость сегментов, особенно на 130 ом.
По хорошему, для еще более лучшего свечения, на разряды надо ставить стабилизаторы напряжения на TL431.
Я уже прошел через это, делал напрямую, но в итоге пришел к выводу, что лучше прилепить SMD транзисторы (если нет места), чем без них.
Ответить
0
Johnowich #
Я- таки собрал часы с применением индикатора CA56-21GWA, подключив его сегменты, а не общие аноды через резисторы в 130 ом. Если подключить общие аноды через резисторы, то да, яркость, естественно, будет меняться (больше сегментов разряда светятся, меньше яркость каждого). А когда резистор имеет каждый сегмент, то все хорошо! Я уже два экземпляра собрал! Спасибо вам!
Ответить
0
Игорь #
у МК AT2313 большая куча исполнений: 2313А, 10, 20, V и прочая. Любая подойдет или нужна какая-то конкретная?
Ответить
0
Денис #
Должно работать на любом контроллере, но у меня к примеру несколько 2313А из разных партий и все не хотят работать (не включается индикация), пока не нажать одну из кнопок (2 или 3 нога), буквально - посадить на землю, и соответственно программно ее отключить или перевести на другой порт. Настройки контроллера вообще ни на что не влияют.
Ответить
0
куко #
Собрал часы на больших индикаторах Е11801 с общим анодом. Так как для нормального свечения им понадобилось больше 5-ти вольт, то пришлось добавлять ULN2803 по схеме одного из форумчан, прикрепленной ниже. При заливке авторской прошивки наблюдается неправильная работа сегментов. Те что должны быть засвеченные не горят, а не засвеченные горят. Получается инверсия. Прочитав первую страницу и нашел похожее в обсуждении где babrak переписывал прогу для одного из форумчан. Но залив ее получается, что первая и третья цифра не засвечивается у меня.Кто может помочь в решении этой проблемы?
Прикрепленный файл: 35530_123.GIF
Ответить
«12
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
Набор для сборки - УНЧ 2х60 Вт на TDA7294 Конструктор - Гитарная педаль Remote Delay 2.5
вверх