基于改进粒子群的多峰值可重启MPPT算法的研究
Research on a Multi-Peak Restorable MPPT Algorithm Based on Improved Particle Swarm
摘要: 针对光伏阵列P-V曲线的多峰值特性,本文构建了多组串联光伏电池模型,并采用扰动观察法分析其非线性行为。为克服传统最大功率点跟踪(MPPT)算法易陷入局部极值的问题,提出一种基于改进粒子群优化(PSO)算法的全局MPPT策略。该算法通过优化粒子初始分布、动态调整惯性权重,并引入功率变化重启机制,提高了搜索效率与跟踪精度。实验结果表明,该方法可实现多峰值下最大功率点的快速准确跟踪,优于传统MPPT算法。
Abstract: To address the multi-peak nature of the P-V curve of a photovoltaic array, this paper constructs a model of multiple groups of series-connected photovoltaic cells and analyzes their nonlinear behavior using the perturbation-observation method. To overcome the problem of traditional maximum power point tracking (MPPT) algorithms being prone to local extrema, a global MPPT strategy based on an improved particle swarm optimization (PSO) algorithm is proposed. This algorithm improves search efficiency and tracking accuracy by optimizing the initial particle distribution, dynamically adjusting inertia weights, and incorporating a restart mechanism upon power changes. Experimental results demonstrate that this approach can achieve rapid and accurate maximum power point tracking under multi-peak conditions, outperforming traditional MPPT algorithms.
文章引用:滕敏亮, 江先志, 张巍, 田芬芳, 林建豪, 周意诚. 基于改进粒子群的多峰值可重启MPPT算法的研究[J]. 计算机科学与应用, 2025, 15(10): 306-317. https://doi.org/10.12677/csa.2025.1510270

1. 引言

光伏发电通过太阳能直接转化为电能,具有高可靠性、长寿命、零污染、可独立或并网运行等优点,正日益成为具有广阔前景的新能源形式。随着技术发展,其应用正不断拓展。然而,光伏发电系统的核心部件——光伏电池组件,普遍存在光电转换效率偏低的问题,导致单位面积发电功率不足,系统功率提升困难,从而增加整体发电成本,制约了其大规模推广[1] [2]

为提升输出效率,需采用最大功率点跟踪(MPPT)控制技术,通过引入阻抗变换器调节光伏电池端电压,使其运行点始终逼近最大功率点,实现自动寻优。传统MPPT算法适用于单一峰值,但在光伏电池串并联构成光伏阵列后,因局部遮阴、电池老化或照射不均等因素,输出P-V曲线常呈现多峰特性,易使传统算法陷入局部极值,影响跟踪效果。

近年来,国内外学者围绕光伏系统在局部遮阴条件下的多峰值最大功率点跟踪(MPPT)问题开展了大量研究。早期研究多集中于恒压法、扰动观察法和电导增量法等传统算法[3] [4],但在多峰情况下易陷入局部最优。为提升全局寻优能力,部分学者引入智能优化方法,如遗传算法、人工神经网络及粒子群优化(PSO)算法[5]-[7]。针对PSO在收敛速度和稳态振荡方面的不足,有研究提出自适应惯性权重、分区初始化及混合优化策略[8]-[10]。此外,国内亦有学者结合光伏阵列模型与局部遮阴特性,设计多峰值MPPT控制策略,并通过MATLAB/Simulink验证其有效性[11] [12]。特别是智能优化方法在多峰值MPPT问题上不断取得突破。例如,基于改进遗传算法的全局搜索方法[13],结合深度学习预测的自适应MPPT算法[14],以及引入混合灰狼优化与PSO的协同方法[15],均在跟踪速度与动态性能方面表现出较好效果。然而,这些方法往往存在模型复杂、参数难以获取或对硬件实现要求较高的问题。综上所述,现有研究在多峰值全局搜索和动态响应方面取得进展,但仍存在跟踪速度与精度难以兼顾的问题,有待进一步优化。针对这些难点,本文提出一种基于改进粒子群的多峰值可重启MPPT算法,其主要贡献如下:

(1) 构建多组串联光伏电池模型,采用扰动观察法分析P-V曲线多峰特性,验证传统MPPT算法的失效机制;

(2) 提出一种基于粒子群优化(PSO)的多峰值MPPT控制策略,结合光伏系统特性将其简化为一维寻优模型,具备良好的全局搜索与收敛性能;

