Хотя я и противник такой искусственной коррекции, но всё же поддаюсь на многочисленные уговоры.
В архиве прошивка с поддержкой коррекции секунд. Величина коррекции задаётся в eeprom, пределы - ±50 секунд в сутки.
Как происходит коррекция: - Если значение коррекции положительное, то в 0:00:00 каждые сутки к секундам прибавляется заданное в eeprom значение коррекции - Если значение коррекции отрицательное, то в 23:59:59 от секунд отнимается заданное значение коррекции, при этом ставится флаг, что больше корректировать не нужно. Флаг снимается в 0:00:00. Это - чтобы избежать "вечной" коррекции времени назад.
Редактор EEPROM с поддержкой коррекции секунд можно пока взять на Dropbox.
Поскольку в железе у меня проверить это сейчас возможности нет, большая просьба проверить, как это всё работает.
Естественно, коррекция имеет смысл только когда часы включены. Если их выключить на сутки (или хотя бы около полуночи), естественно, никакой коррекции за эти сутки не произойдёт (основная причина, почему мне не хотелось вводить эту функцию).
Хотя я и противник такой искусственной коррекции, но всё же поддаюсь на многочисленные уговоры.
В архиве прошивка с поддержкой коррекции секунд. Величина коррекции задаётся в eeprom, пределы - ±50 секунд в сутки.
Как происходит коррекция: - Если значение коррекции положительное, то в 0:00:00 каждые сутки к секундам прибавляется заданное в eeprom значение коррекции - Если значение коррекции отрицательное, то в 23:59:59 от секунд отнимается заданное значение коррекции, при этом ставится флаг, что больше корректировать не нужно. Флаг снимается в 0:00:00. Это - чтобы избежать "вечной" коррекции времени назад.
Редактор EEPROM с поддержкой коррекции секунд можно пока взять на Dropbox.
Поскольку в железе у меня проверить это сейчас возможности нет, большая просьба проверить, как это всё работает.
Естественно, коррекция имеет смысл только когда часы включены. Если их выключить на сутки (или хотя бы около полуночи), естественно, никакой коррекции за эти сутки не произойдёт (основная причина, почему мне не хотелось вводить эту функцию).
Значит я вычисляю разницу за сутки и записываю в eeprom . hex менять надо ? буду пробовать , отпишусь. Спасибо.
Обновлённая прошивка во вложении к предыдущему посту. Прошить один раз .hex, а уже eeprom (.bin), отредактировав предварительно - по необходимости.
Также прошу потестировать саму коррекцию. В смысле, настроить, например, на N секунд, прошить .bin EEPROM, выставить время 23:59 и посмотреть, происходит ли коррекция.
Обновлённая прошивка во вложении к предыдущему посту. Прошить один раз .hex, а уже eeprom (.bin), отредактировав предварительно - по необходимости.
Также прошу потестировать саму коррекцию. В смысле, настроить, например, на N секунд, прошить .bin EEPROM, выставить время 23:59 и посмотреть, происходит ли коррекция.
перепрошил flash и eeprom. выставил -5 секунд ; 23:59 , но при переходе на 00:00 визуально не заметил этой 5 секундной задержки. я правильно понял алгоритм. или же эти -5 секунд появятся в следующие сутки?
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Извратился по полной программе и втиснул-таки интерфейс для настройки коррекции прямо на часах, без перепрошивки EEPROM.
Вход в режим - длинным нажатием кнопки 3 входим в режим настройки яркости, повторным длинным нажатием - в режим настройки коррекции секунд. Доступный диапазон - ±55 секунд. Коррекция происходит ночью в 03:00:00, если в плюс или в 03:00:59, если в минус.
Проверяем, тестируем. Не забываем прошить новый EEPROM (появилась новая текстовая строчка). Если всё ОК, потом выложу на github в виде релиза.
Вот только как быть, если точность хода 0,5 сек/сутки или меньше?
На самом деле даже коррекция в 0.5 сек/сутки - это очень грубо. Это неточность часов в 1,5 минуты за полгода. Логичнее тогда ввести коррекцию не раз в сутки, а к примеру, раз в неделю, по воскресениям. Будет точность на уровне 0.14 сек/сутки.
Извратился по полной программе и втиснул-таки интерфейс для настройки коррекции прямо на часах, без перепрошивки EEPROM.
Вход в режим - длинным нажатием кнопки 3 входим в режим настройки яркости, повторным длинным нажатием - в режим настройки коррекции секунд. Доступный диапазон - ±55 секунд. Коррекция происходит ночью в 03:00:00, если в плюс или в 03:00:59, если в минус.
Проверяем, тестируем. Не забываем прошить новый EEPROM (появилась новая текстовая строчка). Если всё ОК, потом выложу на github в виде релиза.
Здравствуйте. Тестил новую прошивку с коррекцией. В исходной версии все нормально , но при изменении параметров в редакторе ; в закладке translations ; переписываю "в комнате" на "улица" , при входе в режим коррекции секунд появляются артефакты , и убираются перепрошивкой eeprom. Менять название мне надо , т.к. использую ds18b20 и bmp180, а при штатных названиях показывает" в комнате "и "снаружи" наоборот, в старых прошивках изменения выполнялись без глюков.
Нужен обновленный редактор eeprom, ссылку я давал чуть выше.
hector писал(а):
На самом деле даже коррекция в 0.5 сек/сутки - это очень грубо. Это неточность часов в 1,5 минуты за полгода
Это очень точно. Это выше стабильности частоты кварца. В реальной жизни часы сегодня уйдут на секунду вперёд, а завтра будет открыта форточка, и они уйдут на секунду назад. Такое в принципе не поддаётся коррекции.
Корректировать можно только постоянное отклонение от нужной (32768Гц) частоты. Когда частота плавает в зависимости от температуры, ничего сделать уже нельзя. Ставьте DS3231, там это уже попытались решить.
Извратился по полной программе и втиснул-таки интерфейс для настройки коррекции прямо на часах, без перепрошивки EEPROM.
Вход в режим - длинным нажатием кнопки 3 входим в режим настройки яркости, повторным длинным нажатием - в режим настройки коррекции секунд. Доступный диапазон - ±55 секунд. Коррекция происходит ночью в 03:00:00, если в плюс или в 03:00:59, если в минус.
Проверяем, тестируем. Не забываем прошить новый EEPROM (появилась новая текстовая строчка). Если всё ОК, потом выложу на github в виде релиза.
Здравствуйте. Тестил новую прошивку с коррекцией. В исходной версии все нормально , но при изменении параметров в редакторе ; в закладке translations ; переписываю "в комнате" на "улица" , при входе в режим коррекции секунд появляются артефакты , и убираются перепрошивкой eeprom. Менять название мне надо , т.к. использую ds18b20 и bmp180, а при штатных названиях показывает" в комнате "и "снаружи" наоборот, в старых прошивках изменения выполнялись без глюков.
использовал новый редактор
Вложения:
Комментарий к файлу: вход в коррецию 3.jpg [101.44 KiB]
Скачиваний: 745
Комментарий к файлу: вход в яркость 2.jpg [72.22 KiB]
Скачиваний: 671
Комментарий к файлу: исходное состояние 1.jpg [98.74 KiB]
Скачиваний: 494
Это очень точно. Это выше стабильности частоты кварца. В реальной жизни часы сегодня уйдут на секунду вперёд, а завтра будет открыта форточка, и они уйдут на секунду назад. Такое в принципе не поддаётся коррекции.
Корректировать можно только постоянное отклонение от нужной (32768Гц) частоты. Когда частота плавает в зависимости от температуры, ничего сделать уже нельзя. Ставьте DS3231, там это уже попытались решить.
Кварцы калибруют при температуре 25 градусов. При понижении комнатной температуры с 25 до 15 градусов или повышении до 35 градусов - в обоих случаях будем иметь отставание порядка 0.4 сек/сутки. При понижении комнатной температуры с 25 до 20 градусов или повышении до 30 градусов - в обоих случаях будем иметь отставание порядка 0.1 сек/сутки. Не веришь - посмотри зависимость частоты часового кварца от температуры. У меня много лет работают часы с возможностью коррекции 0.1 секунда/сутки. Последний раз я их настраивал на точный ход осенью, при переводе часов (четыре месяца назад). Сегодня проверил - часы отстают от точного времени на 1 секунду. Установлена коррекция на отставание в 0.6 сек/сутки. И ты будешь утверждать, что коррекции 1 сек/сутки достаточно??
На самом деле даже коррекция в 0.5 сек/сутки - это очень грубо. Это неточность часов в 1,5 минуты за полгода. Логичнее тогда ввести коррекцию не раз в сутки, а к примеру, раз в неделю, по воскресениям.
Согласен. Давно родилась такая мысль. Но кто ее реализует?
Коррекция происходит в 3 часа и 00 минут каждый день. Никакой проблемы добавить ещё проверку на дату (скажем, каждое 1-е число месяца) или делать её только по воскресеньям.
Вопрос в том, что коль скоро при изменениях температуры комнате точность может плавать в пределах полусекунды в день, как пишет ув. hector, есть ли смысл в этом?
К тому же я просто не знаю, насколько плохи могут быть кварцы. Вот есть сейчас возможность регулировать в пределах ±55 секунд в сутки. Возможно, это слишком много, я даже не знаю. Возможно, даже самые худшие кварцы не уходят более чем на 5 секунд в сутки. Тогда оно бы и имело смысл делать эту коррекцию раз в неделю, например.
Но если корректировать настолько редко, то бОльшую часть этой недели показания будут неточными. А это тоже плохо.
Среднегодовая температура в квартирах (домах) людей умеренного пояса как правило находится в районе 25 градусов. Собственно именно поэтому в свое время решили делать резонаторы часов из среза кварца, стабильного при +25. У многих дома температура +15 ?? А +35?? Как я уже отметил, стабильность кварца в диапазоне 20...30 градусов порядка 0.1 сек/сутки. Из вышесказанного вытекает очевидный факт наличия в часах возможности коррекции именно с точностью не хуже 0.1 сек/сутки для подстройки хода часов в диапазоне 20....30 градусов с указанной точностью. З.Ы. на полсекунды в день часы отстанут, если у вас дома сейчас отключат отопление и температура упадет до +15. Но если верить синоптикам, то не за горами потепление. Разумеется, никакой сквозняк в комнате сколь-нибудь существенно повлиять на среднесуточный ход часов не сможет (WiseLord необоснованно их боится )
Ладно, уговорили. Будем считать, что на 8 секунд в сутки не уйдёт даже самый плохо откалиброванный кварц. Тогда коррекции ±55 секунд один раз в неделю будет достаточно.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 65
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения