Часы на светодиодных матрицах с драйверами MAX7219

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

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

В архиве прошивка с поддержкой коррекции секунд. Величина коррекции задаётся в eeprom, пределы - ±50 секунд в сутки.

Как происходит коррекция:
- Если значение коррекции положительное, то в 0:00:00 каждые сутки к секундам прибавляется заданное в eeprom значение коррекции
- Если значение коррекции отрицательное, то в 23:59:59 от секунд отнимается заданное значение коррекции, при этом ставится флаг, что больше корректировать не нужно. Флаг снимается в 0:00:00. Это - чтобы избежать "вечной" коррекции времени назад.

Редактор EEPROM с поддержкой коррекции секунд можно пока взять на Dropbox.

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

Естественно, коррекция имеет смысл только когда часы включены. Если их выключить на сутки (или хотя бы около полуночи), естественно, никакой коррекции за эти сутки не произойдёт (основная причина, почему мне не хотелось вводить эту функцию).
Вложения
matrixclock_sec_corr.7z
(21.5 КБ) 320 скачиваний
Реклама
vicfamily
Открыл глаза
Сообщения: 49
Зарегистрирован: Пт июл 10, 2015 16:06:24

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение vicfamily »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3321704#p3321704"]Хотя я и противник такой искусственной коррекции, но всё же поддаюсь на многочисленные уговоры.

В архиве прошивка с поддержкой коррекции секунд. Величина коррекции задаётся в eeprom, пределы - ±50 секунд в сутки.

Как происходит коррекция:
- Если значение коррекции положительное, то в 0:00:00 каждые сутки к секундам прибавляется заданное в eeprom значение коррекции
- Если значение коррекции отрицательное, то в 23:59:59 от секунд отнимается заданное значение коррекции, при этом ставится флаг, что больше корректировать не нужно. Флаг снимается в 0:00:00. Это - чтобы избежать "вечной" коррекции времени назад.

Редактор EEPROM с поддержкой коррекции секунд можно пока взять на Dropbox.

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

Естественно, коррекция имеет смысл только когда часы включены. Если их выключить на сутки (или хотя бы около полуночи), естественно, никакой коррекции за эти сутки не произойдёт (основная причина, почему мне не хотелось вводить эту функцию).[/uquote]

Значит я вычисляю разницу за сутки и записываю в eeprom . hex менять надо ?
буду пробовать , отпишусь.
Спасибо.
Реклама
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Обновлённая прошивка во вложении к предыдущему посту.
Прошить один раз .hex, а уже eeprom (.bin), отредактировав предварительно - по необходимости.

Также прошу потестировать саму коррекцию. В смысле, настроить, например, на N секунд, прошить .bin EEPROM, выставить время 23:59 и посмотреть, происходит ли коррекция.
vicfamily
Открыл глаза
Сообщения: 49
Зарегистрирован: Пт июл 10, 2015 16:06:24

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение vicfamily »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3321722#p3321722"]Обновлённая прошивка во вложении к предыдущему посту.
Прошить один раз .hex, а уже eeprom (.bin), отредактировав предварительно - по необходимости.

Также прошу потестировать саму коррекцию. В смысле, настроить, например, на N секунд, прошить .bin EEPROM, выставить время 23:59 и посмотреть, происходит ли коррекция.[/uquote]

перепрошил flash и eeprom.
выставил -5 секунд ; 23:59 , но при переходе на 00:00 визуально не заметил этой 5 секундной задержки.
я правильно понял алгоритм. или же эти -5 секунд появятся в следующие сутки?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Добрался домой до железок. Вроде бы всё работает как задумано:
Спойлер
Реклама
vicfamily
Открыл глаза
Сообщения: 49
Зарегистрирован: Пт июл 10, 2015 16:06:24

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение vicfamily »

:))[uquote="WiseLord",url="/forum/viewtopic.php?p=3321818#p3321818"]Добрался домой до железок. Вроде бы всё работает как задумано:
Спойлер
[/uquote]
И у меня все получилось , большое Вам спасибо. :)
Реклама
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Извратился по полной программе и втиснул-таки интерфейс для настройки коррекции прямо на часах, без перепрошивки EEPROM.

Вход в режим - длинным нажатием кнопки 3 входим в режим настройки яркости, повторным длинным нажатием - в режим настройки коррекции секунд. Доступный диапазон - ±55 секунд. Коррекция происходит ночью в 03:00:00, если в плюс или в 03:00:59, если в минус.

Проверяем, тестируем. Не забываем прошить новый EEPROM (появилась новая текстовая строчка). Если всё ОК, потом выложу на github в виде релиза.
Вложения
matrixclock_sec_corr_3h_ui.7z
(21.77 КБ) 338 скачиваний
Аватара пользователя
shutdown
Открыл глаза
Сообщения: 75
Зарегистрирован: Сб ноя 22, 2014 21:38:43
Откуда: Россия

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение shutdown »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3322077#p3322077"]... втиснул-таки интерфейс для настройки коррекции прямо на часах, без перепрошивки EEPROM.[/uquote]
Отличная идея! Поддерживаю!
Вот только как быть, если точность хода 0,5 сек/сутки или меньше?
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Радоваться такой точности.
Аватара пользователя
hector
Грызет канифоль
Сообщения: 251
Зарегистрирован: Сб янв 23, 2016 10:30:29

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение hector »

shutdown писал(а): Вот только как быть, если точность хода 0,5 сек/сутки или меньше?
На самом деле даже коррекция в 0.5 сек/сутки - это очень грубо. Это неточность часов в 1,5 минуты за полгода. :(
Логичнее тогда ввести коррекцию не раз в сутки, а к примеру, раз в неделю, по воскресениям.
Будет точность на уровне 0.14 сек/сутки. :wink:
vicfamily
Открыл глаза
Сообщения: 49
Зарегистрирован: Пт июл 10, 2015 16:06:24

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение vicfamily »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3322077#p3322077"]Извратился по полной программе и втиснул-таки интерфейс для настройки коррекции прямо на часах, без перепрошивки EEPROM.

Вход в режим - длинным нажатием кнопки 3 входим в режим настройки яркости, повторным длинным нажатием - в режим настройки коррекции секунд. Доступный диапазон - ±55 секунд. Коррекция происходит ночью в 03:00:00, если в плюс или в 03:00:59, если в минус.

Проверяем, тестируем. Не забываем прошить новый EEPROM (появилась новая текстовая строчка). Если всё ОК, потом выложу на github в виде релиза.[/uquote]
Здравствуйте.
Тестил новую прошивку с коррекцией. В исходной версии все нормально , но при изменении параметров в редакторе ;
в закладке translations ; переписываю "в комнате" на "улица" , при входе в режим коррекции секунд появляются артефакты , и убираются перепрошивкой eeprom. Менять название мне надо , т.к. использую ds18b20 и bmp180, а при штатных названиях показывает" в комнате "и "снаружи" наоборот, в старых прошивках изменения выполнялись без глюков.
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Нужен обновленный редактор eeprom, ссылку я давал чуть выше.
hector писал(а):На самом деле даже коррекция в 0.5 сек/сутки - это очень грубо. Это неточность часов в 1,5 минуты за полгода
Это очень точно. Это выше стабильности частоты кварца. В реальной жизни часы сегодня уйдут на секунду вперёд, а завтра будет открыта форточка, и они уйдут на секунду назад. Такое в принципе не поддаётся коррекции.

Корректировать можно только постоянное отклонение от нужной (32768Гц) частоты. Когда частота плавает в зависимости от температуры, ничего сделать уже нельзя. Ставьте DS3231, там это уже попытались решить.
vicfamily
Открыл глаза
Сообщения: 49
Зарегистрирован: Пт июл 10, 2015 16:06:24

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение vicfamily »

[uquote="vicfamily",url="/forum/viewtopic.php?p=3322236#p3322236"][uquote="WiseLord",url="/forum/viewtopic.php?p=3322077#p3322077"]Извратился по полной программе и втиснул-таки интерфейс для настройки коррекции прямо на часах, без перепрошивки EEPROM.

Вход в режим - длинным нажатием кнопки 3 входим в режим настройки яркости, повторным длинным нажатием - в режим настройки коррекции секунд. Доступный диапазон - ±55 секунд. Коррекция происходит ночью в 03:00:00, если в плюс или в 03:00:59, если в минус.

Проверяем, тестируем. Не забываем прошить новый EEPROM (появилась новая текстовая строчка). Если всё ОК, потом выложу на github в виде релиза.[/uquote]
Здравствуйте.
Тестил новую прошивку с коррекцией. В исходной версии все нормально , но при изменении параметров в редакторе ;
в закладке translations ; переписываю "в комнате" на "улица" , при входе в режим коррекции секунд появляются артефакты , и убираются перепрошивкой eeprom. Менять название мне надо , т.к. использую ds18b20 и bmp180, а при штатных названиях показывает" в комнате "и "снаружи" наоборот, в старых прошивках изменения выполнялись без глюков.[/uquote]

использовал новый редактор
Вложения
3.jpg
вход в коррецию
(101.44 КБ) 792 скачивания
2.jpg
вход в яркость
(72.22 КБ) 711 скачиваний
1.jpg
исходное состояние
(98.74 КБ) 534 скачивания
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Но вижу же, что нет.
Либо редактор не новый (без поддержки строчки коррекции секунд), либо eeprom старый ("яяяяяя" в этой строке):

Изображение
Аватара пользователя
hector
Грызет канифоль
Сообщения: 251
Зарегистрирован: Сб янв 23, 2016 10:30:29

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение hector »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3322310#p3322310"]Это очень точно. Это выше стабильности частоты кварца. В реальной жизни часы сегодня уйдут на секунду вперёд, а завтра будет открыта форточка, и они уйдут на секунду назад. Такое в принципе не поддаётся коррекции.

Корректировать можно только постоянное отклонение от нужной (32768Гц) частоты. Когда частота плавает в зависимости от температуры, ничего сделать уже нельзя. Ставьте DS3231, там это уже попытались решить.[/uquote]
Кварцы калибруют при температуре 25 градусов. :idea:
При понижении комнатной температуры с 25 до 15 градусов или повышении до 35 градусов - в обоих случаях будем иметь отставание порядка 0.4 сек/сутки.
При понижении комнатной температуры с 25 до 20 градусов или повышении до 30 градусов - в обоих случаях будем иметь отставание порядка 0.1 сек/сутки.
Не веришь - посмотри зависимость частоты часового кварца от температуры. :wink:
У меня много лет работают часы с возможностью коррекции 0.1 секунда/сутки. Последний раз я их настраивал на точный ход осенью, при переводе часов (четыре месяца назад).
Сегодня проверил - часы отстают от точного времени на 1 секунду. Установлена коррекция на отставание в 0.6 сек/сутки.
И ты будешь утверждать, что коррекции 1 сек/сутки достаточно?? :facepalm:
Вложения
untitled.jpg
(34.29 КБ) 606 скачиваний
vicfamily
Открыл глаза
Сообщения: 49
Зарегистрирован: Пт июл 10, 2015 16:06:24

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение vicfamily »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3322436#p3322436"]Но вижу же, что нет.
Либо редактор не новый (без поддержки строчки коррекции секунд), либо eeprom старый ("яяяяяя" в этой строке):

Изображение[/uquote]

в редактированном дампе , в режиме коррекции секунд появляются артефакты

разобрался. действительно использовал старый редактор.
все работает как надо.
Спасибо.
Вложения
редакция.JPG
(157.69 КБ) 651 скачивание
исходник.JPG
(159.81 КБ) 618 скачиваний
Последний раз редактировалось vicfamily Вс мар 04, 2018 15:56:05, всего редактировалось 1 раз.
Аватара пользователя
shutdown
Открыл глаза
Сообщения: 75
Зарегистрирован: Сб ноя 22, 2014 21:38:43
Откуда: Россия

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение shutdown »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3322310#p3322310"]Ставьте DS3231, там это уже попытались решить.[/uquote]
Установлена именно DS3231. Точность хода, по сравнению с DS1307, гораздо выше, но не идеальная.

[uquote="hector",url="/forum/viewtopic.php?p=3322179#p3322179"]На самом деле даже коррекция в 0.5 сек/сутки - это очень грубо. Это неточность часов в 1,5 минуты за полгода. :(
Логичнее тогда ввести коррекцию не раз в сутки, а к примеру, раз в неделю, по воскресениям.[/uquote]
Согласен. Давно родилась такая мысль. Но кто ее реализует?
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Реализовать совершенно не проблема.

Сейчас логика такая: https://github.com/WiseLord/matrixclock ... lay.c#L458

Коррекция происходит в 3 часа и 00 минут каждый день. Никакой проблемы добавить ещё проверку на дату (скажем, каждое 1-е число месяца) или делать её только по воскресеньям.

Вопрос в том, что коль скоро при изменениях температуры комнате точность может плавать в пределах полусекунды в день, как пишет ув. hector, есть ли смысл в этом?

К тому же я просто не знаю, насколько плохи могут быть кварцы. Вот есть сейчас возможность регулировать в пределах ±55 секунд в сутки. Возможно, это слишком много, я даже не знаю. Возможно, даже самые худшие кварцы не уходят более чем на 5 секунд в сутки. Тогда оно бы и имело смысл делать эту коррекцию раз в неделю, например.

Но если корректировать настолько редко, то бОльшую часть этой недели показания будут неточными. А это тоже плохо.
Аватара пользователя
hector
Грызет канифоль
Сообщения: 251
Зарегистрирован: Сб янв 23, 2016 10:30:29

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение hector »

Среднегодовая температура в квартирах (домах) людей умеренного пояса как правило находится в районе 25 градусов. Собственно именно поэтому в свое время решили делать резонаторы часов из среза кварца, стабильного при +25. У многих дома температура +15 ?? А +35??
Как я уже отметил, стабильность кварца в диапазоне 20...30 градусов порядка 0.1 сек/сутки.
Из вышесказанного вытекает очевидный факт наличия в часах возможности коррекции именно с точностью не хуже 0.1 сек/сутки для подстройки хода часов в диапазоне 20....30 градусов с указанной точностью.
З.Ы. на полсекунды в день часы отстанут, если у вас дома сейчас отключат отопление и температура упадет до +15. Но если верить синоптикам, то не за горами потепление. :roll:
Разумеется, никакой сквозняк в комнате сколь-нибудь существенно повлиять на среднесуточный ход часов не сможет (WiseLord необоснованно их боится :) )
Вложения
untitled.jpg
(60.68 КБ) 539 скачиваний
Аватара пользователя
WiseLord
Друг Кота
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск
Контактная информация:

Re: Часы на светодиодных матрицах с драйверами MAX7219

Сообщение WiseLord »

Ладно, уговорили. Будем считать, что на 8 секунд в сутки не уйдёт даже самый плохо откалиброванный кварц. Тогда коррекции ±55 секунд один раз в неделю будет достаточно.
Ответить

Вернуться в «Статьи»