CN113721455A - 一种高效pid控制方法、装置及控制器 - Google Patents
一种高效pid控制方法、装置及控制器 Download PDFInfo
- Publication number
- CN113721455A CN113721455A CN202111039043.7A CN202111039043A CN113721455A CN 113721455 A CN113721455 A CN 113721455A CN 202111039043 A CN202111039043 A CN 202111039043A CN 113721455 A CN113721455 A CN 113721455A
- Authority
- CN
- China
- Prior art keywords
- error value
- value
- previous
- pid
- deviation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000009825 accumulation Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 101100119135 Mus musculus Esrrb gene Proteins 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B11/00—Automatic controllers
- G05B11/01—Automatic controllers electric
- G05B11/36—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
- G05B11/42—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种高效PID控制方法、装置及控制器,其中PID控制方法包括:在PID运算周期内,将比例系数、积分系数和微分系数均设为整数型数据;获取当前误差值、前一次误差值和前第二次误差值,并将当前误差值与前一次误差值的差值除以比例系数,得到比例环节的偏差;积分环节的偏差等于当前误差值除以积分系数;微分环节的偏差等于当前误差值减去前一次误差值的预设倍数,并在加上前一次误差值之后除以微分系数;累加上述三个偏差值,得到最终误差;将最终误差加上预设目标值,得到PID控制器的输出值。本发明的技术方案优化了传统PID算法,在不影响其它任务时间节拍的情况下,也能实现实际值跟随目标值。
Description
技术领域
本发明涉及电气控制技术领域,尤其涉及一种高效PID控制方法、装置及控制器。
背景技术
在控制系统中,基于PID(偏差的比例(P)、积分(I)和微分(D))算法的PID控制器是应用广泛的一种自动控制器。传统PID算法在数字控制器上实现实际值跟随目标值时,有如下不足之处:Kp、Ki、Kd三个参数都采用浮点型运算,非常占用单片机的CPU资源,影响其它任务时间节拍的准确性;且如PID运行占用了机器周期太多,导致了运算效率低下;同时,导致PID参数调整难度系数增大。
发明内容
本发明一实施例提供一种高效PID控制方法及控制器,优化了传统PID算法,Kp、Ki、Kd三个参数均采用整数型,使得MCU或单片机无需作浮点运算,在不影响其它任务时间节拍的情况下,也能实现实际值跟随目标值。
一种高效PID控制方法,其特征在于,应用在PID控制器上,所述高效PID控制方法,包括:
在一PID运算周期内,将比例系数、积分系数和微分系数均设为整数型数据;
获取当前误差值、前一次误差值和前第二次误差值,并将所述当前误差值与前一次误差值的差值除以所述比例系数,得到比例环节的偏差;其中,所述前一次误差值和前第二次误差值分别为前一、二PID运算周期内获取的误差值;
将所述当前误差值除以所述积分系数,得到积分环节的偏差;
将所述当前误差值减去所述前一次误差值的预设倍数,并在加上所述前第二次误差值之后除以所述微分系数,得到微分环节的偏差;
累加所述比例环节的偏差、积分环节的偏差和微分环节的偏差,得到最终误差;
将所述最终误差加上预设目标值,得到所述PID控制器的输出值。
一种高效PID控制装置,其特征在于,应用在PID控制器上,并包括:
设定模块,用于在一PID运算周期内,将比例系数、积分系数和微分系数均设为整数型数据;
P环节计算模块,用于获取当前误差值、前一次误差值和前第二次误差值,并将所述当前误差值与前一次误差值的差值除以所述比例系数,得到比例环节的偏差;其中,所述前一次误差值和前第二次误差值分别为前一、二PID运算周期内获取的误差值;
I环节计算模块,用于将所述当前误差值除以所述积分系数,得到积分环节的偏差;
D环节计算模块,用于将所述当前误差值减去所述前一次误差值的预设倍数,并在加上所述前第二次误差值之后除以所述微分系数,得到微分环节的偏差;
累加模块,用于累加所述比例环节的偏差、积分环节的偏差和微分环节的偏差,得到最终误差;
输出模块,用于将所述最终误差加上预设目标值,得到所述PID控制器的输出值。
一种高效PID控制器,其特征在于,用于执行如上所述的高效PID控制方法。
上述高效PID控制方法、装置及控制器,摒弃了传统PID计算方法中Kp、Ki、Kd三个参数均采用浮点数型的方式,将比例系数(对应Kp)、积分系数(对应Ki)和微分系数(对应Kd)均设为整数型数据;并对比例环节的偏差、积分环节的偏差和微分环节的偏差三者的计算过程分别进行优化,与传统PID算法相比,具有如下优势:
1)Kp、Ki、Kd整定参数均为整形,不存在PID运行时有浮点运算,降低MCU运行机器周期;
2)由于不占用单片机机器周期,所以能够保证PID整个算法运行的时间准确性,也不影响其它任务运行时间戳;
3)Kp、Ki、Kd三个参数整定非常容易;
4)输出的结果间接体现目标值和实际值误差,不会导致数据溢出,不存在吞吐量问题。
从而使得MCU或单片机不用做浮点运算,整个PID运算不占用过多的CPU机器周期指令,在保证实际值跟随目标值的情况下,不影响其它任务时间节拍。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中高效PID控制方法的流程图;
图2是本发明一实施例中实际值跟随目标值的波形示意图;
图3是本发明一实施例中高效PID控制装置的示意图。
具体实施方式
下面将结合本发明一些实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一实施例中,提供一种高效PID控制方法,应用在PID控制器上,将传统PID算法中三个主要参数Kp、Ki、Kd的数据类型进行限定为整数型,而非浮点数;同时,对三个参数所对应的偏差值的计算过程进行调整,具体地,如图1所示,并包括如下步骤:
S1:在一PID运算周期内,将比例系数、积分系数和微分系数均设为整数型数据。
S2:获取当前误差值、前一次误差值和前第二次误差值,并将前一次误差值与当前误差值的差值除以比例系数,得到比例环节的偏差;其中,前一次误差值和前第二次误差值分别为前一、二PID运算周期内获取的误差值。
S3:将当前误差值除以积分系数,得到积分环节的偏差。
S4:将当前误差值减去前一次误差值的预设倍数,并在加上前一次误差值之后除以微分系数,得到微分环节的偏差。
S5:累加比例环节的偏差、积分环节的偏差和微分环节的偏差,得到最终误差。
S6:将最终误差加上预设目标值,得到PID控制器的输出值。
其中,PID运算周期,即针对一次控制过程;比例系数、积分系数和微分系数分别对应PID算法的比例参数Kp,积分参数Ki,微分参数Kd;例如,可以分别设为3、2、1。
设预设目标值为targetValue,PID控制器获取的实际值记为currentValue,当前误差值记为err,则err=targetValue-currentValue。
前一次误差值,是指在前一PID运算周期中所获取的当前误差值,记为last_err;前第二次误差值是指在前第二个PID运算周期中所获取的当前误差值,记为last_last_err;
比例环节的偏差记为p_term,等于将当前误差值与前一次误差值的差值除以比例系数,即,p_term=(err-last_err)/Kp。
积分环节的偏差记为i_term,等于将当前误差值除以积分系数,即,i_term=err/Ki。
微分环节的偏差记为d_term,等于将当前误差值减去前一次误差值的预设倍数,并在加上前第二次误差值之后除以微分系数,即,d_term=(err-2*last_err+last_last_err)/Kd,其中,预设倍数优选为2倍。
最终误差记为result,等于比例环节的偏差、积分环节的偏差和微分环节的偏差的累加和,即,result+==p_term+i_term+d_term。
PID控制器的输出值记为out_result,等于最终误差加上预设目标值,即,out_result=result+targetValue。
在本实施例中,PID的参数Kp、Ki、Kd均为整数型,在参数整定的情况下,无论预设目标值如何变化,实际值都会跟随预设目标值;且避免了浮点运算,不影响其他任务的执行,提高执行效率。
进一步地,在一实施例中,PID控制器以预设时间为间隔,如每10毫秒,计算最终误差并加上预设目标值,得到PID控制器的输出值;即,通过循环运行进行持续控制,以保证实际值跟随预设目标值。
以Kp等于3、Ki等于1、Kd等于3、预设目标值为4200为例,实际值跟随目标值的波形示意图如图2所示,其中,虚线所代表的实际值为4220,与预设目标值的误差为0.4%,可见误差非常小,精度非常高。
在一实施例中,提供一种高效PID控制装置,如图3所示,包括如下模块:
设定模块,用于在一PID运算周期内,将比例系数、积分系数和微分系数均设为整数型数据;
P环节计算模块,用于获取当前误差值、前一次误差值和前第二次误差值,并将当前误差值与前一次误差值的差值除以比例系数,得到比例环节的偏差;其中,前一次误差值和前第二次误差值分别为前一、二PID运算周期内获取的误差值;
I环节计算模块,用于将当前误差值除以积分系数,得到积分环节的偏差;
D环节计算模块,用于将当前误差值减去前一次误差值的预设倍数,并在加上前第二次误差值之后除以微分系数,得到微分环节的偏差;
累加模块,用于累加比例环节的偏差、积分环节的偏差和微分环节的偏差,得到最终误差;
输出模块,用于将最终误差加上预设目标值,得到PID控制器的输出值。
以及循环模块,用于PID控制器以预设时间为间隔,计算最终误差并加上预设目标值,得到PID控制器的输出值。
本高效PID控制装置以MCU或单片机为硬件载体,并可以适用于具备闭环控制算法的产品上,应用广泛。
在一实施例中,提供一种高效PID控制器,用于执行上述的PID控制方法,此处不再赘述。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种高效PID控制方法,其特征在于,应用在PID控制器上,所述高效PID控制方法,包括:
在一PID运算周期内,将比例系数、积分系数和微分系数均设为整数型数据;
获取当前误差值、前一次误差值和前第二次误差值,并将所述当前误差值与前一次误差值的差值除以所述比例系数,得到比例环节的偏差;其中,所述前一次误差值和前第二次误差值分别为前一、二PID运算周期内获取的误差值;
将所述当前误差值除以所述积分系数,得到积分环节的偏差;
将所述当前误差值减去所述前一次误差值的预设倍数,并在加上所述前第二次误差值之后除以所述微分系数,得到微分环节的偏差;
累加所述比例环节的偏差、积分环节的偏差和微分环节的偏差,得到最终误差;
将所述最终误差加上预设目标值,得到所述PID控制器的输出值。
2.如权利要求1所述的高效PID控制方法,其特征在于,所述预设倍数为两倍。
3.如权利要求1所述的高效PID控制方法,其特征在于,所述PID控制器以预设时间为间隔,计算所述最终误差并加上所述预设目标值,得到所述PID控制器的输出值。
4.如权利要求3所述的高效PID控制方法,其特征在于,所述预设时间为十毫秒。
5.如权利要求1所述的高效PID控制方法,其特征在于,所述当前误差值通过如下步骤获取:
所述预设目标值减去所述PID控制器获取的实际值,得到所述当前误差值。
6.一种高效PID控制装置,其特征在于,应用在PID控制器上,并包括:
设定模块,用于在一PID运算周期内,将比例系数、积分系数和微分系数均设为整数型数据;
P环节计算模块,用于获取当前误差值、前一次误差值和前第二次误差值,并将所述当前误差值与前一次误差值的差值除以所述比例系数,得到比例环节的偏差;其中,所述前一次误差值和前第二次误差值分别为前一、二PID运算周期内获取的误差值;
I环节计算模块,用于将所述当前误差值除以所述积分系数,得到积分环节的偏差;
D环节计算模块,用于将所述当前误差值减去所述前一次误差值的预设倍数,并在加上所述前第二次误差值之后除以所述微分系数,得到微分环节的偏差;
累加模块,用于累加所述比例环节的偏差、积分环节的偏差和微分环节的偏差,得到最终误差;
输出模块,用于将所述最终误差加上预设目标值,得到所述PID控制器的输出值。
7.如权利要求6所述的高效PID控制装置,其特征在于,还包括:
循环模块,用于所述PID控制器以预设时间为间隔,计算所述最终误差并加上所述预设目标值,得到所述PID控制器的输出值。
8.如权利要求6所述的高效PID控制装置,其特征在于,所述高效PID控制装置应用在具备闭环控制算法的产品上。
9.如权利要求6所述的高效PID控制装置,其特征在于,所述高效PID控制装置以MCU或单片机为载体。
10.一种高效PID控制器,其特征在于,用于执行如权利要求1至5任一项所述的高效PID控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111039043.7A CN113721455A (zh) | 2021-09-06 | 2021-09-06 | 一种高效pid控制方法、装置及控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111039043.7A CN113721455A (zh) | 2021-09-06 | 2021-09-06 | 一种高效pid控制方法、装置及控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113721455A true CN113721455A (zh) | 2021-11-30 |
Family
ID=78681915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111039043.7A Pending CN113721455A (zh) | 2021-09-06 | 2021-09-06 | 一种高效pid控制方法、装置及控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113721455A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114442478A (zh) * | 2021-12-31 | 2022-05-06 | 南京理工大学 | 一种控制发烟设备输出稳定co浓度的增量式pid方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108983598A (zh) * | 2018-09-28 | 2018-12-11 | 昂纳信息技术(深圳)有限公司 | 一种pid调节方法、系统和存储装置 |
CN111766777A (zh) * | 2020-07-30 | 2020-10-13 | 北京环境特性研究所 | 一种pid控制器及pid控制方法 |
CN113296390A (zh) * | 2021-05-24 | 2021-08-24 | 福建盛海智能科技有限公司 | 一种基于位置式pid的控制方法及终端 |
-
2021
- 2021-09-06 CN CN202111039043.7A patent/CN113721455A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108983598A (zh) * | 2018-09-28 | 2018-12-11 | 昂纳信息技术(深圳)有限公司 | 一种pid调节方法、系统和存储装置 |
CN111766777A (zh) * | 2020-07-30 | 2020-10-13 | 北京环境特性研究所 | 一种pid控制器及pid控制方法 |
CN113296390A (zh) * | 2021-05-24 | 2021-08-24 | 福建盛海智能科技有限公司 | 一种基于位置式pid的控制方法及终端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114442478A (zh) * | 2021-12-31 | 2022-05-06 | 南京理工大学 | 一种控制发烟设备输出稳定co浓度的增量式pid方法 |
CN114442478B (zh) * | 2021-12-31 | 2024-04-05 | 南京理工大学 | 一种控制发烟设备输出稳定co浓度的增量式pid方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10241490B2 (en) | Correction device, correction device controlling method, information processing program, and recording medium | |
EP3385796B1 (en) | Control device | |
CN109581879B (zh) | 基于广义预测控制的松散回潮控制方法及系统 | |
US6959219B2 (en) | Control apparatus having a limit cycle auto-tuning function | |
CN113721455A (zh) | 一种高效pid控制方法、装置及控制器 | |
CN109066689B (zh) | 一种电力系统内外网数据拼接的联络线潮流调整方法及装置 | |
JP2002049406A (ja) | 制御装置および制御方法 | |
Fan et al. | SISO run-to-run feedback controller using triple EWMA smoothing for semiconductor manufacturing processes | |
US8495582B2 (en) | Method for carrying out online program changes on an automation system | |
CN113687684A (zh) | 引入改进步长因子的光伏mppt控制方法、系统、介质及设备 | |
US11086277B2 (en) | System and method for determining the parameters of a controller | |
CN113114073B (zh) | 盾构机的刀盘电机驱动控制方法及装置 | |
US8718799B2 (en) | Method and system for process control configuration changes | |
CN111293927B (zh) | 多电机同步驱动控制方法、装置以及系统 | |
CN103823996A (zh) | 适用于电力系统高速采样计算的插值方法 | |
CN113167247B (zh) | 冷却风力涡轮机的方法 | |
US7117059B1 (en) | Run-to-run control system and operating method of the same | |
CN107741731B (zh) | 一种s曲线计算精度引起的误差处理方法 | |
CN106610588B (zh) | 一种串级预测控制系统及方法 | |
CN117184975A (zh) | 蛇形收卷纠偏控制方法、装置、设备及存储介质 | |
CN111273625B (zh) | 一种动态矩阵控制的前馈计算方法及装置 | |
CN109193688B (zh) | 单变电站离散无功设备日动作次数设置方法及装置 | |
CN113267679B (zh) | 相位信号检测/控制方法、电路、控制装置及介质 | |
RU16959U1 (ru) | Устройство адаптивного управления | |
CN112310967A (zh) | 一种区域电网潮流收敛断面生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |