DCモータの実用的な速度フィードバック制御システムをマイコンで構築する

DCモータは市販のドライバを用いると電圧制御タイプではマイコンからのPWMパルス出力を与えるとデューティ比に応じてオープンループで簡単に速度をコントロールすることができます。

速度はデューティ比にほぼ比例しているのですが、これは運転条件が無負荷での場合です。突発的な負荷や定常負荷がかかると速度は安定しないのがオープンループでの限界です。

そこでエンコーダなどのセンサによる速度のフィードバックを施すことにより特性を改善して、多少の負荷があっても安定させ、また、定常状態でも速度を安定させることを図ります。

DCモータ開ループ特性のモデル化

めかのとろ

DCモータにギアを介したレゴ®マインドストームEV3Lモータの数式モデルは電気回路、機械の運動方程式から求められ、厳密には入力電圧から出力速度間の伝達関数は2次遅れ系となります。

めかのとろ

本来の数式モデルは機械的伝達機構のモデル化も含むので結構複雑ですが、このモータのフィードバック制御を実践で取り扱うためにはできるだけ現実に即したモデルである必要があります。つまり、いくら高精度で高度に数式モデルを作成しても実際のパラメータ変動などで意味のないものになってしまうからです。

めかのとろ

そこで、現物の特性を押さえたできるだけ簡素化したモデル化をするのが現実的です。

簡易化した DCモータの伝達関数モデル

EV3Lモータの近似伝達関数

めかのとろ

モータ端子電圧を入力EV3Lモータの回転速度を出力としたときの伝達関数は1次遅れ系で近似できますので、入力の端子電圧をステップ状に与えたときの回転速度の変化から時定数Tmを調べます。最大電圧時(7.2V)のときの速度は410p/sであるため、伝達関数ゲインKmもわかります。

めかのとろ

これで伝達関数の近似モデルが求まりました。実際の波形をみても、1次遅れですので近似モデルで設計するのが実践的であることがわかります。

めかのとろ

EV3Lモータの入力に端子電圧7.2[V]を与えるとギアを介した負荷側の回転速度は時定数Tmで起動して、定常で410[p/s]になるということです。実際のプログラムにおいては7.2Vの指令をあたえるのにPWMのデューティ比(この場合は100)を指定することになります。

EV3Lモータ伝達関数モデル
めかのとろ

エンコーダからのパルスを単なるモニターでなく速度フィードバック用のセンサとして使用する場合はセンサによる速度の細かな変化データが必要なため、本来は分解能の高い高性能のエンコーダを使用する必要があります。

めかのとろ

今回のEV3Lモータのようにエンコーダが負荷側に装着していて分解能が比較的粗い(180p/r)場合は、測定精度を上げるために一工夫必要です。測定には簡易的なエンコーダでも高精度エンコーダに劣らない工夫を施しています。

ハイゲインフィードバック方式

めかのとろ

速度フィードバックの中でも最も簡単で効果の見られるハイゲインフィードバック方式で特性改善を試みます。ハイゲインフィードバック方式はフィードバックゲインC1出力調整用ゲインC2で構成します。

めかのとろ

ハイゲインフィードバック方式のブロック線図です。 フィードバックゲインC1を上げるほど特性が改善されるのでハイゲインフィードバックと呼ばれます。ただし、現実的にはノイズなども増幅してしまうことになるため、実現できる範囲は限られます。

ハイゲインフィードバック
めかのとろ

今回のEV3Lモータをハイゲインフィードバック方式に適用するとこのようになります。オープンループ制御との大きな違いは速度目標値がシステムの入力となっていてモータ回転速度をフィードバックさせている点です。

めかのとろ

青点線で囲まれた部分はEV3Lモータそのものの制御対象で、緑点線部がハイゲインフィードバックを施したコントローラ部です。ここの部分はプログラミングで実現します。

めかのとろ

実機に制御理論を適用する場合に大切なポイント扱う信号の次元(単位)を常に意識することです。ここではあえて次元を揃えるために変換係数Knを設けていますが、これはあってもなくても結果は同じものになります。

