ミニ③:測って残す
JC4827 の画面と CSV で、傾き・電流・電圧を残す。
2026-10-06、BLDC 版の送受信コンソール(基本形)が完成。外側の PID の振りは ミニ④。
画面に
e、eIMU、角度補正 tr、LIVE の P/D/I が出ます。
エンコーダ #3 が trim、APPLY で ATOM へ届きます。
CSV には推定電流 Id と電圧 Ud が付きます。
ATOM の USB は外して調整できます。記録用の USB は JC4827 側です。
2S だけで約 14 秒、
e は +52° のままです。手で傾けると −57° まで追いました。
モータは止めたままです。残した CSV は 536 行です。
Step 0: 構想
立つ前に、何を測って、どのボタンを押すの?
ATOM から JC4827 へ出すのは、傾き
e、傾きの速さ omega、
ホイール ww、AS5600 の asOk です。
電流の欄は 0 のままです。
JC4827 から ATOM への指令は、このミニでは使いません。
記録の開始は JC4827 の Serial v(画面の CSV ボタンも同じ)です。
合格は、数字が残ること。PID はまだ。
Step 1: LINK
モータは止めたまま。画面が緑の LINK になり、e と ww が出ること。
画面は SAFE のままです。
ATOM は基板を 90° 回して載っています。傾きは、その向きの軸で読みます。 符号は時計回りがプラス、反時計回りがマイナスです。 0° は「基板が水平」なので、写真の
e ≈ −59° は、機体が反時計回りに傾いて止まっている角度です。
e=-58.9、ww=0.02(2026-10-05)Step 2: CSV
USB は JC4827 だけ。画面の CSV を押すと、次のヘッダのあと、約 140 ms ごとに 1 行流れます。 画面の描画が重いので、設計の 10 Hz より少し遅く、おおよそ 7 行/秒です。
t_ms,seq,link,peer,armed,e,omega,u,pwm,hold,kp,kd,ki,trim,bias,biasOn,asOk,out,ww,kw
この見出しは 10月5日の記録です。10月6日の基本形は Step 4 の見出しです。
止めていた約 5 秒は
e ≈ −49°、ww = 0。
手で傾けると e が 0° を通り、プラス側まで動きました。
link と asOk は 1、u と pwm は 0 のままです。
omega は傾きの角速度で、止めていても +11 °/s ほどはセンサの偏りです。
e ≈ −49°、ww = 0Step 3: USB なし
機体は 2S だけ。USB ケーブルで吊りません。
静止で約 10 秒、e がほぼ一定。手で傾けると e が追います。
Step 4: まとめ
BLDC 版倒立振子の送受信コンソール(基本形)は、ここで完成です。 見る、止める、P/D/I と角度補正を送る、CSV に残す、までがこの画面です。
e=4.6、eIMU=7.4、tr=0.00。
LIVE の P は 0.015 A/°。
Ud,eIMU。
kp=0.015、Id=0.000、eIMU は約 6°。
① 角度補正 trim
DC モータ版と同じ役割です。倒立の目標に、小さい角度を足します。
誤差は
e = eIMU − 目標 − trim です。
eIMU は IMU の絶対角で、基板が水平のとき 0° です。
上の写真なら、目標は 7.4 − 4.6 − 0 = 2.8° です。
エンコーダ #3 で trim を変えます。1 クリック 0.05°、範囲は −5°〜+5° です。
上段の tr は、いま ATOM に入っている値です。
下の EDIT 行の tr は、まだ送る前の値です。
APPLY で P・D・I と trim が届きます。
ZERO は、今の姿勢を目標にして trim を 0 にします。その姿勢で e はほぼ 0 です。
ARM で外側が始まり、E-STOP で止まります。
② CSV の棚卸し
画面の CSV、または Serial の v で流れます。10月6日の見出しは次です。
t_ms,seq,link,peer,armed,e,omega,Id,pwm,hold,kp,kd,ki,trim,bias,biasOn,asOk,out,ww,kw,Ud,eIMU
| 列 | 意味 |
|---|---|
t_ms | JC4827 の時刻(ミリ秒) |
seq | パケット番号 |
link | 受信中なら 1 |
peer | 相手名。RW1 |
armed | 外側 PID が動いていると 1。写真の行は 0 |
e | 目標との角度差(度) |
omega | 筐体の角速度(度/秒) |
Id | 推定電流の指令(アンペア、小数3桁)。写真は 0.000 |
pwm | 同じ電流のミリアンペア。Id の 1000 倍 |
hold | 誤差 8° 以内にいた秒 |
kp kd ki | ゲイン。P は小数3桁なので 0.015 が読める |
trim | 角度補正(度) |
bias biasOn kw | この機体では 0。DC 版の名残 |
asOk | ホイールの角度センサが生きていれば 1 |
out | 外側 PID がオンなら 1 |
ww | ホイール角速度(rad/s) |
Ud | モータへ出している電圧 Uq(ボルト) |
eIMU | IMU の絶対角(度)。基板が水平のとき 0° |
目標の列はありません。式で戻せます。
目標 = eIMU − e − trim。
ホイールが遅いとき、電流を出している行では Ud ≈ Id × 10 Ω です。
0.07 A なら約 0.7 V。写真の行は Id=0.000 なので、電流の指令はゼロです。
Ud が 2.00 の行があっても、その行では電流を出していません。
送受信コンソールの基本形は完成。符号の列と、0.07 A で頭打ちした印は、まだ CSV に無い。 PID を振る記録は ミニ④。
docs/logs/2026-10-05_mini-rw-tele.csv(536 行、約 55 秒)。
見出しは Step 2 の古い形です。
読み方のメモは同じフォルダの 2026-10-05_mini-rw-tele.md です。