一种基于PID控制的抗饱和变速积分方法及系统与流程

文档序号:23667680发布日期:2021-01-15 14:07阅读:132来源:国知局
一种基于PID控制的抗饱和变速积分方法及系统与流程

本发明涉及控制技术领域,具体涉及一种基于pid控制的抗饱和变速积分方法及系统。



背景技术:

pid算法是根据输入的偏差,结合比例,积分,微分三种独立的闭环控制算法,计算出控制输出,纠正被控对象的偏差,实现以给定值为目标的稳态控制。pid控制器,因结构简单,不依赖被控对象模型以及响应快、振荡小、静差小等优良的控制品质,被广泛应用于工业控制系统中。

当输入偏差发生跃变时,pid控制器输出急剧增多或减小,超过了执行器输入极限,因执行器输入受限,控制响应变慢,系统测量值与给定值之间出现长时间的定向差值,使得积分项产生很大的累计值。该累计值在偏差反向时,阻碍了控制输出量快速脱离饱和区,这种积分饱和现象容易导致系统大幅度超调,甚至不稳定。

输入偏差跃变主要来自给定值阶跃突变和控制输出幅值受限。为了防止积分饱和现象,现有的改进型pid算法大多以在输入偏差发生跃变时弱化积分强度为目的,要么是对积分项或者积分项中的输入偏差设置修正系数,如积分分离法,“pid控制系统抗积分饱和及抑制超调的智能积分方法”,遇限削弱积分法,要么是设置积分项的偏移值,如反馈抑制抗饱和法。另外积分项预测抗饱和法通过在输入偏差较小时积分器及时反向积分,实现了积分器提前退出饱和,降低了系统超调量,但其依赖于被控对象,结构复杂,参数的设置比较困难。

上述方法有个共同的缺点是优化参数选取比较困难,并且当被控对象或者系统参数发生变化,优化参数必须重新选取;此外,上述方法是以弱化积分强度为目的,而没有消化掉阻碍控制量脱离饱和区的积分量,这样在输入偏差反向时,控制量不能及时快速响应。



技术实现要素:

本发明的目的在于,提供一种基于pid控制的抗饱和变速积分方法及系统,能够抗饱和抑超调,对被控对象依赖性低,结构简单,适用性强。

为解决上述技术问题,本发明的技术方案为:一种基于pid控制的抗饱和变速积分方法,包括以下步骤:

s1、通过常规pid控制和带偏差值反馈的控制,计算得出原始控制量;

s2、限制控制量及其变化率范围,计算得出有效控制量;

s3、根据控制量或其变化率超限方向和积分方向,判断出积分饱和方向,并给出相应的削弱积分的偏差值。

进一步地,所述s1具体为:根据下列公式对原始控制量进行计算:

式中,u(k)为原始控制量;c(k)为测量值;e(k)为系统输入偏差,即给定值r(k)和测量值c(k)的差值;f(k)为积分项偏差值;kp为比例增益,kd为微分增益,ki为积分增益,c(k)和f(k)的初始值均为0,k>1;

微分项的计算采用微分先行pid算法,即微分项中不考虑给定值,只对测量值进行微分。

更进一步地,所述s2具体为:根据执行结构的性能极限和控制器的控制能力计算控制量及其变化率范围,即两者对控制量限制的最大值取小,其对应值设为控制量最大值,两者对控制量限制的最小值取大,其对应值设为控制量最小值,由此得出控制量变化率的极值范围;根据下列公式计算得到有效控制值:

v(k)=sat{v(k-1)+sat[u(k)-v(k-1)]}

式中,v(k)为有效控制值。

更进一步地,所述s3具体为:根据下列公式计算并判断,得到积分项偏差值:

esat(k)=v(k)-u(k)

式中,fi(k)为积分项,esat(k)为控制量的饱和误差;

判断上述两式结果正负,计算得到积分项偏差值,具体判断过程如下:

s3.1、输入esat(k)和fi(k);

s3.2、如果esat(k)小于零,并且fi(k)大于零,则输出f(k)为esat(k)和-fi(k)的最大值;否则,进行s3.3;

s3.3、如果esat(k)大于零,并且fi(k)小于零,则输出f(k)为esat(k)和-fi(k)的最小值;否则,进行s3.4;

