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 |
オーバーシュートしているが、目標値へ収束はしている模様。

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