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

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

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


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

Сообщение WiseLord »

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

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

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

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

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

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

Сообщение 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 менять надо ?
буду пробовать , отпишусь.
Спасибо.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

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

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

Сообщение 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 секунд появятся в следующие сутки?
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

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

Сообщение vicfamily »

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

Сообщение WiseLord »

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

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

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

Сообщение shutdown »

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

Сообщение WiseLord »

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

Сообщение hector »

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

Сообщение 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, а при штатных названиях показывает" в комнате "и "снаружи" наоборот, в старых прошивках изменения выполнялись без глюков.
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

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

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

Сообщение 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 КБ) 793 скачивания
2.jpg
вход в яркость
(72.22 КБ) 712 скачиваний
1.jpg
исходное состояние
(98.74 КБ) 535 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

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

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

Сообщение 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 КБ) 608 скачиваний
Открыл глаза
Сообщения: 49
Зарегистрирован: Пт июл 10, 2015 16:06:24

Сообщение vicfamily »

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

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

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

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

Сообщение 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]
Согласен. Давно родилась такая мысль. Но кто ее реализует?
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

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

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

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

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

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

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

Сообщение hector »

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

Сообщение WiseLord »

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

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