(3) 从粒子初始化、惯性权重调整和功率变化率重启三方面对PSO进行改进,显著增强了跟踪精度与动态适应性;

(4) 通过Simulink仿真验证所提算法在复杂光照条件下具备更快响应与更高稳定性,性能明显优于传统方法。

2. 传统 MPPT算法在多峰值下的失效性分析

在多组串联光伏电池模型中,各串组件通过独立的旁路二极管隔离,在正常运行条件下不会产生显著电流干扰。仅在遮阴分布或光照强度变化时,串间端电压差异会通过整体P-V特性体现出来。本研究仿真中假设各串相互独立,忽略了热耦合及复杂互扰因素,以便聚焦于MPPT算法性能分析。

传统MPPT算法多基于单峰值P-V曲线,典型方法包括恒压法、扰动观察法、电导增量法及其改进算法。然而在光伏阵列出现局部遮阴时,P-V曲线会呈现多个峰值,传统算法往往仅能锁定一个局部极值点,难以实现全局最优跟踪,导致功率损失与能量浪费。

为分析传统MPPT算法在多峰值条件下的跟踪性能,本文建立了如图1所示的仿真模型,包含3块串联光伏电池板,其中S1在标准照度下工作,S2和S3分别处于部分遮阴状态,接受的光照强度分别为1000 W/m2、400 W/m2和200 W/m2。由此产生的P-V曲线具有3个峰值点,其中最大功率点电压为16.4 V,另两个局部极值点电压为37.3 V和59.7 V (见图2)。

Figure 1. Multi-peak simulation model

1. 多峰值仿真模型

Figure 2. Output characteristics under partial shading

2. 局部遮阴下输出特性

以扰动观察法为例,设扰动步长为0.5 V,编写S函数从开路电压附近启动跟踪。图3所示结果表明,该方法最终锁定在59 V附近的第三个极值点,未能达到全局最大功率点。该算法的跟踪结果受初始位置影响显著,若从开路电压一半附近启动,则工作电压将稳定在第二个极值点附近,即约37 V,如图4所示。

仿真结果表明,在多峰值条件下,传统MPPT算法难以实现全局最大功率点跟踪,易使光伏电池长期运行在局部极值点,导致持续的功率损失。

Figure 3. Perturbation observation method landing at the third extreme point

3. 扰动观察法落入第三个极值点

Figure 4. Perturbation observation method landing at the second extreme point

4. 扰动观察法落入第二个极值点

值得指出的是,光伏组件性能不仅受光照强度影响,还与组件工作温度密切相关。热辐射和环境温度升高会导致开路电压Voc下降、最大功率点Pmax减小。可用经验公式Ipv = Isc + α (T – Tref)进行定量描述,温度每升高1℃,Voc平均下降约0.3%~0.5%。因此在进一步精确建模时应考虑热辐射效应[参考IEC 61853标准等]。

3. 粒子群算法

为确保光伏阵列在局部遮阴等失配条件下仍能运行于最大功率点,亟需具备全局搜索能力的新型MPPT算法,以实现更快速、准确地寻优。综合考虑参数数量、获取难度及算法复杂度,本文选用粒子群优化算法(PSO)作为多峰值MPPT控制策略的基础,并进行多项改进以提升性能。

PSO通过个体极值和全局极值更新速度与位置,实现全局寻优。其更新公式如下:

v ij ( t+1 )=w v ij ( t )+ c 1 r 1 ( t )[ p ij ( t ) x ij ( t ) ]+ c 2 r 2 ( t )[ g j ( t ) x ij ( t ) ] (1)

x ij ( t+1 )= x ij ( t )+ v ij ( t+1 ) (2)

其中w为惯性权重,c1c2为学习因子,r1r2为随机数。PSO参数少、实现简便,适合MPPT实时控制。上述公式中,ij分别表示第i个粒子及其在解空间中的第j个维度;v (t + 1)和x (t + 1)分别表示粒子在第t次迭代后的速度和位置。参数w为惯性权重,用于体现粒子对先前速度的继承能力;c1c2分别为个体学习因子和社会学习因子;r1r2是介于0与1之间的随机数。

式(1)右侧包含三部分:惯性项通过前一速度方向控制收敛趋势,增强全局搜索能力;认知项反映个体基于历史经验向最优解靠拢;社会项体现群体信息共享,引导粒子向全局最优解聚集。

PSO凭借这种“群体智能”机制,展现出强大的非线性和多峰优化能力,参数少、实现简便、无需目标函数先验信息。相比其他优化算法,PSO具备结构简单、并行性强、易跳出局部最优等优势,收敛快、可扩展性强,其基本流程如图5所示。

