小型DCモーターのPWM制御

マイコンカーラリーでは4個のDCモーターをPWMで制御しています。
回転センサを付けてフィードバック制御をすればDCモーターの速度をきちんと制御出来るため制御の話を検索しても殆どこのような「ちゃんとした速度制御の話」しか見つかりません。

ところがマイコンカーラリーは仕様上の制限で4つのDCモーターとひとつのエンコーダで速度制御をおこなうシステムになっています。
直進の場合は4つのDCモーターを同じ条件で駆動すればそれなりにきちんとした速度制御が出来そうですが,カーブではステアリング用のサーボだけでなく左右の前輪のモータートルクを変えてやらないとスムーズなコーナリングが出来ません。
それでステアリングの舵角に応じた左右のPWM比を決めるテーブルを作って対処していますが、その調整が結構難しいらしいのです。

その話を聞いてPWMの値とトルク、回転数の関係について情報を検索してみたところ興味深い記事が2件見つかりました。

1.アニキの極秘開発記 : モータのPWM駆動周波数

ロボトレースなどを手掛けている人のブログです。
ロボトレースはマイコンカーラリーと似た競技ですがロボットのレギュレーションにサイズの制限だけのため、マイコンカーラリーより高度な制御ができるマイコンを使うことが出来ます。
興味を惹かれたのは”PWMの駆動周波数は電気的時定数より低く、機械的時定数より高い値に設定すると低速域でもスムーズな動作でトルクを得ることができる”という件でした。
ではどのくらいの速度がその領域に入るのかという疑問については次のサイトにヒントがありました。

2.写真で見る工作室 : DCモーター制御

工作好きの人が書いているサイトで、実際に小型DCモータを駆動する基板を作って駆動方式別にPWM周期と回転数の関係をプロットしたグラフを公開されています。

上の2つのサイトで得た情報をまとめると次のようになります。

まずモータ駆動のブリッジ回路には次の3つの駆動方式があります。

A.電流継続モード(ブレーキモード)

ブリッジ回路電圧OFF時にモーターの回生電流(発電電流)が流れるループを作り電流が継続して流れるモードです(下の参考図)。

この場合モータのインダクタンスが大きい、あるいはPWM周波数が高いほど流れる電流の変動が小さくなり定電圧駆動の挙動と近くなり、一般的なモーター制御で使われてます。

無負荷の場合PWMデューティと回転数の関係は下図のようにリニアになっています。

ブレーキモードでのPWMデューティ(縦軸1024=100%)と回転数(横軸)のグラフ
写真で見る工作室 : DCモーター制御より

B.電流不連続モード(フリーモード)

ブリッジ回路電圧OFF時に回生電流が流れないようにスイッチをOFFにして、電流が断続的に流れるようにしたモードです。
使われることは少ないですがマイコンカーラリーでは制御特性の違いを活かして使い分けられたりしています。

フリーモードでのPWMデューティ(縦軸1024=100%)と回転数(横軸)のグラフ
写真で見る工作室 : DCモーター制御より

デューティ20%(200/1024)を超えないとモーターが回転を始めず、「フリーモードは効率が悪い」と言われているのを裏付けるグラフになっています。
一方、低回転数でもある程度の電流が流れているということになるのでPWM周期を下げた時と同じく「低速域でもスムーズな動作でトルクを得ることができる」という状態になっているのではないかと思われます。

C.電圧逆転モード(正式名称ではありません)

ブリッジ回路に加える電圧を交互に切り替える方式です。
デューティ比50%の時電流が0になりデューティ比によってモーターの回転方向を変えることが出来ます。
大昔、私がDCモータ駆動のマイクロマウスを初めて作った時になかなかモーター制御がうまくいかず最終的にこのモードで何とか姿勢制御が出来た記憶があります。
その経験も併せて考えて、この方式はフリーモードよりさらに効率が悪いがオープンループで使うときに低速域でトルクが確保できるモードと思われます。

フリーモードでのPWMデューティ(縦軸1024=100%)と回転数(横軸)のグラフ
写真で見る工作室 : DCモーター制御より

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)