本文主要内容:PID控制器,MATLAB/Simu link仿真模型的搭建、介绍以及各控制器性能的比较与分析。

一、本文中用到的Simulink模块

   1、 传递环数模块 (Transfer Fcn)

  1  

 2、 常数模块 (Constant)

  2  

 3、求和模块 (Sum)

  3  

 4、PID模块 (PID Controller)

  4  

5、显示模块 (Scope)

  5  

 6、MUX模块 (Mux)

  6  

7、噪声模块 (Band-Limited White Noise)

  7  

8、手控开关模块 (Manual Switch)

  8  

以上呢就是本文用到的simulink模块,()内的是该模块在simulink中的名字,我们在找该模块的时候,直接在simu link中的搜索就行了,如找Manual Switch模块:

  9  

二、Simulink仿真流程图的介绍

   1、完整的流程图

  10  

 上图就是我搭建的一个PID控制器仿真的Simulink流程图,(大家可以照着自己搭一下,不想搭的,流程图的Simu link文件我会放在附件里,大家自行下载),虽然上图看起来有点复杂,但是实际上很简单,下文会就各部分进行介绍。

   2、流程图简介

  11  

Simulink仿真流程图左边部分为,输入选择部分,中间为控制部分,自上而下依次为P控制器,PI控制器 ,PID控制器,右边为显示部分,供我们分析系统性能。

   3、输入部分

  12  

这一部分其实很简单,就是进行输入的选择,当手控开关(Manual Switch)(注:本文从此处开始提到的英文名字对应图中唯一模块,如此处Manual Switch就是指输入部分的手控开关,在输出部分也有6个手控开关,我会根据流程图的标注把他们分别记作Manual Switch1~Manual Switch6)打到上面的时候选择的出入信号是一个常量,此处举例为20,当手控开关打到下面的时候,选择的出入信号是常量+噪声干扰,此处还有显示模块(Scope4),用于查看噪声的波形,在simu link中双击Scope4可以进行噪声参数的设定,本例设定的为较小的噪声,本例中的波形参数和图像如下:

  13   14  

 4、控制部分

  15  

这一部分就是三个独立的控制系统,自上而下依次为 P控制系统 PI控制系统 PID控制系统,每个控制系统都将系统的误差和经过控制器后的输入引出到显示部分的显示模块,用于分析系统性能,本文随意取得传递函数如图所示,大家可以自主根据需要修改,各控制器参数设定如下(大家可以按照自己的需要修改,本文参数仅作示例):

   (1)PID Controlle,设定为纯P控制器

  16  

 (2)PID Controlle1,设定为PI控制器

  17  

(3)PID Controlle2,设定为PID控制器

  18  

 5、显示部分

  19  

 Scope显示的是P控制系统的偏差和经过P控制器处理后的输入,Scope1显示的是PI控制系统的偏差和经过PI控制器处理后的输入,Scope2显示的是PID控制系统的偏差和经过PID控制器处理后的输入,此处加了6个手控开关,即Manual Switch1~ Manual Switch6,当开关拨到上面时依次把 P系统偏差、PI系统偏差 、 PID系统偏差、P系统输入、PI系统输入 、 PID系统输入传递给Scope3进行显示,当某一个开关拨到下面时,即悬空状态,该信号不传输给Scope3,Scope3对该路信号显示为0,这样我们就可以灵活的对三个控制器的性能进行任意组合的比较分析。

三、借助流程图,对P、I、D控制器进行仿真及分析

   1、纯P控制器

   我们把Manual Switch拨到上面,即选择输入信号为常量,本例中为20,双击Scope查看波形如下(上面的图像显示的是系统偏差,下面图显示的是经过控制器后的输入,Scope~Scope3均如此,下文不再复述):

  20  

可以发现两者为比例关系,使用P控制器对系统进行控制,系统会存在稳态误差,即系统的误差不会为0

   对于纯P控制器,即只包含比例环节的控制器,可以按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,超调量增加甚,并且系统会存在稳态误差,若要消除稳态误差就要引入积分环节,也就是接下来介绍的PI控制器。

   2、PI控制器

   我们把Manual Switch拨到上面,即选择输入信号为常量,本例中为20,双击Scope1查看波形如下:

  21  

通过观察较上面的图像可以发现系统稳定后误差为0,也就是说引入的积分环节可以消除稳态误差。

   积分环节主要用于消除静差,提高系统的无差度(型别)。积分作用的强弱取决于积分常数,积分常数越大,积分作用越弱,反之越强。闭环系统的超调量越小,系统的响应速度变慢。

   3、纯P控制器与PI控制器控制器的比较

   我们把把Manual Switch拨到上面选择输入信号为常量20,我们把Manual Switch1、Manual Switch2、Manual Swit ch4、Manual Switch5拨到上面,把Manual Switch3、Manual Switch6拨到下面,双击Scope3,查看波形如下:

  22  

黄色的图像为P控制器的图像, 蓝色的图像为PI控制器的图像, 橙色的图像为PID控制器的图像(此处未输入,为0)

   通过比较我们发现,相比于P控制器,PI控制器可以消除稳态误差,同时我们也发现,PI控制器的震荡比P控制器要大,超调量也要大一些,通过观察横轴我们发现PI的响应速度要比P控制器慢一些。

   4、PD控制器(本文仿真未涉及)

   比例和微分作用结合,比单纯的比例作用更快。尤其是对容量滞后大的对象,可以减小动偏差的幅度,节省控制时间,显著改善控制质量。

   5、PID控制器

   我们把Manual Switch拨到上面,选择输入信号为20,双击Scope2查看波形如下:

  23   24  

我们发现PID控制器在没有噪声干扰时,控制效果是非常好的,既有比例作用的及时迅速,又有积分作用的消除余差能力,还有微分作用的超前控制功能。但是这是无噪声的理想情况,在实际工作条件下,肯定是有噪声的,接下来我们看一下,在噪声存在时,三种控制器的控制性能。

   6、在噪声存在时,三种控制器的控制性能比较

   我们把把Manual Switch拨到下面选择输入信号为常量+噪声,我们先来查看P、PI控制器的波形,我们把Manual Swit ch1、Manual Switch2、Manual Swit ch4、Manual Switch5拨到上面,把Manual Switch3、Manual Switch6拨到下面,双击Scope3,查看波形如下:

  25  

 引入噪声后,P和PI控制器的波形虽然有些波动,但是整体效果变化不大,接下来再把PID控制器的信号也接进Scope3, 即把Manual Switch3、Manual Switch6也拨到上面。

  26  

虽然PID控制器的误差波形变化不大,但是经过PID控制器控制的输入波形的波动变得非常大,这是因为微分环节具有放大高频噪声的缺点,即使是一个很小的噪声,但是如果它的频率比较高,也就是w的系数比较大,求导以后噪声扩大了w的系数倍,也就变得很大了。

四、进阶版流程图,基本上满足大多数的关于P、I、D的分析需求

  27   28  

本文到这也就结束了,大家可以利用此模型,自行进行其他分析。

   附:PI,PD,PID系统的适用范围(本部分内容来自网络)

   1、P调节器:快速响应 无法消除静差

   2、PI调节器:兼顾快速性 减小或消除静差(I调节器无调知节静差)

   3、PD调节器:调节偏差快速变化时使调解量在最短的时间内得到强化调节,有调节静差,适用于大滞后环节。

   4、PID调节器:兼顾PD调节器快速性,结合I调节器的无静差特点,达到道比较高的调节质量

我搭建了一些本文介绍内容的simulink模型,包含文章介绍的基础型和一些进阶的更加复杂,可以实现更多功能的模型都放在了附件里,需要者自取,附件链接:PID控制器simulink模型.zip