C-StyleでPI制御

先日のP制御の比例ゲインはプログラム中に直接記述していたので、変数「K」で設定するようにした。さらにプログラムをPI制御に変更してみる。
WikipediaPID制御」よりPI制御)



積分要素を追加するために、

  • 変数W 偏差「X」の積分
  • 変数L 積分ゲイン
  • 変数M 積分値のリセット期限(ミリ秒) 
  • Timer1 積分値のリセット用タイマー

を追加し、26,27行で操作量「A」に積分要素から計算した操作量を加える。


▼PI制御 比例ゲイン=-2.0 積分ゲイン=-1.0

P制御と比較して良いのかどうか判断が難しい。
P制御の比例ゲイン=-2.0より反応は良いが、ハンチングを考慮するとP制御の比例源=-4.0に劣ると考える。

▼PI制御 比例ゲイン=-2.0 積分ゲイン=0

5行目の積分ゲイン「L」を0にするとP制御になる。
比例要素だけでは反応がわるい。

▼PI制御 比例ゲイン=0 積分ゲイン=-1.0

4行目の比例ゲイン「K」を0にして、積分要素だけでも一応制御可能。


PI制御は調整するパラメータが多く、どう値を決めればよいか判断に悩む。
上記のパラメータは適当に選んだだけで最適と思われる値ではない。


(続く)