【嵌入式必读】一文彻底理解PID自整定及PID自整定代码设计

【嵌入式必读】一文彻底理解PID自整定及PID自整定代码设计

文章目录

1. 前言

2. PID简介

3. 常用的PID自整定方法

3.1 临界度比例法

3.2 衰减曲线法

4. 继电反馈整定法原理

4.1 继电反馈自整定的基本思想

4.2 继电反馈自整定原理

5. 算法设计

5.1 振荡的生成

5.2 提取出临界周期 T c T_c Tc​和振荡波形幅值 A A A

5.3 计算出PID参数

6 原代码

6.1 头文件

6.1 C文件代码

7. 应用举例

7.1 初始化

7.2 新建一个自整定对象

7.3 进行自整定

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)=Kp​e(t)+Ki​∫0t​e(t)dt+kd​dtde(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)+Ti​1​∫0t​e(t)dt+Td​dtde(t)​]​−−−−−−−−−−−−−−−(2)

以上两个公式是等效的,(1)式可以看成是(2)式的简化版本,其中 K i = K p 1 T i K_i = K_p{1\over{T_i}} Ki​=Kp​Ti​1​, K d = K p T d K_d = K_pT_d Kd​=Kp​Td​ 。

在公式(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​。

图 1 临界比力度法形成的等振幅振荡

根据临界比力度法的整定经验公式可得出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​

表格 1临界度比例法计算PID经验公式

3.2 衰减曲线法

衰减曲线法是临界比例法的一种变形。

在纯比例作用下,比例系数逐渐增加的情况下,会出现如下图所示的振荡过程。

图 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

相关推荐

十大借钱软件 都是良心借款app,好借钱、好通过
365bet亚洲网址

十大借钱软件 都是良心借款app,好借钱、好通过

⌛ 06-28 👁️ 2705
历届精华
365bet提现多久到账

历届精华

⌛ 06-29 👁️ 9901
为什么养猫不吉利?(探索养猫的迷信背后真相)
365bet亚洲网址

为什么养猫不吉利?(探索养猫的迷信背后真相)

⌛ 06-27 👁️ 2314