3. PID参数整定方法:从理论到实战

PID参数整定,说白了就是找三个数:Kp、Ki、Kd。这三个数找对了,系统就听话;找不对,电机抖得像筛子,温度飘得像过山车。我干这行十几年,见过太多人在这一步卡壳。

今天我把四种主流方法掰开揉碎讲给你听。尤其是最后那个经验法则,是我在现场摸爬滚打总结出来的,希望能帮你少走弯路。

3.1 Ziegler-Nichols法:祖师爷传下来的手艺

Ziegler-Nichols法,简称Z-N法,是1942年两位工程师搞出来的。虽然快一百年了,但至今仍是工业界的标配。它的核心思路很简单:先让系统震荡起来,然后根据震荡数据算参数。

具体操作分两步:

  1. 找临界增益Ku和临界周期Tu:先把Ki和Kd设成0,只保留Kp。然后慢慢增大Kp,直到系统输出出现等幅震荡。这时候的Kp就是Ku,震荡周期就是Tu。
  2. 套公式算参数:根据下表直接算。
控制器类型 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
⚠️ 注意:Z-N法算出来的参数通常偏激进。我遇到过好几次,算完参数一上电,系统直接超调30%以上。所以它更适合当初始值,后续还得微调。

3.2 试凑法:老工程师的看家本领

试凑法,说白了就是「凭感觉调」。别觉得它土,现场调试时这招最管用。我刚开始带徒弟时,总让他们先学Z-N法,后来发现他们算完参数还是不会调。最后我改了:先让他们用手拧电位器,拧出感觉来。

试凑法的口诀就四句话:

  • 先调Kp:让系统动起来,别震荡就行。Kp太小响应慢,Kp太大就抖。
  • 再加Ki:消除静差。Ki太大容易超调,Ki太小消除得慢。
  • 最后上Kd:抑制震荡,改善动态响应。Kd太大会引入噪声。
  • 反复迭代:调完Ki回去看Kp,调完Kd回去看Ki。这是个循环。
💡 我的习惯:每次只改一个参数,改完观察至少3个完整周期。别心急,PID整定是个慢工出细活的活儿。

3.3 衰减曲线法:比Z-N法更温柔

Z-N法让系统等幅震荡,很多场合不允许。比如温度控制,震荡一次可能就把产品烧坏了。这时候衰减曲线法就派上用场了。

操作步骤:

  1. 同样先设Ki=0, Kd=0,只调Kp。
  2. 增大Kp直到系统出现4:1衰减震荡。什么叫4:1?就是第二个波峰的高度是第一个波峰的1/4。
  3. 记录此时的Kp(记为Kp')和震荡周期Ts。
  4. 查表算参数。
控制器类型 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,问题就解决了。

🔧 避坑指南:我曾经在一个液压伺服系统上,用Z-N法算完参数直接上电。结果执行器直接撞到机械限位,把传感器都干坏了。从那以后,我定了个规矩:任何新参数,先在仿真里跑一遍,或者至少把输出限幅设到30%。

法则四:别忘了采样时间

很多新手调PID,调了半天没效果,最后发现是采样时间设错了。采样时间太长,系统反应不过来;采样时间太短,微分项会把噪声放大。一般建议采样时间设为系统时间常数的1/10到1/5。

法则五:记录每一次修改

这个习惯救过我很多次。调参数时,把每次改了什么、系统响应如何,都记下来。调乱了还能退回去。我见过有人调了一下午,最后忘了初始值是什么,只能重来。

3.5 一张图看懂整定流程

下面这张图是我自己画的,把四种方法的关系和适用场景串起来了。你保存下来,现场调试时看一眼就明白该用哪种方法。

PID参数整定方法选择流程图 开始整定PID参数 是否有系统数学模型? Ziegler-Nichols法 试凑法 允许等幅震荡? (如温度控制) Z-N法(等幅震荡) 衰减曲线法(4:1衰减) 现场微调优化 现场经验法则 • 先看系统类型 • 从中间往两边试 • Ki和Kd要联动

这张图你看懂了吗?从上往下走:有数学模型就用Z-N法,没有就用试凑法。Z-N法里,允许等幅震荡就用标准Z-N,不允许就用衰减曲线法。最后不管哪种方法,都得现场微调。

💡 我的建议:新手先从试凑法入手,调出感觉了再用Z-N法验证。别一上来就搞复杂的,容易把自己绕进去。我带了十几个徒弟,都是这么过来的。

好了,PID参数整定这部分就讲到这里。记住一句话:没有万能的方法,只有最适合你现场的方法。多试、多记、多总结,你也能成为PID整定的老手。


公众号:蓝海资料掘金营,微信deep3321