028 PID控制器的局限性分析
028 PID控制器的局限性分析
从一次电机抖动的深夜调试说起
凌晨两点,示波器上的电流波形像一条发疯的蛇。我盯着那个PID位置环的输出,积分项在稳态误差和震荡之间反复横跳——位置精度要求0.1mm,但电机每走一步都要抖三抖。这不是参数没调好,是PID这个老伙计在特定工况下彻底露了怯。
那次之后我花了整整一周,把PID的底裤翻了个底朝天。今天这篇笔记,就是那周踩过的坑和想明白的事。
积分饱和:那个让你怀疑人生的“记忆效应”
先聊最坑爹的积分饱和。你设了积分限幅,觉得万事大吉?天真了。
我做过一个温控项目,加热器功率限制在80%。PID输出被限幅后,积分项还在傻乎乎地累加误差——因为实际输出和计算输出不一致,误差永远消不掉。等温度终于接近设定值,积分项已经攒了一肚子“怨气”,输出瞬间跳变,温度直接过冲15度。
别这样写代码:
integral+=error*dt;// 无脑累加,等着炸output=Kp