光伏MPPT控制算法——传统算法
作者:管理员    发布于:2022-06-23 21:32:58    文字:【】【】【

       首先,光伏MPPT控制过程中,算法通常会被分为传统算法和智能算法,其中,传统算法主要包括曲线拟合法,查表法,固定电压法、固定电流法,开路电压比例法,开路电流比例法有限周期扰动法,扰动观察法,电导增量法,间歇变步长搜索方法,功率步进法,智能算法一般可以分成模糊控制法,专家系统控制,群智能算法(包括比较经典的遗传算法、蚁群算法、粒子群算法等等),神经网络控制等等。

       本次我们介绍一下光伏MPPT控制过程中常用的传统算法。我们可以把传统MPPT控制算法分为准最大功率跟踪算法和真最大功率跟踪算法,这两类的区别是能否对于外界环境的变化做出一定的自校正调节,准最大功率算法和着呢最大功率算法在设计完成时均具有实现MPPT控制的作用,但是准最大功率算法不具备较好的可移植性,而且当参数未知时,准最大功率算法难以实现MPPT过程,而真最大功率算法具有较强的可移植性,即使参数未知,通过真最大功率算法也可以实现MPPT。只用理论性的语言描述可能会比较晦涩难懂,下面,我们将分别概述这两类传统算法的算法原理:

1.曲线拟合法:

       首先,是目前学术圈很少有人提起的曲线拟合法,当光伏阵列运行过程中,电压、电流、功率曲线可以参照下图,设C是一个在0-1之间的常数,D为占空比,dVpv/dt为电压的变化率,可以看出,(C-D)(-dVpv/dt)的变化趋势与Ppv的变化趋势几乎相同,那么,我们就可以通过确定C实现MPPT,当D=C时,(C-D)(-dVpv/dt)=0,这个时候我们就认为已经成功追踪到最大功率点,那么,在系统刚刚开始运行时,D=0,在每一次迭代过程中,令D(k)=D(k-1)+d,其中d为固定的占空比变化步长,当D=C时,该式就不会继续运算。


       曲线拟合法算法比较简单,容易实现,但是,我们拿到一个光伏模块后,需要通过测试才能得到C值,且固定步长d的大小对于稳定性及追踪速度影响较大,不易移植。

2.固定电压法:

       固定电压法也是一种准最大功率算法。下图是标准工况下光伏阵列输出的单峰曲线,可以看到,最大功率点对应电压值为68V,也就是说,当光伏阵列输出端口电压值为68V时,光伏阵列的工作点就会位于最大功率点处,即准确实现最大功率跟踪。那么,我们就可以将闭环反馈控制的方法应用在MPPT控制过程中,通过将光伏阵列输出端口的电压与参考电压值(本图中为68V)进行比较,从而控制开关管的运行情况,进而强迫光伏阵列的工作点对应电压值为参考电压值。



       固定电压法不需要编程即可实现,算法比较简单,而且可以通过增加PID环节调整开关管的运行状态;但是缺点也显而易见,只能控制光伏阵列的工作点处于一个位置,如果外界环境变化,或者更换光伏组件参数,则会导致跟踪失效。

       (插一句,这里还有一个固定电流法,和固定电压法原理相似,只不过是把光伏阵列输出端口的电流值作为控制对象,让该数值不断地逼近参考电流值,但是目前固定电流法并没有很好的应用,无论是仿真还是实际工程,主要是因为在系统运行过程中,电流波动相对较大,而且Impp和Isc差值非常小,可能只差1A,这样就会导致光伏阵列的而工作点移动速度太快,甚至会对光伏阵列中的光伏组件造成损坏)


3.开路电压比例系数法

       人们把固定电压法应用在不同参数的光伏组件实现MPPT后,突然,有一个人跳出来说:这最大功率点对应电压和开路电压正好有一个比例关系,即Umppt=(0.7~0.8)Uoc,我们以后设定参考电压的时候直接用开路电压乘以这个系数不就好啦!慢慢的,人们就算不知道具体的最大功率点对应电压值是多少,但是也可以选取0.7~0.8倍的开路电压,从而确定一个大致范围。

       相较于固定电压法相比,比例系数法明显把最大功率点对应电压值的范围缩小了,能够减少测试次数。但是,也存在和开路电压法相同的问题,在移植过程中,需要及时更改参考电压值,这就对于工作人员的要求高一些。

       (这里插一句,这个比例在控制电流也同样有用,Impp=0.85Isc,但是同样存在电压比例系数法的问题,而且在实际工程中人们更多的选择电压测试)


4.扰动观察法

       最为最经典的MPPT算法之一,扰动观察法在MPPT控制过程中具有举足轻重的作用,可以说几乎每一位入坑MPPT的同学们都是从扰动观察法开始的。通俗来讲,扰动观察差法主要是通过给电压一个向前或向后的扰动,来比较前后两步哪一步更大。我们还是用这张图,比如我们现在的工作点在30V,此时的功率值约为800W,那么,我就会另电压值增加一个固定值(比如0.5V),这样后一次运行时,光伏阵列的输出端口电压值就会变成800+,和刚刚的800W相比,现在的功率值比刚刚的功率值大,这种情况下我们就会认为扰动观察法的方向是正确的,即目前我们的电压越大,功率也就越大;那么,很快就会有小伙伴问,如果现在的工作点位于最大功率点处呢?当光伏阵列的工作点已经处于最大功率点处,也就意味着,现在所对应的功率值是最大的,向前扰动或者向后扰动均会导致输出功率减小,那么,比如说向前扰动,就会发现电压增大,功率减小,之后改变扰动方向,改为减小电压,会发现减小电压也会导致功率减小,这种情况下,光伏阵列的工作点就会在最大功率点邻域内不断跳动,这也就导致了系统稳定后,会由于扰动步长不断的在小范围内震荡,扰动观察法的算法流程图可以参照下图。




5.电导增量法:

       电导增量法与扰动观察法有异曲同工之妙,主要是通过检测光伏阵列工作点在曲线上的斜率来判断是否应该增加/减小电压值从而实现增大功率值的目的。当光伏阵列的工作点处的斜率大于零,则会继续向增加电压的方向移动。当光伏阵列的工作点处的斜率小于零,则会相反方向移动。电导增量法算法原理可以参照下图:




6.变步长扰动观察/电导增量法

通过上面扰动观察法和电导增量法的算法原理解释不难发现,这两种方法可以实现最大功率跟踪,但是在系统稳定后,均会出现震荡。为了解决这种问题,我们对这两种算法进行改进。目前,改进策略有很多,主要思想是改变固定扰动步长,变为变步长扰动,比如可以设置最初的扰动为每次改变0.1占空比,之后线性递减,经过经验,假设一般情况下经过30次迭代后系统进入稳态,那么,我们就设置算法中的步长经过三十次衰减后变为0。目前,还有通过其他方法解决系统稳定后仍存在震荡的问题,比如嵌入拉普拉斯随机数、莱维飞行等,在此不再赘述。




版权所有 Copyright(C)2013-2020 深圳市龙浩科技有限公司