Scilabで学ぶフィードバック制御入門
ようこそ
 はじめに
数学の準備
 高校数学
 複素数
 ラプラス変換
 ラプラス逆変換
Scilab入門
 概要
 四則演算
 配列
 グラフ表示
 プログラム1
 プログラム2
伝達関数
 概要
 poly,syslin,csim
 ステップ応答法
 RLC回路
周波数応答
 ゲイン・位相
 ボード線図
 比例・微分・積分
 1次遅れ,ムダ時間
 パデ近似の導出
 pade関数の作成
制御の安定性
 ブロック線図
 フィードバック
 2次遅れ系
 ステップ応答法
 周波数応答法
 ナイキスト線図
 安定性の判別
 判別の仕組み
 安定余裕の評価
 評価の例題
Xcos
 入門
 例・運動方程式
PID制御(Xcos)
 概要
比例(P)動作
 積分(I)動作
 微分(D)動作
 PID・ボード線図

PID制御(Xcos):比例(P)動作


比例動作のの詳細を見ます

特徴

偏差 e(t) の大きさに比例した大きさが出力されます。


m(t) = e(t) * Kp

もう少し具体的に、1次遅れとムダ時間で表される制御対象を比例動作のみを使って制御する場合を考えます。


このときの一巡伝達関数は

です。

したがって、ステップ入力に対する制御量PV(s)は

になります(ここを参照)。

最終値の定理を使って、時間 t→∞ のときの制御結果を見ます
<最終値の定理>
t→∞ における値は、s を掛けてからs→0としたものと等しい


得られた式から KP の値を大きくすれば目標値に近付くことが分ります。
しかし、目標に近付きますが、一致することはありません。
この差のことをオフセットと言います。



オフセットは次の式で求めることが出来ます。


例えば KP = 2、 K = 1 とせれば、OFFSET=1/3 になります。

Scicosでのシミュレーション

下図のような制御系で、KP = 1、KP = 2 をシミュレーションします。


対象となる系には、ムダ時間2秒が入っています。
このままでは、線形システムとして扱えないのでパデ近似をを使って有理化します。
すでに、pade関数を作成したのこれを使ってScicosの伝達関数の要素へ式を書き込めば良いのですが、結構面倒です。
そこで、パデ近似の分子・分母をシンボリック演算用に求める関数(pade_s)を作りました。

pade_s関数
仕様概要 むだ時間と次数を渡すと、パデ近似手法で得られる有理式の分子と分母をシンボリック演算用に取得
シンボリックに扱う変数名は s 固定
s=%s を呼び出し側であらかじめ定義しておくこと
コーリングシーケンス [num,den]=pade(t,n) 入力
パラメータ
t むだ時間[Sec]
n 次数
戻り値 num シンボリック演算用の分子
den シンボリック演算用の分母

pade_s関数のコード
function [num,den]=pade_s(D, N)
  exec('pade.sci',-1);
  [p,q] = pade(D, N);
  num = 0;
  den = 0;
  for i=1: N+1 do
    num = num + p(i) * s^(i-1);
    den = den + q(i) * s^(i-1);
  end
endfunction

<パデ近似の設定>
コンソール画面
-->s=%s;                  //←多項式の変数 s を定義
-->exec('pade_s.sci');    //←pade_s関数の使用を宣言(関数が記述されているファイル名を指定)
-->[num,den]=pade_s(2,4)  //パデ近似の分子・分母を s の多項式で取得
 den  =
                    2    3   4  
    105 + 105s + 45s +10s + s   
 num  =
                    2     3   4  
    105 - 105s + 45s - 10s + s   

<ブロック線図の作成>


要素 パラメータ 備 考
1 ステップ入力の設定
初期値=0
最終値=1
ステップ時間=0
2 ゲインの設定
=1
3 ゲインの設定
=2
4 ムダ時間の伝達関数を設定
Scilabで定義済みのパデ近似変数
num、den
を使用
5 対象の伝達関数を設定
6 サンプリングの設定
7 グラフ表示領域の設定

<実行結果>


KP=小 応答性が悪い
KP=大 応答性は良いが、ハンチング(振動)が起きやすい