发电系统发动机转速控制方法与流程

文档序号:15859438发布日期:2018-11-07 11:31阅读:1066来源:国知局
发电系统发动机转速控制方法与流程

本发明涉及自动化控制技术领域,具体而言,涉及一种发电系统发动机转速控制方法。

背景技术

pid算法是目前工业领域应用最为广泛的一种控制算法。它具有原理简单,易于实现,使用面广,控制参数项对独立,参数选定比较简单等优点。pid控制(即比例—积分—微分控制)是利用输入的参数信息和组态信息,进行pid运算。根据期望值(expect)、当前值(current)和pid的比例系数(kp)、积分系数(ki)、微分系数(kd)进行最近n次采样运算、修正,最后输出结果到执行部件。目的是让结果趋近于期望值(expect)。通常依据控制器输出与执行机构的对应关系,将基本数字pid算法分为位置式pid和增量式pid两种。目前pid算法在控制系统中的应用普遍存在以下缺陷:1.采用位置式pid算法时,每次输出均与过去的状态有关,每次控制器输出值均需要重新计算,控制器输出值连续性差,计算机运算工作量大;2.采用增量式pid算法则存在积分截断效应大,有静态误差,溢出的影响大等问题。发明人在实现本发明的过程中进一步发现:在利用pid算法调节电机转速方面,在某些设定转速值下,系统容易出现超调现象,当实际转速与设定转速较小时,由于增量式pid算法计算误差,控制输出量不生变化,实际转速无法达到设定转速。因此,如何优化pid算法使其能够克服上述缺陷实现发动机转速的稳定调节成为需要解决的技术问题。



技术实现要素:

本发明旨在至少克服现有技术中存在的上述缺陷之一,提供了一种发电系统发动机转速控制方法,能够有效提高发动机转速的稳定性,保证发电机输出电能的品质。

本发明公开的发电系统发动机转速控制方法,包括:接收上位机的设定转速信号;根据设定转速输出第一控制信号至调节发动机油门的力矩电机以改变发动机的转速,发动机用于驱动发电组件;持续获取发动机的实时转速数据;根据实时转速数据采用变系数增量式pid算法输出第二控制信号持续调节发动机转速;其中,变系数增量式pid算法基于增量式pid算法,将增量式pid算法中的kp常量系数、ki常量系数和kd常量系数对应设置为kp(t)变量系数、ki(t)变量系数和kd(t)变量系数,进行pid计算。

根据本发明的上述技术方案,优选地,变系数增量式pid算法,具体包括:在输入kp(t)、ki(t)和kd(t)变量函数时,将比例偏差[e(t)+e(t-1)]的数值作为增量式pid算法的比例系数因子,将积分偏差e(t)的数值作为增量式pid算法的积分系数因子,将微分偏差[e(t)-2×e(t-2)+e(t-1)]的数值作为增量式pid算法的微分系数因子,进行pid运算;或者,将ki(t)设置为多区间常量分段函数,将比例偏差[e(t)+e(t-1)]的数值作为增量式pid算法的比例系数因子,将微分偏差[e(t)-2×e(t-2)+e(t-1)]的数值作为增量式pid算法的微分系数因子,进行pid运算。

根据本发明的上述技术方案,优选地,变系数增量式pid算法的表达式为:

δu(t)=kp(t)×[e(t)+e(t-1)]+ki(t)×e(t)+kd(t)×[e(t)-2×e(t-2)+e(t-1)]

kp(t)=kp×d,[e(t)+e(t-1)]<a;

kp(t)=kp×d×{[(e(t)+e(t-1))÷c]%256},[e(t)+e(t-1)]≥a;

ki(t)=ki÷d,e(t)<b;

ki(t)=ki,e(t)≥b;

kd(t)=kd,[e(t)-2×e(t-2)+e(t-1)]<a;

kd(t)=kd×{[(e(t)-2×e(t-2)+e(t-1))÷c]%256},

[e(t)-2×e(t-2)+e(t-1)]≥a;

其中,δu(t)为增量,e(t)为控制器的输入,kp(t)为控制器的比例变量系数,ki(t)为控制器的积分变量系数,kd(t)为控制器的微分变量系数,kp为控制器的比例系数,ki为控制器的积分系数,kd为控制器的微分系数;kp、ki、kd、a、b、c和d均为常数。

根据本发明的上述技术方案,优选地,c=4,d=2。

