自动控制原理PID控制特性的实验研究实验报告.docx
《自动控制原理PID控制特性的实验研究实验报告.docx》由会员分享,可在线阅读,更多相关《自动控制原理PID控制特性的实验研究实验报告.docx(60页珍藏版)》请在冰豆网上搜索。
自动控制原理PID控制特性的实验研究实验报告
自动控制原理-PID控制特性的实验研究——实验报告
2010-2011学年第1学期
院别:
控制工程学院
课程名称:
自动控制原理
实验名称:
PID控制特性的实验研究
实验教室:
6111
指导教师:
小组成员(姓名,学号):
实验日期:
2010年月日
评分:
一、实验目的
1、学习并掌握利用MATLAB编程平台进行控制系统复数域和时域仿真的方法;
2、通过仿真实验,学习并掌握应用根轨迹分析系统性能及根据系统性能选择系统参数的方法;
3、通过仿真实验研究,总结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)被控对象两个极点之间;
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平台编程完成。
三、实验方案设计(含实验参数选择、控制器选择、仿真程序等)
1、比例(P)控制,设计参数Kp使得系统处于过阻尼、临界阻尼、欠阻尼三种状态,并在根轨迹图上选择三种阻尼情况的Kp值,同时绘制对应的阶跃响应曲线,确定三种情况下系统性能指标随参数Kp的变化情况。
总结比例(P)控制的规律。
实验系统模型:
控制器结构应为:
Gc(s)=Kp
绘制根轨迹图,选择实验参数:
p=[1];q=[1812];sys=tf(p,q);
rlocus(sys);grid;rlocfind(sys)
(1)、过阻尼
实验参数选择:
序号
(组)
y1
y2
y3
y4
y5
y6
Kp
0.5
1
1.5
2
2.5
3
实验代码:
t=[0:
0.01:
3];
Kp1=0.5;Kp2=1;Kp3=1.5;Kp4=2;Kp5=2.5;Kp6=3;
num1=[Kp1];num2=[Kp2];num3=[Kp3];
num4=[Kp4];num5=[Kp5];num6=[Kp6];
den1=[1812+Kp1];den2=[1812+Kp2];den3=[1812+Kp3];
den4=[1812+Kp4];den5=[1812+Kp5];den6=[1812+Kp6];
[y1,x,t]=step(num1,den1,t);
[y2,x,t]=step(num2,den2,t);
[y3,x,t]=step(num3,den3,t);
[y4,x,t]=step(num4,den4,t);
[y5,x,t]=step(num5,den5,t);
[y6,x,t]=step(num6,den6,t);
plot(t,y1,t,y2,t,y3,t,y4,t,y5,t,y6);
legend('y1','y2','y3','y4','y5','y6');
xlabel('t');
ylabel('y(t)');
grid;
title('(Kp=0.5,1,1.5,2,2.5,3)')
系阶跃响应曲线:
系统性能指标随参数Kp的变化情况:
序号
(组)
y1
y2
y3
y4
y5
y6
Tr(s)
1.15
1.29
1.00
0.93
0.90
0.91
Tp(s)
无
无
无
无
无
无
Ts(s)
2.63
2.64
2.4
2.83
2.37
2.25
P.O.
无
无
无
无
无
无
ess
0.96
0.93
0.89
0.86
0.83
0.80
(2)、临界阻尼
实验参数选择:
序号
(组)
y
Kp
4
实验代码:
t=[0:
0.01:
10];
Kp=4;
num=[Kp];
den=[18Kp+12];
[y,x,t]=step(num,den,t);
plot(t,y);
legend('y');
xlabel('t');
ylabel('y(t)');
grid;
title('(Kp=4)')
系阶跃响应曲线:
系统性能指标:
Tr(s)
Tp(s)
Ts(s)
P.O.
ess
0.84
无
2.27
无
0.75
(3)、欠阻尼
实验参数选择:
序号
(组)
y1
y2
y3
y4
y5
y6
Kp
5
10
15
20
25
30
实验代码:
t=[0:
0.01:
3];
Kp1=5;Kp2=10;Kp3=15;Kp4=20;Kp5=25;Kp6=30;
num1=[Kp1];num2=[Kp2];num3=[Kp3];
num4=[Kp4];num5=[Kp5];num6=[Kp6];
den1=[1812+Kp1];den2=[1812+Kp2];den3=[1812+Kp3];
den4=[1812+Kp4];den5=[1812+Kp5];den6=[1812+Kp6];
[y1,x,t]=step(num1,den1,t);
[y2,x,t]=step(num2,den2,t);
[y3,x,t]=step(num3,den3,t);
[y4,x,t]=step(num4,den4,t);
[y5,x,t]=step(num5,den5,t);
[y6,x,t]=step(num6,den6,t);
plot(t,y1,t,y2,t,y3,t,y4,t,y5,t,y6);
legend('y1','y2','y3','y4','y5','y6');
xlabel('t');
ylabel('y(t)');
grid;
title('(Kp=5,10,15,20,25,30)')
系阶跃响应曲线:
系统性能指标随参数Kp的变化情况:
序号
(组)
y1
y2
y3
y4
y5
y6
Tr(s)
0.83
0.56
0.73
0.58
0.50
0.44
Tp(s)
无
无
0.87
0.74
0.67
0.60
Ts(s)
1.64
1.59
1.51
1.88
1.55
1.58
P.O.
无
无
3.6%
4.8%
7.5%
8.4%
ess
0.70
0.54
0.45
0.38
0.33
0.29
2、比例积分(PI)控制,设计参数Kp、KI使得由控制器引入的开环零点分别处于:
(1)被控对象两个极点的左侧;
(2)被控对象两个极点之间;
(3)被控对象两个极点的右侧(不进入右半平面)。
分别绘制三种情况下的根轨迹图,在根轨迹图上确定主导极点及控制器的相应参数;通过绘制对应的系统阶跃响应曲线,确定三种情况下系统性能指标随参数Kp和KI的变化情况。
总结比例积分(PI)控制的规律。
实验系统模型:
控制器结构应为:
(1)由控制器引入的开环零点分别处于被控对象两个极点的左侧;
绘制根轨迹图,选择实验参数:
Kp=1;Ki=10;p=[1Ki/Kp];q=[18120];sys=tf(p,q);
rlocus(sys);grid;rlocfind(sys)
实验参数选择:
y1
y2
y3
y4
y5
y6
Kp
0.3
0.4
0.55
1
5
10
Ki
3
4
5.5
10
50
100
实验代码:
t=[0:
0.01:
20];
Kp1=0.3;Kp2=0.4;Kp3=0.55;Kp4=1;Kp5=5;Kp6=10;
Ki1=3;Ki2=4;Ki3=5.5;Ki4=10;Ki5=50;Ki6=100;
num1=[Kp1Ki1];num2=[Kp2Ki2];num3=[Kp3Ki3];
num4=[Kp4Ki4];num5=[Kp5Ki5];num6=[Kp6Ki6];
den1=[1812+Kp1Ki1];den2=[1812+Kp2Ki2];den3=[1812+Kp3Ki3];
den4=[1812+Kp4Ki4];den5=[1812+Kp5Ki5];den6=[1812+Kp6Ki6];
[y1,x,t]=step(num1,den1,t);
[y2,x,t]=step(num2,den2,t);
[y3,x,t]=step(num3,den3,t);
[y4,x,t]=step(num4,den4,t);
[y5,x,t]=step(num5,den5,t);
[y6,x,t]=step(num6,den6,t);
plot(t,y1,t,y2,t,y3,t,y4,t,y5,t,y6);
legend('y1','y2','y3','y4','y5','y6');
xlabel('t');
ylabel('y(t)');
grid;
title('((Kp,Ki)=(0.3,3),(0.4,4),(0.55,5.5),(1,10),(5,10),(10,100))')
系阶跃响应曲线:
系统性能指标随参数Kp、Ki的变化情况:
序号
(组)
y1
y2
y3
y4
y5
y6
Tr(s)
7.52
5.34
3.59
2.82
0.75
0.49
Tp(s)
无
无
无
3.51
1.24
0.89
Ts(s)
16.80
13.71
9.45
6.46
9.68
11.13
P.O.
无
无
无
3.5%
40.8%
58.9%
ess
0
0
0
0
0
0
(2)、由控制器引入的开环零点分别处于被控对象两个极点之间:
绘制根轨迹图,选择实验参数:
Kp=1;Ki=4;p=[1Ki/Kp];q=[18120];sys=tf(p,q);
rlocus(sys);grid;rlocfind(sys)
实验参数选择:
y1
y2
y3
y4
y5
y6
Kp
0.6
1
1.67
3
5
10
Ki
2.4
4
6.68
12
20
40
实验代码:
t=[0:
0.01:
25];
Kp1=0.6;Kp2=1;Kp3=1.67;Kp4=3;Kp5=5;Kp6=10;
Ki1=2.4;Ki2=4;Ki3=6.68;Ki4=12;Ki5=20;Ki6=40;
num1=[Kp1Ki1];num2=[Kp2Ki2];num3=[Kp3Ki3];
num4=[Kp4Ki4];num5=[Kp5Ki5];num6=[Kp6Ki6];
den1=[1812+Kp1Ki1];den2=[1812+Kp2Ki2];den3=[1812+Kp3Ki3];
den4=[1812+Kp4Ki4];den5=[1812+Kp5Ki5];den6=[1812+Kp6Ki6];
[y1,x,t]=step(num1,den1,t);
[y2,x,t]=step(num2,den2,t);
[y3,x,t]=step(num3,den3,t);
[y4,x,t]=step(num4,den4,t);
[y5,x,t]=step(num5,den5,t);
[y6,x,t]=step(num6,den6,t);
plot(t,y1,t,y2,t,y3,t,y4,t,y5,t,y6);
legend('y1','y2','y3','y4','y5','y6');
xlabel('t');
ylabel('y(t)');
grid;
title('((Kp,Ki)=(0.6,2.4),(1,4),(1.67,6.68),(3,12),(5,20),(10,40))')
系阶跃响应曲线:
系统性能指标随参数Kp、Ki的变化情况:
序号
(组)
y1
y2
y3
y4
y5
y6
Tr(s)
10.09
5.73
3.11
2.58
1.44
0.80
Tp(s)
无
无
无
3.26
2.08
1.23
Ts(s)
24.22
17.97
8.89
5.66
5.52
5.57
P.O.
无
无
无
2.2%
8.2%
18.9%
ess
0
0
0
0
0
0
(3)、由控制器引入的开环零点分别处于被控对象两个极点的右侧(不进入右半平面):
绘制根轨迹图,选择实验参数:
Kp=1;Ki=1;p=[1Ki/Kp];q=[18120];sys=tf(p,q);
rlocus(sys);grid;rlocfind(sys)
实验参数选择:
y1
y2
y3
y4
y5
y6
Kp
4
5
5.37
10
50
100
Ki
4
5
5.37
10
50
100
实验代码:
t=[0:
0.01:
20];
Kp1=4;Kp2=5;Kp3=5.37;Kp4=10;Kp5=50;Kp6=100;
Ki1=4;Ki2=5;Ki3=5.37;Ki4=10;Ki5=50;Ki6=100;
num1=[Kp1Ki1];num2=[Kp2Ki2];num3=[Kp3Ki3];
num4=[Kp4Ki4];num5=[Kp5Ki5];num6=[Kp6Ki6];
den1=[1812+Kp1Ki1];den2=[1812+Kp2Ki2];den3=[1812+Kp3Ki3];
den4=[1812+Kp4Ki4];den5=[1812+Kp5Ki5];den6=[1812+Kp6Ki6];
[y1,x,t]=step(num1,den1,t);
[y2,x,t]=step(num2,den2,t);
[y3,x,t]=step(num3,den3,t);
[y4,x,t]=step(num4,den4,t);
[y5,x,t]=step(num5,den5,t);
[y6,x,t]=step(num6,den6,t);
plot(t,y1,t,y2,t,y3,t,y4,t,y5,t,y6);
legend('y1','y2','y3','y4','y5','y6');
xlabel('t');
ylabel('y(t)');
grid;
title('((Kp,Ki)=(4,4),(5,5),(5.37,5.37),(10,10),(50,50),(100,100))')
系阶跃响应曲线:
系统性能指标随参数Kp、Ki的变化情况:
序号
(组)
y1
y2
y3
y4
y5
y6
Tr(s)
7.02
5.66
5.28
2.92
0.36
0.21
Tp(s)
无
无
无
无
0.49
0.33
Ts(s)
18.24
17.32
16.52
11.78
6.16
4.47
P.O.
无
无
无
无
8.9%
26.1%
ess
0
0
0
0
0
0
3、比例微分(PD)控制,设计参数Kp、KD使得由控制器引入的开环零点分别处于:
(1)被控对象两个极点的左侧;
(2)被控对象两个极点之间;
(3)被控对象两个极点的右侧(不进入右半平面)。
分别绘制三种情况下的根轨迹图,在根轨迹图上确定主导极点及控制器的相应参数;通过绘制
对应的系统阶跃响应曲线,确定三种情况下系统性能指标随参数Kp和KD的变化情况。
总结比例积分(PD)控制的规律。
实验系统模型:
控制器结构应为:
Gc(s)=Kp+Kd*s=Kd(s+Kp/Kd)
(1)由控制器引入的开环零点分别处于被控对象两个极点的左侧;
绘制根轨迹图,选择实验参数:
Kp=10;Kd=1;p=[1Kp/Kd];q=[1812];sys=tf(p,q);
rlocus(sys);grid;rlocfind(sys)
实验参数选择:
y1
y2
y3
y4
y5
y6
Kp
2
4
6.8
10
50
100
Kd
0.2
0.4
0.68
1
5
10
实验代码:
t=[0:
0.01:
2];
Kp1=2;Kp2=4;Kp3=6.8;Kp4=10;Kp5=50;Kp6=100;
Kd1=0.2;Kd2=0.4;Kd3=0.68;Kd4=1;Kd5=5;Kd6=10;
num1=[Kd1Kp1];num2=[Kd2Kp2];num3=[Kd3Kp3];
num4=[Kd4Kp4];num5=[Kd5Kp5];num6=[Kd6Kp6];
den1=[1Kd1+812+Kp1];den2=[1Kd2+812+Kp2];den3=[1Kd3+812+Kp3];
den4=[1Kd4+812+Kp4];den5=[1Kd5+812+Kp5];den6=[1Kd6+812+Kp6];
[y1,x,t]=step(num1,den1,t);
[y2,x,t]=step(num2,den2,t);
[y3,x,t]=step(num3,den3,t);
[y4,x,t]=step(num4,den4,t);
[y5,x,t]=step(num5,den5,t);
[y6,x,t]=step(num6,den6,t);
plot(t,y1,t,y2,t,y3,t,y4,t,y5,t,y6);
legend('y1','y2','y3','y4','y5','y6');
xlabel('t');
ylabel('y(t)');
grid;
title('((Kp,Kd)=(2,0.2),(4,0.4),(6.8,0.68),(10,1),(50,5),(100,10))')
系阶跃响应曲线:
系统性能指标随参数Kp、Kd的变化情况:
序号
(组)
y1
y2
y3
y4
y5
y6
Tr(s)
0.92
0.80
0.72
0.60
0.37
0.21
Tp(s)
无
无
无
无
0.50
0.30
Ts(s)
1.78
1.91
1.56
1.38
1.00
0.73
P.O.
无
无
无
无
1.2%
3.4%
ess
0.86
0.75
0.64
0.55
0.20
0.11
(2)由控制器引入的开环零点分别处于被控对象两个极点之间;
绘制根轨迹图,选择实验参数:
Kp=4;Kd=1;p=[1Kp/Kd];q=[1812];sys=tf(p,q);
rlocus(sys);grid;rlocfind(sys)
实验参数选择:
y1
y2
y3
y4
y5
y6
Kp
4
12
20
28
36
44
Kd
1
3
5
7
9
11
实验代码:
t=[0:
0.01:
2];
Kp1=4;Kp2=12;Kp3=20;Kp4=28;Kp5=36;Kp6=44;
Kd1=1;Kd2=3;Kd3=5;Kd4=7;Kd5=9;Kd6=11;
num1=[Kd1Kp1];num2=[Kd2Kp2];num3=[Kd3Kp3];
num4=[Kd4Kp4];num5=[Kd5Kp5];num6=[Kd6Kp6];
den1=[1Kd1+812+Kp1];den2=[1Kd2+812+Kp2];den3=[1Kd3+812+Kp3];
den4=[1Kd4+812+Kp4];den5=[1Kd5+812+Kp5];den6=[1Kd6+812+Kp6];
[y1,x,t]=step(num1,den1,t)