数字PID控制器的设计
数字PID控制器的设计
一、实验目的:
1. 理解晶闸管直流单闭环调速系统的数学模型和工作原理;
2. 掌握PID 控制器参数对控制系统性能的影响;
3. 能够运用MATLAB/Simulink 软件对控制系统进行正确建模并对模块进行正确的参数设置;
4. 掌握计算机控制仿真结果的分析方法。
二、实验工具:
MATLAB 软件(6.1 以上版本)。
三、实验原理:
如图3-1所示,PID 控制器根据偏差的比例(P)、积分(I)、微分(D)对G(s)的输出y(t)进行控制和跟踪


四、实验内容
(1)如图3-2所示,以单闭环调速系统为例,完成模拟PID 控制器的设计,并运用Matlab
软件对该调速系统的P、I、D 控制作用进行分析。

(2)数字PID 控制器的设计及性能分析。
(3)模拟PID 与数字PID 控制效果分析。
五、 实验步骤
模拟PID的设计与仿真
比例P的控制作用
为分析纯比例P控制器的作用,考察当dT=0,Ti=∞,Kp=1~5时对系统阶跃响应的影响
G1=tf(1,[0.017 1]);
G2=tf(1,[0.075 0]);
G12=feedback(G1*G2,1);
G3=tf(44,[0.00167 1]);
G4=tf(1,0.1925);
G=G12*G3*G4;
Kp=[1:1:5];
for i=1:length(Kp)
Gc=feedback(Kp(i)*G,0.01178);
step(Gc),hold on
end
axis([0 0.2 0 130]);
gtext(['1Kp=1'])
gtext(['2Kp=2'])
gtext(['3Kp=3'])
gtext(['4Kp=4'])
gtext(['5Kp=5'])

比例积分(PI)控制,积分控制作用分析
G1=tf(1,[0.017 1]);
G2=tf(1,[0.075 0]);
G12=feedback(G1*G2,1);
G3=tf(44,[0.00167 1]);
G4=tf(1,0.1925);
G=G12*G3*G4;
Kp=1;
Ti=[0.03:0.01:0.07];
for i=1:length(Ti)
Gc=tf(Kp*[Ti(i) 1],[Ti(i) 0]);
Gcc=feedback(G*Gc,0.01178);
step(Gcc),hold on
end
gtext(['1Ti=0.03']),
gtext(['2Ti=0.04']),
gtext(['3Ti=0.05']),
gtext(['4Ti=0.06']),
gtext(['5Ti=0.07']),

比例积分微分(PID)控制,微分控制作用分析
G1=tf(1,[0.017 1]);
G2=tf(1,[0.075 0]);
G12=feedback(G1*G2,1);
G3=tf(44,[0.00167 1]);
G4=tf(1,0.1925);
G=G12*G3*G4;
Kp=0.01;
Ti=0.01;
Td=[12:36:84];
for i=1:length(Td)
Gc=tf(Kp*[Ti*Td(i) Ti 1],[Ti 0]);
Gcc=feedback(G*Gc,0.01178);
step(Gcc),hold on
end
gtext(['1Td=12']),
gtext(['2Td=48']),
gtext(['3Td=84']),

数字PID的设计与仿真
比例(P)控制作用,设采样周期为0.001s。
G1=tf(1,[0.017 1]);
G2=tf(1,[0.075 0]);
G12=feedback(G1*G2,1);
G3=tf(44,[0.00167 1]);
G4=tf(1,0.1925);
G=G12*G3*G4;
Kp=[1:1:5];
ts=0.001;
for i=1:length(Kp)
Gc=feedback(Kp(i)*G,0.01178);
Gcc=c2d(Gc,ts,'zoh');
step(Gcc),hold on
end
axis([0 0.2 0 130]);
gtext(['1Kp=1']),
gtext(['2Kp=2']),
gtext(['3Kp=3']),
gtext(['4Kp=4']),
gtext(['5Kp=5']),

比例积分(PI)控制,积分控制作用分析,设采样周期为0.001s。
G1=tf(1,[0.017 1]);
G2=tf(1,[0.075 0]);
G12=feedback(G1*G2,1);
G3=tf(44,[0.00167 1]);
G4=tf(1,0.1925);
G=G12*G3*G4;
Kp=1;
Ti=[0.03:0.01:0.07];
ts=0.001;
for i=1:length(Ti)
Gc=tf(Kp*[Ti(i) 1],[Ti(i) 0]);
Gcc=feedback(G*Gc,0.01178);
Gccd=c2d(Gcc,ts,'zoh');
step(Gccd),hold on
end
axis([0,0.6,0,140]);
gtext(['1Ti=0.03']),
gtext(['2Ti=0.04']),
gtext(['3Ti=0.05']),
gtext(['4Ti=0.06']),
gtext(['5Ti=0.07']),

比例积分微分(PID)控制,微分控制作用分析,设采样周期为0.05s
G1=tf(1,[0.017 1]);
G2=tf(1,[0.075 0]);
G12=feedback(G1*G2,1);
G3=tf(44,[0.00167 1]);
G4=tf(1,0.1925);
G=G12*G3*G4;
Kp=0.01;
Ti=0.01;
Td=[12:36:84];
ts=0.05;
for i=1:length(Td)
Gc=tf(Kp*[Ti*Td(i) Ti 1],[Ti 0]);
Gcc=feedback(G*Gc,0.01178);
Gccd=c2d(Gcc,ts,'zoh');
step(Gccd),hold on
end
axis([0 20 0 100]);
gtext(['1Td=12']),
gtext(['2Td=48']),
gtext(['3Td=84']),
