壊れたタグ、ファーム転送ループ、そして一星球 ─ ドラゴンレーダー開発記 6/18

DigiKey Make ONE Challenge に向けて作っている「ドラゴンレーダー」。UWB(超広帯域無線)で“ドラゴンボール”の方向と距離を探す、あの円い装置の実物化です。今日はついに本物の測距を通すのが目標でした。結論から言うと──通りました。ただしそこに至るまでが、まあ濃かった。

第一幕:沈黙する2BP、ファーム転送の無限ループ

まず親機側(Murata Type2BP / NXP SR150)が測距ストリームを吐かない。ログを覗くと、起動のたびに無線チップへファームを転送する処理が延々ループして、肝心の測距処理にたどり着かない。チップへの問い合わせだけが回り続ける。

CBUSのリセット極性をいくつも試し、最後に効いたのは拍子抜けするほど物理的な一手──USBを全部抜いての完全電源OFF→ON。無線チップのスタック状態がクリアされ、次の瞬間:

(無線チップから測距データの受信ログが連続で流れ出す)

3Mbpsで測距ストリームが流れ出しました。ここで一息。

第二幕:「相手がいない」だけだった

P4(ESP32-P4+丸型LCD)側は配線も受信もOK。なのにレーダーは無反応。原因は単純で、測距の相手=2DKタグがまだ応答していなかったから。親機は「相手なし(FFFF)」を律儀に送り続けていただけでした。整形済みの RADAR,… 行は、有効な測距が成立した瞬間にだけ出る設計。つまり、タグを起こせばいい。

第三幕:タグが、1個、死んでいた

ここが今日いちばんの泥沼。タグ#1にControleeファームを焼く → 無線チップへのファーム転送は完走するのに、その後初期化がタイムアウト(チップが応答しない)で無限リトライ。完全電源サイクルでもダメ。最後に純正factoryファームまで戻して切り分けたところ──factoryでも起動しない

ブートローダは生きている(FW転送はできる)のに、アプリ段で無線チップが目を覚まさない。これはソフトじゃない、この個体のハード不良

2個あるタグの片方が、静かに壊れていました。

第四幕:そして、探した

気を取り直してタグ#2へ。同じ手順でControleeを焼いて起動した瞬間:

dragon-radar: tag=1 d=651 mm az=-19 el=5
dragon-radar: tag=1 d=650 mm az=-19 el=4

距離65cm、方位−19°。 机の上の実際の位置そのものでした。タグ → 親機 → 有線 → P4 → 円いレーダー画面の光点(blip)まで、端から端まで一本につながった瞬間です。長かった。

ドラゴンレーダーの3Dプリント筐体パーツ(ボタンタレット)を手に持つ
3Dプリントした筐体パーツ(ボタンタレットに金属ボタンを組付け)。基板や配線も手で組み込み中。

一星球という答え

タグが2個必要なら2個作る、と思っていたドラゴンボール。でも動くタグは1個。そして大会の名は Make “ONE” Challenge

……一星球(★1個)にしよう、と即決まりました。制約が、いちばんきれいな答えを連れてきた感覚。設計を star=1 に確定して出力。

おまけが本気になった:IMUを入れた

「ついでにIMUも効いてる?」から始まって、結局その場で本実装。BNO086のSHTP/SH-2ドライバを書き、タッチパネルと同じI2Cバスに相乗りさせて方位(heading)を50Hzで取得。UWBの「端末基準の角度」を方位で世界座標に補正することで、端末を回しても光点が実方向に張り付くようにしました。

imu_bno086: heading=-0.7 ok=1 samples=42206

今日の到達点

  • 📡 2BP ↔ 2DK 実UWB測距(距離・方位・仰角)
  • 🧭 BNO086で方位補正(回しても実方向)
  • 🟠 一星球を確定・STL出力
  • 🖥 丸型LCDに光点表示

壊れたタグに半日溶かしたけれど、「実際に探せるドラゴンレーダー」がこの手の中で動いています。次は樹脂で一星球を刷って、タグを封じ込める番。

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

IP: 取得中...
216.73.216.177216.73.216.177