本发明取得的有益效果至少包括:本发明公开的基于优化pid算法的发电系统发动机转速控制方法在实际应用过程中,既解决了位置式pid算法占用cpu大量计算资源的问题,能够适配8位单片机内核;又克服了增量式pid算法的积分截断效应大,有静态误差,某些设定转速超调的问题。可将发动机转速的稳定性提到高±10rpm,相比位置式和增量式的发动机转速波动范围±50rpm,发动机转速的稳定性有了显著的提高。发动机转速的稳定,保证了本液压发电系统发电机转速的稳定,从而提高了发电机输出电能的品质。

附图说明

图1示出了根据本发明的发电系统发动机转速控制方法的硬件组成示意图。

图2示出了根据本发明的发电系统发动机转速控制方法的一种具体实施方式的流程示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。

如图1所示,本发明公开的发电系统发动机转速控制方法应用在发电系统中,旨在实现发动机稳定调速,从而保证高品质的发电指标。控制器的内核为c8051f500型号的8位单片机,控制器根据上位机发送到can总线的提速指令和设定转速,通过pid计算,控制输出到力矩电机的电流大小,力矩电机在不同的电流下转动的扭矩不容,通过机械结构调节发动机的油门,从而实现对发动机转速的控制。

本发明公开的发电系统发动机转速控制方法包括:接收上位机的设定转速信号;根据设定转速输出第一控制信号至调节发动机油门的力矩电机以改变发动机的转速,发动机用于驱动发电组件;持续获取发动机的实时转速数据;根据实时转速数据采用变系数增量式pid算法输出第二控制信号持续调节发动机转速;其中,变系数增量式pid算法基于增量式pid算法,将增量式pid算法中的kp常量系数、ki常量系数和kd常量系数对应设置为kp(t)变量系数、ki(t)变量系数和kd(t)变量系数,进行pid计算。

优选地,变系数增量式pid算法,具体包括:在输入kp(t)、ki(t)和kd(t)变量函数时,将比例偏差[e(t)+e(t-1)]的数值作为增量式pid算法的比例系数因子,将积分偏差e(t)的数值作为增量式pid算法的积分系数因子,将微分偏差[e(t)-2×e(t-2)+e(t-1)]的数值作为增量式pid算法的微分系数因子,进行pid运算;或者,将ki(t)设置为多区间常量分段函数,将比例偏差[e(t)+e(t-1)]的数值作为增量式pid算法的比例系数因子,将微分偏差[e(t)-2×e(t-2)+e(t-1)]的数值作为增量式pid算法的微分系数因子,进行pid运算。

优选地,变系数增量式pid算法的表达式为:

δu(t)=kp(t)×[e(t)+e(t-1)]+ki(t)×e(t)+kd(t)×[e(t)-2×e(t-2)+e(t-1)]

kp(t)=kp×d,[e(t)+e(t-1)]<a;

kp(t)=kp×d×{[(e(t)+e(t-1))÷c]%256},[e(t)+e(t-1)]≥a;

ki(t)=ki÷d,e(t)<b;

ki(t)=ki,e(t)≥b;

kd(t)=kd,[e(t)-2×e(t-2)+e(t-1)]<a;

kd(t)=kd×{[(e(t)-2×e(t-2)+e(t-1))÷c]%256},

[e(t)-2×e(t-2)+e(t-1)]≥a;

其中,δu(t)为增量,e(t)为控制器的输入,kp(t)为控制器的比例变量系数,ki(t)为控制器的积分变量系数,kd(t)为控制器的微分变量系数,kp为控制器的比例系数,ki为控制器的积分系数,kd为控制器的微分系数;kp、ki、kd、a、b、c和d均为常数。为简化计算,可将常数c设置为4,将常数d设置为2。

如图2所示,本发明公开的发电系统发动机转速控制方法的一种具体实施方式包括:

s202:计算偏差量:常常是设定值与被控量之差,即e(t)=r(t)-c(t);

s204:判断[e(t)+e(t-1)]是否大于等于a;

s206:若[e(t)+e(t-1)]≥a,

则kp(t)=kp×d×{[(e(t)+e(t-1))÷c]%256},

比例结果=kp(t)×[e(t)+e(t-1)];

s208:若若[e(t)+e(t-1)]<a,则kp(t)=kp×d,

比例结果=kp(t)×[e(t)+e(t-1)];

s210:判断e(t)是否大于等于a;

s212:若e(t)≥a,则ki(t)=ki,积分结果=ki(t)×e(t);

s214:若e(t)<a,则ki(t)=ki÷d,积分结果=ki(t)×e(t);