粒子群算法的主要参数包括:

(1) 空间维度:指搜索空间的维数,即问题的自变量个数,由优化目标确定;

(2) 种群规模NNN:粒子数目越多,搜索范围越广,获得全局最优解的概率越高,但计算量增加。应根据问题复杂度合理设定;

(3) 惯性权重www:决定粒子对当前速度的平滑程度,www越大,全局搜索能力越强,局部搜索能力下降。通常设置在[0.8, 1.2]区间,推荐值为0.8;

Figure 5. Particle swarm optimization algorithm flowchart

5. 粒子群算法流程图

(4) 学习因子c1c2:分别控制粒子对个体最优值pbest和全局最优值gbest的依赖程度,影响搜索步长与收敛路径;

(5) 边界条件:用于限制粒子的位置和速度,防止其超出搜索范围或速度过快/过慢,保证搜索稳定性;

(6) 停止准则:常用的终止条件包括最大迭代次数、最小误差精度等,需兼顾求解速度与结果质量。

4. 基于标准粒子群的MPPT算法设计

基于粒子群算法原理,并结合光伏最大功率点跟踪(MPPT)的特点,本文首先设计了基于标准PSO的一维MPPT算法。

由于光伏阵列的最大功率点搜索为一维寻优问题,采用简化的一维粒子群模型即可。此时,公式(3)与(4)可改写为:

Δ u ij ( t+1 )=wΔ u ij ( t )+ c 1 r 1 ( t )[ p ij ( t ) U ij ( t ) ]+ c 2 r 2 ( t )[ g j ( t ) U ij ( t ) ] (3)

U ij ( t+1 )= U ij ( t )+Δ u ij ( t+1 ) (4)

其中,Δu表示电压变化率,对应粒子的速度;U表示工作电压,对应粒子的位置。

然而,直接应用标准PSO于MPPT中,因初始粒子位置随机,易导致群体陷入局部极值。为解决该问题,结合前文所述P-V特性分析,本文构建了基于标准PSO的多峰值MPPT算法,所用参数如表1所示。

图1所示3串联光伏板阵列为研究对象,为提高搜索精度与收敛速度,本文选取6个粒子组成粒子群。为避免初始粒子聚集导致陷入局部极值,采用分区随机初始化策略:在区间[0, 22]、[22, 44]和[44, Voc]各随机分布2个粒子,并通过rand函数为其赋予[−10, 10]范围内的初始速度,从而增强搜索多样性,提升全局寻优能力。初始化结果如图6所示。

初始化完成后,粒子群算法进入迭代寻优阶段,预设迭代次数为20次。根据图5,本文设计的基于标准PSO的MPPT算法在每轮迭代中执行以下步骤:

(1) 计算每个粒子当前位置输出功率(适应度);

(2) 与其历史最优值比较并更新个体极值;

(3) 比较所有粒子历史最优值,并更新全局极值;

(4) 利用公式(3)与(4)更新每个粒子的电压变化率与工作电压;

(5) 对速度和位置施加边界限制。

基于该算法逻辑,本文在MATLAB中搭建了Simulink仿真模型,并编写S函数模块。图7图8展示了6个粒子的搜索路径及其最终位置,结果表明粒子成功跳出局部极值,最终逼近全局最优点。

Table 1. Standard particle swarm MPPT algorithm parameter table

1. 标准粒子群MPPT算法参数表

空间维度

1

惯性权重w

0.8

学习因子

c1 = c2 = 0.5

种群规模

光伏阵列串联数相关

位置边界

[0, Voc]

速度边界

±10 V

粒子初始位置

在每块电池板电压范围均分

停止准则

迭代次数决定

Figure 6. Initialization of particles in standard particle swarm MPPT

6. 标准粒子群MPPT粒子初始化

Figure 7. Particle search path

7. 粒子搜索路径

Figure 8. Final position of particles

8. 粒子最终位置

Figure 9. Convergence process of standard particle swarm MPPT

9. 标准粒子群MPPT收敛过程

基于标准粒子群的MPPT算法的输出随时间变化曲线如图9所示,约在0.13 s时成功追踪到最大功率点。收敛过程见图10,第8次迭代时已有粒子逼近最优解,表明算法具备较快的收敛性能。

Figure 10. Effectiveness of standard particle swarm MPPT

10. 标准粒子群MPPT效果

