PID控制流程图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-njXxVwe0-1574045177029)(http://oe463wxh8.bkt.clouddn.com/pid%E6%8E%A7%E5%88%B6%E6%B5%81%E7%A8%8B%E5%9B%BE.jpg)]
其中:
S
v
\left.S\right._{v}
Sv:用户设定的值(目标值)
P
v
\left.P\right._{v}
Pv:控制对象的当前的状态值。
PID算法的形成:
系统开机以来传感器所有的采样点的数据序列:
分析采样的数据序列,可以挖掘出三方面的信息:
-
E k \left.E\right._{k} Ek = S v \left.S\right._{v} Sv- X k \left.X\right._{k} Xk,其中 S v \left.S\right._{v} Sv为目标值, X k \left.X\right._{k} Xk为传感器的当前的返回值, E k \left.E\right._{k} Ek反应的是传感器与设置的目标值的偏差:
E k \left.E\right._{k} Ek >0,当前的控制未达标;
E k \left.E\right._{k} Ek =0,正好达标;
E k \left.E\right._{k} Ek<0,当前已经超标。
比例控制公式:
P o u t \left.P\right._{out} Pout = K p \left.K\right._{p} Kp* E k \left.E\right._{k} Ek+ O u t 0 \left.Out\right._{0} Out0 -
偏差序列的历史偏差序列:
E 1 \left.E\right._{1} E1, E 2 \left.E\right._{2} E2, E 3 \left.E\right._{3} E3… E k − 2 \left.E\right._{k-2} Ek−2, E k − 1 \left.E\right._{k-1} Ek−1, E k \left.E\right._{k} Ek
S k \left.S\right._{k} Sk = E 1 \left.E\right._{1} E1+ E 2 \left.E\right._{2} E2+ E 3 \left.E\right._{3} E3…+ E k − 2 \left.E\right._{k-2} Ek−2+ E k − 1 \left.E\right._{k-1} Ek−1+ E k \left.E\right._{k} Ek, S k \left.S\right._{k} Sk历史偏差之和
S k \left.S\right._{k} Sk>0,过去一段时间,大多数时间未达标;
S k \left.S\right._{k} Sk=0,过去一段时间,正好达标。
S k \left.S\right._{k} Sk<0,过去一段时间,大多数时间超标。
积分控制公式:
I o u t \left.I\right._{out} Iout = K p \left.K\right._{p} Kp* S k \left.S\right._{k} Sk+ O u t 0 \left.Out\right._{0} Out0 -
最近两次的偏差相减:
D k \left.D\right._{k} Dk = E k \left.E\right._{k} Ek - E k − 1 \left.E\right._{k-1} Ek−1
D k \left.D\right._{k} Dk>0,偏差有增大趋势;
D k \left.D\right._{k} Dk=0,偏差趋势不变;
D k \left.D\right._{k} Dk<0,偏差有减小趋势;
微分控制公式:
D o u t \left.D\right._{out} Dout = K p \left.K\right._{p} Kp* D k \left.D\right._{k} Dk+ O u t 0 \left.Out\right._{0} Out0
关于PID控制的几个概念:
**最大超调量:**响应曲线的最大峰值和稳定值的差,是评估系统稳定性的重要指标。
**上升时间:**响应曲线从原始工作状态出发,第一次输出的稳态值所需要的时间。评估系统快速性的一个重要指标。
**静差:**被控制量的稳定值和给定值之差。一般用于衡量系统的准确性。
p w m pwm pwm = K p \left.K\right._{p} Kp e ( k ) e(k) e(k)+ K i \left.K\right._{i} Ki ∑ e ( k ) \sum e(k) ∑e(k)+ K d \left.K\right._{d} Kd [ [ [ e ( k ) e(k) e(k)- e ( k − 1 ) e(k-1) e(k−1) ] ] ]
P(比例项):响应速度 过小响应速度太慢,基本不震荡;过大响应速度快,高频振荡;
I(积分项):静差 当有静差的时候把I加大点即可消除。
D微分项:稳态 减小最大超调量,该参数过大会低频振荡
总结:P用于提高响应速度、I用于减小静差、D用于抑制震荡。