《自动控制原理》自动控制PID实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《自动控制原理》自动控制PID实验报告
课程名称自动控制原理实验类型:
实验项目名称:自动控制PID
一、实验目的和要求
1、学习并掌握利用MATLAB 编程平台进行控制系统复数域和频率域仿真的方法。

2、通过仿真实验研究并总结PID 控制规律及参数对系统特性影响的规律。

3、实验研究并总结PID 控制规律及参数对系统根轨迹、频率特性影响的规律,
并总结系统特定性能指标下根据根轨迹图、频率响应图选择PID 控制规律和参数的规则。

二、实验内容和原理
一)任务
设计如图所示系统,进行实验及仿真程序,研究在控制器分别采用比例(
P)、比例积分(PI)、比例微分(PD)及比例积分微分(PID)控制规律和控制器参数(Kp、Ki、Kd)不同取值时,控制系统根轨迹和阶跃响应的变化,总结pid 控制规律及参数变化对系统性能、系统根轨迹、系统阶跃响应影响的规律。

具体实验容如下:
1、比例(P)控制,设计参数Kp 使得系统处于过阻尼、临界阻尼、欠阻尼三种状态,并在根轨迹图上选择三种阻尼情况的Kp 值,同时绘制对应的阶跃响应曲线,确定三种情况下系统性能指标随参数Kp 的变化情况。

总结比例(P)控制的规律。

2、比例积分(PI)控制,设计参数Kp、Ki 使得由控制器引入的开环零点分别处于:1)被控对象两个极点的左侧;2)被控对象两个极点之间;3)被控对象两个极点的右侧(不进入右半平面)。

分别绘制三种情况下的根轨迹图,在根轨迹图上确定主导极点及控制器的相应参数;通过绘制对应的系统阶跃响应曲线,确定三种情况下系统性能指标随参数Kp 和Ki 的变化情况。

总结比例积分(PI)控制的规律。

3、比例微分(PD)控制,设计参数Kp、Kd 使得由控制器引入的开环零点分别处于:1)被控对象两个极点的左侧;2)被控对象两个极点之间;66 3)被控对象两个极点的右侧(不进入右半平面)。

分别绘制三种情况下的根轨迹图,在根轨迹图上确定控制器的相应参数;通过绘制对应的系统阶跃响应曲线,确定三种情况下系统性能指标随参数Kp 和Kd 的变化情况。

总结
比例积分(PD)控制的规律。

4、比例积分微分(PID)控制,设计参数Kp、Ki、Kd 使得由控制器引入的两个开环零点分别处于:
1)实轴上:固定一个开环零点在被控对象两个开环极点的左侧,使
另一个开环零点在被控对象的两个极点的左侧、之间、右侧(不进入右半平面)移动。

分别绘制三种情况下的根轨迹图,在根轨迹图上确定主导极点及控制器的相应参数;通过绘制对应的系统阶跃响应曲线,确定三种情况下系统性能指标随参数Kp、Ki 和Kd 的变化情况。

2)复平面上:分别固定两个共轭开环零点的实部(或虚部),让虚部(或实部)处于三个不同位置,绘制根轨迹图并观察其变化;在根轨迹图上选择主导极点,确定相应的控制器参数;通过绘制对应的系统阶跃响应曲线,确定六种情况下系统性能指标随参数Kp、Ki 和Kd 的变化情况。

综合以上两类结果,总结比例积分微分(PID)控制的规律。

(二)要求
1、合理选择P、PI、PD、PID 控制器参数,使开环系统极零点分布满足实验容中的要求。

通过绘图展示不同控制规律和参数变化对系统性能的影响。

根轨迹图可以单独绘制,按照不同控制规律、不同参数将阶跃响应绘制于同一幅面中。

2、通过根轨迹图确定主导极点及参数值,根据阶跃响应曲线确定系统性能指标并列表进行比较,总结控制器控制规律及参数变化对系统特性、系统根轨迹影响的规律。

3、总结在一定控制系统性能指标要求下,根据系统根轨迹图和阶跃响应选择pid 控制规律和参数的规则。

4、全部采用MATLAB 平台编程完成。

三、主要仪器设备
Matlab
四、操作方法与实验步骤
1、比例(P)控制,设计参数Kp 使得系统处于过阻尼、临界阻尼、欠阻尼
三种状态,并在根轨迹图上选择三种阻尼情况的Kp 值,同时绘制对应的阶跃响应曲线。

仿真程序:
p=[1];
q=[1 10 16];
Gc(s) = Kprlocus(p,q);
rlocfind(p,q) ;
rlocfind(p,q) ;
rlocfind(p,q) ;
gtext('过阻尼');gtext ('临界阻尼'); gtext('欠阻尼');
得到系统根轨迹图,在根轨迹图上选择点,即得到三个开环增益值Kp=2(过阻尼),Kp=7.0457(临界阻尼),Kp=22.5434(欠阻尼)。

绘制三种状态的阶跃响应曲线仿真程序:
kp=[1.3 4 4.4];
t=0:0.1:6;
hold on
for i=1:length(kp)
sys=tf([kp(i)],[1 8 12+kp(i)]);
subplot(2,2,i);step(sys,t)
end
hold off
grid on
gtext('Kp=2过阻尼');gtext('Kp=7临界阻尼');gtext('Kp=22.5欠阻尼'); hold on
2、比例积分(PI)控制:
1)被控对象两个极点的左侧;则必须满足Ki>6Kp,令Ki=10Kp。

仿真程序:
p=[1 14];
q=[1 10 16 0];
rlocus(p,q);
rlocfind(p,q) ;
rlocfind(p,q) ;
rlocfind(p,q) ;
gtext('过阻尼');gtext ('临界阻尼'); gtext('欠阻尼');
得到系统根轨迹图,在根轨迹图上选择点,即得到三个开环增益值Kp= 0.24444(过阻尼),Kp= 0.8051(临界阻尼),Kp= 31.9849(欠阻尼)。

绘制相应的阶跃响应曲线
仿真程序:
kp=[0.3 0.6 15.7];
t=0:0.1:20;
hold on
for i=1:length(kp)
sys=tf([kp(i) 10*kp(i)],[1 8 12+kp(i) 10*kp(i)]);
subplot(2,2,i);step(sys,t) ;
67 end
hold off
grid on
gtext('Kp=0.2过阻尼');gtext('Kp=0.8临界阻尼');gtext('Kp=31.9欠阻尼');
hold on
2)被控对象两个极点之间;则必须满足6Kp>Ki>2Kp,令Ki=4Kp. 仿真程序:
p=[1 14];
q=[1 10 16 0];
rlocus(p,q);
rlocfind(p,q) ;
rlocfind(p,q) ;
rlocfind(p,q) ;
gtext('过阻尼');gtext ('临界阻尼'); gtext('欠阻尼');
得到系统根轨迹图,在根轨迹图上选择点,即得到三个开环增益值Kp= 2.1186(过阻尼),Kp= 2.3626(临界阻尼),Kp= 70.7843(欠
阻尼)。

绘制相应的阶跃响应曲线
仿真程序:
kp=[1.3 1.7 85.0];
t=0:0.1:10;
hold on
for i=1:length(kp) ;
sys=tf([kp(i) 4*kp(i)],[1 8 12+kp(i) 4*kp(i)]);
subplot(2,2,i);step(sys,t) ;
end
hold off
grid on
gtext('Kp=2.1过阻尼');gtext('Kp=2.4临界阻尼');gtext('Kp=70.8欠阻尼');
hold on
3)被控对象两个极点的右侧(不进入右半平面);则必须满足2Kp>Ki>0,令Ki=Kp。

仿真程序:
p=[1 1];
q=[1 10 16 0];
rlocus(p,q);
rlocfind(p,q)
rlocfind(p,q)
rlocfind(p,q)
gtext('过阻尼');gtext ('临界阻尼'); gtext('欠阻尼');
得到系统根轨迹图,在根轨迹图上选择点,即得到三个开环增益值Kp= 4.5338(过阻尼),Kp= 10.8873(临界阻尼),Kp= 60.1969(欠阻尼)。

绘制相应的阶跃响应曲线
仿真程序:
kp=[3.3 5.4 47.5];
t=0:0.1:20;
hold on
for i=1:length(kp)
sys=tf([kp(i) kp(i)],[1 8 12+kp(i) kp(i)]);
subplot(2,2,i);step(sys,t)
end
hold off
grid on
gtext('Kp=4.5过阻尼');gtext('Kp=10.9临界阻尼');gtext('Kp=60.2欠阻尼');
hold on
3、比例微分(PD)控制:
1)被控对象两个极点的左侧;则必须满足Kd<Kp/6;令Kd=Kp/10 仿真程序:
p=[0.1 1];
q=[1 10 16];
rlocus(p,q);
rlocfind(p,q) ;
rlocfind(p,q) ;
rlocfind(p,q) ;
rlocfind(p,q) ;
得到系统根轨迹图,在根轨迹图上选择点,即得到三个开环增益值Kp= 1.4199,Kp= 1.9100,Kp= 20.2324,Kp= 25.2324。