5. 基于改进粒子群的MPPT算法设计

为更有效利用光伏阵列特性及提升粒子群算法性能,本文从三个方面对标准PSO算法进行改进。其改进PSO设计的理论依据包括:(1) 粒子初始化优化可避免群体集中在局部极值区,提升全局最优搜索概率;(2) 动态惯性权重调整可在早期增强全局探索、后期增强局部收敛;(3) 利用次优解作为重启初始化点可加快在光照突变后的收敛速度。提供的仿真结果验证了其在缩短收敛时间,减小稳态功率振荡,使其在动态工况下保持更高的最大功率点追踪的效果。

5.1. 优化粒子初始化位置

标准PSO中粒子位置由随机函数生成,未充分考虑光伏阵列的输出特性。已知单峰特性下最大功率点电压约为开路电压Voc的70%,在多峰情况下亦存在类似分布规律。设阵列串联数为m,则可按式(9)计算粒子初始位置。

0.7Voc+kVoc,k=0,1,2,,m1 (5)

图1所示模型中,分别在15.4 V、37.4 V和59.4 V处设定3个人工粒子,同时在每段电压区间内增设1个随机粒子,保证总粒子数仍为6个。该改进初始化策略如图11所示。

5.2. 惯性权重w优化

惯性权重用于平衡粒子群的全局与局部搜索能力:较大w增强全局搜索,较小w有利于局部收敛。标准PSO中,w固定为0.8,虽具良好收敛性,但粒子靠近全局最优点仍需较多迭代,易引起输出振荡。

为加快远离最优解粒子的收敛,同时降低陷入局部极值风险,本文采用式(6)动态调整每个粒子的惯性权重:

w=0.8( 1+ g p i g ),  i=1,2,,6 (6)

其中,g为全局最优值,pi为粒子个体历史最优值。当pig差距大时,w增大以加快搜索;差距小时则减小以增强稳定性。

Figure 11. Particle Initialization in Improved Particle Swarm MPPT

11. 改进粒子群MPPT粒子初始化

动态惯性权重的实现方法为:每轮迭代实时计算粒子个体最优值pi与全局最优值g的差,并按式(10)更新w值;在MATLAB S-function中,将更新步骤嵌入主循环实现实时调整。为避免w值突变导致搜索不稳定,设置范围[0.8, 1.2],并在相邻迭代变化超过阈值时进行平滑处理,以保证搜索过程的稳定性与结果可靠性。

5.3. 次优解的利用

粒子群算法在搜索过程中可同时获取全局最优解与多个次优解。本文将粒子在跳出其初始化区间前的个体极值记录下来,作为后续算法的人工初始化粒子,以加快下一轮寻优速度,提高收敛效率。

改进后算法的搜索效果与收敛过程如图12图13所示,可见其在约0.08 s内成功锁定最大功率点,性能优于标准粒子群算法。

改进粒子群算法与标准算法的对比如图14图15所示。结果表明,改进算法具有更快的收敛速度,能有效缩短振荡时间,提升最大功率点的稳定追踪能力。

为实现动态追踪功能,使算法在光照变化时仍能锁定最大功率点,需设定合理的重启机制。本文采用功率变化率重启法,设功率变化率为δ,当算法进入稳态且满足以下条件时触发重启:

δ= | P real P m | P m >0.05 (7)

Figure 12. Convergence process of improved particle swarm MPPT

12. 改进粒子群MPPT收敛过程

Figure 13. Performance of the improved particle swarm MPPT algorithm

13. 改进粒子群MPPT算法效果

其中δ为设定阈值,表示功率变化趋于稳定。该方法可确保算法在环境扰动后重新启动,快速适应新的最优工作点。

在仿真过程中,当算法于0.2 s已追踪到最大功率点后,将三块光伏电池的光照强度调整为800 W/m2、600 W/m2和500 W/m2,引发阵列遮阴状态变化,导致输出特性发生变化。此时,最大输出功率为230.5 W,对应工作点电压为57.4 V,最大功率点从第一个峰值转移至第三个峰值(见图16)。

图17所示结果表明,改进粒子群MPPT算法能够准确识别外界变化,及时重启并成功追踪到新的最大功率点,展现出良好的动态适应能力。

Figure 14. Comparison of V-t curves before and after improvement

14. 改进前后V-t曲线对比

Figure 15. Comparison of P-t curves before and after improvement

15. 改进前后P-t曲线对比

Figure 16. Changes in output characteristics due to variations in irradiance