s216:判断[e(t)-2×e(t-2)+e(t-1)]是否大于等于a;

s218:若[e(t)-2×e(t-2)+e(t-1)]<a,则kd(t)=kd,

kd(t)×[e(t)-2×e(t-2)+e(t-1)];

s220:若[e(t)-2×e(t-2)+e(t-1)]≥a,

则kd(t)=kd×{[(e(t)-2×e(t-2)+e(t-1))÷c]%256},

kd(t)×[e(t)-2×e(t-2)+e(t-1)];

s222:δu(t)=kp(t)×[e(t)+e(t-1)]+ki(t)×e(t)+kd(t)×[e(t)-2×e(t-2)+e(t-1)];uout(t)=uout(t-1)+δu(t)。

其中,uout(t)——控制器(也称调节器)的输出。

增量式pid是指数字控制器的输出只是控制量的增量δu(t)。采用增量式算法时,计算机输出的控制量δu(t)对应的是本次执行机构位置的增量,而不是对应执行机构的实际位置,因此,要求执行机构必须具有对控制量增量的累积功能,才能完成对被控对象的控制操作。执行机构的累积功能可以采用硬件的方法实现;也可以采用软件来实现,如利用算式uout(t)=uout(t-1)+δu(t);δu(t)=kp×[e(t)+e(t-1)]+ki×e(t)+kd×[e(t)-2×e(t-2)+e(t-1)]程序化来完成。

在上述实施例中,pid调节实际上是由比例、积分、微分三种调节方式组成,它们各自的作用如下:

比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。

积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数ti,ti越小,积分作用就越强。反之ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成pi调节器或pid调节器。

微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。微分作用不能单独使用,需要与另外两种调节规律相结合,组成pd或pid控制器。

综合分析上述过程,在设计kp(t),ki(t)和kd(t)变量函数时,将比例偏差[e(t)+e(t-1)],积分偏差e(t)和微分偏差[e(t)-2×e(t-2)+e(t-1)]的数值作为原比例系数,积分系数和微分系数的因子,参与pid运算。但是在试验中得出,当实际转速接近设定转速,但是无法达到设定转速时,比例计算结果,积分计算结果,微分计算结果,这三个变量,积分计算结果的作用不及比例计算结果和微分计算结果影响大。因此,将积分变系数函数ki(t)设计为不同区间的常量分段函数。而在设计kp(t)和kd(t)变量函数时,将比例偏差[e(t)+e(t-1)],和微分偏差[e(t)-2×e(t-2)+e(t-1)]的数值作为原比例系数和微分系数的因子。

这种做法可以将增量式pid运算在计算过程中,取整或四舍五入产生的计算误差消除。此外将比例偏差和微分偏差引入变系数计算,使得比例系数和微分系数为不断变化的值,而且这两个系数还有pd调节的效果,在试验中证明,这种算法还可以防止控制输出量产生超调。

针对超调的问题本发明公开了:在不同的条件下,使用不同的比例,积分和微分系数。相当于将原增量式pid计算中的kp,ki,kd常量系数变为kp(t),ki(t),kd(t)变量系数。此时设计kp(t),ki(t),kd(t)三个函数为分段常数函数,这样可以使实际转速曲线在不同的转速区域内上升或下降的斜率得到修正。函数模型为:f(t)=a,t≥m;f(t)=b,t<m。

这种做法使得发动机实际转速和设定转速差距大于等于一定值时,pid计算系数增大,控制器输出到力矩电机的电流增量大;当发动机实际转速和设定转速差距小于一定值时,pid计算系数减小,控制器输出到力矩电机的电流增量减小。换句话说,这种变系数pid算法的原理是实际转速在未达到设定转速的过程中,在不同的转速区间内,转速上升或下降的斜率不同。设定转转速和实际转速差距大,斜率大;设定转转速和实际转速差距小,斜率小。从试验数据中证明,这种方法可以有效的克服超调问题。

根据上述实施例,优化后的算法既解决了位置式pid算法占用cpu大量计算资源的问题,支持8位单片机内核;又克服了增量式pid算法的积分截断效应大,有静态误差,某些设定转速超调的问题。将优化的pid算法应用于发电机转速调节后,可将发动机转速的稳定性提到高±10rpm,相比位置式和增量式的发动机转速波动范围±50rpm,发动机转速的稳定性有了显著的提高。发动机转速的稳定,保证了本液压发电系统发电机转速的稳定,从而提高了发电机输出电能的品质。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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