はじめに
こんにちは、倉澤ズズくんです。前回は、IMUについて書きました。今回は、作成した全体の回路図について触れます。回路図は各モジュール(距離センサやIMUといった機能)ごとに階層(ページ)を作成しています。今まで実験してきた回路も組み込んでいきます。
KiCad
設計にはKiCadを使用します。回路設計ができるオープンソースソフトウェアで使用者が多いため情報も多く、基板の発注までできるのでオススメのソフトウェアです。
回路図
モジュールごとの回路図と概要を記述します。
マイコン
マイクロマウスの頭脳となるマイコンSTM32F446
を駆動するための回路です。各モジュールはマイコンによって制御されるため、この階層を起点としています。
マイコンSTM32F446
の周辺回路はのりさんの回路図を参考にしています。
VDD
とVDDA
ピンには3.3[v]を供給します。
VDD
はマイコンの駆動電源です。VDDA
はADCの基準電圧であることから計測精度に影響するため、特に安定した電圧を供給できるようにフェライトビーズと複数のコンデンサを挟んでいます。
また、フラッシュ領域を削除するリセット、起動時のモード変更の2種類のプッシュスイッチを搭載しています。
電源部
マイコンや各種ICを駆動するための電源を供給する回路です。
機体には2セル(7.4[v])のバッテリを搭載します。ただし、各ICの駆動電源は7.4[v]で駆動するようにはできていないため、DC-DCコンバータ(レギュレータ)によって、7.4[v] → 3.3[v]
と7.4[v] → 5[v]
の電源を作り出します。
DC-DCコンバータの入出力点とGND間に搭載されたコンデンサは、ノイズを除去する役割を持ちます(このような用途で設置されるコンデンサを「バイパスコンデンサ」と呼びます)。今回使用している部品に推奨されるバイパスコンデンサの静電容量はデータシートに記載されています。
加えて、各DC-DCコンバータの出力にLEDを仕込むことで、無事に電圧が出力されているかの目印としています。
駆動部(モータ+エンコーダ)
マイクロマウスの推進力となるモータFAULHABER1717
と、モータの回転を制御するモータドライバDRV8835
、回転数を取得するエンコーダを駆動する回路です。
以前のブログ記事で紹介した時と同じように回路を構成します。ただし、前回は周辺回路も含めたモータドライバDRV8835
モジュールを使用していたため、その分も組む必要があります。必要な回路はデータシートを見ると書いてあります。以前の実験に使用したモジュールの回路を参考に、赤丸部分のコンデンサには10[μF]のセラミックコンデンサを挟んでいます。
距離センサ
壁との距離を測定する距離センサ回路です。LED SFH4550
を壁に向かって発光させ、その反射光量をフォトトランジスタST-1KL3A
で受光して計測します。
電流の制限抵抗として4箇所に1[Ω]の抵抗をR4_4
、R4_7
、R4_10
、R4_13
に挿入しています。ですが、4つのLEDは同時に点灯させず、1つずつ順に点灯させることを想定していたため、各距離センサのLEDに分岐する前の1つ挟んだ方が部品点数を抑えられた点が反省点です。。
IMU
車体の加速度と角速度を計測するIMU ICM-42688-P
を駆動する回路です。
以前の記事で紹介したIMUICM-42688-P
を搭載しています。前回は既に実装済みの評価ボードを使っていたので不要でしたが、今回は自分で周辺回路のコンデンサを実装する必要があります。必要な回路はデータシートを見ると書いてあります。
UI(スイッチ・LED・ブザー)
デバッグに用いるLEDとブザー、モード選択のためのプッシュスイッチ3種類を駆動する回路です。
プッシュスイッチ(回路図右側)では、マイコンのデジタル入力機能を用いてスイッチ状態判定を行います。
スイッチが押されていない状態ではマイコンは3.3[v]と接続されてHIGH
を検出し、スイッチが押されているときはマイコンのデジタル入力ピンがGNDと接続された結果0[v]となってLOW
を検出します。
これはプルダウン
と呼ばれる方式です。逆にプッシュボタンを3.3[v]側に設置する方式をプルアップ
と呼びます。
マイコンのピンアサイン(STM32CubeMXのピン設定)
STM32CubeMXで設定したマイコンの最終的なピン配置は画像の通りになりました。基板への配線距離の都合上、実験時のピンアサインとは適宜変更しています。
まとめ
今回は、実装する機体の回路図について触れました。独自の仕組みは使用せず、実績のある先人達の回路を参考にしました。これでマイクロマウスの機体製作の道が見えてきました。
次回は機体製作について触れます。
全日本大会まで、残り318日!