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

制御の安定性:ブロック線図


自動制御系の中での信号伝達のありさまを表す方法にブロック線図があります。
ブロック線図の基本に関して見ていきます。

ブロック線図の基本

名称 シンボル 意味
伝達要素 Y=GX 出力Yは入力信号XのG倍になる
信号の流れる方向:矢印
入出力間の関係を表す要素:□
加え合わせ点 Z=X±Y 入力信号XYが加算(減算)され、その結果がZ
引き出し点   一つの信号を2つ上に分岐

これらのシンボルを組み合わせてブロック線図を作成していきます。

直列接続

変換前 変換後

<Scilabでの表現>
G1・G2の伝達関数をそれぞれ
 
とした場合の変換後の伝達関数をScilabで求めます。
コンソール画面
-->s=%s;
-->G1=1/(10*s^2);
-->G2=(s+1)/(s+2);
-->G=G1*G2             //←直列接続
 G  =
 
      1 + s     
    ---------   
       2     3  
    20s + 10s   

並列接続

変換前 変換後

<Scilabでの表現>
直列接続で使用した伝達関数を並列接続した場合の変換後をScilabで求めます。
コンソール画面
-->G=G1+G2
 G  =
 
               2     3  
    2 + s + 10s + 10s   
    -----------------   
           2     3      
        20s + 10s       

フィードバック接続

変換前 変換後

加え合わせ点がマイナスのとき、各点の伝達関数は次式になります。
y0 = X - y1…(1)
y1 = Z・G2…(2)
Z = y0・G1…(3)

(2)式の y1 を(1)式へ代入、その(1)式の y0 を(3)式へ代入すれば
Z = (X-Z・G2)・G1
となります。

この式を変形すると
Z = G1・X - G1・Z・G2
Z + G1・Z・G2 = G1・X
Z( 1 + G1・G2 ) = G1・X
Z/X = G1/( 1 + G1・G2 )
となり、フィードバック系の伝達関数の式が得られます。


<Scilabでの表現>
G1・G2の伝達関数をそれぞれ
 
とした場合の変換後の伝達関数をScilabで求めます。

コンソール画面
-->s=%s;
-->G1=(1+5*s+2*s^2)/(3+2*s+s^2);
-->G2=(5*(s+2))/(s+10);
-->G=G1/.G2              //← /. はフィイードバック用演算子
 G  =
 
                  2    3   
    10 + 51s + 25s + 2s    
    -------------------    
                  2     3  
    40 + 78s + 57s + 11s   

ブロック図の簡単化

下図のブロック線図全体の伝達関数を求めます。

    

一気に計算してもいいのですが、分かりやすい様に途中結果W1〜W3を提示しながら求めます。
コンソール画面
-->G1=1/(s+1);
-->G2=1/(s+10);
-->G3=(s+5)/(s^2+s+1);
-->H1=(s+2)/(s+3);
-->H2=1/(s+4);
-->W1=G2*G3    //←直列接続
 W1  =
 
          5 + s          
    -----------------    
                  2   3  
    10 + 11s + 11s + s   
 
-->W2=W1/.H1   //←フィードバック接続
 W2  =
 
                     2         
          15 + 8s + s          
    -----------------------    
                  2     3   4  
    40 + 50s + 45s + 14s + s   
 
-->W3=G1*W2    //←直列接続
 W3  =
 
                        2            
             15 + 8s + s             
    -----------------------------    
                  2     3     4   5  
    40 + 90s + 95s + 59s + 15s + s   
 
-->G=W3/.H2   //←フィードバック接続
 G  =
 
                             2   3              
               60 + 47s + 12s + s               
    ----------------------------------------    
                     2      3      4     5   6  
    175 + 408s + 471s + 331s + 119s + 19s + s