EV3Lモータハイゲイン速度フィードバック
めかのとろ

プログラムの記述をできるだけ簡素化するためにさらにモデルを近似化します。実際のプログラムにおいては電圧指令にアナログ電圧値そのものを指定するのではなくPWMのデューティ比(0-100)を指定します。つまり最大入力時のデューティ比100%に対する最大速度パルスを400p/sに近似すると以下のようにとてもシンプルなブロック図となります。

ハイゲインフィードバック方式近似
めかのとろ

ここで改善後の最終的な入出力間の特性を決めるためのゲインC1とC2を決定します。もともとの制御対象の1次遅れ特性Tm=50ms をフィードバックを施すことでTm2=10msへ改善するものとします。

めかのとろ

この場合、ゲインC1は一意的に決定されてC1=4となります。その結果、ゲインC2=5となりますが、これは必要に応じて最終的に出力をみながら微調整します。

めかのとろ

これで入力を速度目標値にしたときの出力速度までの伝達関数Gry(s)の特性は時定数Tm2の1次遅れとなります。時定数も外乱の影響も1/5倍となっています。C1のゲインにより特性改善はできますが、実現できる範囲で設定します。応答と外乱抑制は独立して設定できないところがこの方式の限界です。

めかのとろ

詳細はマイコンで実現するフィードバック制御のための基礎知識【発展編】ハイゲインフィードバック方式との比較を参照してください。

実際のうごき

めかのとろ

EV3 Lモータが時定数50msの1次遅れ近似モデルであることが算定できましたのでいよいよこのモデルをベースとしたさまざまな制御システムで動作を確認していくことにします。

めかのとろ

実機での制御システムを実現するとシミュレーションでは現れなかった現象がでるものです。これはドライバからモータへの入力制限であったり、センサや処理内容の分解能などにより想定外の結果になる場合もあるので、可能な限り条件は織り込んでおく必要はあります。

オープン制御PWM方式

めかのとろ

EV3 LモータはDCモータベースモデルのため、オープン制御でもPWMパルス出力のデューティ比を変えるだけで速度を調整できます。

めかのとろ

下図ではPWM比を48[%]に設定したときのエンコーダからのパルス[p/s]を示しています。ドライバに与えた電圧Vm(7.2V)の約半分であることで速度も半分となっています。

めかのとろ

95%PWMduty比のステップ入力を与えた場合のオープンループのPWM制御の応答です。縦軸はエンコーダから得られる速度信号で単位は[p/s]です。横軸は経過時間で単位は[ms]です。

めかのとろ

起動後、時定数Tm (50ms)で目標値に到達しています。

EV3Lモータオープン制御

ハイゲインフィードバック方式

めかのとろ

次に、速度目標入力を200[p/s]に設定したハイゲインフィードバック方式のステップ応答を示します。 フィードバックゲインC1を1から4に設定した場合です。応答波形をみるとオープンループPWMの場合に比べて、ハイゲインフィードバック方式はゲインC1を大きくするにつれ時定数が小さくなり応答が改善されています。

めかのとろ

ハイゲインC1を3より大きくしても応答が変わらないのはモータ電圧出力制限によるからです。そういう意味で、最大入力400[p/s]のステップ信号を与えた場合は100%で起動しますのでゲイン C1 を変えても応答の改善はありません。

EV3Lモータハイゲインフィードバック方式
めかのとろ

これまで、速度フィードバック制御として最も簡易的で効果の高いハイゲインフィードバック方式オープンループPWM制御方式に対して改善できるかを検討してきました。 EV3Lモータはエンコーダを持っているのですが、分解能はあまり高くなく入力は電圧制御型ドライバPWMデューティ比を変えているだけなので高度なフィードバック制御を施すには制限はあります。

めかのとろ

次回はこのような条件下で速度PI制御や2自由度ロバスト制御を適用するとどんな結果になるか検証してみたいと思います。

Follow me!