⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t21zp.m

📁 状态反馈matlab仿真程序
💻 M
字号:
%------------------------------------------------------------------
%  This program is used to solve (ot test) the step response 
%        of Close Loop System by Zero-pole placement
%  NOTE: The 'iden_c21i.m' must be executed first.
%------------------------------------------------------------------


Ts=120;
Kp=0.9012, Ti=Kp/0.1904, Td=0.4719/Kp, 
af2=K*Kp*Ti*Td;
af1=K*Kp*Ti;
af0=K*Kp;

bt3=Ti*b2;
bt2=Ti*(b1+K*Kp*Td);
bt1=Ti*(b0+K*Kp);
bt0=K*Kp;

%printsys([af2 af1 af0]/bt3,[bt3,bt2,bt1,bt0]/bt3);
[V1,V2,Kop]=tf2zp([af2 af1 af0]/bt3,[bt3,bt2,bt1,bt0]/bt3);

figure(4)
clf;
plot(real(V1(1)),imag(V1(1)),'ro',real(V1(2)),imag(V1(2)),'ro');
hold on
plot(real(V2(1)),imag(V2(1)),'r*',real(V2(2)),imag(V2(2)),'r*',...
   real(V2(3)),imag(V2(3)),'r*');
xlabel('Re'); ylabel('Im'); Title('The Zero-Pole Position of Close Loop');

grid on
%axis([-5,0.2,-5,5]);

[Nop,Dop]=zp2tf([1],[V2(2) V2(3)],1); 
omiga0=sqrt(Dop(3));
kosi0=Dop(2)/(2*omiga0),

% Calaulate the PID parameters
kosi=kosi0-0.4; omiga=omiga0; s1=-V2(1);

figure(5)
clf;
xlabel('t'); ylabel('y'); Title('The Step Response of Close Loop');

for (i=1:1:6)
   
   Kp=(b2*omiga^2+2*kosi*omiga*s1*b2-b0)/K;
   Ti=(K*Kp)/(b2*s1*omiga^2);
   Td=(2*kosi*omiga*b2+b2*s1-b1)/(K*Kp);
   [t,xx,yf]=sim('t21b',Ts);
   figure(5)
   hold on
   plot(t,yf);
   
   %i,
   kosi=kosi+0.1;
   %s1=s1+0.04,
   %omiga=omiga-0.02;
   af2=K*Kp*Ti*Td;
   af1=K*Kp*Ti;
   af0=K*Kp;
   bt3=Ti*b2;
   bt2=Ti*(b1+K*Kp*Td);
   bt1=Ti*(b0+K*Kp);
   bt0=K*Kp;
   [V1,V2,Kop]=tf2zp([af2 af1 af0]/bt3,[bt3,bt2,bt1,bt0]/bt3);

   figure(4)
   hold on
   plot(real(V1(1)),imag(V1(1)),'bo',real(V1(2)),imag(V1(2)),'bo');
   plot(real(V2(1)),imag(V2(1)),'b*',real(V2(2)),imag(V2(2)),'b*',...
        real(V2(3)),imag(V2(3)),'b*');
   %pause  
end

kosi=kosi0-0.1,
Kp=(b2*omiga^2+2*kosi*omiga*s1*b2-b0)/K,
Ti=(K*Kp)/(b2*s1*omiga^2),
Td=(2*kosi*omiga*b2+b2*s1-b1)/(K*Kp),

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -