увы, ничто не вечно под луной, как говорил товарищ Шекспир.....
Исходя из этого - да, в момент калибровки можно добиться (наверное) от исправного модуля весьма точного хода времени, но в долговременной перспективе это вряд ли возможно.
Регистр не священная корова, чтобы его не трогать, он и создан для того, чтобы компенсировать уход частоты со временем. Потому и называется Aging Offset. В упомянутом вами графике ничего подозрительного нет, если не эксплуатировать модуль при экстремальных температурах. Думаю, что у подавляющего большинства температура в жилищах не опускается ниже +10 и не превышает +35°С. Если же кто-то не догадается поставить часы на батарею центрального отопления ))Если для того, чтобы откалибровать RTC каждый год нужно проводить многодневные танцы с бубном, то лучше воспользоваться тогда простой коррекцией времени через Wi-Fi, USB, GPS - любым способом, не трогая Trim Register.
не нужно приписывать мне то, чего я не говорил. если приложение покажет дрейф, скажем, в 100 ppm, то Любому, думаю, будет понятно, что нет никакого смысла в коррекции через Aging Offset. Или что-то не так?Если модуль изначально врёт настолько сильно, как у @Владимир 1234 например, то смысла его корректировать вообще не вижу никакого. Здесь либо проблемы с подключением этого модуля, либо неисправность.
Не совсем. Первое, что Вас должно было смутить, что график не соответствует расчётным (Вашим и моим) значениям коррекции. Например, при коррекции -128/127 график находится явно под горизонтом 10, а не 12,7, как в расчётах. Второе - зависимость от температуры даже в рамках комнатных значений значительно повышается. Т.е., к 2 ppm анонсированных добавляется ещё некоторая нестабильность, вызванная изменением Trim Register. У меня есть предположения на этот счёт, но смысла их высказывать не вижу, поскольку это лишь предположения.В упомянутом вами графике ничего подозрительного нет, если не эксплуатировать модуль при экстремальных температурах.
Но и, как выясняется, не панацея. Для целей практического использования не вижу необходимости в принципе с ним заморачиваться.Регистр не священная корова, чтобы его не трогать
Так, только если в часах @Владимир 1234 модуль уже показывает, что называется, "из коробки" уход за 10 минут на несколько секунд, то советовать человеку на всякий случай проверить его в приложении - не очень корректно.не нужно приписывать мне то, чего я не говорил. если приложение покажет дрейф, скажем, в 100 ppm, то Любому, думаю, будет понятно, что нет никакого смысла в коррекции через Aging Offset. Или что-то не так?
Никаких многодневных танцев не нужно, подключаете часы через USB, заливаете прошивку, соединяете 2-й Пин с контактом SQW, калибруете и вуаля можете заливать прошивку часов обратно.
Из моей практики ~23 часа (т.е. сутки) вполне хватает, чтобы быть уверенным в точности показаний дрейфа до +-0,1 ppm. Десять минут это очень мало, хотя можно сразу оценить, дефектый ли кварц.
Т.е., вопросов к GPS и USB не возникло?"простой коррекцией времени через Wi-Fi, USB, GPS"? Это как в сказке что ли "и снесу я вам не золотое, простое.." а прошивку кто писать под esp8266 будет, да так, чтобы не отваливался Wi-Fi через пару дней? А жрать esp сколько будет?
График графиком (тем более там опечатки), но обратимся к докам:Не совсем. Первое, что Вас должно было смутить, что график не соответствует расчётным (Вашим и моим) значениям коррекции. Например, при коррекции -128/127 график находится явно под горизонтом 10, а не 12,7, как в расчётах. Второе - зависимость от температуры даже в рамках комнатных значений значительно повышается. Т.е., к 2 ppm анонсированных добавляется ещё некоторая нестабильность, вызванная изменением Trim Register. У меня есть предположения на этот счёт, но смысла их высказывать не вижу, поскольку это лишь предположения.
Но и, как выясняется, не панацея. Для целей практического использования не вижу необходимости в принципе с ним заморачиваться.
Интересная разработка! Подскажите программа работает только с большим модулем часов, микро DS3231 нельзя им откалибровать? У меня к микро модулю почему-то даже не подключается. К большому подключилось и все отрабатывает как в инструкции.Не пойму, зачем все эти танцы с бубном для проверки модуля DS3231, когда уже есть готовое приложение для калибровки и установки точного времени. С ним можно протестировать модуль в режиме реального времени, оценить уход частоты кварца, узнать шансы на "спасение". Заодно, установить время с точностью до 1мс, а уход времени, то есть дрейф отрегулировать до 0,1 пи-пи-м. И все это за пару кликов мышкой.
Модуль DS3231 даже не нужно выпаивать для проверки с платы часов. Первое, что нужно сделать, залить в ардуино скетч synchro_RTC.ino. Второе, перекинуть провод с со 2-го пина ардуино на контакт SDW модуля (я это делаю с помощью проводка с двумя "крокодилами" на концах). Третье, установить в программе правильный порт, чтобы получить соединение по USB. Далее действовать согласно инструкции.
Модуль вот такойДолжен работать с любым модулем. "Микро" это типа "мини"? Для него немного проблемно SQW вывести
Должен работать с любым модулем. "Микро" это типа "мини"? Для него немного проблемно SQW вывести
китайский клон arduino nano с драйвером ch340, через нее же подключал большой модуль. У вас маленький получилось подключить, откалибровать?Может мои мини ds3231 безнадежно бракованные, отстают ужасно, температура врет на 20 градусов, я их поэтому отбраковал, но думал вдруг калибровка им поможет. Часы с более менее нормальным мини модулем пока не пробовал калибровать, не хочется испортить по не знанию, в инструкции для приложения на githabe в качестве примера же указан большой модуль, вот я и подумал вдруг программа предназначена для калибровки только больших модулей.Да, работать должен. А к какому Ардуино подключаете?
У меня такой же модуль как у Вас на картинке, погрешность часов менее секунды в сутки в плюс, ничего не калибровал, видимо фейковые микрухи на Ваших стоят.китайский клон arduino nano с драйвером ch340, через нее же подключал большой модуль. У вас маленький получилось подключить, откалибровать?Может мои мини ds3231 безнадежно бракованные, отстают ужасно, температура врет на 20 градусов, я их поэтому отбраковал, но думал вдруг калибровка им поможет. Часы с более менее нормальным мини модулем пока не пробовал калибровать, не хочется испортить по не знанию, в инструкции для приложения на githabe в качестве примера же указан большой модуль, вот я и подумал вдруг программа предназначена для калибровки только больших модулей.
Большой модуль DS3231 ZS-042 в отличии от MINI имеет на борту флешь память AT24C256, в которую ардуино записывает дату последней установки времени (в UTC формате). Потом, по этой метке рассчитывется дрейф осциллятора. Отсутствие AT24C256 в данном случае не очень критично, т.к. дату обновления можно легко перенаправить, к примеру, в один из регистров будильника DS3231 (их у него два).Интересная разработка! Подскажите программа работает только с большим модулем часов, микро DS3231 нельзя им откалибровать? У меня к микро модулю почему-то даже не подключается. К большому подключилось и все отрабатывает как в инструкции.
Я тоже с такой проблемой столкнулся и Ваше решение помогло, Спасибо огромное! Сейчас буду пробовать калибровку, крайне полезное приложение!Большой модуль DS3231 ZS-042 в отличии от MINI имеет на борту флешь память AT24C256, в которую ардуино записывает дату последней установки времени (в UTC формате). Потом, по этой метке рассчитывется дрейф осциллятора. Отсутствие AT24C256 в данном случае не очень критично, т.к. дату обновления можно легко перенаправить, к примеру, в один из регистров будильника DS3231 (их у него два).
В вашем же случае проблема в другом. Судя по скрину, приложение не получает подтверждения о статусе и срабатывает таймаут. Закомментируйте в скетче строку 108
// while ( millis() - tickCounter > 998 );
и все кроме калибровки должно снова работать.
Теперь о особенностях модуля mini на DS3231. Не во всех mini модулях, которыми торгуют китайцы, выведен SQW/Interr на внешний разъем, даже если используются чипы DS3231SN. Поэтому нужно смотреть/прозвонить разводку платы и при отсутствии "дорожки" подпоять перемычку с 3-й ноги микросхемы на контакт SQW. (SQW использует 1Hz сигнал для "сброса" счетчика millis )
Сообщите, что за систему вы используете, версию программы и какой RTC модуль?Я тоже с такой проблемой столкнулся и Ваше решение помогло, Спасибо огромное! Сейчас буду пробовать калибровку, крайне полезное приложение!
Вот только при попытке коррекции времени вот такая фигня:
Посмотреть вложение 21978
Я припаялся к третьей ножке DS3231, вывел на D2 на ардуинке, но не помогает
UPD: А, ну Вы и написали: "и все кроме калибровки должно снова работать. " Ну а как сделать так, чтобы калибровка работала?)) А то какой смысл в приложении калибровки, которое не умеет калибровать модуль?))
Да точно такое же все, как у товарища jewgenwinnerСообщите, что за систему вы используете, версию программы и какой RTC модуль?
По поводу калибровки. Если на RTC модуле отсутствует флешь AT24C256, то чтобы калибровать нужно произвести изменения в скетче: Для хранения метки времени (4 байта) можно воспользоваться EEPROM ардуино. Для этого нужно отредактировать скейч, переписав функции работы с флеш памятью AT24C256. Я бы воспользовался библиотекой EEPROM.h и функциями EEPROM.get(address, byte) и EEPROM.put(address, byte) вместо функций i2c_eeprom_read_byte, i2c_eeprom_write_byte.
У меня попадались такие ардуинки, которые тоже сильно спешили, там вообще партия была отвратительная, все 10 штук были очень плохие, так что ничего удивительного))@andrycha91, калибровка - это модуль DS3231, который как раз работает, когда питание выключено, а в этот момент, как Вы утверждаете, всё хорошо.
При включении питания работает внутренний таймер, который синхронизируется при включении и каждые 15 минут, если правильно помню. Т.е., это часы в Ардуино идут неправильно. Это, кстати, легко поправить: найдите на вкладке 0_data строку
timerMinim dotTimer(500);
и увеличьте, если Ваши часы спешат. У Вас каждую минуту они спешат на 7 секунд, т.е., нужно увеличить на
(7/120)*1000=58 единиц.
Но вообще, странно, что Ардуино настолько уходит по времени. Впрочем, от китайцев можно ждать всего, чего угодно.
Не знаю каким чудом, но отставание на 7 секунд прошло без изменения значений.@andrycha91, калибровка - это модуль DS3231, который как раз работает, когда питание выключено, а в этот момент, как Вы утверждаете, всё хорошо.
При включении питания работает внутренний таймер, который синхронизируется при включении и каждые 15 минут, если правильно помню. Т.е., это часы в Ардуино идут неправильно. Это, кстати, легко поправить: найдите на вкладке 0_data строку
timerMinim dotTimer(500);
и увеличьте, если Ваши часы спешат. У Вас каждую минуту они спешат на 7 секунд, т.е., нужно увеличить на
(7/120)*1000=58 единиц.
Но вообще, странно, что Ардуино настолько уходит по времени. Впрочем, от китайцев можно ждать всего, чего угодно.
Попробуйте поменять значение скважности ШИМ, например на 170 (просто увеличить на 5-10 ндиниц)Люди добрые, помогите кто может. Кто может помогите.
Прочитал форум и ответа не нашел (
Такие проблемы уже были.
После установки ламп напряжение на конденсаторе на максимально выкрученном значении 164V. И ни в какую
До установки ламп выставил спокойно 180V.
Блок питания Гнусмас 5М 1А
Ничего сильно не греется.
Лампы горят тускло в тестовой прошивке.
От напряжения это зависит, конечно, но не так сильно, как кажется. Т.е., "добив" напряжение до 170 Вы серьёзного прироста в яркости не получите. Скорее всего дело в фейковых оптронах. Это если:Лампы горят тускло в тестовой прошивке.