前言
PID(比例-积分-微分)控制器大概是工业控制领域最经典、应用最广泛的控制算法了。据统计,工业过程控制中超过 90% 的控制回路仍然在使用 PID 或其变种。然而对于初学者来说,最头疼的往往不是理解 PID 的原理,而是怎么把三个参数调好。
这学期的自动控制原理课程设计中,我选择了"PID参数整定方法对比分析"这个课题。在查阅了大量文献并用 MATLAB/Simulink 进行仿真验证后,我把几种常用方法的优缺点总结在这里,希望能帮到同样在调参的同学。
一、被控对象建模
实验选用的被控对象是一个典型的一阶惯性加纯滞后系统(FOPDT),传递函数为:
其中 K=1.5(静态增益),T=10s(时间常数),τ=2s(纯滞后时间)。这个模型在温度控制、液位控制等场景中非常常见,我在课设报告里也用热水箱温控系统做了类比。
二、经典整定方法对比
1. Ziegler-Nichols 临界比例度法
这是最经典的方法:先去掉积分和微分环节,逐渐增大 Kp 直到系统产生等幅振荡,记下此时的临界增益 Ku 和临界周期 Tu,然后按公式计算。
实测结果:Ku=15.2,Tu=6.8s,代入公式得 Kp=9.12, Ki=3.36, Kd=6.18。系统响应较快但超调量高达 42%,振荡明显,在实际工程中通常需要人工微调。
2. Cohen-Coon 法
Cohen-Coon 法直接基于过程的阶跃响应特征来计算参数,不需要将系统推到临界振荡状态,对于不允许振荡的生产过程更加安全。
实测结果:超调量降至 28%,调节时间约 35s。比 Z-N 法温和一些,但仍然偏激进。这个方法对纯滞后比较大的系统效果会打折扣。
3. Lambda 整定法(内模控制)
Lambda 法是一种基于内模控制(IMC)思想的整定方法,核心思想是让闭环传递函数具有期望的一阶响应特性。设计者可以通过调节 λ 参数来权衡响应速度和鲁棒性。
当 λ=3τ 时,超调量几乎为零(<2%),但调节时间增加到 48s。当 λ=τ 时,超调量约 12%,调节时间 22s,算是一个不错的折中。
三、MATLAB 仿真对比结果
我在 Simulink 中搭建了统一的仿真模型,对三种方法在相同条件下进行了阶跃响应测试:
| 整定方法 | 超调量 | 调节时间 | 上升时间 | 稳态误差 |
|---|---|---|---|---|
| Ziegler-Nichols | 42.3% | 28.5s | 3.1s | 0 |
| Cohen-Coon | 28.1% | 35.2s | 4.7s | 0 |
| Lambda (λ=2τ) | 4.6% | 30.8s | 8.2s | 0 |
四、一点个人思考
做完这个课题我最大的感受是:没有万能的整定方法,只有最适合的方法。Z-N 法适合快速得到一组可用参数作为起点;Lambda 法适合对安全性要求高的场景。实际工程中,大多数老工程师都是先用经验公式得到初值,再根据现场情况手动微调。
不过随着智能优化算法的发展,像遗传算法、粒子群优化等方法在 PID 整定中的应用越来越多。我接下来打算研究一下用 PSO(粒子群优化)来自动寻找最优 PID 参数,有进展了再写一篇分享。
参考文献
- Åström K J, Hägglund T. PID Controllers: Theory, Design, and Tuning[M]. 2nd ed. ISA, 1995.
- 王建辉, 顾树生. 自动控制原理[M]. 北京: 清华大学出版社, 2018.
- O'Dwyer A. Handbook of PI and PID Controller Tuning Rules[M]. 3rd ed. Imperial College Press, 2009.