Поставил поправку 86 для теста. Часы за сутки ушли на 1 мин 14 сек@Sergey T, Да, можно добиться точности в 1-2 секунду.
Поставил поправку 86 для теста. Часы за сутки ушли на 1 мин 14 сек@Sergey T, Да, можно добиться точности в 1-2 секунду.
У меня где то так же, ещё не смотрел в даташите, можно ли там не целые числа указывать, так как поправка нужна на 0,3792592593. Разберусь, отпишусь.если часы отстают на секунду в сутки, это можно как-то отрегулировать?
приложение synchroTime для калибровки RTC DS3231А если часы отстают на секунду в сутки, это можно как-то отрегулировать? Вроде не критично, но и особой точностью это не назовешь. У меня в другом проекте DS3231 за год убегает на одну минуту, что устраивает полностью.
Скорее всего в этом и проблема. Из модуля время считывается периодически. Если его нет - считывается ерунда.Модуль RTS ещё не паял
Припаял модуль RTS, часы работают корректно и режимы отображают корректноПервое включение прошивки ....v2.5, часы на Ин12 ,время 9596, но минуты считает ..97, ..98 и тд. Кнопками выставил время (получилось) , при первом эффекте опять 9596.
Модуль RTS ещё не паял
Обратил внимание, часы , не выходят из просмотра эффекта перелистывания цифр в 1, 2 , 3. А вот из 4,5 возвращаться в режим работы сами 9596
Нажка А5 оказалась не припаянаПрипаял модуль RTS, часы работают корректно и режимы отображают корректно
Но всё равно начинает с 9596, перепоршивал, если отключить от сети , опять 9596
Диод в модуле горит красным
Это оказалось не отставание, а сброс времени НАЗАД.За два часа работы ,часы отстали на 20 минут. Конденсатор видимо не помогает.Стоит ли прошивать скетчем для модуля, или 100% модуль под замену.
RTC DS3231
На часах было 06:15 потом сразу 06:12 ,далее часы дошли доНе очень понятно, что имеется в виду? В обеих версиях часов параллельно идут два "времени". Одно поддерживается внутренним таймером микропроцессора, другое - модулем реального времени (RTC). Периодически происходит их синхронизация в направлении RTC -> МП, в эти моменты возможен скачок времени. Это - штатный режим работы. Другое дело - какое время правильное сейчас, внутреннее в МП или внешнее, в RTC. От этого зависит вариант исправления ошибки.
Получается первое, правильное.Какое время правильнее? Вы так и не ответили на вопрос.
По Вашему, это значит нужно заменить arduinoНа некоторых программах для часов есть такая особенность, синхронизировать время по модулю часов раз в несколько минут, а все остальное время использовать таймер millis для расчетов. Так вот этот таймер может безбожно врать, увы. Мне на руки попадалась ардуина в которую пришлось вводить изменение для расчета millis, на одну секунду приходилось 950 тиков миллис, а это 5%.
Проверял по компьютерным часам, выводил значение millis каждую минуту, смотрел как меняется, брал среднее изменение.
Но с такими отклонениями, вообще более 5 минут в сутки это дикий брак кмк
Тогда дело всё же в модуле RTC.Получается первое, правильное.
таймер millis, это?@Владимир 1234, Для начала проверить, что получается.
Думаете, стоит прошить его скетчем для rtc с параметром 88, и посмотреть как отреагировал@Старик Похабыч, здесь оказывается, что дело обстоит как раз наоборот: первое время - это время, рассчитываемое по millis внутри процессора. Периодический "сброс" - это чтение времени из часов RTC. @Владимир 1234 указал, что
Тогда дело всё же в модуле RTC.
void setup() {
Serial.begin(115200);
}
uint32_t tmr;
void loop() {
tmr=millis();
Serial.println(tmr);
delay(60000);
}
Видно, что есть небольшое запаздываение кварца, но оно может как раз связано с выполнением команд. На 3 сотых секунды я бы забил. Если синхронизировать раз в 15 минут, то разница будет менее 0.5 секунды, что незаметно , мы же не астрономический хронометр делаем.12:05:53.523 -> 0
12:06:53.558 -> 59999
12:07:53.586 -> 119999
1. Часы подключены к сети (чтобы нагрузка не шла через usb).Вот простой пример проверки кварца платы, не супер точный, не учитывает время выполнения команд, но для грубого отсечения пойдет:
Вот результат работы:C++:void setup() { Serial.begin(115200); } uint32_t tmr; void loop() { tmr=millis(); Serial.println(tmr); delay(60000); }
Видно, что есть небольшое запаздываение кварца, но оно может как раз связано с выполнением команд. На 3 сотых секунды я бы забил. Если синхронизировать раз в 15 минут, то разница будет менее 0.5 секунды, что незаметно , мы же не астрономический хронометр делаем.
А та плата, что я видел отставала за 15 минут синхронизации на пару минут, что было очень заметно
где выведется я так и не понял и не нашел, загрузил прошивку и ничего не происходит, монитор порта пустой, может там чего отправить надо2) На экран выведется текущее значение поправки. У меня на одном модуле она была не равна 0 почему то.
сергей расскажите получилось у вас откалибровать модуль времени. у меня идет отставание 4 сек за час, это 1мин 36сек в сутки,может мне сразу в помойку модульНе могли бы вы подробней написать что и как в коде нужно поменять, у меня часы как раз отстают где-то на минуту в сутки