fc2ブログ

制御工学その13

4 s領域での制御系解析・設計



フィードバック制御系を構成するとき、安定性が確保されているか確認しなければならない。
s領域(ラプラス変換後の領域)での安定性の判別を行う方法を調べる。

4.1 フィードバック制御



4,1,1 ブロック線図における結合

伝達関数の基本操作をブロック線図に表すことが出来る。
ここでは図はかけないが、3種類ある。

(1)直列結合

2つの伝達関数を直線上で直接つないでいるものである。

この時、入力をu(s),最初の伝達関数を抜けたあとの入力をv(s),最終的な出力をy(s)とすると

y(s) = P2(s)*v(s)
v(s) = P1(s)*u(s)

P(s) = y(s)/u(s) = P2(s)*v(s) / (v(s)/P1(s)) = P1(s)*P2(s)

とすることが出来る。よって直列結合は伝達関数の積となる。

(2)並列結合

2つの伝達関数が入力を分岐させて与えられ、伝達関数を通過した後に加えあわされるものである。

この時、入力をu(s),伝達関数1を抜けたあとの入力をv(s),伝達関数2を抜けたな出力をt(s)、加えあわされた出力をy(s)とすると



y(s) = v(s)±t(s)
v(s) = P1(s)*u(s)
t(s) = P2(s)*u(s)

P(s) = y(s)/u(s) = P1(s)±P2(s)

となる。つまり、並列結合は伝達関数の加え合わせである。

(3)フィードバック結合

入力に、出力を別の伝達関数に通したものを加え合わせるものである。

この時、入力をu(s),伝達関数1を抜けたあとの出力をy(s),伝達関数2を抜けた出力をw(s)、加えあわされた出力をe(s)とすると

y(s) = P1(s)*e(s)
e(s) = u(s)±w(s)
w(s) = P2(s)*y(s)

から

P(s) = y(s)/u(s) = P1(s)/(1±P1(s)*P2(s))

となる。ただし、ここで伝達関数分母のプラスマイナスは、ブロック線図に定義される加え合わせ点のプラスマイナスと逆である。
つまり、加え合わせ点が正なら、伝達関数分母の計算は負となる。

4.1.2 フィードバック制御系

フィードバック制御のブロック線図に現れる要素は

y(t) = 制御量
u(t) = 操作量
d(t) = 入力外乱
e(t) = 偏差
r(t) = 目標値
P(s) = 制御対象への伝達関数
C(s) = コントローラへの伝達関数

である。

s領域で考える。
ブロック線図において、入力r(s),d(s)と出力y(s)のあいだには


y(s) = P(s)*(d(s) + u(s))

u(s) = C(s)*e(s)
e(s) = r(s) - y(s)

から

y(s) = P(s)*(d(s) + C(s)*(r(s) - y(s)))

つまり

y(s) = P(s)*d(s) + P(s)*c(s)*r(s) - P(s)*c(s)*y(s)

(1 + P(s)C(s))y(s) = P(s)d(s) + P(s)c(s)r(s)

y(s) = (P(s)C(s)r(s) + P(s)d(s))/(1+P(s)C(s))

となる。ここからr(t),d(t)それぞれの伝達関数を求めると
係数をとればいいので

G_yr(s) = P(s)C(s)/(1+P(s)C(s))

G_yd(s) = P(s)/(1+P(s)C(s))

となる。

問題4.1

r(s),d(s)からe(s)への伝達関数

e(s)= r(s) - (P(s)C(s)r(s) - P(s)d(s))/(1+P(s)C(s))

  = (1+P(s)C(s)-P(s)C(s))r(s)/(1+P(s)C(s)) - P(s)d(s))/(1+P(s)C(s))

  = r(s)/(1+P(s)C(s)) - P(s)d(s))/(1+P(s)C(s))

r(s)の係数がG_er(s)なので取り出すと

G_er(s) = 1/(1+P(s)C(s))

G_edも同じように

G_ed(s) = -P(s)/(1+P(s)C(s))

となる。

次に、r(s),d(s)からu(s)への伝達関数を求める。

u(s) = e(s)*C(s) = C(s) * (r(s)/(1+P(s)C(s)) - P(s)d(s))/(1+P(s)C(s)))

よって

G_ur(s) = C(s)/(1+P(s)C(s))

G_ud(s) = -P(s)C(s)/(1+P(s)C(s))

となる。


4.1.3 フィードフォワード制御系

出力が戻ってこないようにすると、フィードフォワード制御系となる。

フィードバックと同じようにr(s),d(s)からy(s)の関係は

y(s) = P(s)*(d(s)+C(s)*r(s)) = P(s)C(s)r(s) + P(s)d(s)

なのでそれぞれの伝達関数は

G_yr = P(s)C(s)
G_yd = P(s)

