LjPlay の時計のずれ ― カレンダータイマーの同期で補正できるか

2026-10-20 の試験(約 40 分)・スタッフ限定・照明は接続せず試験台の機器だけで測定

この試験の目的: LjPlay(M5Stack で LjStudio のデータを SD から再生する装置)は無人で 4 か月動かすのが目標。M5 の時計は補正しないと −23〜−73 ppm 遅れ、4 か月で約 8 分ずれる(2026-10-19 の試験)。照明用のカレンダータイマー(月差 13 秒・4 か月で約 52 秒)が Bluetooth で M5 の時刻を合わせ続ければ、ずれを 52 秒程度に抑えられるはず。それを、インターネットの時刻(NTP)に合わせた PC の時計を物差しにして確かめた。
★最終の結果(2026-10-20 夕方): 一日で 5 回直した後、LjPlay 3 台は月差 13 秒のタイマー(RTC)に 1 ms 単位でそろって従い、NTP の時刻に対して ±5 ppm の内側(3 台の差 2〜3 ms で一定・開始直後の差 7 ms・時刻の飛び/失敗/再起動 0)。4 か月の見込みは約 +30〜+50 秒(補正なしなら約 8 分)。詳しくは「0. 動画」の上の 1 本と「5-5」。下の赤枠は朝の時点の結論。
結論(朝・この 40 分では): 補正と補正の間は PC の時計とほぼ同じ速さで良好。しかし、補正が入るたびに「遅れる」向きの段が入り、40 分で約 100 ms 遅れた(−45 ppm 相当)。このまま積み上がれば 4 か月で約 8 分 = 補正なしと同じ。今日の試験では「補正できる」とはまだ言えない。同期を RTC に変えたあと、同じ方法で測り直す。

0. 動画で見る

LjPlay の時刻同期 ― 2026-10-20 のまとめ ― 動画公開準備中

★今日のまとめ: 検査の方法と結果(手順・画面の見方・3 つの測り方・合格の条件 → 朝の問題 → 直したこと → 夕方の結果・約 7:23・音声つき・VOICEVOX:No.7)

  1. 0:00 はじめに / 0:17 目的 / 0:42 試験台 / 1:02 検査の方法 / 1:25 録画の画面の見方 / 1:53 ずれの監視(録画を拡大) / 2:10 測り方 ① DMX の秒 / 2:43 測り方 ② ch15〜18 の時計 / 3:19 測り方 ③ 時計の物差し
  2. 3:43 合格の条件 / 4:09 朝わかった問題 / 4:36 直したこと / 5:10 3 台同時スタート(録画) / 5:37 開始直後 7 ms / 5:55 1 時間の様子 / 6:17 1 ms より細かく測る / 6:44 朝と夕方 / 7:07 残る課題と資料
LjPlay の時計のずれ ― 動画公開準備中

カレンダータイマーの同期で補正できるか(約 4:21・音声つき・VOICEVOX:No.7)

  1. 0:00 はじめに / 0:16 問題: M5 の時計は遅れる / 0:47 試験の構成 / 1:08 0 からスタート(録画) / 1:25 同期が時刻を戻す / 2:00 タイマーが飛んだ瞬間(録画)
  2. 2:34 ずれと補正のグラフ / 2:59 2 時間の頭で同時に戻る / 3:15 頭へ戻った瞬間(録画) / 3:28 結果 / 3:59 これから

1. 問題と構成

M5 の水晶の時計は 4 か月で約 4〜8.6 分遅れる。カレンダータイマーは月差 13 秒
M5 の水晶の時計は 4 か月で約 4〜8.6 分遅れる。カレンダータイマーは月差 13 秒
カレンダータイマーが BLE で 2 台の M5 に時刻を合わせる。M5 の DMX を受信機 2 台ずつで受け、PC(NTP)の時計と比べる
カレンダータイマーが BLE で 2 台の M5 に時刻を合わせる。M5 の DMX を受信機 2 台ずつで受け、PC(NTP)の時計と比べる
録画の 1 コマ(10:12:42)。左に 2 台の M5 の液晶(1:30:47.2 でそろう)、中央に監視、右に受信機 4 台、右下にカレンダータイマーの液晶
録画の 1 コマ(10:12:42)。左に 2 台の M5 の液晶(1:30:47.2 でそろう)、中央に監視、右に受信機 4 台、右下にカレンダータイマーの液晶

2. できごと

