いまだにhtmlタグ入力してますが何か?

マイクロマウス Advent Calendar 2023

この記事は「マイクロマウス Advent Calendar 2023 - Adventar」の3日目です。

昨日は「PIDream.netさんのクラッシュ時の止め方」でした。
異常判定時にモータを止めるのは私も採用しているのですが、回転と速度が止まるのを待ってから吸引ファンを止める、というのは参考になりました。
(たしかに、その方がすぐ停止できるので)

今シーズンの振り返り

あいかわらず子育て等で忙しく、開発は月1回だけ有給取って実施という状況だった事もあり、大会で動作検証したような1年でした。
そんな状況であっても、今年も無事全地区大会に参加できました(嫁の人、本当にありがとうございました)

投入した新型機ロング21号機も、ソフトウェアのバグでリタイアとなった東北地区大会以外は全部最短走行で記録を残せたという事もあり、
昨年の課題だった探査時の安定性向上は達成できたと考えています。
また今年は例年以上に熾烈な戦いとなりましたが、それでもいくつかの大会で2ポイント取得ができました。
結果的に、某氏が提唱している「K峰ライン(私を超えないと2ポイント以上取れない)」を実証できた気がします。

今年のネタ

という訳で「センサ回路について」となります。
ただでさえ時間が無いのに土日は嫁の実家へ行っていた(神奈川から三重)事もあり、全然時間が取れませんでした・・・
という訳で受光側の説明は省略です(まぁ、たいした事をしていないので他の方を参考にしてください)

駆動回路

駆動回路は、ある意味これが完成形じゃないかと思っています。

具体的には

の3部品、IOポート3本だけで4つのLEDを駆動しています。
同時に点灯できるのは1つだけなので、時分割で切り替えてセンシングしています。
抵抗まで含めた部品数としては最小構成になっていると思われます(実装面積としても、これを超えるのは厳しいと思います)

定電流ICについて

LEDは電流に比例して輝度が変化します。そのため、一定の電流を流すように制御することでLEDの明るさを一定とすることが可能です。
理屈上は(マウスで一般的に使われる)定電圧を与える事でも一定の明るさにすることができますが、定電流の方が好ましいです。
(何がどう好ましいかは、誰か専門家の説明を期待してます(手抜き))

また定電流回路を使用すると、安定化された電源が不要、つまりバッテリの出力に直結することができます。
(回路図左上はVCCではなくVBATとなっている所に注意。電圧が変動しても一定の電流となるように制御されるので問題無い)
これにより、LEDを点灯させても安定化電源(VCC)への影響が小さく済むメリットがあります。
センサのLEDは可能な限り高出力で点灯させた方が外乱に強く、より遠距離までセンシングできるので好ましいのですが、その分電源への負荷が大きくなります(=電圧変動する)。
VCC等の安定化電源を使用した場合、一般的にはセンサの受光側やマイコンのAD変換も同じ電源を使用するので、それらへの影響が懸念されます(ノイズ=センサ値の変動につながる)

さらに、採用したICはEnable端子付きなので、簡単かつ確実にマイコンからOn/Offの制御ができます。

あと電力効率が上がっている可能性もありますが(LDOや電流制限抵抗の損失が無い)、本当にそうなのかは自信が無いので断言はしません・・・

アナログセレクタについて

こちらは物理スイッチと等価で、電流を流す経路を切り替えるだけです。
一般的なセレクタICはデジタル回路で構成されているので所望の電流を流す事ができないのですが、
アナログセレクタは一定の電流を流すことができます。
またアナログセレクタ内部の抵抗により電圧降下が発生しても、(電流は変わらないように制御されるので)LEDは一定の輝度で発光できます。
(抵抗が温度で変化した場合でも電流は一定なので、その影響も排除できます)

なお 「アナログセレクタに流す電流は絶対最大定格を超えているのでは?」という指摘があったのですが
「ロング21号機は微妙な範囲」というのが私の考えです。

具体的な理由として、まずメーカのデータシートを見ると、ABSOLUTE MAXIMUM RATINGS(絶対最大定格)に
Continuous current (any terminal) ± 50 mA
Peak current (pulsed at 1 ms, 10 % duty cycle) ± 100 mA
という記載があります。

定格に「Continuous (連続)」と「Peak current(ピーク電流)」という記載がある事から、
絶対最大定格は電流値だけで決まるのではなく、電流による発熱で故障すると推定できます。
(このICに限らず、LEDやモータ等も同様の為、電流の定格はContinuous とPeak の2つある場合は多いです)

そしてロング21号機では
割り込み周期(センシング) 420 us
LED発光パルス幅(1LEDあたり) 1020 us
電流(データシートのグラフから推測) 約170 mA
となっており、絶対最大定格のPeak currentと比較し電流値は大きいものの、パルス幅は1/1001/50、1回路あたりのduty cycleは約1/4となっています。
(ソースコードのコメントから算出。実測値が間違っていたらごめんなさい・・・)

当然、 このような使い方は誰も保障してくれません。
またダメージが蓄積されて長期信頼性に影響を与える可能性は考えられますが
マイクロマウスにはそこまでの性能は不要なので割り切れる範囲かと考えます。
(まぁ、少なくとも今年はノートラブルで動いたという事で・・・)
この点も、専門家の方のコメントをお待ちしています。

なお、 定格が気になる方や実装面積に余裕がある方はLEDの数だけ定電流ICを使ってください。
定電流IC側は定格を守って使用しています。

まとめ

回路、特にアナログ回路は専門外のため「本当にこれで正しいか」、と言われると答えに困ります。
しかし、ちゃんと動作実績がある。最小限の部品数で実現できているという事は間違いないので、参考にはなるかと思います。

LED駆動回路をトランジスタやFETで組むのも良いですが、せっかく専用のLED駆動ICが入手しやすくなっているので、これを利用しない手は無い筈です。
(昔は専用ICの入手が難しかったので、トランジスタやFETで駆動回路を組まざるを得なかったという事もありますが)
特に初心者の方こそ無難に定電流ICを採用してほしいなと思います。

明日はアライさんの「マイクロマウス合宿の運営について」です。昨年から復活したマウス合宿ですが、今後も続けてほしいので運営ノウハウなどの共有を期待しています。

それでは、次は全国大会でお会いしましょう!


戻る
inserted by FC2 system