文章目录
1. 前言
PID算法是工业上一种常用的控制算法,因其容易理解、实现简单、鲁棒性强等特性而得到广泛应用。作为一名嵌入式工程师,我们经常和PID算法打交道,对PID算法的应用也早已烂熟于心。但是,要想让PID系统运行的稳定,有一个优秀的PID算法远远不够,还需要一组合适的PID值。在合适的PID值和算法的相互配合下,PID系统才能运行稳定。PID算法应用中最为重要的是参数的整定。通常,参数的整定高度依赖工程技术人员的经验,而且实际系统又是千差万别,存在着诸如非线性、时变、大滞后等因素。因此传统的经验整定方法既耗时又费力,整定得到的效果还不一定理想。使用过PID的工程师都知道,PID整定,永远是一件非常头疼的事情。
那么,有没有一种方法,可以自动找出合适的PID参数,这种方法就是所谓的PID自整定。下面,我们就一起来看看PID自整定方法。
2. PID简介
所谓PID即为Proportional(比例)、Integral(积分)、和Derivative(微分)三词的简称。在每个循环周期内,PID控制器利用SetPoint(输入值)和Measured Variable(测量值)之间的Error(偏差)来计算下个周期的PID输出值控制器Out Value(输出值)。
Proportional(比例)为Error(偏差值)和一个常量系数Kp的乘积。
Integral(积分)为Error(偏差值)的累计值和一个常量系数Ki的乘积。
Derivative(微分)为Error(偏差值)的变化速率和一个常量系数Kd的乘积。
最终,将上述Proportional(比例)、Integral(积分)和Derivative(微分)相加,即为最终的PID输出值。
上述用公式表示,即为:
u ( t ) = K p e ( t ) + K i ∫ 0 t e ( t ) d t + k d d e ( t ) d t − − − − − − − − − − − − − − − ( 1 ) \boxed{u(t) = K_pe(t) + K_i\int_0^te(t)dt + k_d{de(t)\over{dt}}} ---------------(1) u(t)=Kpe(t)+Ki∫0te(t)dt+kddtde(t)−−−−−−−−−−−−−−−(1)
其中 K p K_p Kp, K i K_i Ki, K d K_d Kd为PID常数,其表示在t时刻的 u ( t ) u(t) u(t)(PID输出值)的计算方式。
PID算法的性能很大程度上取决于是否选择了合适的PID常数,如果选择了合适的PID常数,则控制通常平滑收敛,如果选择的PID常数不合适,则系统可能会震荡、不稳定甚至失去控制。
PID算法还有另一种形式的的公式表示,如下:
u ( t ) = K p [ e ( t ) + 1 T i ∫ 0 t e ( t ) d t + T d d e ( t ) d t ] − − − − − − − − − − − − − − − ( 2 ) \boxed{u(t) = K_p[e(t) + {1\over{T_i}}\int_0^te(t)dt + T_d{de(t)\over{dt}}]} ---------------(2) u(t)=Kp[e(t)+Ti1∫0te(t)dt+Tddtde(t)]−−−−−−−−−−−−−−−(2)
以上两个公式是等效的,(1)式可以看成是(2)式的简化版本,其中 K i = K p 1 T i K_i = K_p{1\over{T_i}} Ki=KpTi1, K d = K p T d K_d = K_pT_d Kd=KpTd 。
在公式(2)中, T i T_i Ti和 T d T_d Td分别被称为积分时间和微分时间, K p K_p Kp是整个控制器总体的比例系数, K p K_p Kp的改变会影响积分项和微分项.
我们后续采用公式2来进行PID整定。
3. 常用的PID自整定方法
要实现PID参数的自整定,首先要对被控制的对象有一个了解,然后选择相应的参数计算方法完成控制器参数的设计。据此,可将PID参数自整定分成两大类:辨识法和规则法。基于辨识法的PID参数自整定,被控对象的特性通过对被控对象数学模型的分析来得到,在对象数学模型的基础上用基于模型的一类整定法计算PID参数。基于规则的PID参数自整定,则是运用系统临界点信息或系统响应曲线上的一些特征值来表征对象特性,控制器参数由基于规则的整定法得到。
在本文,我们只对常用的规则法PID方法进行描述,对辨识法PID算法不做描述,有兴趣的朋友,可查阅相关资料。
常用的规则法有临界比例度法,衰减曲线法和继电器整定法。
3.1 临界度比例法
对于一个PID控制系统,仅在比例作用下,由小到大的改变比例常数,直到输出值出现即不发散也不衰减的等振幅振荡,此时的控制系统的比例常数为临界比例常数 C k C_k Ck,被调参数的工作周期为临界周期 T k T_k Tk。

根据临界比力度法的整定经验公式可得出PID参数。
控制器类型 | Kp | Ti | Td |
---|---|---|---|
P | 0.5 C k 0.5C_k 0.5Ck | 无穷大 | 0 |
PI | 0.45 C k 0.45C_k 0.45Ck | 0.833 T k 0.833T_k 0.833Tk | 0 |
PID | 0.56 C k 0.56C_k 0.56Ck | 0.50 T k 0.50T_k 0.50Tk | 0.125 T k 0.125T_k 0.125Tk |
3.2 衰减曲线法
衰减曲线法是临界比例法的一种变形。
在纯比例作用下,比例系数逐渐增加的情况下,会出现如下图所示的振荡过程。
这时,控制过程的比例系数称为n:1衰减比例系数 C k C_k Ck,两个峰之间的距离,称为n:1衰减周期 T k T_k Tk。常用的衰减比例有 4 : 1 4:1 4:1和 10 : 1 10:1 10:1。
得到衰减比例系数 C k C_k Ck和衰减周期 T k T_k Tk,根据以下经验公式,即可计算出相应的PID。
控制器类型 | Kp | Ti | Td |
---|---|---|---|
P | C k C_k Ck | 无穷大 | 0 |
PI | 0.833 C k 0.833C_k 0.833C |