第四章 手动整定法(Ziegler-Nichols):临界比例度法
说到PID参数整定,很多新手第一反应就是「靠感觉调」。我刚开始带团队那会儿,也见过不少师傅凭经验瞎拧参数,结果系统要么震荡得像抽风,要么响应慢得像蜗牛。其实,早在1942年,Ziegler和Nichols两位老前辈就给我们留下了一套非常实用的方法——临界比例度法。
这套方法,说白了就是先让系统「振荡起来」,然后根据振荡的数据算出PID参数。听起来有点玄乎?别急,我一步步拆给你看。
4.1 临界比例度法的核心思想
临界比例度法的原理其实很简单:
- 先把积分I和微分D关掉(设为0)
- 只保留比例P,慢慢增大比例增益
- 直到系统输出出现等幅振荡
- 记录此时的临界增益Ku和振荡周期Tu
- 套用Ziegler-Nichols公式算出P、I、D参数
我在项目中遇到过一台恒压供水变频器,压力波动一直调不好。用临界比例度法一试,五分钟就找到了问题根源——原来是比例增益太大,系统一直在临界点附近晃悠。
关键概念:
- 临界增益 Ku:系统刚好产生等幅振荡时的比例增益值
- 临界周期 Tu:等幅振荡的周期时间
4.2 Ziegler-Nichols参数计算表
拿到Ku和Tu之后,直接查下表就能算出PID参数。这张表我用了十几年,从来没出过岔子。
| 控制器类型 | 比例增益 Kp | 积分时间 Ti | 微分时间 Td |
|---|---|---|---|
| P控制器 | 0.5 × Ku | — | — |
| PI控制器 | 0.45 × Ku | 0.85 × Tu | — |
| PID控制器 | 0.6 × Ku | 0.5 × Tu | 0.125 × Tu |
我的经验:实际应用中,我一般先用PI控制器。为什么?因为微分D对噪声太敏感了,尤其是在变频器这种电磁干扰强的环境里。除非系统对响应速度要求极高,否则我建议先别加D。
4.3 实操步骤(一步一步来)
好了,理论讲完了,咱们直接上手。下面是我在车间里手把手教徒弟的标准流程:
步骤一:准备工作
- 把变频器切换到PID控制模式
- 将积分时间Ti设为最大值(相当于关掉积分)
- 将微分时间Td设为0(关掉微分)
- 比例增益Kp先设一个很小的值,比如0.1
- 确保系统处于稳定工况,负载不要有大波动
步骤二:寻找临界点
- 给系统一个设定值阶跃(比如压力从3bar跳到4bar)
- 观察输出响应曲线
- 如果系统稳定下来没有振荡,就增大Kp(每次增加20%-30%)
- 重复步骤1-3,直到系统出现持续的等幅振荡
- 记录此时的Kp值,这就是Ku
- 用秒表或示波器测量振荡周期,这就是Tu
注意:我曾经遇到过一位学员,把Kp调得太大,结果系统剧烈震荡,差点把水泵的机械密封给震坏了。所以每次增大Kp时,一定要观察至少2-3个振荡周期,确认是等幅振荡再继续。
步骤三:计算并设置参数
- 根据上表,用Ku和Tu算出Kp、Ti、Td
- 把算好的参数输入变频器
- 再次给一个阶跃信号,观察响应
步骤四:微调优化
Ziegler-Nichols给出的参数是个「好起点」,但不一定是最优解。我一般会在此基础上做微调:
- 如果超调量太大(超过20%),适当减小Kp或增大Ti
- 如果响应太慢,适当增大Kp或减小Ti
- 如果系统有高频抖动,检查是不是微分D引起的,必要时关掉D
避坑指南:我曾经在调试一台大功率风机时,发现临界振荡周期Tu测不准。后来才发现,是因为风机的惯性太大,振荡周期长达几十秒。我的建议是:对于大惯性系统,至少观察5个完整的振荡周期再取平均值,这样算出来的参数才靠谱。
4.4 实际案例:恒压供水系统
给你看一个我去年做的案例,这样更直观:
设备:37kW变频器驱动水泵,压力传感器量程0-10bar
目标:将供水压力稳定在5bar
实操过程:
- 关掉I和D,Kp从0.2开始
- 逐步增大到Kp=2.8时,压力开始等幅振荡
- 记录Ku=2.8,Tu=4.2秒
- 查表计算PID参数:Kp=1.68,Ti=2.1秒,Td=0.525秒
- 输入参数后,系统在3个周期内稳定在5bar,超调量约12%
- 微调:将Kp降到1.5,超调量降到5%以内
你看,整个过程不到半小时就搞定了。比起盲目瞎调,效率高了多少?
4.5 什么时候不能用临界比例度法?
说实话,这个方法也不是万能的。我总结了几种不适合的情况:
- 系统不允许振荡:比如医疗设备、精密加工,振荡可能造成损坏
- 纯积分或纯滞后系统:这类系统很难产生等幅振荡
- 非线性系统:比如阀门有死区,振荡特性会变化
- 安全限制严格:压力、温度不能超限的场合
替代方案:如果不能用临界比例度法,可以试试反应曲线法(也叫阶跃响应法)。这个方法不需要让系统振荡,而是通过给一个阶跃信号,分析响应曲线来算参数。下一章我会详细讲。
嗯,临界比例度法就讲到这里。你想想看,是不是比凭感觉调参数靠谱多了?下次遇到PID调不好的情况,不妨先试试这个方法。记住,参数整定不是玄学,是有科学依据的。