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

📄 pidsim2.m

📁 状态反馈matlab仿真程序
💻 M
字号:
clf,
num=1,den=[1 3 2],tao=10,
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
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),
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,

⌨️ 快捷键说明

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