時刻できごと
10:09:22録画開始(画面・DMX の全フレーム・数字)
10:09:39監視から 2 台へ「0 からスタート」(送信 0.15 ms / 0.32 ms・返事 2 台 OK)
10:11:31.5COM74 のタイマーが 0:01:52 → 1:29:37 へ飛ぶ(+5264.4 秒)= カレンダータイマーの同期がカレンダーの時刻へ戻した
10:11:55.6COM23 も 0:02:16 → 1:30:01 へ(+5264.3 秒)。2 台とも「08:41:54 = 0 秒」の時間軸(差 47 ms)
10:14:30COM74 の位相 −27 ms の補正と同時に、ずれが +30 ms の段
10:19COM23 のずれが +33 ms の段(位相の補正は −4.5 ms)
10:41:55.644 / .6452 時間の頭。2 台が 1 ms の差で同時に 0:00:01 へ。同時に 2 台ともずれが +55 / +37 ms の段
10:49:26録画停止(本人が RTC 同期へ変更する作業に入る)
手で 0 からスタートしても、約 2 分で同期がカレンダーの時刻へ戻す
手で 0 からスタートしても、約 2 分で同期がカレンダーの時刻へ戻す
2 時間(7200 秒)で 1 周。10:41:55 に 2 台が 1 ms の差で同時に頭へ戻った
2 時間(7200 秒)で 1 周。10:41:55 に 2 台が 1 ms の差で同時に頭へ戻った

3. PC(NTP)の時計とのずれ

上: M5 の秒が切り替わる瞬間の遅れ(点 = 1 回ごと・線 = 1 分の中央値)/ 下: M5 の位相
上: M5 の秒が切り替わる瞬間の遅れ(点 = 1 回ごと・線 = 1 分の中央値)/ 下: M5 の位相

2 分ごとの中央値(ms・+ は M5 の秒が PC より遅れて来る)

時刻COM74COM23
10:11+36+50
10:13+44+51
10:15+74+55
10:19+76+89
10:25+72+95
10:31+67+100
10:37+67+107
10:39+71+99
10:41+124+136
10:43+135+142
10:47+136+147

M5 の位相(STATUS の phase_ms)

時刻(1 分ごとの記録)COM74 の位相COM23 の位相
〜10:14−114.1 ms−7.1 ms
10:15−141.1−7.1
10:20−143.8−11.6
10:30−148.9−4.7
10:40−158.3−1.6

4. 結果とこれから

良い点と問題
良い点と問題
段の原因の候補(未確認・制作担当に確認中): ① 位相の補正の向き・量 ② タイマーの秒が DMX の 1 フレーム(33 ms)単位で出るため、小さな補正でも 1 フレームの段に見える ③ 2 時間の頭でキューリストを始め直すときの遅れ(1 周ごとに積み上がるか)④ カレンダータイマー自身の時計(液晶の表示 ERR +0.99s・SYNC 2026-10-14 07:57:15)。
RTC 同期へ変更中 → 同じ方法で測り直し → 12 時間試験で判定
RTC 同期へ変更中 → 同じ方法で測り直し → 12 時間試験で判定

5. 補足: BLE 連動の今の作りと、これからの課題(2026-10-20 15 時時点)

この章は、M5・タイマーの制作担当がまとめた。

5-1. 何をつないでいるか

5-2. タイマーが流している中身(1 秒に 50 回)

項目意味
再生 / 停止いまショーを流すか止めるか
通し番号指示が変わるたびに 1 つ進む。LjPlay は番号が変わったときだけ動く(同じ指示のくり返しでは何もしない)
ショーの経過(ms)再生を始めてからの時間。15 時からは RTC の時計で数えている(5-5)
時刻合わせの回数10 分ごと(毎時 00・10・20…分)に 1 つ進む合図
今の時刻(ms まで)LjPlay が自分の時計(RTC)を合わせるのに使う
組番号・確認用の値ほかの機器や別の組の指示を取り違えないため

5-3. LjPlay の動き

5-4. 接続の状態の見方

11:43 のカメラの 1 コマ。中央がタイマー(上の帯に Bluetooth のマークと「23 27 74」)、左上が COM23、下が COM27。2 台とも経過 00:14:21.3・時計 11:43:44 でそろい、DMX の 20 ch に 23 / 27 が出ている
11:43 のカメラの 1 コマ。中央がタイマー(上の帯に Bluetooth のマークと「23 27 74」)、左上が COM23、下が COM27。2 台とも経過 00:14:21.3・時計 11:43:44 でそろい、DMX の 20 ch に 23 / 27 が出ている
タイマーの液晶(11:31)。上の帯に聞こえている LjPlay の番号、右下に BL・LJ PLY・版・RTC OK
タイマーの液晶(11:31)。上の帯に聞こえている LjPlay の番号、右下に BL・LJ PLY・版・RTC OK

