ししかわです。
社員研修の一環で、マイクロマウスを自作して大会に出場します。
M5Mouseの回路の中身について説明しています。
今回はモータを駆動するモータドライバ回路の説明です。
概要
まずは回路ブロック図を示します。モータドライバ回路はモータドライバICと周辺部品(コンデンサやモータと接続するコネクタ)を含みます。
- 電源回路から3種類の電圧をそれぞれ供給します。配線の際はこれらを混同しないよう注意します。
- 7.4V(バッテリ電圧):モータの駆動に用います。つまりモータがONのとき、図1の出力1と出力2の電位差が7.4V(逆転の場合は-7.4V)になります。
- 3.3V:ICの駆動に用います
- 5.0V:エンコーダの駆動に用います
- STM32から見ると、モータドライバに対して回転方向指定のデジタル信号と回転速度指定のPWMを出力し、エンコーダからパルス信号を入力として受け取っています。
モータドライバやモータ、エンコーダの動作の仕組みは以前の記事を参照ください。
STM32でDCモータを回す – 元Web屋のマイクロマウス製作記 Part.18 | アールティ 移動型ロボットブログ
モータドライバIC周辺
モータドライバICとしてDRV8835を選定しました。DRV8835は1つのICでDCモータを2個まで同時に駆動できます。左右のモータに1個ずつICを使う場合と比べて、実装面積を小さくできるのが利点です。私のM5Mouseは基板を50mm四方に収める必要があるので、実装面積節約のためにこれを選びました。一方懸念点として、大きな電流は流しづらくなります。定格では左右の電流合計で1.6Aまでとなっています。また面積が小さい分、熱がこもりやすく、部品が熱くなりやすいです。データシートによるとICの温度が150℃を超えると熱保護回路が働き、ICが一時的に動作しなくなります。
回路図
DRV8835周辺の回路を示します。概ねデータシートの推奨回路構成に従います。
- ICのモード選択(MODE)のほか、モータ毎の入力が2つずつ(AIN、AENBL)、出力が2つずつ(AOUT1、AOUT2)を接続します。
- 熱をどう逃がすかについては基板のパターン設計でよく考慮することにします。
DRV8835のモード選択と入力
DRV8835は入出力のモードを選択できます。
- PHASE/ENABLEモード:PHASEピンの1/0の入力で回転方向を、ENABLEピンの1/0で出力を指定できます。
- IN/INモード:より細かな調整ができるモードです(後述)
DRV8835をはじめとする多くのモータドライバICには、Hブリッジ回路と呼ばれる回路が搭載されています。Hブリッジ回路ではモータに接続された2組4個のスイッチのON/OFFを切り替えて、モータに流す電流の向きを変えることができます。詳しい仕組みは次のサイトの解説が詳しいです。
IN/INモードではこの2組のスイッチの駆動を、素直に2つのピンの入力で行います。Phase/Enableモードではさらにロジック回路を介することで、より直感的な入力ができるようになっています。
データシートを見るとさらに詳しく両者の違いがわかります。
Table3.を見ると、IN/INモードにのみCoastという状態があることに気づきます。この状態とき、2つの出力はともにハイインピーダンス(図中のZ)になり、モータは空転します。慣性と摩擦に任せた緩やかな減速をしたい場合などに使われます。
M5Mouseでは基本的にPhase/Enableモードを使います。マイクロマウス競技ではマウスの加減速とブレーキを厳密に制御したいので、Coastを使う機会はあまりありません。Modeピンの入力を1に固定してしまってもよいのですが、純粋にIN/INモードでの制御も学習できるように、GPIOで選択できるようにしています。
モータとの接続
モータはFAULHABER 1717T006SR-6Vを選定しました。マイクロマウス競技では初心者から上級者まで広く使われています。モータとエンコーダが一体になっており、取り扱いやすいです。
FAULHABER 1717とのコネクタ回路を下記に示します。(FAULHABER 1717自体は別部品のため回路図には現れません。)
- 左右のモータそれぞれと接続するため2つのピンヘッダを配置します。
- 単純ですが、外部の部品と接続するコネクタのピンは配列を非常に間違えやすいので注意が必要です。ブログをご覧になっている回路経験者の中にはシリアル接続のTXとRXを逆にしたり、I2C接続のSDAとSCLを逆にしたりした経験のある方も多いと思います。以前Twitterでつぶやいたところ同意のいいねを多くいただきました。
なぜ人類はTXとRXを逆に繋いでしまうのか
— ししかわ/Shinya Ishikawa (@meganetaaan) January 10, 2020
- 私の場合は間違い防止のため、データシートからピン配列の画像を持ってきて回路図に貼り付けています。
以上です。次回はジャイロセンサ回路について説明する予定です。