本发明属于数字化控制技术领域,尤其涉及一种动态调节积分上限值的改进pid控制算法。
背景技术:
数字化控制技术在电源开发、电机控制、光伏发电等功率转换领域得到了大规模的应用于实践,pid控制是众多控制算法(包括线性和非线性控制算法、智能控制算法等)中实现最为简单、应用最为成熟的一种典型控制算法,它具有无需在线辨识、对被控对象精确模型识别度不高、鲁棒性能好的优点,因而得到工程界越来越广泛的应用与实现。
现有的pid控制算法还是基于传统的pid算法思想而设计的,它出现的年代也最为久远,已经被工程界证明是行之有效的一种算法。该算法最为突出的缺点是在计算的过程中不能很好地控制积分运算的增长上限,随着电源的输出功率逐渐增大,积分量会逐渐累积,虽然我们可以使用电源输出最大功率时所对应的积分上限值来作为整个功率输出范围的积分上限值,但是当电源没有工作在最大功率时,突然进行卸载动作,积分量也会从该固定的上限值逐渐减少到当前输出功率所对应的积分量,整个退积分幅度非常大,过程变化缓慢,会导致电源动态响应缓慢,不利于产品的稳定性与可靠性。
因此,对传统的pid算法进行改进,使其能大幅提升数字电源的动态响应,对于提高产品的稳定性与可靠性具有很强的现实意义。
技术实现要素:
本发明的目的在于提供一种动态调节积分上限值的改进pid控制算法,能大幅提升数字电源的动态响应,提高产品的稳定性与可靠性。
术语解释:pid控制:比例、积分、微分控制。
该技术应用产品:数字电源、电机控制、化工生产等。
为达到上述目的,本发明主要提供如下技术方案:
一种动态调节积分上限值的改进pid控制算法,包括如下步骤:
步骤1:确定电压环算法流程,具体如下:
(1)、计算参考量refv与检测量ov的偏差:
ev(k)=refv-ov
式中,refv为电压环参考量,ov为电压环检测量,ev(k)为电压环当前周期误差量;
(2)、计算pid的输出:
uvt(k)=kpv*e(k) iv(k) kdv*(ev(k)-ev(k-1))
式中,uvt(k)为电压环当前周期环路输出量,ev(k)为电压环当前周期误差量,ev(k-1)为电压环前一周期误差量,iv(k)为电压环当前周期积分量,kpv为电压环积分系数,kdv为电压环微分系数;
(3)、输出限幅度:
式中,uvsat为电压环饱和输出量,umax为最大输出量,umin为最小输出量;
(4)、积分量更新:
iv(k)=iv(k-1) kiv*ev(k) kcv*(uvsat-uvt(k))
式中,iv(k-1)为电压环前一周期积分量,kiv为电压环积分系数;
步骤2:确定电流环算法流程;
步骤3:输出系统最终控制量。
进一步地,步骤2具体包括:
(1)、计算参考量refi与检测量oi的偏差:
ei(k)=refi-oi
式中,refi为电流环参考量,oi为电流环检测量,ei(k)为电流环当前周期误差量;
(2)、计算pid的输出:
uit(k)=kpi*e(k) ii(k) kdi*(ei(k)-ei(k-1))
式中,uit(k)为电流环当前周期环路输出量,ei(k)为电流环当前周期误差量,ei(k-1)为电流环前一周期误差量,ii(k)为电流环当前周期积分量,kpi为电流环积分系数,kdi为电流环微分系数;
(3)、输出限幅度:
式中,uisat为电流环饱和输出量,umax为最大输出量,umin为最小输出量;
(4)、积分量更新:
ii(k)=ii(k-1) kiv*ei(k) kci*(uisat-uit(k))
式中,ii(k-1)为电流环前一周期积分量,kiv为电流环积分系数。
进一步地,步骤3具体包括:
比较电压环与电流环输出,取两者较小的一方作为最终系统的输出,即:
if(uv>ui)u=ui
elseu=uv。
本发明与现有技术相比其显著优点为:
可以根据电源输出功率,动态调节积分运算的上限值,当电源输出功率变增大时,积分上限量就变大;电源输出功率减小时,积分上限量就减小,因而发生卸载等负载跳变时,退积分的幅度相比较传统的pid算法小很多,过程变化快速,从而能大幅提升数字电源的动态响应,提高产品的稳定性与可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明以传统的llc拓扑的数字控制电源为例的动态调节积分上限值的改进pid控制算法流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合附图和具体的实施例对本发明的技术方案进行详细说明。需要指出的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明以传统的llc拓扑的数字控制电源为例来加以阐述,实际控制结构为输出电压环与输出电流环并行的控制结构,最终系统的输出取两个环路计算输出的最小值:
一种动态调节积分上限值的改进pid控制算法,包括如下步骤:
步骤1:确定电压环算法流程,具体如下:
(1)、计算参考量refv与检测量ov的偏差:
ev(k)=refv-ov
式中,refv为电压环参考量,ov为电压环检测量,ev(k)为电压环当前周期误差量;
(2)、计算pid的输出:
uvt(k)=kpv*e(k) iv(k) kdv*(ev(k)-ev(k-1))
式中,uvt(k)为电压环当前周期环路输出量,ev(k)为电压环当前周期误差量,ev(k-1)为电压环前一周期误差量,iv(k)为电压环当前周期积分量,kpv为电压环积分系数,kdv为电压环微分系数;
(3)、输出限幅度:
式中,uvsat为电压环饱和输出量,umax为最大输出量,umin为最小输出量;
(4)、积分量更新:
iv(k)=iv(k-1) kiv*ev(k) kcv*(uvsat-uvt(k))
式中,iv(k-1)为电压环前一周期积分量,kiv为电压环积分系数;
步骤2:确定电流环算法流程;
步骤3:输出系统最终控制量。
步骤2具体包括:
(1)、计算参考量refi与检测量oi的偏差:
ei(k)=refi-oi
式中,refi为电流环参考量,oi为电流环检测量,ei(k)为电流环当前周期误差量;
(2)、计算pid的输出:
uit(k)=kpi*e(k) ii(k) kdi*(ei(k)-ei(k-1))
式中,uit(k)为电流环当前周期环路输出量,ei(k)为电流环当前周期误差量,ei(k-1)为电流环前一周期误差量,ii(k)为电流环当前周期积分量,kpi为电流环积分系数,kdi为电流环微分系数;
(3)、输出限幅度:
式中,uisat为电流环饱和输出量,umax为最大输出量,umin为最小输出量;
(4)、积分量更新:
ii(k)=ii(k-1) kiv*ei(k) kci*(uisat-uit(k))
式中,ii(k-1)为电流环前一周期积分量,kiv为电流环积分系数。
步骤3具体包括:
比较电压环与电流环输出,取两者较小的一方作为最终系统的输出,即:
if(uv>ui)u=ui
elseu=uv。
该算法相较于传统的pid算法,改进之处在于积分量更新的方式有所不同,传统的积分量更新不存在抗饱和因子,在电源输出功率变大时,由于积分量被限制在系统预设的一个比较大的固定上限值,在卸载时,系统退积分过程会非常缓慢。加入该抗饱和因子后,当电源输出功率增大时,积分量增大,如果环路输出量超过最大值时,可以通过该抗饱和因子削弱当前系统积分量,从而避免系统进入积分饱和的区间,因而在卸载时,可以较为快速的进行响应。
比如一输出指标为330v/10a的llc电源,输出为0~10a的可变负载,由于负载没有超出该电源的最大输出电流10a,因而在整个负载范围内,电流环的误差,电流环的积分会一直进行正累积,电流环的输出也会一直递增直到其大于最大输出量时为止;与此同时电压环在pi调节器的作用下,电压环积分量也会逐渐累积,直到电压环误差,之后由于抗饱和因子的存在,该积分值不会随着时间的累积而无限制地增大,而是会被限制在一个合适的上限值,该上限值会随着负载的增大而增大,而不会像传统pid算法那样,不管负载多大,积分值都会被限制在一个恒定的最大值(也就是积分处于饱和状态)。如果此时负载迅速减小,电压环退积分,电压环输出减小,由于卸载前电压环的积分没有处于饱和状态,因而整个退积分的幅度也会比较小,系统再次进入新的稳定状态的也会比较迅速。在整个负载范围内,由于电流环的误差始终大于0,因而电流环的输出会始终大于电压环的输出,电源输出电压会恒定在330v。
本发明一种动态调节积分上限值的改进pid控制算法可以根据电源输出功率,动态调节积分运算的上限值,当电源输出功率变增大时,积分上限量就变大;电源输出功率减小时,积分上限量就减小,因而发生卸载等负载跳变时,退积分的幅度相比较传统的pid算法小很多,过程变化快速,从而能大幅提升数字电源的动态响应,提高产品的稳定性与可靠性。
本发明是对传统pid的不足之处提出了相应的改进方案,关键点在于如何对积分饱和的缺陷进行抑制,传统的pid算法对这点没有提出解决方案,只是笼统的对其加以限制,实际很多控制系统,载对其施加pid控制时,积分上限值是需要浮动的,如果仅仅是用一个极端的最大值加以限制,则起不到积分抗饱和的效果,系统也很容易进入饱和区间。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
1.一种动态调节积分上限值的改进pid控制算法,其特征在于,包括如下步骤:
步骤1:确定电压环算法流程,具体如下:
(1)、计算参考量refv与检测量ov的偏差:
ev(k)=refv-ov
式中,refv为电压环参考量,ov为电压环检测量,ev(k)为电压环当前周期误差量;
(2)、计算pid的输出:
式中,uvt(k)为电压环当前周期环路输出量,ev(k)为电压环当前周期误差量,ev(k-1)为电压环前一周期误差量,iv(k)为电压环当前周期积分量,
(3)、输出限幅度:
式中,uvsat为电压环饱和输出量,umax为最大输出量,umin为最小输出量;
(4)、积分量更新:
式中,iv(k-1)为电压环前一周期积分量,
步骤2:确定电流环算法流程;
步骤3:输出系统最终控制量。
2.根据权利要求1所述的动态调节积分上限值的改进pid控制算法,其特征在于,步骤2具体包括:
(1)、计算参考量refi与检测量oi的偏差:
ei(k)=refi-oi
式中,refi为电流环参考量,oi为电流环检测量,ei(k)为电流环当前周期误差量;
(2)、计算pid的输出:
式中,uit(k)为电流环当前周期环路输出量,ei(k)为电流环当前周期误差量,ei(k-1)为电流环前一周期误差量,ii(k)为电流环当前周期积分量,
(3)、输出限幅度:
式中,uisat为电流环饱和输出量,umax为最大输出量,umin为最小输出量;
(4)、积分量更新:
式中,ii(k-1)为电流环前一周期积分量,
3.根据权利要求2所述的动态调节积分上限值的改进pid控制算法,其特征在于,步骤3具体包括:
比较电压环与电流环输出,取两者较小的一方作为最终系统的输出,即:
if(uv>ui)u=ui
elseu=uv。
技术总结