5-5. 今日わかったこと・直したこと

5-6. ほかの電波機器との混信

5-7. これからの課題

#課題次にすること
1RTC 基準のタイマーで、NTP の時計に対するずれが ±5 ppm 以内に入るか3 台とも ±5 ppm の内側を確認(5-5・ch15〜18 の時計で 20 分)。開始直後の差も 7 ms に直した。残りは 12 時間以上の確認(2 時間の頭を含む)
2機種(CoreS3 / Core2)による DMX の出る遅れの差3 台を受信機で測り、遅い機体の設定 bleout_ms に差を書く(14:36 の試しでは 3 台の差 22 ms)
3時・分・秒のチャンネルが同じフレームでそろわない(1 フレームだけ「60 秒戻り」に見える)データ(各シーケンスの 25 ms の刻み)か再生側かを調べる
4電波が届かないと、次の開始・停止ができない各 LjPlay が時刻表も受け取って保存し、自分の時計で始める・止める(「方式 B」)
5近くに別のタイマーがあると混ざる / 偽の指示を防げない現場ごとに組番号・合言葉を分ける運用。必要なら署名つきに
69 台以上を画面に出したい表を増やし、表示を 2 段か台数にする
7Core2 の USB シリアルが、PC からの開け閉めのくり返しで固まることがある(本体と DMX は動き続ける)監視は開いたまま読む・間隔を空ける。抜き差しで戻る
8出力の差し口DMX の出力は PORT B に統一(PORT C は入力用)。COM75 は PORT C が使えなくなり休止、COM27 は SD カードの不良を交換

6. 関連の資料

7. 追記 2026-10-23: 3 台の時刻をタイムサーバと 2 時間比べた・同期が無い場合の誤差

LjPlay 3 台の時刻をタイムサーバと比べる ― 動画

3 台の時刻をタイムサーバと比べる(2 時間・同期が無い場合の誤差つき・約 3:32・音声つき・VOICEVOX:No.7)

2 時間 5 分の記録。3 台の線が重なって動く = M5 2 台がタイマーの時計に従っている
2 時間 5 分の記録。3 台の線が重なって動く = M5 2 台がタイマーの時計に従っている

録画のあとも観察を続けた: 4 時間 32 分(14:33〜19:05)

時刻(30 分ごとの中央値)COM74COM23タイマー COM33COM23 − COM74タイマー − COM74
14:33−173.8 ms−169.0−178.5+4.8−4.7
15:33−186.4−182.5−190.6+3.9−4.2
16:33−199.4−195.7−204.8+3.7−5.4
17:33−213.0−207.9−216.8+5.1−3.8
18:33−225.3−220.1−230.5+5.2−5.2
19:03−229.3−223.9−233.6+5.4−4.3
4 時間 32 分の観察。3 台の線が重なったまま、タイマーの時計の速さ(約 +3.6 ppm)で一緒に動く
4 時間 32 分の観察。3 台の線が重なったまま、タイマーの時計の速さ(約 +3.6 ppm)で一緒に動く

もし BLE の同期が無かったら(水晶のまま走った場合の最大のずれ)

条件水晶の差2 時間6 時間4 か月
COM74 単独約 1 ppm約 10 ms約 20 ms約 10 秒
COM23 単独約 15 ppm約 110 ms約 0.32 秒約 2.6 分
COM27 単独約 13 ppm約 90 ms約 0.28 秒約 2.3 分
10-19 に測った最悪の機体73 ppm約 0.53 秒約 1.6 秒約 12.6 分
2 台の差の最悪(10-19)50 ppm約 0.36 秒約 1.1 秒約 8.6 分
途中で BLE が途切れた(覚えた補正で走る)2〜5 ppm10〜40 ms40〜110 ms―

水晶の差は、各 M5 が同期の中で覚えた補正(10-20)と、10-19 の補正なしの測定から。温度で数 ppm 変わるので目安。BLE の同期があれば、どの機体もタイマー(月差 13 秒の RTC)と同じ速さで動く。

気づいたこと: 画面の録画が 96 分で止まった(DMX の記録は最後まで取れた。録画の道具を、止まったら続きを撮るように直した)/ch15〜18 の細かい時計は、ch1〜40 を演出に使う版で無くなった(いまは 1/100 秒で比べる)/タイマーは約 0.2 秒進んでいるので、タイムサーバに合わせ直す。

記録: 観察記録 docs\M5_LjPlay_無人運用試験\05_観察記録_2026-10-20.md §3・解析の道具 tools\dmx_sync_monitor\drift_vs_ntp.py・録画 rec\20261020_100922(40 分)

最終更新 2026-10-24 07:55(7 章を追記)