Простые часы на микроконтроллере
Re: Простые часы на микроконтроллере
Глянул в Протеусе, нет мигающей точки после единиц часов и нет просто светящийся точки после единиц минут. Надо бы добавить.
За батник автору респект! Не надо проект создавать.
За батник автору респект! Не надо проект создавать.
Re: Простые часы на микроконтроллере
vitalyadm писал(а):Вобщем решил попробовать DS1307, никак руки не доходят.
А вот у меня как раз дошли, убил на это дело день, пришёл на работу, в протеусе накидал схемку, написал прошивку, развёл быстренько ПП, уже вечером любовался на готовый результат![]()
В общем кому пригодится- пользуйте на здоровье, у меня по крайней мере работают уже как с пару месяцев и ход конечно впечатляющий, пока секунда в секунду, но больше всего радует то что после отключения питания не нужно ставить время заново, установил раз и забыл![]()
Небольшое описание:
В своей конструкции я использовал индикатор фирмы «Kingbright» с общим катодом, хотя можете использовать и с общим анодом, прошивку прилагаю на оба вида индикаторов. Сопротивления сегментов (270 Ом) можно использовать другие, в зависимости от желаемого уровня свечения, но не меньше 120 Ом. Подтягивающие резисторы 100 кОм могут варьироваться в пределах 10 кОм…100 кОм, смотря что есть под рукой. Кварц- обычный «часовой кварц» (он кстати так и называется), если закончились в магазине- можете выпаять из любых китайских стрелочных часов. Батарейка резервного питания «CR2032», при использовании новой- года 3 вам часы устанавливать заново точно не потребуетсяСветодиод не несёт особого смысла, просто оставалась свободная лапка, поэтому единственное что он делает- так это загорается при переходе на каждый новый час на 15 секунд. Входной диод на 78L05 предназначен для защиты- номинал любой, я ставил 1N4007. Сердцем устройства является МК- «AТtiny2313».
Печатная плата в моём варианте имеет размеры 53 х 60, изготавливал её при помощи обычного «утюжного» способа.
Для питания готовой конструкции использую зарядку от умершего своей смертью телефона Siemens, подойдёт любая с выходным напряжением больше 5 вольт. Очень удобно, во первых- готовый БП, во вторых- малый ток потребления, да и размер что надо.
Теперь непосредственно по работе. После подачи напряжения загорается сегмент G первой цифры и в стиле бегущего огня доходит до последней. В этот момент МК проверяет- не было ли замены батарейки и идут ли часы. Если была замена, то МК выставляет текущее время- 16:23:00, соответственно вам нужно сменить его на реальное текущее. Коррекция времени осуществляется нажатием и удержанием необходимой кнопки (часы или минуты), алгоритм коррекции: текущее значение + 1, если больше максимально возможного = 0. Считывание значений текущего времени с DS- ки происходит приблизительно с интервалом 2 секунды. Время отображается в формате 24 часа, часы минуты разделяются мигающим двоеточием.
Несколько если:
Если точность хода страдает- выкиньте кварц и поставьте новый.
Если будете разводить печатную плату по своему усмотрению- дорожки идущие от кварца к ножкам DS- ки делайте максимально короткими.
Если вместо цифр у вас какая- то непонятность, а при запуске сегмент G появляется правильно- смените батарейку.
Если что, спрашивайте.
Хочу спросить у знающих можно ли заменить ds1307 на ds3231 не переделывая прошивку. ds3231 будто бы жутко точная в отличии от ds1307 да и датчик температуры там есть можно доделать чтоб температуру показывало
Re: Простые часы на микроконтроллере
Народ привет, вот сейчас я не понял.
А как эти часики без транзисторов работают та?)
Или получается что когда мы подаем сигнал 1 на ножку МК у нас там "+"
а когда подаем 0, у нас там "-" ?
Я ничего не понял в этом моменте, просто уже вторая схема и без транзисторов, я думал если 0, то там тупо нет напряжения (вернее очень маленькое).
Или это отдельно настраивается в МК?
Спасибо)
А как эти часики без транзисторов работают та?)
Или получается что когда мы подаем сигнал 1 на ножку МК у нас там "+"
а когда подаем 0, у нас там "-" ?
Я ничего не понял в этом моменте, просто уже вторая схема и без транзисторов, я думал если 0, то там тупо нет напряжения (вернее очень маленькое).
Или это отдельно настраивается в МК?
Спасибо)
- АлександрЛ
- Друг Кота
- Сообщения: 43786
- Зарегистрирован: Пн ноя 30, 2009 03:00:01
- Откуда: Нерезиновая
Re: Простые часы на микроконтроллере
Когда НА ВЫХОДЕ (на ВЫВОДЕ) МК логическая "1", то этот выход через транзистор подключён к питанию (+5 вольт, ну, или какое оно у вас там есть), а когда на выходе МК "0" то этот вывод подключён к "земле" - а там у нас обычно висит минус источника питания.. И чего в этом непонятного? На АНОД светодиода в индикаторе подаётся ПЛЮС с одной ноги МК, а на катод- МИНУС источника питания с ДРУГОЙ ноги МК..ishpanec писал(а):Народ привет, вот сейчас я не понял.
А как эти часики без транзисторов работают та?)
Или получается что когда мы подаем сигнал 1 на ножку МК у нас там "+"
а когда подаем 0, у нас там "-" ?
Re: Простые часы на микроконтроллере
АлександрЛ писал(а):И чего в этом непонятного?
да все понятно, я думал что при лог. 0 на ножке все так же остается + просто очень маленький (+0.02В), уж и не помню откуда это в мою голову забралось, но где-то точно прочитал
upd: а если юзать транзисторы, значит я могу поставить по одному транзистору? а то я блин подключал их по два, когда нужно было усиленный плюс выдавать (т.е. ставил транзистор npn, на него шел плюс, затем от него минус на pnp, и уже от этого транзистора шел усиленный плюс на светодиоды). можно получается поставить только pnp, и подавать лог. 0 и все будет работать?
- АлександрЛ
- Друг Кота
- Сообщения: 43786
- Зарегистрирован: Пн ноя 30, 2009 03:00:01
- Откуда: Нерезиновая
Re: Простые часы на микроконтроллере
Чтобы вас было понятнее- лучше, по- моему, не пытаться объяснить "на пальцах", а просто нарисовать схему..ishpanec писал(а):upd: а если юзать транзисторы, значит я могу поставить по одному транзистору? а то я блин подключал их по два, когда нужно было усиленный плюс выдавать (т.е. ставил транзистор npn, на него шел плюс, затем от него минус на pnp, и уже от этого транзистора шел усиленный плюс на светодиоды).
Re: Простые часы на микроконтроллере
АлександрЛ писал(а):а просто нарисовать схему..
в общем сейчас у меня как-то так, т.е. полноценные ключи. и все работает от лог. единиц
Спойлер

