dontsovcmc / waterius

Передача показаний воды по Wi-Fi. Watermeter Wi-Fi transmitter.
https://waterius.ru
GNU Lesser General Public License v3.0
569 stars 108 forks source link

Время сна отличается от заданного на ~5% #31

Closed Disasm closed 6 years ago

Disasm commented 6 years ago

Частота watchdog oscillator в 128кГц это лишь обещания, реальная частота может ощутимо отличаться (раздел 22.9 даташита). При комнатной температуре и 3В питания получается что-то около 121.8кГц. В результате этого показания снимаются не раз в 24 часа, а раз в 22 часа 50 минут. Возможно, стоит сделать поправку на это.

dontsovcmc commented 6 years ago

Добрый день! Там 1МГц и, да, он отличается не только от температуры, но и заводской калибровки. В даташите написано кажется 5% с завода, а если вручную откалибровать, то будет 1%. На практике вижу выход на связь раз в 26 часов. В коде бесполезно закладываться, т. к. все чипы разные. Для калибровки нужен отдельный скетч и эталон частоты от ардуино или генератора. Дальше коэффициент нужно изменять в коде или сохранять в памяти.

Disasm commented 6 years ago

Похоже, что я ошибся в расчётах, но не суть. Выходит частота 0.121 МГц (-7.7%) у вас и 0.138 МГц (+5.1%) у меня. Тем временем обнаружил, что графики из даташита не соответствуют друг другу, так что вряд ли есть смысл с ними сверяться.