3. PID参数整定方法:从理论到实战
PID参数整定,说白了就是找三个数:Kp、Ki、Kd。这三个数找对了,系统就听话;找不对,电机抖得像筛子,温度飘得像过山车。我干这行十几年,见过太多人在这一步卡壳。
今天我把四种主流方法掰开揉碎讲给你听。尤其是最后那个经验法则,是我在现场摸爬滚打总结出来的,希望能帮你少走弯路。
3.1 Ziegler-Nichols法:祖师爷传下来的手艺
Ziegler-Nichols法,简称Z-N法,是1942年两位工程师搞出来的。虽然快一百年了,但至今仍是工业界的标配。它的核心思路很简单:先让系统震荡起来,然后根据震荡数据算参数。
具体操作分两步:
- 找临界增益Ku和临界周期Tu:先把Ki和Kd设成0,只保留Kp。然后慢慢增大Kp,直到系统输出出现等幅震荡。这时候的Kp就是Ku,震荡周期就是Tu。
- 套公式算参数:根据下表直接算。
| 控制器类型 | Kp | Ki | Kd |
|---|---|---|---|
| P控制器 | 0.5 × Ku | — | — |
| PI控制器 | 0.45 × Ku | 1.2 × Kp / Tu | — |
| PID控制器 | 0.6 × Ku | 2 × Kp / Tu | Kp × Tu / 8 |
3.2 试凑法:老工程师的看家本领
试凑法,说白了就是「凭感觉调」。别觉得它土,现场调试时这招最管用。我刚开始带徒弟时,总让他们先学Z-N法,后来发现他们算完参数还是不会调。最后我改了:先让他们用手拧电位器,拧出感觉来。
试凑法的口诀就四句话:
- 先调Kp:让系统动起来,别震荡就行。Kp太小响应慢,Kp太大就抖。
- 再加Ki:消除静差。Ki太大容易超调,Ki太小消除得慢。
- 最后上Kd:抑制震荡,改善动态响应。Kd太大会引入噪声。
- 反复迭代:调完Ki回去看Kp,调完Kd回去看Ki。这是个循环。
3.3 衰减曲线法:比Z-N法更温柔
Z-N法让系统等幅震荡,很多场合不允许。比如温度控制,震荡一次可能就把产品烧坏了。这时候衰减曲线法就派上用场了。
操作步骤:
- 同样先设Ki=0, Kd=0,只调Kp。
- 增大Kp直到系统出现4:1衰减震荡。什么叫4:1?就是第二个波峰的高度是第一个波峰的1/4。
- 记录此时的Kp(记为Kp')和震荡周期Ts。
- 查表算参数。
| 控制器类型 | Kp | Ti | Td |
|---|---|---|---|
| P控制器 | Kp' | — | — |
| PI控制器 | 1.2 × Kp' | 0.5 × Ts | — |
| PID控制器 | 0.8 × Kp' | 0.3 × Ts | 0.1 × Ts |
我个人更喜欢衰减曲线法。它比Z-N法温和,比试凑法有依据。我在做伺服电机位置控制时,基本都用这个方法打底。
3.4 我的现场经验法则
好了,前面都是教科书上的。下面这些是我在现场摔打出来的,你听听看。
法则一:先看系统类型
位置控制,Kp要大,Kd要小。速度控制,Kp适中,Ki要强。温度控制,Kp小,Ki大,Kd基本不用。为什么?你想想看,位置控制要刚性,温度控制要平滑,本质需求不一样。
法则二:从中间往两边试
别一上来就猜参数。我一般先给Kp一个中间值,比如系统量程的10%。然后看响应曲线,再决定往大调还是往小调。这比瞎猜快得多。
法则三:Ki和Kd要联动
Ki大了,Kd也得跟着大。为什么?Ki引入的滞后,需要Kd来补偿。我曾经在一个张力控制项目上,Ki从0.5调到2.0,结果系统开始低频震荡。后来把Kd从0.1调到0.4,问题就解决了。
法则四:别忘了采样时间
很多新手调PID,调了半天没效果,最后发现是采样时间设错了。采样时间太长,系统反应不过来;采样时间太短,微分项会把噪声放大。一般建议采样时间设为系统时间常数的1/10到1/5。
法则五:记录每一次修改
这个习惯救过我很多次。调参数时,把每次改了什么、系统响应如何,都记下来。调乱了还能退回去。我见过有人调了一下午,最后忘了初始值是什么,只能重来。
3.5 一张图看懂整定流程
下面这张图是我自己画的,把四种方法的关系和适用场景串起来了。你保存下来,现场调试时看一眼就明白该用哪种方法。
这张图你看懂了吗?从上往下走:有数学模型就用Z-N法,没有就用试凑法。Z-N法里,允许等幅震荡就用标准Z-N,不允许就用衰减曲线法。最后不管哪种方法,都得现场微调。
好了,PID参数整定这部分就讲到这里。记住一句话:没有万能的方法,只有最适合你现场的方法。多试、多记、多总结,你也能成为PID整定的老手。
公众号:蓝海资料掘金营,微信deep3321