Pull to refresh

Comments 43

Я использовал модуль часов реального времени на микросхеме ds1307. Такой способ гораздо точнее вычисления времени в самом микроконтроллере

Это неверно. Точность зависит от точности кварца, и в случае реализации на МК она будет такой же.
Единственный плюс — удобный бекап в виде батарейки. Ну или использовать RTC другого плана, с термокомпенсацией, те действительно точнее.

А дизайн классный! :)
Они проматывают периодически все цифры от 0 до 9, чтобы избежать «отравления» электродов? Если нет, то лампы долго не прослужат.
А как часто проматывать надо? Ну там раз в минуту, раз час, раз в сутки? Я просто тоже недавно свои построил, тоже не знал про эту фишку.
Я покупал себе вот такие часы, они проматываются раз в 10 минут.
Не думаю, что огород на дешифраторах экономит порты и уж тем более нервы, в сравнении с грошевыми сдвиговыми регистрами. 3 провода и все дела.
Экономят, однако. С регистров потом еще на каждый вывод высоковольтный драйвер нужен будет… удовольствие по сборке этого счастья уже предвкушаете? Тут-то обошлось всего десятью драйверами… или кроме регистров, еще 10 корпусов ИД1(с популярностью этих часов их уже нигде не найти) зафигачить?
Таки автор и впихал транзюки всё равно.
Так всего 20 штук…
А с регистрами, надо будет по 20 штук НА КАЖДЫЙ индикатор. Итого: 100 шт. одних и 100шт других. не считая резисторов…
20 штук на каждый индикатор это для статической индикации. Я же имел ввиду сделать динамическую индикацию на сдвиговых регистрах, это быстрые и простые штуки, которые могут менять состояние своих выводов все одновременно, хоть 500 их задействуйте.
Паять прикольно. Один раз паял 1400 точек — супер! Сначала интересно, потом надоедает, потом как робот на автомате… но за 3 дня осилил :)
DDRDmakar добро пожаловать на гиктаймс.
А видео почему не добавил в шапку статьи?
Побоялся сначала, что забанят за пиар :/
Приятно, когда тебя узнают)))
Добавлю.
Собственно, экономия выводов — это сдвиговые регистры. Получается примерно так. Есть, куда улучшать, но используется всего два пина микроконтроллера.
Это для статической индикации лучше подходит, а у меня динамическая.
А одно другому не мешает. Просто я делал статическую, а можно и динамическую.
Хотя, да, для динамической не так немножко будет.
В данном случае в часах десять разрядов, период горения индикатора занимает меньше 10% всего времени, и я стараюсь не уменьшать этот промежуток ещё больше. Понятно, что при использовании сдвигового регистра я сэкономлю 4, а то и 6 выводов, но это даст дополнительную нагрузку на процессор. Использовать 8 бит легче программно, так как при каждом такте развёртки выполняется всего пара условий.
А статья интересная, спасибо что показали. Буду использовать регистры при первом удобном случае.
Я как бы не имел в виду, что надо делать именно так :)
Просто пример принципиальной экономии выводов. Сейчас этот проект у меня подзавис, но вообще доделаю.
Я бы добавил еще GPS модуль. На цене устройства это все равно почти не отразится.
Да и WiFi не помещает, для синхронизации времени.
GPS + WiFi + поднять на нём NTP-сервер для синхронизации остальных девайсов + удалённый доступ для настройки всего этого + планировщик для управления хозяйством + защита +…

Товарищи, это просто часы :)
«С блютузом всё становиться лучше»©
Так я про часы и имел ввиду, NMEA выдает очень точное время.
Да я в курсе. При том чип чип отдельный, доработать не проблема.
Вот только… GPS не учитывает поправки времени(координационные секунды и т.п.), там разница с мировым точным временем составляет порядка 20...30 секунд.
что-то не очень понял — а почему при использовании динамической индикации не использовали ее для реализации клавиатуры? В этом случае для клавиатуры хватило бы всего одного пина микроконтроллера, вместо огорода с диодами
Можно было и так, конечно, но я тогда даже не думал об этом. Часы настраиваются редко, кнопки я проверяю раз в секунду.
+ с диодами нет никакого огорода, всё получилось компактно. А для программы почти никакой разницы, одну кнопку опрашивать, или две.
сэкономить как выводы микроконтроллера, так и время работы процессора

не думаю, что в часах процессор сильно загружен

лично моё мнение — либо тёплые ламповые nixie, либо LCD
ЛСД — попса и новодел. Либо теплые ламповые газоразрядные, либо не менее ламповые, люминисцентно-вакумные:

image
Внимание! Печатка для логики исправлена, поэтому она немного отличается от той, что на фотографии. Но работает так же.
Я сделал прокрутку от 0 до 9 и затем обратно от 9 до 0 всех индикаторов через 7 минут. Это для уменьшения эффекта «отравления» катодов. Но меня другой вопрос беспокоит: анодное у меня ни как не управляется, то есть оно есть всегда, с постоянным напряжением 190V. Без ключей. Индикация у меня статическая — 4 индикатора, 4 ид1. Хочется все-таки уменьшать яркость в период что-то вроде 22:00 — 06:00. У меня ид1, если им подать на вход запрещенную комбинацию N > 9 тушат индикаторы. Но вот прочитал где-то, что это типа плохо, через микросхему начинает течь высокий ток и ид1 могут просто пробиться от такого использования. Но когда я налаживал часики, у меня некоторые индикаторы не горели по полчаса (с запрещенной комбинацией на входе N > 9) — и вроде ничего страшного не случилось… Короче плюнул, и сделал щаз яркость через таймер 10мс вкл-выкл-вкл-выкл и тд. То есть каждые 10 мс подаю на все четыре ид1 запрещенную комбинацию для выключения всех ламп… Работает как надо (яркость уменьшается, почти без моргания), но все-таки опасения от такого использования остаются -(
Я тоже если нужно затушить индикатор (на нём ноль), и во время опроса ЧРВ, когда развёртка простативает, подаю на порт В 0xFF,, то есть на обоих дешифраторах запрещённая комбинация. И c к155ид1 всё нормально, не греется.
Вот к155ид10 греется, зараза, но я прочитал, что это для неё нормально.
Я вот тоже вяло думаю над этим вопросом. Скорее всего, буду решать его кардинально и варварски — отрубать высокое вообще в то время, когда я не наслаждаюсь часами. В будни днем, например.
На сколько точно ходят такие часы? Я когда свои собирал, столкнулся с тем, что они немного спешат при включенных лампах, но более-менее точно идут при работе от батарейки. Похоже, что высокое напряжение даёт наводки на кварц :(
Я не знаю, так как хотел конечно SPI или I2C микруху часов тоже поставить, чтоб меньше МГТФ паять (собирал на макетке), но поленился ехать ее специально покупать а под рукой был даллас паралельный восьмибитный в компаунде залитый такой с батарейкой внутри, который в старые матеря иногда ставился. Его и вкорячил, за неимением… Тем более что я стрелял из пушки по воробьям — у меня в качестве контроллера трудится жирный pic18f452 DIP-40 — 40 ног. 16 ушло сразу на статическую индикацию (4 x 4 ид1), 8 ушло на шину данных/адреса далласа, 4 на /CS, /RD, /WR, /ALE далласа. Две ноги на две кнопки. И еще по-моему остались свободные пины, за вычетом четырех ног питания и двух ног кварца. Ну там мож светодиодики какие или все-таки соберусь когда ключи в анодное поставить (хотя вряд-ли, так как на макетке уже места нет).
Дык, к чему это я, этот далас в компаунде идет как все-равно атомные часы. Стоит прям рядом с импульсником, ему побарабану все. ПЫК, к слову, тоже рядом стоит, и тоже не виснет. Точность секунда в секунду. Я когда собирал, еще подумал, что скорее всего ПЫК будет виснуть и глючить, но нет — пронесло -))
image

image
Похоже, что высокое напряжение даёт наводки на кварц :(

Нет, косяк где-то в другом. Кварц невозможно просто так сбить, он может возбудиться на другой гармонике, но там уже частоты на порядки могут отличаться.
У меня внутренний генератор атмеги немного спешит, когда включены индикаторы.
Так это без кварца — там RC-цепь. Само собой может сбоить.
внутренний генератор зависит от температуры сильно и от напряжения питания.
Может банально температура в корпусе поднимается на 5...10градусов когда индикаторы работают и как следствие…

Посмотри в даташите графики зависимости частоты встроенного RC-генератора от температуры…
Нет никаких наводок. Кварцевый генератор работает точно так же как и RC, только поскольку у кварца добротность выше — частота генератора гуляет меньше. Китайцы вообще мастера экономии, порой в такие вещи уходят кварцы с низкой добротностью — в следствие чего появляется зависимость частоты от температуры генератора(не обязательно даже кварца!) и напряжения его питания. И чем ниже добротность тем сильнее зависимость. Я бы просто поменял бы кварц на заведомо хороший.

И кстати, кварцы очень боятся ударов! ломается кристалл кварца и понижается добротность. Вплоть до того что меняется конфигурация кристалла и его резонансная частота — в пределах доли герца запросто, а для часов это очень большое изменение.
В больших кварцах кристалл укреплён на амортизаторах и не так сильно подвержен механическому воздействию, а в часовых цилиндриках-спичках он закреплен довольно жестко и удары сильно отражаются на его работе.

Попробуйте заменить резонатор. Попробуйте прогревать-охлаждать часовую схему чтобы исключить/подтвердить температурную зависимость. Достаточно феном подуть и на современном частотомере заметить изменение частоты на доли герца а то и больше.
Sign up to leave a comment.

Articles