16. 光照强度变化导致的输出特性变化

Figure 17. Tracking performance before and after irradiance changes

17. 光照变化前后算法追踪效果

上述仿真对应的伪代码如下:

```````````````

For each iteration:

Evaluate power Pi of particle i

Update pbest_i and gbest

If particle trapped in local optimum then

Save pbest_i as candidate_subopt

End For

When restart condition triggered:

Initialize new particle(s) at candidate_subopt

Resume iteration from updated swarm

```````````````

其作用机理为:当粒子在局部极值停滞时,将其历史最优值作为次优解保存。在外部条件突变或触发功率变化率重启机制时,系统以次优解为初始化点之一,能有效加快收敛并减少盲目随机搜索。

6. 结束语

本文首先以扰动观察法为例,分析了传统MPPT算法在多峰值条件下难以准确跟踪最大功率点的问题。为此,综合参数可获取性与算法复杂度,选用粒子群算法(PSO)构建多峰值MPPT控制策略,并基于光伏阵列特性设计了一种具备全局寻优能力的标准PSO算法,验证了其良好的跟踪性能。

在此基础上,进一步结合光伏特性与PSO结构优势,对算法进行初始化优化、惯性权重动态调整及次优解利用等改进,提出一种具备更强动态响应能力的改进PSO-MPPT算法。仿真结果表明,该方法有效提升了追踪速度与精度,显著降低了光伏系统在复杂工况下的能量损耗。

NOTES

*通讯作者。

参考文献

[1] 崔容强. 太阳能光伏发电——中国低碳经济的希望[J]. 自然杂志, 2010, 32(3): 149-154.
[2] 侯舵. 我国发展太阳能光伏发电的必要性及技术分析[J]. 电子制作, 2014(18): 193-193.
[3] 李晶, 窦伟, 徐正国, 等. 光伏发电系统中最大功率点跟踪算法的研究[J]. 太阳能学报, 2007, 28(3): 268-273.
[4] Enslin, J.H.R., Wolf, M.S. and Snyman, D.B. (1997) Integrated Photovoltaic Maximum Power Point Tracking Converter. IEEE Transactions on Industrial Electronics, 44, 769-773. [Google Scholar] [CrossRef
[5] Mastromauro, R.A., Liserre, M. and Dell’Aquila, A. (2012) Control Issues in Single-Stage Photovoltaic Systems: MPPT, Current and Voltage Control. IEEE Transactions on Industrial Informatics, 8, 241-254. [Google Scholar] [CrossRef
[6] Ishaque, K., Salam, Z., Amjad, M., et al. (2012) An Improved Particle Swarm Optimization (PSO)—Based MPPT for PV With Reduced Steady-State Oscillation. IEEE Transactions on Power Electronics, 27, 3627-33638. [Google Scholar] [CrossRef
[7] 张利彪, 周春光, 马铭, 等. 基于粒子群算法求解多目标优化问题[J]. 计算机研究与发展, 2004, 41(7): 1286-1291.
[8] 吴俊娟, 姜一达, 王强, 等. 一种改进的光伏系统MPPT控制算法[J]. 太阳能学报, 2012, 33(3): 478-484.
[9] 娄贺伟. 基于自适应粒子群算法的光伏阵列多峰值MPPT研究[D]: [硕士学位论文]. 锦州: 辽宁工业大学, 2015.
[10] 陈晓静. 基于粒子群优化算法的局部遮阴下光伏系统MPPT技术研究[D]: [硕士学位论文]. 合肥: 合肥工业大学, 2014.
[11] 谭伟付. 基于多峰值MPPT光伏并网系统的研究[D]: [硕士学位论文]. 南宁: 广西大学, 2014.
[12] 张悦. 基于多峰值MPPT控制的光伏发电系统的研究与设计[D]: [硕士学位论文]. 南京: 南京理工大学, 2015.
[13] Li, H., Wang, Y., Sun, J., et al. (2019) A Hybrid GA-Based MPPT for PV under Partial Shading Conditions. Solar Energy, 181, 360-370.
[14] Kumar, N., Singh, P. and Verma, A. (2021) Deep Learning Based Adaptive MPPT for PV Systems. Renewable Energy, 174, 1044-1056.
[15] Zhang, Q., Chen, M. and Zhou, Y. (2023) Hybrid Grey Wolf-PSO Algorithm for Global MPPT under Partial Shading. IEEE Access, 11, 45678-45689. [Google Scholar] [CrossRef