PID Controller

PID制御はフィードバック制御の基礎となるもので、前回にひきつづきScilabでテストしてみました。
ScilabからXcosというアプリケーションを立ち上げると、MatlabのSimulinkに相当するモデルベースデザインができる環境になります。パレットブラウザからブロックをドラッグ&ドロップして、これらを線でつないでいきます。
現在、フリーソフトではこれ以外の選択肢はなさそうに思います。

環境: Scilab 5.5.0 / Windows 7

まず、テストで使う入力とその一次おくれを確認します。
入力は、Sin波をクォンタイズしたものを使います。
cos01
Sin波ジェネレータ / Gain:1 Rad/s:1 Rad:0
Quantization / Step:0.5 Type:1
Clock / 0.1,0.1

緑が制御対象に送られる入力で、黒が出力です。
cos02

次にPIDレギュレータを追加します。
cos03

ブロックパラメータを適当に調整して、目標値に近づけました。
(もっと適合できそうですが・・)
cos04

参考までにP制御(I=0,D=0にする)だけだと、以下のようになります。(順番としてはこれを先)
cos05
目標にまだ遠いことがわかります。

制御対象にもっと多様なものテストできないかと、ソフトウェアエンジニア的に、興味をもっています。

About

Categories: 未分類 タグ: