フィードバック制御 Homework #4 問題

フィードバック制御 Homework #4 問題
1
,制御器を K(s) = 25 ,ステップ入力を r(t),ステップ外乱を
(s + 2)(s + 3)
d(t) とするフィードバック制御系を考える.
Fig. 1 に示す制御対象を P (s) =
Fig. 1: フィードバック制御系
bababababababababababababababababababababab
HW 4-1
一つの Simulink ファイル内に r(t) = 1,d(t) = 0 の場合,r(t) = 0,d(t) = 1 の場合,
r(t) = 1,d(t) = 1 の場合における Fig. 1 の制御系を作成し,シミュレーションを実行せよ.次に,出力
されたそれぞれの y(t) を m ファイルを用いて同じグラフ上に重ねてプロットせよ.
HW 4-2
HW 4-1 の結果より分かる,制御器を K(s) = 25 としたときの制御系の特性を簡潔に述べ
よ.さらに,Fig. 1 で表される制御系は線形性を有することを HW 4-1 の結果を用いて説明せよ.
HW 4-3
r(t) = 1,d(t) = 1 のとき定常位置偏差を 0 とする制御器を作成して y(t) をプロットせよ.
定常位置偏差が 0 になることが確認できるように Simulink のシミュレーション時間を適宜変更すること.
MATLAB Program
補足
シミュレーションデータを出力し,m ファイルで利用
t=simoutyrd.Time;
yrd=simoutyrd.Data;
yr=simoutyr.Data;
するには To Workspace ブロックを利用する.
(場所:
yd=simoutyd.Data;
HW 4-1 において,ワークスペースに Simulink の
Simulink ライブラリ→ Sinks → To Workspace)
To Workspace に設定する出力データ名を simoutyrd,
simoutyr,simoutyd としたとき,右の MATLAB コー
ドを利用すると全て同時にプロットできる.
hold on; grid on;
plot(t,yrd,’r’, ’LineWidth’,10)
plot(t,yr,’b’, ’LineWidth’,10)
plot(t,yd,’g’, ’LineWidth’,10)
推奨演習問題 教科書 [1] p. 85 4 章 演習問題【5】,
演習書 [2] p. 50 例題 4.3
[1] 杉江,藤田,
「フィードバック制御入門」,コロナ社,1999
[2] 杉江,梶原,
「システム制御工学演習」,コロナ社,2014
1
フィードバック制御 Homework #4 ボーナス問題
1
14 + 5/s + 8s
a + 8s
,制御器を K(s) =
,Ka (s) =
,
(s + 1)(s + 5)
0.01s + 1
0.01s + 1
Kb (s) = b + 5/s ,a + b = 14,a,b を 0 以上の整数,ステップ入力を r(t) とするフィードバック制御系を考える.
なお,K(s) ≒ Ka (s) + Kb (s) である.
Fig. 2,Fig. 3 に示す制御対象を P (s) =
Fig. 3: PID 制御系
Fig. 2: I-PD 制御系
bababababababababababababababababababababab
HW 4-4
一つの Simulink ファイル内に Fig. 2,Fig. 3 の制御系を作成せよ.次に,全ての a, b の
組み合わせに関する Fig. 2 の制御系の y(t) および Fig. 3 の制御系の y(t) を,m ファイルを用いて同じ
グラフ上にプロットせよ.
HW 4-5
オーバーシュートがほぼ発生せず,かつ最も速応性が高い a,b の組み合わせを示せ.
HW 4-6
HW 7-4 を通してわかる Fig. 2 の制御系の特性を簡潔に述べよ.
MATLAB Program
for i=1:15
a=?
b=?
sim(’homework7bs’)
t=?
yipd=?
ypid=?
補足
HW 4-4 において使用する m ファイルのヒントを右
に示す(?の場所は自分で考える).
sim(’ ファイル名’):カッコ内に入力された名前を持
hold on; grid on;
つ Simulink ファイルを実行する.
plot(?)
plot(?)
xlabel(’Time [s]’,’FontSize’,30);
ylabel(’y(red,blue)’,’FontSize’,30);
set(gca,’FontSize’,30);
set(gca,’Linewidth’,4);
end
2