基于MATLAB的PID 控制器设计

2019-04-14 16:00

基于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参数整定

在实际的过程控制系统中, 有大量的对象模型可以近似地由一阶模型来表示。这个对象模型可以表示为G(s)?K1?sTe-sL

如果不能建立起系统的物理模型, 可通过试验测取对象模型的阶跃响应, 从而得到模型参数。当然, 我们也可在已知对象模型的情况下, 利用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 令??KLT。在求得L 和α参数的情况下, 我们可通过表1中给出的Ziegler

— Nichols经验公式确定 P、PI 和PID控制器的参数。

三、对某传递函数G(s)?1(s?1)3的控制

未加控制器的仿真: Simulink下的系统图

仿真输出图形如下:

第一次测量

T=3.28 L=1.38 K=1

??KLT=0.42


基于MATLAB的PID 控制器设计.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:UHMWPE板材成型

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: