【検証】DS3231の水晶版とMEMS版はどれくらいズレるのか?1週間放置して比較

自作データロガーの時刻精度を上げるため、定番のRTC「DS3231」をいくつか購入しました。しかし、届いたチップをよく見ると刻印に違いが。

  • DS3231SN: 水晶振動子を内蔵した従来タイプ
  • DS3231M: 小型で衝撃に強いMEMS振動子を内蔵したタイプ

ネットでは「MEMS版は精度が落ちる」という噂もあり、気になったので実力をガチンコ比較してみることにしました。

目次

衝撃の予備実験:オシロが示した絶望的な差

まず、それぞれの 32K ピンから出力される生の信号をオシロスコープで確認しました。

  • SN (水晶): 32.7680 kHz (完璧)
  • M (MEMS): 32.7334 kHz (!?)

MEMS版の周波数が明らかに低く、単純計算だと1日で1分半も遅れるレベルです。この時点で「やっぱりMはダメか……」と半分諦めモードに入りました。

本番実験:1週間の連続ロギング

諦める前に、実際の「時計としての精度」を測るべく、Pico 2 (RP2350) を使って1週間(168時間)連続で時刻を記録し続けました。

  • 比較対象: DS3231SN vs DS3231M
  • 測定方法: 1分おきに両方の時刻を読み出し、差分をCSVに記録

統計で見えてきた「真実のドリフト曲線」

1秒単位の生ログでは「0秒か1秒か」の二択しか見えませんが、1時間ごとの平均誤差をグラフ化したところ、驚くほど美しい結果が出ました。

横軸:経過時間(時間単位)」「縦軸:1時間ごとの平均誤差

「横軸:経過時間(時間単位)」「縦軸:1時間ごとの平均誤差」のグラフから以下のことが判明しました。

  • 一定の遅れ: M(MEMS版)はSN(水晶版)に対して、1時間に約 0.0054 秒という極めて正確かつ一定のペースで遅れ続けていました。
  • 1週間で1秒: 168時間経ったところで、平均誤差はピタリと 1.0 秒に到達。
  • デジタルの勝利: オシロで見た周波数のズレを、チップ内部のデジタル補正回路が「力技」で完璧に帳尻合わせしていることが証明されました。

絶対時間との比較(考察)

JST(日本標準時)とも比較を行いました。

※Thonnyの出力ラグや目視の誤差があるため、あくまで傾向としての考察です。

  • JSTに対する1週間の精度(推定)
    • SN (水晶): 約 -1.93 ppm (1週間で約1秒の遅れ)
    • M (MEMS): 約 -3.42 ppm (1週間で約2秒の遅れ)

どちらもカタログスペック(SN: ±2 ppm, M: ±5 ppm)をしっかりと守っており、非常に誠実なチップであることがわかりました。

結論:どっちが買いか?

1週間にわたる壮大な実験の結論です。

  • 究極の正確さを求めるなら「SN(水晶版)」: 1週間でJSTから1秒しかズレないその精度は、まさに神レベルです。
  • MEMS版も十分すぎるほど高性能: 「Mはズレる」という噂は、生の波形だけを見た誤解かもしれません。1週間で2秒程度の誤差なら、ほとんどの用途で問題にならないはずです。

データロガーを作るなら、どちらを使っても「DS3231なら間違いない」という安心感を得ることができました。