这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【原创】PID积分--from杰

共1条 1/1 1 跳转至

【原创】PID积分--from杰

工程师
2025-08-19 22:47:21     打赏

积分限幅:限制积分的幅度,防止积分深度饱和

要解决的问题:如果执行器因为卡住、断电、损坏等原因不能消除误差,则误差积分会无限制加大,进而达到深度饱和状态,此时PID控制器会持续输出最大的调控力,即使后续执行器恢复正常,PID控制器在短时间内也会维持最大的调控力,直到误差积分从深度饱和状态退出

积分限幅实现思路:对误差积分或积分项输出进行判断,如果幅值超过指定阈值,则进行限制

饱和状态(out输出值)

图片1.png

增量式pid:几乎不会过饱和。因为其与历史状态无关。

位置式pid:如果卡住积分项会一直增加。等到松手后会出现超调。

单独对误差积分进行限幅

误差差上下限通过;误差积分的限度*Ki;就是限幅的数量级。

图片3.png

对整个积分项输出进行限幅

IntOut替换原来的ErrorInt

误差差上下限通过;误差积分的数量级就是限幅的数量级。

积分分离:误差小于一个限度才开始积分,反之则去掉积分部分

 

积分分离;

(电机定位一般用PD控制)

要解决的问题:积分项作用一般位于调控后期,用来消除持续的误差,调控前期一般误差较大且不需要积分项作用,如果此时仍然进行积分,则调控进行到后期时,积分项可能已经累积了过大的调控力,这会导致超调

积分分离实现思路:对误差大小进行判断,如果误差绝对值小于指定阈值,则加入积分项作用,反之,则直接将误差积分清零或不加入积分项作用

图片4.png

图片5.png

判断误差决定是否加入积分作用

(另外定义变量C

积分分离阈值怎么确定,因为想要稳定所以就大概去找稳态波动的那个范围。通过图查看误差误差正常波动的范围再留些余量,过大会导致分离阈值没有作用,国小会导致积分项调节失去作用。

变速积分;

要解决的问题:如果积分分离阈值没有设定好,被控对象正好在阈值之外停下来,则此时控制器完全没有积分作用,误差不能消除

变速积分实现思路:变速积分是积分分离的升级版,变速积分需要设计一个函数值随误差绝对值增大而减小的函数,函数值作为调整系数,用于调整误差积分的速度或积分项作用的强度

图片9.png

图片10.png






共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]