まえがき
物理演算のシュミレーションによく使われるscilabを用いた計算問題!
問題をときながらシミュレーションできるような構成になっているので、これをマスターしておけば、基礎部分はおk!
実行環境
・windows10
・scilab(6.1.0)64bit
計算問題をやっていく
問題全体の前提
※時間軸は0秒~1秒まで0.01秒刻みで設定すること。
モータを単純比例フィードバック制御で動かすことを考える。
伝達関数はG(s)=k / ( Js+(B+k) )
問題a
scilabを用いて以下のシミュレーションを行い、結果(波形)を記入せよ。
イナーシャ : J=1
粘性係数 : B=2
比例ゲイン : k=5 → k=10 → k=20
s=%s;
t=0:0.01:1;
J = [1 1 1];
B = [2 2 2];
Kp = [5 10 20];
Col=[1 2 3];
for i=1:1:3
P=(Kp(i)/(J(i)*s + B(i) + Kp(i)));
sys = syslin('c', P);
y = csim('step', t, sys);
plot2d(t, y, Col(i)), xgrid();
end;
問題b
scilabを用いて以下のシミュレーションを行い、結果(波形)を記入せよ。
イナーシャ : J=1
粘性係数 : B=2 → B=5 → B=10
比例ゲイン : k=10
s=%s;
t=0:0.01:1;
J = [1 1 1];
B = [2 5 10];
Kp = [10 10 10];
Col=[1 2 3];
for i=1:1:3
P=(Kp(i)/(J(i)*s + B(i) + Kp(i)));
sys = syslin('c', P);
y = csim('step', t, sys);
plot2d(t, y, Col(i)), xgrid();
end;
問題c
scilabを用いて以下のシミュレーションを行い、結果(波形)を記入せよ。
イナーシャ : J=1 → J=5 → J=10
粘性係数 : B=2
比例ゲイン : k=20
s=%s;
t=0:0.01:1;
J = [1 5 10];
B = [2 2 2];
Kp = [10 10 10];
Col=[1 2 3];
for i=1:1:3
P=(Kp(i)/(J(i)*s + B(i) + Kp(i)));
sys = syslin('c', P);
y = csim('step', t, sys);
plot2d(t, y, Col(i)), xgrid();
end;
あとがき
次回は定常偏差や積分器を用いた、シミュレーションをやります!