アクチュエータ制御#2 電流制御
前回はアクチュエータのオープンループシミュレーションを行いました。アクチュエータだとギアも込みになってしまうのでモータって言います。
今回は電流をフィードバックする電流制御を行います。電流制御というくらいなのでモータに流れる電流を指令値に一致させるのです。
モータのパラメータとシミュレーションブロックは以下の通りです。前回とモータパラメータ異なるのはご容赦ください。
電流制御を検証する場合は外からモータを一定回転で回している状態にします。なぜなら外側から回さずに常に電流を一定にしようとするとどんどんモータの速度が上がってしまうから。
ではここから具体的に電流制御するためにはどうするのか。それはお馴染みのPID制御則を使います。PID制御とは指令値と応答値の差。これを偏差と言いますが、この偏差を0にするために、偏差に比例係数、積分係数、微分係数をかける制御則です。上で示したブロック図にもあります。
今回は比例、積分しか使っていません。詳細は割愛するけど比例係数、積分係数を比例ゲイン、積分ゲインと呼びます。このそれぞれのゲインを適切に選んでやることが重要です。ゲインが高過ぎても応答が発散するし、低過ぎても指令値に追従しないからです。ゲインの決め方について説明します。手順といってもやってることはモデル式からある程度当たりをつけて、実際にシミュレーションしてみて良さげなやつを選ぶが王道です。多分。。。
まずは電気回路モデルの電気的時定数から電流制御のカットオフ周波数を決定します。電気的時定数は電流の立ち上がりがどれくらい早いかを示す指標。今回の例で言うと電気的時定数は
tau = 13.8usec
単位はsecなので、これの逆数をとりHzに変換すると
w = 72211Hz
電流制御のカットオフ周波数は電流指令値に対してどこまで追従させるかの周波数になる。カットオフ周波数は電気回路モデルの周波数よりも高く設定する必要がある。今回はカットオフ周波数
Wic = 500000Hz
で設定した。wicの決定によりPゲインが決まり、Iゲインは重みw1により決まる。w1は0~1から選ぶことができるよ。具体的には以下
今回のシミュレーションでは3条件で行った。
Case A~Cのそれぞれの応答結果とボード線図を示す。case Aではややオーバシュート(指令値に対していきすぎること)※指令値は1Aとしている
ボード線図のゲイン線図を見ると減衰する手前が少し膨らんでいる。0dbよりも大きいと入力に対して出力が増加する。ここでいう入力は今回だと指令値である。指令値1Aよりも出力が少し大きくなるということ。だからオーバーシュートしているのです。
CaseBはそもそも0dbに到達していないので応答値が指令値に追従しない。
CaseCはオーバシュートなく応答値が指令値に到達している。さらに今回設定したカットオフ周波数500000Hzの逆数2usecで立ち上がっているので設計通り言える。Case cはIゲインの重みw1を低過ぎず高過ぎずにしている。適切に選ぶことで電流制御系の伝達関数を1次送れ系に近似できるので、カットオフ周波数の逆数で立ち上がらせることができる。以上次回は速度制御やります。
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?