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

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

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

Теги:

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

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

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

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

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

0
Константин #
Здравствуйте. Можно ли прошивать программатором USBASP USBISP AVR?
Ответить
0
babrak #
Я шил USBASP. Он поддерживается Bascom.
Ответить
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в обязательно. Не понимаю, почему при нажатии на обе кнопки не реализован вход в настройку времени.
Ответить
+1
Денис #
Реализуйте, в чем проблема? :)
Ответить
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
Ответить
0
babrak #
С монтажом накосячено.
Контроллер зажигает цифры по очереди, одну за другой, подавая/снимая питание на 5, 6, 7 и 11 выводы. Если две работают, а две нет - "шерше ля косяк", сударь. Помочь тут можно только самому себе.
Ответить
0
babrak #
Дорогие друзья, поскольку у многих здесь возникают проблемы с запуском устройства, я хочу порекомендовать вот что: приобретите себе (где угодно) беспаечные макетные платы. Выше я публиковал фотку часов, собранных мной на этих платах. С их помощью, вы легко и без ненужных затрат сможете собрать и отладить подобные схемы на МК, а при "переброске" схемы на печатные платы и появлении проблем будет ясно, что косяк не в схеме или прошивке, а именно в монтаже (разводке). Успехов всем,ваш babrak.
Ответить
0
дмитрий #
Скажите пожалуйста это опечатка в схеме или так и есть, три транзистора управляющие индикаторами одного типа, а четвертый другого?
Ответить
0
Hardlemon #
Это просто опечатка.
Ответить
0
babrak #
Косяк автора. Все транзисторы - структуры n-p-n (КТ315 или импортные BC547, например).
Ответить
0
Shteel #
А можно прошивку под две микросхемы, в катодах uln2803 а в анодах микросхема udn2981 у неё плюс на выходе. Просто у меня 2981 их очень много. Короче нужно зажигать цифру на обеих микросхемах 1.
Ответить
0
babrak #
Я в этом деле не помощник. Я не понимаю, зачем там 2 микросхемы.
Ответить
0
Shteel #
Ну есть микросхемы в аноды есть в катоды. Хотелось их использовать. Просьба подкорректировать под нужные выходы микросхем.
Ответить
0
vbrt #
Индикатор FYS-10012BG-21. 10 ом не слишком ли малое сопротивление в цепи сегментов? Не приведет ли это к перегрузки портов МК?
Ответить
«12
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Программатор Pickit3
Программатор Pickit3
Паяльник с регулировкой температуры DC-DC регулируемый преобразователь 1.5-37В 2А с индикатором
вверх