1、Simulink中PID模块的介绍
首先,找到PID模块,双击打开模块的参数设置,如下:
下面介绍几种常用功能的参数设置。
1.1、控制器类型选择
可以看到Controller:可以选择PI、PD和PID控制等。
1.2、PID控制器格式
Form:有并行(默认)和理想型(串行),其传函如下:
注意:传函中的P、I、D系数就是我们需要整定的三个PID参数。
1.3、时域选择
Time domain:连续时间和离散时间。
当选择离散时间时,需要设置积分器和微分器中的滤波器的离散化方法,有向前欧拉,后向欧拉,
双线性变换法,如下图:
可以看出,积分环节 ( 1 s ) (\frac{1}{s}) (s1)通过前向欧拉离散化方法变成了 T s 1 z − 1 T_{s}\frac{1}{z-1} Tsz−11。
1.4、PID的饱和输出限制
限制PID的输出,还有去饱和积分的方法,如,反算法、钳位法。如图所示:
当然我们也可以自己搭一个PID控制器。
2 、自建PID模块
下面搭建一个常用的离散型带输出饱和限制和积分饱和限制的PI控制器。如下:
从这个离散的PI控制模块中,可以看出积分环节是带有限幅输出的,当然还要对这个积分模块的限幅进行设置勾选,如图:
为什么我们需要对积分环节进行单独的限制输出。看个例子:
这个是带有积分饱和限制的PI控制器调节出来的系统响应。
这个是用simulink系统自带的PI控制器调节出来的系统响应,两个PI控制器的参数设置一样。但是带抗饱和积分的PI控制器调节出来的系统响应效果明显更好。
那么什么时候需要加积分环节限制输出呢?当系统在抗扰动时,需要一个大的Ki参数来快速消除稳态误差,而在开始从0到稳态这个过程又会因为ki太大而引起过大超调时,这个时候就需要加积分过饱和限制。