クラシックの改良機体の話

この記事はhttps://adventar.org/calendars/10226 10日目の記事です。

どうもどうもポケカにハマって、今日だけでポケカに1500円超注ぎ込んだTanaportです。またしてもアドカレに登場です(まだ2回ほど控えていて記事が間に合わないよ)。本当はメカラボAの授業で記事を書くつもりだったのに、TAよりTAをしていたせいで10日の夕方からの執筆になってしまいました。TAより働いたんだから金くれ。

昨日の記事は、Potewoさんの「STM32用のオリジナル書き込みアプリを作る」でした。CubeProgrammerのフリーズやら、起動の遅さやらには散々苛立たされたので、マウス用に自作したプログラマーを使うのはいいアイデアですね。オフシーズンに試してみます!

今回は、本来であれば学生大会でデビューのはずだった私のクラシック機体である「Ambitions_v2」についてご紹介したいと思います。といっても、基板が12/14着なので組み立てすらできていないのですけどね…

Ambitionsについて

スペック詳細はこちらを参照してください↓v2と書いてありますが、v1のスペックです。
https://www.ntf.or.jp/entry/2024/RobotEnt03.php?n&id=365805

速そうな見た目ですが、まともな最短走行ができていない機体です。東日本はゼミが割り込んでいるせいであまり改善が見込めないので、全日本で斜めビュンビュンを見せたいですね~。

なぜ改良機体の製作に至ったのか

改良に至った経緯を少しだけ説明します。まず、改良を決意した最大の理由は、書き込み速度の遅さにあります。前回の私の記事にも書きましたが、弊サークルは数年の間、なぜかSTM32マイコンをUART経由で書き込むという、邪道な書き込み方法がスタンダード化していました。UART経由の書き込みは、もちろんUARTのボーレート以上の送信は不可能なので非常に遅いです。

前回書いたST-LINKでの書き込みに関する記事はこちら↓

次に雑設計を見直したかったからです。以下の写真の赤丸の部分はbootモードへの切り替えスイッチなのですが、かなり奥まった場所に配置されているので指で操作できません。

bootモードに入る際は、精密ネジやピンセットで操作する必要があります。二度とこのような雑なインターフェース設計はしません。誓います。

他にも、センサのなんちゃって森永式発光回路やディスコンとなっても使い続けているIMUのICM20689等々、改良すべき点は多々ありました。https://t-mpi.hatenablog.com/entry/Micromouse-student2024でT-MPI君も「センサ基板がやばそう(小並感)」とおっしゃってますが、センサ周りはもっと早々から改善すべきでした。

改良した内容の紹介

今回の改良では、足まわり等々のメカ要素の変更はほぼありません。ここからは回路の改良ポイントを紹介していきます。

まず、ST-LINKに対応しました。これで、ブートモードに入るために精密ネジを使ってスイッチを切り替える必要がなくなりました。ちなみに、Nucleo F411のST-LINK基板をパキって書き込んでいます。

センサ回路は以下のように変更しました。定電流LEDドライブICであるIS32LT3177を使って、LEDの温度に関わらず定電流発光させて、センサ値が安定するよう設計しました。受光側は、従来のハイパスフィルタをすべて撤廃し、ソフト側でフィルターをかけるよう変更しました。

従来の機体は、ダイナミックレンジが小さく、壁の読み間違いが稀に発生していました。上の回路図ではフォトトランジスタの負荷抵抗が1kΩとなっていますが、機体を作ってみて抵抗の値を調整していこうと思っています。

今季のWMMCのクラシックのDC機体はすべて、ICM20689というIMUを搭載しています。1機体だけ違いました。ごめんね。今回は後学のためにも、新たなIMUを取り付けました。採用したLSM6DSRTRは、数年前のGoogleのスマホであるPixel 5aの内部に搭載されているIMUで、マウス界隈では一部の宇宙人が「2000dpsでは足りないよ~」と4000dpsで測定できる本センサを使っていたりします。LSM6DSRTRはSTマイクロエレクトロニクス社のIMUで、型が変わってもパッケージが同じでピン配置も変わらないのでディスコンとなったときの対応が容易です。

実は、Ambitions初号機は電流フィードバック&フェールセーフ用にホール式の電流センサを搭載していました。しかし、吸引用のコアレスモータ付近に設置していたためモータの磁場がノイズとなり、全く使い物になりませんでした…。そこで今回は、シャント抵抗を使って電流を測定する抵抗検出式を採用してみました。+IN-1と-IN-1の間に0.01Ωのシャント抵抗があります。ちゃんと測れるかは検証してみないとわかりません。検証が終わり次第ここに追記します。

最後に

ちょっと大雑把な紹介になってしまいました…。が、実はちゃんとした機体の紹介はマイクロマウスアドベントカレンダーで載せようと思っている(ここの記事で十分だな)ので、そちらをお待ち下さい。私の次回の記事はROS2に関する内容です。ゼミで試してみた内容を記録として残す用の記事になると思います。

WMMCアドベントカレンダー11日目は、ほんだ先輩の「自家製アルマイトの方法」です。そもそも、アルマイトの加工をどこで知ったのか気になってます。

それでは明後日の記事でお会いしましょう。さようなら~。

コメント

タイトルとURLをコピーしました