PID控制
1.PID基本原理通俗理解被控对象:水缸输出:水位控制信号:加水的量控制目标:水位保持至1m比例(Proportion)控制信号=Kp×(目标水位1m−实际水位)Kp ×(目标水位1m-实际水位)Kp×(目标水位1m−实际水位)所以如果Kp=1Kp=1Kp=1,即差多少水就灌多少水,一次到1m。如果Kp<1Kp<1Kp<1,即一点一点灌水,几次就能到1m。如果Kp>1Kp&
目录
1.PID基本原理


通俗理解
被控对象:水缸
输出:水位
控制信号:加水的量
控制目标:水位保持至1m
比例(Proportion)
控制信号= K p × ( 目 标 水 位 1 m − 实 际 水 位 ) Kp ×(目标水位1m-实际水位) Kp×(目标水位1m−实际水位)
所以如果 K p = 1 Kp=1 Kp=1,即差多少水就灌多少水,一次到1m。
如果 K p < 1 Kp<1 Kp<1,即一点一点灌水,几次就能到1m。
如果 K p > 1 Kp>1 Kp>1,即第一次灌很多水水位超出1m(超调),此时水位偏差为负相当于抽水,但由于 K p > 1 Kp>1 Kp>1则抽水后水位又小于1m,然后在灌水超过1m,但是如此往复会越来越接近1m最终达到1m(震荡)。
如果水缸存在漏水现象,每次灌水都漏水0.1m。在这种情况下,如果 K p = 1 Kp=1 Kp=1且水位达到0.1m时,则灌水为1×0.1=0.1m,而又会漏掉这0.1m,则水位将永远稳定至0.9m永远无法达到1m(稳态误差)
必须借助积分器消除稳态误差。
积分(Integration)
控制信号= K p × ( 目 标 水 位 1 m − 实 际 水 位 ) + K i × ∑ 所 有 时 刻 ( 1 m − 实 际 水 位 ) Kp ×(目标水位1m-实际水位)+Ki ×\sum_{所有时刻}(1m-实际水位) Kp×(目标水位1m−实际水位)+Ki×∑所有时刻(1m−实际水位)
此时不会再有稳态误差了。假设有,则一定会有积分器根据以前的误差漏完水再加,只要有误差就会调整,最后稳定至1m。
由于积分器会将过去的误差纳入加水量中,因此会使每次灌(抽)的水要更多,导致系统更大的超调和震荡。
必须借助微分器消除超调。
微分(Differenation)
控制信号= K p × ( 目 标 水 位 1 m − 实 际 水 位 ) + K i × ∑ 所 有 时 刻 ( 1 m − 实 际 水 位 ) + K d × d ( 1 m − 实 际 水 位 ) d t Kp ×(目标水位1m-实际水位)+Ki ×\sum_{所有时刻}(1m-实际水位)+Kd ×\frac{d(1m-实际水位)}{dt} Kp×(目标水位1m−实际水位)+Ki×∑所有时刻(1m−实际水位)+Kd×dtd(1m−实际水位)
灌水灌多了导致水位远远超出1m,则水位变化量为负,微分器就会再抽出一点水。每次灌(抽)水越多,微分器会抽(灌)水越多。这样震荡就不那么剧烈了。
原理
比例(Proportion)
优: K p Kp Kp越大,响应速度越快,稳态误差越小
劣: K p Kp Kp越大,震荡剧烈,超调高,稳态误差无法消除
积分(Integration)
优:消除稳态误差
劣:存在超调, K i Ki Ki越大,超调越高
微分(Differenation)
优:减小超调,减小震荡,提高响应速度
劣: K d Kd Kd越大,高频噪声会被放大
2.PID特点
优点:
- 适应性强,应用广泛。大多数系统使用PID均可满足实际需求。
- 算法结构简单
- 参数的调节整定可以不依赖被控对象具体模型
缺点:
- 自由度仅为三个比较低,面对非线性、时变、存在不确定系统,控制效果差。
虽然可以在某个平衡点进行线性化控制,但依据局限性大。 - 多输入多输出系统,且耦合很强的系统,PID参数整定很困难。
3.PID表达式
连续系统:
u ( t ) = K p e ( t ) + K i ∫ 0 t e ( t ) d t + K d d e ( t ) d t u(t)=K_p e(t) + K_i \int_{0}^{t}e(t)dt + K_d\frac{de(t)}{dt} u(t)=Kpe(t)+Ki∫0te(t)dt+Kddtde(t)

离散系统位置式
u ( k ) = K p e ( k ) + K i T ∑ i = 0 k e ( k ) + K d e ( k ) − e ( k − 1 ) T u(k)=K_p e(k) + K_i T\sum_{i=0}^{k}e(k) + K_d\frac{e(k)-e(k-1)}{T} u(k)=Kpe(k)+KiT∑i=0ke(k)+KdTe(k)−e(k−1)
离散系统增量式
△ u ( k ) = K p △ e ( k ) + K i e ( k ) T + K d e ( k ) − 2 e ( k − 1 ) + e ( k − 2 ) T △u(k)=K_p △e(k) + K_i e(k)T + K_d\frac{e(k)-2e(k-1)+e(k-2)}{T} △u(k)=Kp△e(k)+Kie(k)T+KdTe(k)−2e(k−1)+e(k−2)

4.PID应用的常见问题及解决方法
4.1 积分分离PID
问题: 因为某种原因系统误差e急剧变化,由于积分器的作用,导致控制量u急剧变化,引起系统较高超调,或急剧震荡。
解决: e较大时去掉积分器,e较小时加入积分器。
4.2 抗积分饱和PID
问题: 实际场景下控制信号u有取值范围,e的累计过大时,由于积分器的作用,导致u一直处于极限值。只有累计一段时间负误差e才能使u退出饱和。
解决: 一旦u达到极限值,则积分器只累加负的e不累加正e,能够提前退出饱和时间。
4.3 变速积分PID
问题: 平衡积分器 削弱平稳态误差的速度 和 超调量
解决: e>Y时 不累加误差,Y>e>X时 累加误差的一部分,即累加e(Y-e)/(Y-X)
4.3 前馈补偿PID
问题: 实现输入输出的准确跟踪,即传递函数为1
解决: 引入前馈环节,如图所示设计。
4.3 卡尔曼滤波PID
问题: 实际系统存在噪声,传感器也存在噪声,因此不能准确测得系统真实输出。
解决: 加入卡尔曼滤波器估计系统实际输出,计算控制信号。如图所示设计。
更多推荐

所有评论(0)