на сколько я понял вас и схему часов, можно сделать так:
Спойлер

т.е. попросту выкинуть лишний ключ (с учетом что в качестве земли у меня -5В.)
p.s. сейчас ни одной программы для рисования схем не установлено, так что паинтмастер, простите)
Re: Простые часы на микроконтроллере
Можно поинтересоваться какие индикаторы?
Re: Простые часы на микроконтроллере
akl писал(а):Можно поинтересоваться какие индикаторы?
это вы мне?
Re: Простые часы на микроконтроллере
akl писал(а):Да.
с общим анодом. но вообще в моих часах еще и обычные светодиоды используются в количестве 60 штук для обозначения секунд, так что особой разницы нету. и я там и там делал ключи из двух транзисторов, от чего получился сущий ад)
- ev3658
- Слесарь-программист
- Сообщения: 341
- Зарегистрирован: Вт сен 11, 2012 23:08:28
- Откуда: город Кстово Нижегородская обл.
Re: Простые часы на микроконтроллере
Выложите фузы для новичком, не соберут же!!! И схему простейшего программатора, а то меня прям одолели
!!!
- croc1984
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Пт фев 22, 2013 01:51:30
- Откуда: украина николаев
- Контактная информация:
Re: Простые часы на микроконтроллере
Добрый вечер , собрал ВАШУ класическую схему , часы за сутки спешат на 3 минуты. Кварц использовал 3х лапый , подскажите плз как можно откорректировать ход .
Есть возможность зделать зделать будильник по классической схеме , например включением ключа(реле) в заданное время?
Есть возможность зделать зделать будильник по классической схеме , например включением ключа(реле) в заданное время?
- Вложения
-
- фьюзы вильем.jpg
- (114.77 КБ) 578 скачиваний
-
- 2313.jpg
- (141.14 КБ) 643 скачивания
- АлександрЛ
- Друг Кота
- Сообщения: 43786
- Зарегистрирован: Пн ноя 30, 2009 03:00:01
- Откуда: Нерезиновая
Re: Простые часы на микроконтроллере
croc1984 писал(а):Добрый вечер , собрал ВАШУ класическую схему , часы за сутки спешат на 3 минуты. Кварц использовал 3х лапый , подскажите плз как можно откорректировать ход .
"трёхногий кварц" - это вот такой, что ли: http://www.chipdip.ru/product/ztt-10.0/ ?
Если ДА, то это вообще неправильно! Кварц должен быть какой- нибудь вот такой:
http://www.chipdip.ru/product/10mhz-hc-49s/
http://www.chipdip.ru/product/10mhz-hc-49u/
- croc1984
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Пт фев 22, 2013 01:51:30
- Откуда: украина николаев
- Контактная информация:
Re: Простые часы на микроконтроллере
Ну тогда все ясно , поменяю кварц о результатах отпишусь . А по поводу будильника?
- croc1984
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Пт фев 22, 2013 01:51:30
- Откуда: украина николаев
- Контактная информация:
Re: Простые часы на микроконтроллере
Кварц поменял поставил соотвецтвенно схеме, 3 часа минута в минуту , завтра с утра отпишу.....
- croc1984
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Пт фев 22, 2013 01:51:30
- Откуда: украина николаев
- Контактная информация:
Re: Простые часы на микроконтроллере
Спасибо ,замена кварца помогла, работают пока без збоев.
Re: Простые часы на микроконтроллере
У кварцевых резонаторов значительно меньше отклонение частоты от номинальной, чем у керамических (трехногие"кварцы").
- croc1984
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Пт фев 22, 2013 01:51:30
- Откуда: украина николаев
- Контактная информация:
Re: Простые часы на микроконтроллере
Я думал наоборот тк в них уже стоят конденсаторы и их изначально расчитали на частоту.... Посмотрел на металический и понял , у керамического после запятой один ноль ,а у металла 4-5 )))