绘制相应的阶跃响应曲线
仿真程序:
kp=[5.7 36.5 203.1 233.1];
t=0:0.1:5;
hold on
for i=1:length(kp) ;
sys=tf([0.1*kp(i) kp(i)],[1 8+0.1*kp(i)12+ kp(i)]);
subplot(2,2,i);step(sys,t) ;
end
hold off
grid on
gtext('Kp=1.4');gtext('Kp=1.9');gtext('Kp=20.2');gtext('Kp=25.3');
hold on
2)被控对象两个极点之间;则必须满足Kp/6<Kd<Kp/2,令Kd=Kp/5
仿真程序:
p=[0.2 1];
q=[1 8 12];70
rlocus(p,q);
rlocfind(p,q) ;
rlocfind(p,q) ;
rlocfind(p,q) ;
rlocfind(p,q) ;
得到系统根轨迹图,在根轨迹图上选择点,即得到三个开环增益值Kp= 6.1009,
Kp=13.2394,Kp= 20,Kp= 30。

绘制相应的阶跃响应曲线
仿真程序:
kp=[11.1 24.0 35.9 47.4];
t=0:0.1:5;
hold on
for i=1:length(kp)
sys=tf([0.2*kp(i) kp(i)],[1 8+0.2*kp(i)12+ kp(i)]);
subplot(2,2,i);step(sys,t) ;
end
hold off
grid on
gtext('Kp=6.1');gtext('Kp=13.3');gtext('Kp=20');gtext('Kp=30');
hold on
3)被控对象两个极点的右侧(不进入右半平面)。

则必须满足Kd>Kp/2,令Kd=Kp,
仿真程序:
p=[1 1];
q=[1 10 16];
rlocus(p,q);
rlocfind(p,q) ;
rlocfind(p,q) ;
rlocfind(p,q) ;
rlocfind(p,q) ;
得到系统根轨迹图,在根轨迹图上选择点,即得到三个开环增益值Kp= 1.0114,Kp= 11.1884,Kp= 20,Kp= 30 仿真程序:
kp=[1.1 4.0 7.5 11.2];
t=0:0.1:5;
hold on
for i=1:length(kp) ;
sys=tf([kp(i) kp(i)],[1 8+kp(i)12+ kp(i)]);
subplot(2,2,i);step(sys,t) ;
end
hold off
grid on
gtext('Kp=1.0');gtext('Kp=11.2');gtext('Kp=20');gtext('Kp=30');
hold on71
4.比例积分微分(PID)控制,Gc(s)=Kp+Ki/s+Kd*s,设计参数Kp、Ki、Kd 使得由控制
器引入的两个开环零点分别处于:
开环传递函数为:(s^2+Kp*s+Ki)/[s(s+2)(S+8)],为了简化运算令Kd=1,1)实轴上:一个开环零点在被控对象两个开环极点的左侧(s=-10) (100-10*K p+Ki=0 )Ki=10*Kp-100 此时的特征方程为:s(s+2)(S+8)+ (s^2+Kp*s+ 10*Kp-100)=0
仿真程序:
p=[1 10] ;
q=[1 0 -100] ;
rlocus(p,q) ;
rlocfind(p,q) ;
五、实验结果与分析
实轴上,固定一个开环零点在被控对象两个开环极点的左侧,使另一个开环零点在被控对象的两个极点的左侧、之间、右侧(不进入右半平面)移动。

我们得出:PID控制时,固定一个开环零点,使另一零点分别位于极点的左,中,右时,当另一个开环零点在控制极点的左端时,随着kd的增加,超调量减小,稳态时间减小:当另一个开环零点在控制极点的右边(不在坐标轴右边)边时,随着kd的增加,超调量减小,稳态时间减小;当另一个开环零点在控制极点的中间时,
时,随着kd的增加,超调量不变,稳态时间增加。

我们得出:PID控制时,假设新增零点在复平面上,假设新增零点在复平面上时,当实部固定不变时,随着虚部的增加,超调量增加,稳态时间增加。

相关文档
最新文档