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

📄 pidsim5.m

📁 状态反馈matlab仿真程序
💻 M
字号:
clf,
num=1,den=[1 -1],tao=2,
w=logspace(-2,2,200)',
pause;
% plot Nyquist graph
clf;
[r,i]=nyquist(num,den,w),
rd=real((r+j*i).*exp(-j*w*tao)),
id=imag((r+j*i).*exp(-j*w*tao)),
plot(rd(1:100),id(1:100),':'),
%set(gca,'xtick',[-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5]);
pause;
% slove the magnitude and phase
%[mag,phase]=nichols(num,den,w),
%mag,phase,
%pause;
%magdb=20*log10(mag),
%[gm,pm,wpc,wgc]=margin(magdb,phase,w),grid,
%gm,pm,wpc,wgc,
%pause;
% System Identification
%A=abs((rd(73,1)+rd(74,1))/2), w0=(w(73)+w(74))/2,
%t=[0:0.1:10],
%[y,x]=step(num,den,t);
%K=y(100,1),
%T=(sqrt(K*K/A/A-1))/w0,ti=(pi-atan(w0*T))/w0,
%num1=K, den1=[T 1],
%printsys(num1,den1),
%[r1,i1]=nyquist(num1,den1,w);
%step(num1,den1),
%rd1=real((r1+j*i1).*exp(-j*w*ti)),
%id1=imag((r1+j*i1).*exp(-j*w*ti)),
%hold on,
%plot(rd1(1:100),id1(1:100),':'),
%pause;
%Simulition by SIMULINK
T=-1,K=-1,ti=2,
k2=(1.41*0.6174*T-T-ti)/(K*ti),
k1=(0.6174^2*T/ti-1)/K-k2,
num2=0.3099*0.6174^2,
den2=[1 1.41*0.6174 0.6174^2],
[r2,d2]=nyquist(num2,den2,w),hold on,
plot(r2,d2),grid,
% tuning PID parameters
%Kp=(2.15*T*ti-K*k1-K*k2-1)/K,
%Td=(1.75*T*ti-T-ti-K*k2*ti)/(K*Kp),
%Kd=Kp*Td,
%Ti=(K*Kp*ti^2)/(T*0.6174^3),
%Ki=Kp/Ti,
%pause;
% Z-N tuning method
%Kp2=1.2*(ti/T)^(-1)/K,
%Ti2=T*2*(ti/T); Ki2=Kp2/Ti2,
%Td2=T*0.5*(ti/T); Kd2=Kp2*Td2,
% Evaluate the idea zero_poly point
K=-1;T=-1;ti=2;
Kp=2.9154; Ki=1.7819;Kd=0.9877;
Ti=Kp/Ki;Td=Kp/Kd;
k1=1.0339; k2=-2.2628;
B0=K*Kp;
B1=(K*k1+K*k2+K*Kp+1)*Ti;
B2=(T+ti+K*k2*ti+K*Kp*Td)*Ti;
B3=T*Ti*ti;
P=[B3 B2 B1 B0];
roots(P),

⌨️ 快捷键说明

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