である。

4.1.4 フィードバック制御の利点

ここで、制御対象となる式

y(t) + T*y'(t) = K*u(t)

が与えられたとする。そして、この出力y(t)を目標量r(t)に追従させることを考える。
制御量の初期値がy(0) = 0のとき、上の式をラプラス変換すると

y(s) + T*s*y(s) = K*u(s)

y(s) = P(s)u(s)からP(s)を求めると、

P(s) = y(s)/u(s) = K/(1+Ts)

となる。

このとき、例えばフィードフォワード系ならT>0で
コントローラの伝達関数を

C(s) = (1+Ts)/K(1+T2s) T2>0

などとおけば、入力r(s)が一定の値つまりステップ入力であるとしてみれば

y(s) = P(s)C(s)u_s(s) = 1/(1+T2s)*u_s(s)

つまりP_c(s) = 1/(1+T2s)

この時の定常値y_∞は最終値の定理よりステップ応答はs→0の値であるので

P_c(0) = 1/1 = 1

となり、これはステップ入力であるr(t)と一致する。

しかし、ここには以下のような問題点がある。

問題点1

パラメータT、Kが一定ならば上のようになるが、これが変動する場合例えば

P'(s) = K'/1+T's T'>0

となる場合は

y(s) = K'(1+Ts)/K(1+T2s)(1+T's)

となり、

y_∞ = K'/K

となるため、目標値の1からだんだんずれていってしまう


問題点2

また、T<0であるばあい、P(s)は不安定極を持つことになる。
そして、この不安定極はC(s)の不安定零点によって相殺されるため、
初期値y(0)が完全に0でない時にy(t)が発散することになる。

詳しく、y(0)を考慮してy(t)の式をラプラス変換すると

L[y(t) + T*y'(t = u(s))] = y(s) + T*(s*y(s) - y(0)) = u(s)

となる。つまり

y(s) = K/(1+Ts)*u(s) + T/(1+Ts)*y(0)

u(s) = C(s)*r(s) = (1+Ts)/K(1+T2s) * r(s)

より

y(s) = 1/(1+T2s)*r(s) + T/(1+Ts)*y(0)

r(s) = u_s(s)として逆ラプラス変換すると

y(t) = 1 - e^(-t/T2) + e^(-t/T)*y(0)

となるため、T<0でかつy(0)が0でないなら発散してしまう。

これにたいし、フィードバック制御なら例えば

C(s) = (kps+ki)/s

とすると

y(s) = P(s)C(s)/(1+P(s)C(s)) = K/(1+Ts)*(kps+ki)/s) / 1+K/(1+Ts)*(kps+ki)/s)

= (K*kp*s+K*ki)/(s+Ts^2) * (s+Ts^2)/(K*kp*s+K*ki+s+Ts^2)

= K(kp*s+ki)/(Ts^2 + (K*kp+1)*s + K*ki)

となる。そのため、分母(Ts^2 + (K*kp+1)*s + K*ki)の根が全て負になるようにKp,kiが選ばれていれば、

y_∞ = 1

となる。また、制御対象のパラメータが不安定であっても

y(t) = P'(s)C(s)/(1+P'(s)C(s))*r(s)

= K'(kp*s+ki)/(T's^2 + (K'*kp+1)*s + K'*ki)

となるので、同じように分母の根が負になるようにパラメータを選べばシステムは安定する。


まとめ

制御構造をブロック図で表すことを学んだ。このとき、伝達関数の結合を一つの伝達関数で表すことが出来る。

直列結合なら積で
並列結合なら和で
フィードバック結合なら P1(s)P2(s)/(1+P1(s)P2(s))という式で

まとめることが出来る。

フィードバック制御とフィードフォワード制御について

フィードフォワード制御のばあい、ある条件を満たすと出力が発散するため、目標値に追従させることが出来ない。
例えばそれは

P(s) = K/(1+Ts)で、y(0)が0でない場合、一見よさそうにみえるコントローラ
C(s) = (1+Ts)/K(1+T2s)を与えても、

T<0の場合、P(s)の不安定極が相殺されているため、y(0)でないときには発散してしまう。

これに対しフィードバック制御なら、最終的な伝達関数の分母の根が全て負になるようコントローラを選べば、発散しない。

そのため、フィードバック制御はフィードフォワード制御に比べて

・パラメータ変動や外乱などの未知動特性に対処できる
・制御対象が不安定でもシステムを安定化できる

という利点がある。

わからないところ

パラメータ変動に対応できるのは式としてわかるが、実際にあらゆるパラメータ変動に対応するようなコントローラは設定できないだろう。
ある程度の変動範囲を見越して大丈夫なようにするのだろうか。

スポンサーサイト



コメントの投稿

非公開コメント

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR