pid笔记

  • 格式:pdf
  • 大小:1.23 MB
  • 文档页数:10

一.基本控制
数字PID位置式和增量式
P控制:迅速反应误差,减小误差,不能完全消除误差(稳态误差)
I控制:有足够的时间就可以完全消除误差
D控制:使系统中抑制误差作用的变化提前
位置式获得的是绝对输出量,增量式获得的是相对输出量。

二.基本控制基础上的改进
1.位置算法中的积分饱和现象
根据位置式的计算公式能够看出积分项随着时间在不断的累加,在偏差较大的情况下,很容易达到控制量的饱和值,当出现积分饱和的现象后,执行的就不是计算值了。

因此要克服积分饱和的现象。

1)积分分离
误差大时不进行积分,当误差在一定的范围内时,进行积分运算
以上是对位置PID的积分分离的讨论。

对于增量PID控制器,其中消除了积分的累积,但是其具有一个特点Kp*(e(k)-e(k-1)),Ki*e(k),对于比例控制和积分控制,当控制量向目标量趋近时,比例控制和积分控制反向;当控制量趋向偏离目标量时,比例控制和积分控制同向,这样的好处在于当控制量接近目标量的时候,比例控制抑制积分控制(也就是抑制了积分控制的超调),但是当开始控制的时候,控制量与目标量相差很大,此时的控制量是趋向于目标量的,因此比例控制和积分控制反向,这就减缓了整个控制过程,为了加快控制过程,可以借助位置PID控制中的积分分离的部分思想,当e(k)在设定的范围内的时候,正常进行PID控制,当e(k)不在设定的范围内的时候,无论控制量是趋向目标量还是偏离目标量,比例控制和积分控制仍然同向,也就是说此时取|e(k)-e(k-1)|。

2)遇限削弱积分法
判断K-1次是否超出了设定的范围,如果超出,则只对正偏差或者负偏差进行积分控制。

3)有效偏差法
4)积分限幅法:
基本思想是当积分项输出到达积分幅值以后,停止积分控制,这是将上一个时刻的积分控制
送给当前的积分控制。

流程图
5)变速积分法 基本思想:就是在偏差大的时候让积分的作用小一点,偏差小的情况下让积分的作用大一点。

用)(n e 代替积分项中的)(n e
其中,A 为设定的偏差限制
2.增量PID 算法中的积分不灵敏区
从上面的式子可以看出来,只有当式子整体>1时才会有积分作用,当<1时,积分的作用为0,积分作用消失,这部分区域称为积分不灵敏区。

克服方法:增加转换的精度(例如增大AD的转换精度);
当积分项小于输出精度ε的时候,把这些小于的情况累加起来
流程图如下(ε如何确定)
3.增量算法中的饱和现象
从增量式中可以看出,消除了积分饱和的可能,但是可能造成比例和微分饱和的现象,可以采用积累补偿法抑制(将那些因为饱和而未能执行的控制信息累加起来,一旦有可能再补充执行)
二.PID参数的选择
1.理论计算
需要依靠数学模型
2.工程整定
临界比例:
(1) 选择采样周期使得系统工作
(2) 仅加入比例控制
(3) 从小到大直至系统出现震荡
(4) 记录比例和周期
(5) 通过公式计算积分参数和微分参数
反应曲线法:
衰减法:
试凑法:先比例,再积分,再微分
(1) 比例控制:从小到大,直至出现响应快,超调小(稳态误差尽量小)
(2) 积分控制:若稳态误差允许,则可以单纯使用P控制;若误差不允许,则可以加入积分控制来消除稳态误差;将比例控制中得到的系数Kp减小至50%——80%,选择一个相对较长的积分时间,逐步减小积分时间,增强积分控制,同时可以适当的调节比例系数,直到获得满意的响应。

(对于积分控制的系数Ki,简单的说可以首先选取较小的Ki值,然后逐步加大,其间适当调整Kp,直至出现的曲线满足要求) (3) 微分控制:通过PI控制能够消除稳态误差,可能会造成动态的滞后,此时可以加入微分控制。

先使得微分时间为0,然后逐步加大微分时间,同时可以适当的调整比例参数和积分时间,通过观察曲线看是否满足要求(对于微分控制的系数Kd,简单的说可以首先令Kd=0,然后逐步加大Kd,直到曲线满足要求)
实验经验法:
摘自一篇论文里面的具体实现方法:
3.采样周期的选择
考虑因素:
(1) 采样定理
(2) 闭环系统对给定信号的跟踪,要求采样周期短
(3) 从抑制扰动的要求来看,采样周期应该短
(4) 从执行元件的要求来看,有时要求输入控制信号要保持一定的宽度。

(5) 从计算机精度来看,不宜过短
综合考虑以上几点选择采样周期。

例如:对于直线电机的PID控制
1)假设PID控制器是在定时器中断中完成的,采样周期T的大小必须保证中断服务程序的正常运行(我理解为采样周期T的大小必须保证PID控制器能够完成一次控制),在不影响中断程序的情况下,可以取采样周期T=0.1τ(电机系统的纯滞后时间),当中断运行的时间Tz大于0.1τ的时候,令T=Tz.也就是下面的公式
2)初始确定PID控制器的参数:在获得的采样周期T的条件下,去掉积分控制和微分控制,仅留有比例控制,由小到大,直到电机发生等幅震荡,记录Kp和临界震荡周期Ts,然后根据以下可以初始PID控制器的参数
其中δs=1/Ks(Ks就是临界的比例系数,Ts不是特别明白,我理解是等幅震荡过程中需要记录一个周期)
采样周期也和Ts有关系
三.几种改进的PID算法
1.不完全微分PID算法
原因:PID控制中的微分控制能够有效的环节滞后的系统,但是同时又会对系统运行过程中的杂波的干扰特别的敏感,由于D控制中通常对于Kd的参数比较大,在遇到干扰时,有可能出现微分控制不足的现象(例如,阶跃函数,仅在第一次误差内有微分作用),为了克服这种现象,可以采用不完全微分的PID算法。

效果图如上图所示,a图是原始PID控制中,偏差e(k)属于阶跃函数,当采用不完全微分PID 控制的时候,如果b所示。

通过对比,可以看出,b图具呈现衰减,图a呈现突变。

具体原理:对微分控制加入了低通滤波。

(也可以对整个PID控制加入低通滤波)
为了编程方便,可以采用以下形式:
2.微分先行PID控制
原因:微分控制中是对偏差求后项差分,偏差是输出值和设定值的差,对于速度控制来说通常在不同的赛道类型中我们会设定不同的预期速度,如果预期速度的波动比较大,可能会给PID控制器带来震荡,影响系统的稳定性。

因此,可以在微分控制中只对输出值进行微分运算,对于给定的预期值不进行微分运算,这样的话,可以减少预期速度在不同的赛道类型中
的变化对PID控制器带来的影响。

传递函数如图
位置式如下:
增量式如下:
3.带死区的PID控制
原因:当PID控制器输出的值在设定的预期附近波动的时,由于是实际运行状态,PID控制器最终输出是在设定的预期值附近波动的,而不是稳定在预期值,这是较小的e(k)就会不断的出现,可能引起震荡。

为了克服这个问题,可以采用带死区的PID控制。

(当e(k)小于设定的阈值的时候,令e(k)=0;当e(k)大于设定的阈值的时候,正常进行运算)
4.对输入进行滤波的PID控制
这里所说的滤波是对PID控制中的微分控制进行滤波,不是直接使用当前的e(k)进行微分控
制,而是采用临近4次的偏差的平均值,然后进行加权求和的方式近似为微分项。

如下:。