基于MATLAB的PID控制器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB的PID 控制器设计
基于MATLAB的PID 控制器设计
一、PID控制简介
PID控制是最早发展起来的经典控制策略, 是用于过程控制最有效的策略之一。由于其原理简单、技术成,在实际应用中较易于整定, 在工业控制中得到了广泛的应用。它最大的优点是不需了解被控对象精确的数学模型,只需在线根据系统误差及误差的变化率等简单参数, 经过经验进行调节器参数在线整定, 即可取得满意的结果, 具有很大的适应性和灵活性。
积分作用:可以减少稳态误差, 但另一方面也容易导致积分饱和, 使系统的超调量增大。
微分作用:可提高系统的响应速度, 但其对高频干扰特别敏感, 甚至会导致系统失稳。
所以, 正确计算控制器的参数, 有效合理地实现PID控制器的设计,对于PID 控制器在过程控制中的广泛应用具有重要的理论和现实意义。
在PID控制系统中, PID控制器分别对误差信号e(t)进行比例、积分与微分运算, 其结果的加权和构成系统的控制信号u(t),送给对象模型加以控制。PID控制器的数学描述为
其传递函数可表示为:
从根本上讲, 设计PID控制器也就是确定其比例系数Kp、积分系数T i 和微分系数T d , 这三个系数取值的不同, 决定了比例、积分和微分作用的强弱。控制系统的整定就是在控制系统的结构已经确定、控制仪表和控制对象等处在正常状态的情况下, 适当选择控制器参数使控制仪表的特性和控制对象的特性相配合, 从而使控制系统的运行达到最佳状态, 取得最好的控制效果。
二、MATLAB的Ziegler-Nichols算法PID控制器设计。
1、PID控制器的Ziegler-Nichols参数整定
在实际的过程控制系统中, 有大量的对象模型可以近似地由一阶模型
来表示。这个对象模型可以表示为
sL
-
e
sT
1
K
G(s)
+
=
如果不能建立起系统的物理模型, 可通过试验测取对象模型的阶跃响应, 从而得到模型参数。当然, 我们也可在已知对象模型的情况下, 利用MATLAB,通过使用step ( ) 函数得到对象模型的开环阶跃响应曲线。在被控对象的阶跃响应中, 可获取K 、L 和T参数, 也可在MATLAB中由dcgain ( ) 函数求取K值。
2.在MATLAB下实现PID 控制器的设计与仿真
已知被控对象的K、L 和T 值后, 我们可以根据Ziegler —Nichols整定公式编写一个MATLAB函数ziegler_std ( )用以设计PID控制器。该函数程序如下:
function [num,den,Kp,Ti,Td,H]=Ziegler_std (key,vars)
Ti=[ ];Td=[ ];H=[ ];
K=vars(1) ;
L=vars(2) ;
T=vars (3);
a=K*L/T;
if key==1
num=1/a; %判断设计P 控制器
elseif key==2
Kp=0.9/a;Ti=3.33*L; %判断设计PI 控制器
elseif key==3,
Kp=1.2/a;Ti=2*L;Td=L/2; %判断设计PID控制器end
switch key
case 1
num=Kp;den=1; % P 控制器 case 2
num=Kp*[Ti,1];den=[Ti,0]; % PI 控制器 case 3 % PID 控制器 p0=[Ti*Td,0,0];
p1=[0,Ti,1];p2=[0,0,1]; p3=p0+p1+p2; p4=Kp*p3; num=p4/Ti; den=[1,0]; end
由图可知L 和T 令T
KL
=
α。在求得L 和α参数的情况下, 我们可通过表1中给出的Ziegler — Nichols 经验公式确定 P 、PI 和PID 控制器的参数。
三、对某传递函数3
)1s (1G(s)+=
的控制
未加控制器的仿真: Simulink 下的系统图
仿真输出图形如下:
第一次测量
T=3.28 L=1.38 K=1 T KL
=α=0.42
P 控制
Kp=α
1
=
=2.38
Simulink 下的系统图
仿真输出图形如下:
峰值时间tp=4.15s,峰值为0.9518 上升时间td=2.953s 调节时间ts=14.4s
PI 控制
Kp=α
0.9
=
=2.14 Ti=3.33L=4.60
Simulink 下的系统图:
仿真后的输出曲线为:
峰值时间tp=4.48s,峰值1.019s 上升时间td=3.783s
调节时间ts=25.486s
PID控制
Kp=α
1.2
==2.85 Ti=2L=2.76 Td=
2
L
==0.69 Simulink下的系统图
仿真后的输出曲线为:
峰值时间tp=4.028s 峰值1.077 上升时间td=3.565s 调节时间ts=28.50s
第二次测量
T=3.51 L=1.23 k=1 T
KL
=α=0.35
P 控制,
Kp=
α
1
=2.86 Simulink 下的系统图: