かみやんの技術者ブログ

主にプログラムの話です

モータドライバ回路、PWM信号1本化


モータドライバ回路だが、「電子工作の素」P158のIR2101(モータドライバIC)を使った回路が動かなかった理由が分かった。

IRFのサイトにアプリケーションノート(応用事例)のページがあったので読んでみた。

結局のところ、N-MOSFETへ入力するゲート電圧が10V~15Vでないとダメみたいだ。「電子工作の素」P158の回路図にも+15Vとある。フルブリッジ回路はP-MOSFET2つとN-MOSFET2つの4つで組むのが普通だがこの回路はN-MOSFET4つを使っているからかな。

現状、モータ用電源7.2Vとマイコン用5Vの2系統なので、12Vとかに昇圧しないといけない。昇圧には、

  1. DC/DCコンバータのステップアップコンバータ
  2. DC/DCコンバータのチャージポンプ式

の2つがあるようだ。ステップアップコンバータは、コイルがいる代わりにちょっと電流が多くてもOK。(コイル=集積化が難しい)
チャージポンプ式は、回路が簡単だけど数10mAぐらいの小電流。という感じ。

もう一つ電源回路を作るのも面倒なので、とりあえずP-MOSFET2つ、N-MOSFET2つの普通のフルブリッジ回路にすることにしよう。


PWM制御には、ON-FREEとON-BREAK(ONブレーキ)があるが、

  • ON-FREE:ONのときは、Q1とQ4がON、OFFのときにQ1,Q2,Q3,Q4の全部がOFF。全部OFFなのでFREE。ブレーキ機能をつけないならば、PWM用の信号線2つで済むので楽。ただし、PWMのデューティ比が比例でなく制御が面倒。
  • ON-BREAK:ONのときは、Q1とQ4がON、OFFのときQ1のみONでQ2,Q3,Q4がOFF。P-MOSFET側のみONでブレーキ。4つのFETをON・OFF制御しないといけないので信号線が4つになり面倒(その分ブレーキ機能もつけられる)。PWMのデューティ比と回転数やトルクが比例するので制御しやすい。

という訳で普通は、ON-BREAKを使う。ON-BREAKでは、N-MOSFET側にPWM信号を送るわけだが、左右で2つある。
H8-3069にはPWM制御機能は3本なので、これで2本使われてしまうと、2つのモータを制御するには足りなくなる(1モータで2つ必要なので)。
ソフトウェアでGPIO(汎用IO)でPWMを作ることもできるけど、おそらく精度がでない。

という訳で、正転、逆転、フリー(ストップ)、ブレーキの4択で信号線2本(GPIO2本)、PWM1本の合計3本で1モータを制御するのがよい。

「電子工作の素」にNANDを2つ使った回路があるのでブレッドボードでうまくいくか試してみよう。