s3.4、输出f(k)=0。

一种基于pid控制的抗饱和变速积分系统,包括pid控制模块,控制量限制模块和积分项偏差生成模块;其中,

所述pid控制模块,用于通过常规pid控制和带偏差值反馈的控制,计算得出原始控制量并发送至控制量限制模块;

所述控制量限制模块,用于限制控制量及其变化率范围,计算得出有效控制量并发送至积分项偏差生成模块;

所述积分项偏差生成模块,用于根据控制量或其变化率超限方向和积分方向,判断出积分饱和方向,并给出相应的削弱积分的偏差值。

进一步地,所述pid控制模块为根据下列公式计算得出原始控制量的模块:

式中,u(k)为原始控制量;c(k)为测量值;e(k)为系统输入偏差,即给定值r(k)和测量值c(k)的差值;f(k)为积分项偏差值;kp为比例增益,kd为微分增益,ki为积分增益,c(k)和f(k)的初始值均为0;

微分项的计算采用微分先行pid算法,即微分项中不考虑给定值,只对测量值进行微分。

更进一步地,所述控制量限制模块为根据执行结构的性能极限和控制器的控制能力计算控制量及其变化率范围,即两者对控制量限制的最大值取小,其对应值设为控制量最大值,两者对控制量限制的最小值取大,其对应值设为控制量最小值,由此得出控制量变化率的极值范围的模块;根据下列公式计算得到有效控制值:

v(k)=sat{v(k-1)+sat[u(k)-v(k-1)]}

式中,v(k)为有效控制值。

更进一步地,所述积分项偏差生成模块为根据下列公式计算并判断得到积分项偏差值的模块:

esat(k)=v(k)-u(k)

式中,fi(k)为积分项,esat(k)为控制量的饱和误差;

判断上述两式结果正负,计算得到积分项偏差值,具体判断过程如下:

s3.1、输入esat(k)和fi(k);

s3.2、如果esat(k)小于零,并且fi(k)大于零,则输出f(k)为esat(k)和-fi(k)的最大值;否则,进行s3.3;

s3.3、如果esat(k)大于零,并且fi(k)小于零,则输出f(k)为esat(k)和-fi(k)的最小值;否则,进行s3.4;

s3.4、输出f(k)=0。

与现有技术相比,本发明的有益效果为:

1.该方法没有增加额外的控制参数,结构简单,不影响控制系统的鲁棒性和可靠性,适用范围广。

2.该方法常应用于控制输入变化快,输出受限等容易产生积分饱和的系统,如车辆动力总成控制器;

3.该方法能使控制量快速脱离饱和区,避免了系统大幅度超调。

附图说明

图1为本发明实施例的结构示意图;

图2为本发明实施例中带抗饱和变速积分的pid控制逻辑图;

图3为本发明实施例中计算积分项偏差值的判断逻辑图。

具体实施方式

下面结合附图对本发明实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

本发明的技术方案为:一种基于pid控制的抗饱和变速积分方法,包括以下步骤:

s1、通过常规pid控制和带偏差值反馈的控制,计算得出原始控制量;

s2、限制控制量及其变化率范围,计算得出有效控制量;

s3、根据控制量或其变化率超限方向和积分方向,判断出积分饱和方向,并给出相应的削弱积分的偏差值。

进一步地,所述s1具体为:根据下列公式对原始控制量进行计算:

式中,u(k)为原始控制量;c(k)为测量值;e(k)为系统输入偏差,即给定值r(k)和测量值c(k)的差值;f(k)为积分项偏差值;kp为比例增益,kd为微分增益,ki为积分增益,c(k)和f(k)的初始值均为0,k>1;

微分项的计算采用微分先行pid算法,即微分项中不考虑给定值,只对测量值进行微分。

更进一步地,所述s2具体为:根据执行结构的性能极限和控制器的控制能力计算控制量及其变化率范围,即两者对控制量限制的最大值取小,其对应值设为控制量最大值,两者对控制量限制的最小值取大,其对应值设为控制量最小值,由此得出控制量变化率的极值范围;根据下列公式计算得到有效控制值:

v(k)=sat{v(k-1)+sat[u(k)-v(k-1)]}

式中,v(k)为有效控制值。

更进一步地,所述s3具体为:根据下列公式计算并判断,得到积分项偏差值:

