|
公開日:2016/11/04 , 最終更新日:2019/12/28
|
前提知識
・PID制御概要
・モーターの微分方程式
・Scilabの使い方
■制御モデル
PID制御の概念はこちらで説明しましたが、実際にPID制御の動作を確認します。
先ずPID制御とは以下のような制御でした。
目標値と実値の偏差を演算し、
・偏差の絶対値に応じて制御量を決めるのがP制御
・偏差の積算値に応じて制御量を決めるのがI制御
・偏差の微分値に応じて制御量を決めるのがD制御
これを式で表現すると以下のとおり。

また上式を解り易く表現するため、ブロック図で描くと以下となります。

三角形の中にKp,Ki,Kpと書いているのはゲインで、それぞれKp,Ki,Kdを乗じるという意味です。
このゲインを調整することで制御器の応答性や安定性などが決まります。
<別の表現方法>
PID制御は以下の様に表記する場合もあります。動作は等価になります。制御理論の教科書等はむしろこちらの表記が多いかもしれません。


■具体例
PID制御をscilabで設計します。制御対象物はモーターとし、電圧を与えて狙いの角速度になる様にコントロールします。
下記では制御対象物をスーパーブロック化しており、その中身はこちら。
プログラムファイルは以下。
PID.zip

またシミュレーション結果は以下のとおり。ゲイン(P項、I項、D項)は適当に設定しておりますが、目標値に実値を素早く到達させることができました。

<PID制御が無い場合>
PID制御が無い場合は、狙いの角速度になる様な電圧値を与えます。この制御対象物において、角速度が10rad/sになる為の入力電圧は0.716Vです。
結果は以下のとおり、PIDが無いと狙いの角速度になるまで時間がかかります。

<ゲインの設定方法>
今回はゲインを適当に設定しましたが、様々な考え方に基づいたゲイン設定方法があります。具体例は以下。
・ステップ応答法
・限界感度法
・極配置法
・安定判別法
サブチャンネルあります。⇒ 何かのお役に立てればと
|
|