资源描述
学 号:
课 程 设 计
题 目
P、PI和PID控制器性能分析
学 院
自动化学院
专 业
自动化专业
班 级
姓 名
指导教师
2012
年
12
月
23
日
课程设计任务书
学生姓名: 专业班级:
指导教师: 工作单位:
题 目: P、PI和PID控制器性能分析
初始条件:
一二阶系统结构如图所示,其中系统对象模型为 , 控制器传递函数为(比例P控制),(比例积分PI控制),(比例积分微分PID控制),令,,,Di(s)为上述三种控制律之一。
R
Y
e
+
-
+
W
-
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
(1) 分析系统分别在P、PI、PID控制器作用下的,由参考输入决定的系统类型及误差常数;
(2) 根据(1)中的条件求系统分别在P、PI、PID控制器作用下的、由扰动w(t)决定的系统类型与误差常数;
(3) 分析该系统的跟踪性能和扰动性能;
(4) 在Matlab中画出(1)和(2)中的系统响应,并以此证明(3)结论;
(5) 对上述任务写出完整的课程设计说明书,说明书中必须写清楚计算分析的过程,其中应包括Matlab源程序或Simulink仿真模型,并注释。说明书的格式按照教务处标准书写。
时间安排:
任务
时间(天)
指导老师下达任务书,审题、查阅相关资料
2
分析、计算
2
编写程序
1
撰写报告
2
论文答辩
1
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
目录
摘要 1
1参考输入决定的系统类型及误差常数 2
1.1系统类型 2
1.2误差常数 3
1.2.1阶跃信号输入 3
1.2.2速度信号输入 3
1.2.3加速度信号输入 4
2 扰动w(t)决定的系统类型与误差常数 8
2.1系统类型 9
2.2误差常数 9
3系统的跟踪性能和扰动性能 12
3.1跟踪性能 12
3.2扰动性能 12
4用Matlab画图求响应 13
4.1由输入决定的系统响应 13
4.2扰动决定的系统响应 21
总结 31
参考文献 32
武汉理工大学《自动控制原理》课程设计说明书
摘要
比例(P)控制器:是仅具有比例控制作用的控制器。其控制规律是在一定界限内控制器作用的变化量与输入偏差成比例,对偏差反应快。
比例积分(PI)控制:在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统可以使系统在进入稳态后无稳态误差。
比例积分微分(PID)控制:最为理想的控制当属比例-积分-微分控制规律。它集三者之长:既有比例作用的及时迅速,又有积分作用的消除余差能力,还有微分作用的超前控制功能。
本文分别叙述了在系统输入和扰动输入作用下的传递函数,通过传递函数反映系统类型和系统的稳态误差。通常,在参考输入作用下的误差系数用静态误差系数计算,扰动输入作用下的误差系数用动态系数计算。本次课程设计也充分利用了MATLAB的强大功能,分别对系统的跟踪性能和扰动性能进行了曲线描述。
另外,系统的跟踪性能和扰动性能也可以通过曲线作图来证明。本文通过MATLAB作出了各种输入作用及扰动作用在不同控制器下的信号响应曲线图,并比较各种情况下的信号响应曲线从而更加直观的判断在不同控制器下的系统性能。
关键字:比例 微分 积分 MATLAB 扰动 跟踪
P、PI和PID控制器性能比较
1参考输入决定的系统类型及误差常数
如图1所示,当参考输入决定系统类型及误差常数时,Ws=0。
R
Y
e
+
-
+
W
-
图1 二阶系统方框图
由系统方框图可以知道,此二阶系统的误差信号:Es=Rs-Y(s)
(1-1)
误差传递函数:
Φes=EsRs =11+D(s)G(s)
1.1系统类型
(1) 比例(P)控制器
(1-2)
当传递函数D1=KP=19 时,系统的开环传递函数为:
D1 sGs=19s+15s+1
故此系统类型为0型系统。
(2)比例积分(PI)控制器
(1-3)
当传递函数 D2s=KP+K1s=19+0.5s 时,系统的开环传递函数为:
D2sGs=19s+0.5ss+15s+1
故此系统类型为1型系统。
(3)比例积分微分(PID)控制器
(1-4)
当传递函数D3s=KP+KIs+KDs=19+0.5s+419 s 时,系统的开环传递函数为:
D3sGs=4s2+361s+9.519ss+1(5s+1)
故此系统类型为1型系统。
1.2误差常数
下面讨论阶跃信号、速度信号和加速度信号三种常见的输入信号函数的稳态误差计算。
1.2.1阶跃信号输入
(1-5)
Es=11+DsG(s)Rs
(1-6)
所以
ess∞=lims→0sEs=lims→0R1+DsGs=R1+lims→0DsGs=R1+KP
其中
KP=lims→0DsG(s)
(1-7)
对0型系统
KP=lims→0K1+T1s(1+T2s)⋯1+Tas(1+Tbs)⋯=K
ess∞=R1+KP
对1型或高于1型的系统(1-8)
KP=lims→OK1+T1s(1+T2s)⋯sv1+Tas(1+Tbs)⋯=∞ v≫1
(1-9)
ess∞=R1+KP=0
1.2.2速度信号输入
(1-10)
ES=11+DsG(s)Rs2
(1-11)
所以
ess∞=lims→0sEs=lims→0Rs+sDsGs=Rlims→0sDsG(s)=KKV
其中
KV=lims→0sDsG(s)
(1-12)
(1-13)
对0型系统
KV=limS→0sK1+T1s(1+T2s)⋯1+Tas(1+Tbs)⋯=0
(1-14)
ess∞=RKV=∞
(1-15)
对1型系统
KV=lims→OsK1+T1s(1+T2s)⋯s1+Tas(1+Tbs)⋯=K
(1-16)
ess∞=RKV=RK
(1-17)
对2型或高于2型的系统
KV=lims→OsK1+T1s(1+T2s)⋯sN1+Tas(1+Tbs)⋯=∞ (N≫2)
(1-18)
ess∞=RKV=0
1.2.3加速度信号输入
(1-19)
Es=11+DsG(s)Rs3
(1-20)
所以
ess∞=lims→0sEs=lims→0Rs2+s2DsGs=Rlims→0s2DsG(s)=RKa
(1-21)
其中
Ka=lims→0s2DsG(s)
(1-22)
对0型系统
Ka=lims→0s2K1+T1s(1+T2s)⋯1+Tas(1+Tbs)⋯=0
(1-23)
ess∞=RKa=∞
对1型系统
Ka=lims→0s2K1+T1s(1+T2s)⋯s1+Tas(1+Tbs)⋯=0
(1-25)
(1-24)
ess∞=RKa=∞
(1-26)
对2型系统
Ka=lims→0s2K1+T1s(1+T2s)⋯s21+Tas(1+Tbs)⋯=K
(1-27)
ess∞=RKa=RK
(1-29)
(1-28)
对3型或高于3型的系统
Ka=lims→0s2K1+T1s(1+T2s)⋯sN1+Tas(1+Tbs)⋯=∞ (N≫3)ess∞=RKa=0
综上所述:(1)当控制器传递函数时,系统闭环特征方程
(1-30)
该系统劳斯表为:
s2 5 20
s1 6
s0 20
根据劳斯判据第一列全为正,所以此系统稳定。
因为系统是0型系统,开环增益K=19,因此,系统的稳态误差为:
ess∞= 11+KP=R20 , 阶跃输入rt=R×1t∞,速度输 入rt=Rt ∞,加速度输入rt=Rt22
(1-31)
(2)当控制器传递函数D2s=kP+kIs=19+12s(比例积分PI控制)时,系统特征方程为:
DS=10s3+12s2+40s+1=0
该系统劳斯表为:
s3 10 40
s2 12 1
s1 236
s0 1
根据劳斯判据第一列全为正,所以此系统稳定。
因为系统是1型系统,系统开环增益K=12,所以系统稳态误差为:
ess(∞)= 0, 阶跃输入 rt=R*1(t) RK=2R, 速度输入 rt=Rt ∞, 加速度输入 rt=Rt22
(3)当控制器传递函数为D3s=kP+kIs+kDs=19+12s+4s19(比例积分微分PID控制)时,系统特征方程为:
(1-32)
DS=190s3+236s2+60s+19=0
该系统劳斯表为:
s3 190 760
s2 236 19
s1 87875118
s0 19
根据劳斯判据第一列全为正,所以此系统稳定。
因为系统为1型系统,系统开环增益K=12,所以系统稳态误差为:
ess(∞)= 0, 阶跃输入 rt=R*1(t)RK=2R, 速度输入 rt=Rt ∞, 加速度输入 rt=Rt22
综合上述可得到下表。
表1 输入信号作用下的稳态误差
控制器
系统型别
阶跃输入r(t)=R*1(t)
斜坡输入r(t)=Rt
加速度输入
r(t)=Rt22
P
0
R20
∞
∞
PI
I
0
2R
∞
PID
I
0
2R
∞
2 扰动w(t)决定的系统类型与误差常数
由于输入信号和扰动信号作用于系统的不同位置,因此即使系统对于某种形式 输入信号作用的稳态误差为零,但对于同一形式的扰动作用,其稳态误差未必为零。控制系统如图1所示,其中代表扰动信号的拉式变换式。由于在扰动信号作用下系统的理想输出应为零,故该系统响应扰动的输出端误差信号为:
(2-1)
设满足终值定理条件,则
(2-2)
当扰动为阶跃信号时,
当扰动信号为速度信号时,
当扰动信号为加速度信号时,
由于误差传递函数所含的零点数,等价于系统扰动作用点前向通道串联积分环节与主反馈通道串联积分环节之和,故对于响应扰动作用的系统有下列结论:
(1) 扰动作用点之前的前向通道积分环节数与主反馈通道积分环节数之和决定系统响应扰动作用的型别,该型别与扰动作用点之后前向通道的积分环节数无关。
(2) 如果在扰动作用点之前的前向通道或主反馈通道中设置个积分环节,必可消除系统在扰动信号作用下的稳态误差。
2.1系统类型
因为扰动作用点之前的向前通道积分环节数与主反馈通道积分环节数之和决定系统相应扰动作用的型别,该型别与扰动作用点之后向前通道的积分环节数无关,所以
(1)当控制器传递函数为D1s=kP=19(比例P控制)时,系统扰动作用点前的向前通道所含的积分环节数为0,系统主反馈通道所含的积分环节数为0,所以此系统为相应扰动信号的0型系统。
(2)当控制器传递函数D2s=kP+kIs=19+12s(比例积分PI控制)时,系统扰动作用点前的向前通道所含的积分环节数为1,系统主反馈通道所含的积分环节数为0,所以此系统为相应扰动信号的I型系统。
(3)当控制器传递函数为D3s=kP+kIs+kDs=19+12s+4s19(比例积分微分PID控制)时,系统扰动作用点前的向前通道所含的积分环节数为1,系统主反馈通道所含的积分环节数为0,所以此系统为相应扰动信号的I型系统
2.2误差常数
由于输入信号和扰动信号作用于系统的不同位置,因此即使系统对于某种形式输入信号的稳态误差为零,但对于同一形式的扰动作用,其稳态误差未必为零。控制系统如图1所示 ,由于在扰动信号W(s)作用下系统理想输出应为零,故该反馈系统扰动w(t)的输出端误差信号为
(2-3)
Ens=-Yns=GsW(s)1+DsG(s)
下面考虑扰动输入分别在阶跃扰动转矩、斜坡扰动转矩和加速度扰动转矩作用下的稳态误差。
(1)当控制器传递函数为D1s=kP=19(比例P控制)时,sEns在s右半平面及虚轴上解析。其中
Ens=W(s)s+15s+1+19
(2-4)
所以系统稳态误差为:
ess(∞)=lims→0sEn(s)=n020,Ws=n0s∞,Ws=n1s2∞,Ws=n2s3
(2)当控制器传递函数D2s=kP+kIs=19+12s(比例积分PI控制)时,sEns在s右半平面及虚轴上解析。其中
(2-5)
Ens=sW(s)ss+15s+1+19s+0.5
所以系统稳态误差为:
ess(∞)=lims→0sEn(s)=0,Ws=n0s2n1,Ws=n1s2∞,Ws=n2s3
(3)当控制器传递函数为D3s=kP+kIs+kDs=19+12s+4s19(比例积分微分PID控制)时sEns在s右半平面及虚轴上解析。其中
(2-6)
Ens=sW(s)ss+15s+1+19s+0.5+4s219
所以系统稳态误差为:
ess(∞)=lims→0sEn(s)=0,Ws=n0s2n1,Ws=n1s2∞,Ws=n2s3
综上所述得下表。
表2不同控制器和输入下的稳态误差和型别
控制器
阶跃输入W(s)=n0s
斜坡输入W(s)=n1s2
加速度输入W(s)=n2s3
系统型别
P
n020
∞
∞
0
PI
0
2n1
∞
1
PID
0
2n1
∞
1
3系统的跟踪性能和扰动性能
3.1跟踪性能
(1)、在P控制器作用下能够跟踪阶跃输入,但存在一个稳态位置误差R/20,不能跟踪斜坡输入与加速度输入。
(2)、在PI控制器作用下系统能很好的跟踪阶跃输入,跟踪斜坡输入存在稳态位置误差2R,不能跟踪加速度输入。
(3)、在PID控制器作用下系统能很好的跟踪阶跃输入,跟踪斜坡输入存在稳态位置误差2R,不能跟踪加速度输入。
3.2扰动性能
(1)、在P控制器作用下系统对阶跃扰动的抵抗性比较好但存在一个扰动误差n019,对斜坡和加速度扰动抵抗能力很差。
(2)、在PI控制器作用下系统对阶跃和斜坡扰动抵抗力较强,但对加速度扰动抵抗力很差。
(3)、在PID控制器作用下系统对阶跃和斜坡扰动抵抗力较强,但对加速度扰动抵抗力很差。
4用Matlab画图求响应
4.1由输入决定的系统响应
(4-1)
(1) 当控制器传递函数时,系统的开环传递函数为:
D1 sGs=19s+15s+1
(4-2)
系统的闭环传递函数为:
Φ(s)=19s+15s+1
单位阶跃响应的Matlab程序命令如下:
num=[19]; %分子多项式
den=[5,6,20]; %分母多项式
t=[0:0.1:10]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图2所示。
图2 单位阶跃相应
单位斜坡响应的Matlab程序命令如下:
num=[19]; %分子多项式
den=[5,6,20,0]; %分母多项式
t=[0:0.1:10]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %绘制横坐标
ylabel('y'); %绘制纵坐标
系统响应曲线图如图3所示。
图3单位斜坡响应
单位加速度响应的Matlab程序命令如下:
num=[19]; %分子多项式
den=[5,6,20,0,0]; %分母多项式
t=[0:0.1:10]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %绘制横坐标
ylabel('y'); %绘制纵坐标
系统响应曲线图如图4所示。
图4单位加速度响应
(4-3)
(2)当控制器传递函数D2s=kP+kIs=19+12s(比例积分PI控制)时,系统闭环传递函数为:
ϕs=38s+110s3+12s240s+1
单位阶跃响应的Matlab程序命令如下:
num=[38,1]; %分子多项式
den=[10,12,40,1]; %分母多项式
t=[0:0.1:10]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图5所示。
图5单位阶跃响应
单位斜坡响应的Matlab程序命令如下:
num=[38,1]; %分子多项式
den=[10,12,40,1,0]; %分母多项式
t=[0:0.1:10]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图6所示。
图6单位斜坡响应
单位加速度响应的Matlab程序命令如下:
num=[38,1]; %分子多项式
den=[10,12,40,1,0,0]; %分母多项式
t=[0:0.1:10]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图7所示。
图7单位加速度响应
(4-4)
(3)当控制器传递函数为D3s=kP+kIs+kDs=19+12s+4s19(比例积分微分PID控制)时,系统闭环传递函数为:
ϕs=8s2+722s+19190s3+236s2+760s+19
单位阶跃响应的Matlab程序命令如下:
num=[8,342,19]; %分子多项式
den=[190,236,760,19]; %分母多项式
t=[0:0.1:10]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图8所示。
图8单位阶跃响应
单位斜坡响应的Matlab程序命令如下:
num=[8,342,19]; %分子多项式
den=[190,236,760,19,0]; %分母多项式
t=[0:0.1:10]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图9所示。
图9单位斜坡响应
单位加速度响应的Matlab程序命令如下:
num=[8,342,19]; %分子多项式
den=[190,236,760,19,0,0]; %分母多项式
t=[0:0.1:10]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图10所示。
图10单位加速度响应
综上分析:对于比例控制系统、比例积分控制系统不能跟踪斜坡输入,对于比例积分微分控制系统能够跟踪斜坡输入;对于比例、比例积分、比例积分微分控制系统都不能跟踪加速度输入。
4.2扰动决定的系统响应
(4-5)
(1)当控制器传递函数为D1s=kP=19(比例P控制)时,扰动系统闭环传递函数为:
ϕs=-G(s)1+GsD(s)=-15s2+6s+20
单位阶跃响应的Matlab程序命令如下:
num=[-1]; %分子多项式
den=[5,6,20]; %分母多项式
t=[0:0.1:10]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图11所示。
图11单位阶跃响应
单位斜坡响应的Matlab程序命令如下:
num=[-1]; %分子多项式
den=[5,6,20,0]; %分母多项式
t=[0:0.1:10]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图12所示。
图12单位斜坡响应
单位加速度响应的Matlab程序命令如下:
num=[-1]; %分子多项式
den=[5,6,20,0,0]; %分母多项式
t=[0:0.1:10]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图13所示。
图13单位加速度响应
(4-6)
(2)当控制器传递函数D2s=kP+kIs=19+12s(比例积分PI控制)时,扰动系统闭环传递函数为:
ϕs=-2s10s3+12s2+40s+1
单位阶跃响应的Matlab程序命令如下:
num=[-2,0]; %分子多项式
den=[10,12,40,1]; %分母多项式
t=[0:0.1:20]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图14所示。
图14单位阶跃响应
单位斜坡响应的Matlab程序命令如下:
num=[-2,0]; %分子多项式
den=[10,12,40,1,0]; %分母多项式
t=[0:0.1:20]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图15所示。
图15单位斜坡响应
单位加速度响应的Matlab程序命令如下:
num=[-2,0]; %分子多项式
den=[10,12,40,1,0,0]; %分母多项式
t=[0:0.1:20]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图16所示。
图16单位加速度响应
(4-7)
(3)当控制器传递函数为D3s=kP+kIs+kDs=19+12s+4s19(比例积分微分PID控制)时,扰动系统闭环传递函数为:
ϕs=-38s190s3+236s2+760s+19
单位阶跃响应的Matlab程序命令如下:
num=[-38,0]; %分子多项式
den=[190,236,760,19]; %分母多项式
t=[0:0.1:20]; %时间矢量
[y,x,t]=step(num,den,t); %阶跃响应
plot(t,y); %绘制曲线
grid; %绘制网格
xlabel('t'); %设置横坐标
ylabel('y'); %设置纵坐标
系统响应曲线图如图17所示。
图17单位阶跃响应
单位斜坡响应的Matlab程序命令如下:
num=[-38,0]; %分子多项式
den=[190,236,760,19,0]; %分母多项式
t=[0:0.
展开阅读全文