Arduino uno r4 minimaのRTCが数日で30分程度ずれる。

なぜか分かりますか。

工業製品には精度とか誤差とかいうものがあるから。

1日は1440分なので、クロックの精度が1%だったとして一日14分ずれる可能性がありますね。
RA4M1のハードウェアマニュアル( https://www.renesas.com/jp/ja/document/mah/renesas-ra4m1-group-users-manual-hardware?r=1054146 )を見てみましたが、周波数範囲( 27.8528 - 37.6832KHz)はありましたが出荷時の精度のスペックは見つかりませんでした。一応出荷時トリミングしているようなのでそこそこにはなっているのでしょうけれど。ユーザー側で周波数を微調整できるトリミングレジスタなるものもあるようですから、それで追い込めば少しはマシになると思います。ただ、気温や電源電圧の変化に対してどのくらい動くかも保証はないようです。
つまり、精度についてはなんの保証もされていないものとして、

  • トリミングのうえ実力を測って使う

それで不足なら、

  • 自分で精度の保証された32.768KHzの発振器を用意して注入する、
  • 外付けの高精度を謳うRTCモジュール(DS3231とか)を使う
  • WiFiモジュールを調達してNTPを使う(WiFiモデルは国内でまだ出ていないので...)
  • GNSS(GPS)モジュールを付けて時刻を取得する

といった対策をとることになるかと思います。後者二つなら時刻を合わせるという行為は以降不要になりますね。

コメントを投稿

0 コメント