Processing math: 100%

MATLABでPID制御器を作りシミュレーションする

MATLAB/simulink

MATLABでPID制御器を作って実装する。MATLABにはモデルを与えればそれっぽくPID制御器を構築してくれる便利な関数pidtuneがあるので今回はこれを使う。pidtuneの構文は下記の通り。

1
[C,info] = pidtune(G,'PID');

今回は二次遅れ系を調整しシミュレーションした。ソース以下の通り。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
N=1000;
 
s=tf("s");
 
omega=1;
zeta=0.1;
 
G=omega^2/(s^2+2*zeta*omega*s+omega^2);
 
[C,info] = pidtune(G,'PID');
 
P=feedback(C*G,1);
 
r=ones(1,N);
t=linspace(0,10,N);
y=lsim(P,r,t);
 
figure;
plot(t,r);
hold on
plot(t,y);
grid on

オーバーシュートしているが、目標値へ収束はしている模様。

コメント

  1. […] 以前MATLABでPID制御をシミュレーションした。今回はアナログ電子回路でPID制御を実装する。 […]

タイトルとURLをコピーしました