esat(k)=v(k)-u(k)

式中,fi(k)为积分项,esat(k)为控制量的饱和误差;

判断上述两式结果正负,计算得到积分项偏差值,具体判断过程如下:

s3.1、输入esat(k)和fi(k);

s3.2、如果esat(k)小于零,并且fi(k)大于零,则输出f(k)为esat(k)和-fi(k)的最大值;否则,进行s3.3;

s3.3、如果esat(k)大于零,并且fi(k)小于零,则输出f(k)为esat(k)和-fi(k)的最小值;否则,进行s3.4;

s3.4、输出f(k)=0。

s3.2中,esat(k)小于零,表示原始控制量u(k)或其变化率超过最大极值,fi(k)大于零,表示正向积分,当这两个条件同时满足,会出现正向积分饱和现象,需要削弱积分项,本专利以esat(k)作为积分削弱偏差项f(k);另外,需要注意的是,如果积分项削弱到负数,系统输入偏差e(k)没有反向,但控制量u(k)可能回到限值以内,这与控制意图相悖,故为了防止积分项为负,f(k)的最小值为-fi(k);

同样地,当出现负向积分饱和现象时,以esat(k)作为积分削弱偏差项f(k),f(k)最大值为-fi(k);

一种基于pid控制的抗饱和变速积分系统,包括pid控制模块,控制量限制模块和积分项偏差生成模块;其中,

所述pid控制模块,用于通过常规pid控制和带偏差值反馈的控制,计算得出原始控制量并发送至控制量限制模块;

所述控制量限制模块,用于限制控制量及其变化率范围,计算得出有效控制量并发送至积分项偏差生成模块;

所述积分项偏差生成模块,用于根据控制量或其变化率超限方向和积分方向,判断出积分饱和方向,并给出相应的削弱积分的偏差值。

进一步地,所述pid控制模块为根据下列公式计算得出原始控制量的模块:

式中,u(k)为原始控制量;c(k)为测量值;e(k)为系统输入偏差,即给定值r(k)和测量值c(k)的差值;f(k)为积分项偏差值;kp为比例增益,kd为微分增益,ki为积分增益,c(k)和f(k)的初始值均为0;

微分项的计算采用微分先行pid算法,即微分项中不考虑给定值,只对测量值进行微分。

更进一步地,所述控制量限制模块为根据执行结构的性能极限和控制器的控制能力计算控制量及其变化率范围,即两者对控制量限制的最大值取小,其对应值设为控制量最大值,两者对控制量限制的最小值取大,其对应值设为控制量最小值,由此得出控制量变化率的极值范围的模块;根据下列公式计算得到有效控制值:

v(k)=sat{v(k-1)+sat[u(k)-v(k-1)]}

式中,v(k)为有效控制值。

更进一步地,所述积分项偏差生成模块为根据下列公式计算并判断得到积分项偏差值的模块:

esat(k)=v(k)-u(k)

式中,fi(k)为积分项,esat(k)为控制量的饱和误差;

判断上述两式结果正负,计算得到积分项偏差值,具体判断过程如下:

s3.1、输入esat(k)和fi(k);

s3.2、如果esat(k)小于零,并且fi(k)大于零,则输出f(k)为esat(k)和-fi(k)的最大值;否则,进行s3.3;

s3.3、如果esat(k)大于零,并且fi(k)小于零,则输出f(k)为esat(k)和-fi(k)的最小值;否则,进行s3.4;

s3.4、输出f(k)=0。

s3.2中,esat(k)小于零,表示原始控制量u(k)或其变化率超过最大极值,fi(k)大于零,表示正向积分,当这两个条件同时满足,会出现正向积分饱和现象,需要削弱积分项,本专利以esat(k)作为积分削弱偏差项f(k);另外,需要注意的是,如果积分项削弱到负数,系统输入偏差e(k)没有反向,但控制量u(k)可能回到限值以内,这与控制意图相悖,故为了防止积分项为负,f(k)的最小值为-fi(k);

同样地,当出现负向积分饱和现象时,以esat(k)作为积分削弱偏差项f(k),f(k)最大值为-fi(k);

以上的实施例仅是对本发明的优选实施方式进行描述,并非对本发明的范围做出限定,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1