こんにちは、しおたにです。
前回、回路ブロック図をつくりました。
今回から回路設計について書いていきます。
マイクロマウスは、壁を検知するためのセンサ、走行するためのモータ、
現在の速度や移動距離を取得するためのエンコーダ、
車体の角度や加速度を取得するためのジャイロセンサ、
ロボットの状態を表示するインジケータ、これらを制御するマイコン、電源、
さらに今回は吸引用のモータから構成されます。
前回はこれらをつないでの回路ブロック図にしました。
ここから回路設計を進めていくわけですが、
マイコンから各パーツへ線が伸びていることが分かると思います。
ということは、マイコンからの配線をする≒マイクロマウスの回路ができる。ということです。
ということで、マイコンを軸に回路図を作っていきたいと思います。
マイコンの機能
マイコンはマウスの回路の中心となり、様々な機能を有しています。
電圧のHigh・Lowを入力したり出力したり、電圧の変化を読み取ったり、SPIやI2Cといった通信を行ったりなどです。
今回使用するSTM32F405RGT6は64本のピンがあり、だいたいのピンはいくつかの機能を割り当てることができます。
今回必要となる機能はこれくらいになります。
機能 | 使用方法 |
入出力(GPIO) | インジケータの点灯/消灯の制御、スイッチの入力の取得 |
A/D変換(ADC) | 壁センサからの電圧変化を読み取る、バッテリ電圧を取得 |
タイマー(TIM) | PWM出力、エンコーダの値を取得 |
SPI通信(SPI) | ジャイロセンサとのデータのやり取り |
書き込み・デバッグ(SWD) | マイコンへの書き込み、マイコンからのデータ取得 |
マイコンのピン設定
マイコンのピンへの機能割り当てはCube IDEで行うことが出来ます。
こちらですね(懐かしい)。
まだ回路が何もないので設定しても書き込むことはできませんが、十分に得るものはあります。
まず、ピンごとに割り当て可能な機能を表示してくれます。すべてのピンにすべての機能が割り当てられるわけはないため、分厚いマニュアル(pdfファイルですが)を読まずともサクサク選べます。
また、特定のピンにのみ割り当てられる機能や、排他的な機能のこともソフトが教えてくれるので非常に便利です。(これに頼り切った結果大変なことになるのですがそれはまた今度)
ピンへの割り当て方法については
今回はこのようになりました。※後々問題が判明するので参考にはしないでください。
今回はここまで。各ピンへの割り当ての詳細は次回紹介します。