基于Proteus模型的光伏系统可信仿真:改进型 HC MPPT算法的测试案例
摘要
对于从事该领域研究的研究人员而言,光伏(PV)系统最大功率点跟踪(MPPT)控制器的实际实现仍然是一个重大挑战。通常,他们使用仿真工具在实际实现之前评估其MPPT算法的性能。在此背景下,本文旨在提出一种基于Proteus软件设计的光伏系统的可信仿真。所提出的光伏模拟器可用于验证和评估MPPT算法的性能,更接近实际实现情况。该模型的主要优势在于其包含了一个现实存在的真实微控制器,因此在仿真中使用的MPPT算法代码可直接用于实际实现中。相比之下,在使用Powersim Software(PSIM)或Matlab/Simulink时,一旦开始实际实验就必须重写算法代码,因为这些工具并未提供微控制器或电子电路板,无法像实际实验那样实现和测试我们的算法。在此之后,本文介绍了一种改进的爬山(HC)算法。该算法能够在日照强度快速变化的情况下避免传统HC算法所面临的漂移问题。仿真结果表明,该方法在效率(99.21%)和响应时间(10毫秒)方面表现出良好性能,相较于传统HC算法分别提高了1.2%和70毫秒。
关键词 :Proteus;最大功率点跟踪算法;光伏模拟器;漂移问题
1. 引言
如今,与其他可再生能源相比,太阳能已占据较大的市场份额[1–3]。这一发展促使许多研究人员致力于寻找有效解决方案,以提高从光伏组件中提取的光伏能量。在这些解决方案中,最大功率点跟踪(MPPT)技术[4–7]尤为突出。这些技术用于控制DC‐DC转换器,以从光伏系统中提取最大功率。DC‐DC转换器的作用是在光伏阵列与负载之间实现阻抗匹配。此外,许多研究还探讨了局部阴影条件(PSC)对光伏能量提取的影响,始终旨在提升光伏系统的效率。因此,文献中提出了多种全局最大功率点跟踪(GMPPT)技术,以使光伏系统在局部阴影条件下仍能以实际最佳效率运行[8–13]。另一方面,为了验证
为了评估这些技术的性能,必须在实施前对其进行测试。因此,研究人员通常使用Matlab‐Simulink或PSIM等仿真工具对光伏系统进行建模,并测试其最大功率点跟踪算法的性能[14–16]。然而,这些工具的主要缺点是它们不包含微控制器或嵌入式板(如数字信号处理器(DSP)、现场可编程门阵列FPGA、Arduino、可编程接口控制器(PIC)…),而最大功率点跟踪算法需要在这些硬件上实现并测试,如同在实际原型中所做的那样。因此,一旦开始在真实光伏系统中实际实现最大功率点跟踪算法,由于软件开发与开发过程中需求之间的差异,可能会出现多种问题。此外,由于所使用的全部组件(DC/DC变换器、传感器、执行器和微控制器)均为真实器件,不同于仿真工具中设计的组件,因此在发生故障时很难确定具体是哪个组件导致的问题。这会增加调试运行时错误所需的时间。相反,通过使用Proteus工具作为建模和仿真的替代方案,可以避免这些问题。
Proteus 是一款电子电路设计软件,包含原理图捕捉、PROSPICE仿真和印制电路板(PCB)布局模块。其元件库中提供了诸如PIC和Arduino等嵌入式板,我们可以像现实中一样,通过将十六进制代码上传到微控制器来实现控制算法。此外,该工具开发了更接近现实的元器件或模型,从而可以获得更精确的结果。图1展示了在Proteus中与使用传统设计工具开发电路板的步骤比较。从该图可以看出,当使用Matlab/Simulink或PSIM等传统设计工具时,必须等到印刷电路板或物理原型完成后才能开始软件开发与测试系统。此后,如果硬件设计存在问题,则整个过程必须重复进行。然而,使用Proteus后,一旦完成原理图绘制,即可立即开始软件开发,并可在物理原型制作前对软硬件结合进行充分测试。此外,在Proteus中实现于微控制器的同一算法代码也可直接用于实际实验。而使用 PSIM或Matlab/Simulink时,在开始实际实验后则需要重新编写算法代码。基于这些原因,研究人员和工程师可真正受益于Proteus,在实际实现之前测试和评估其最大功率点跟踪算法的性能。
与使用传统设计工具开发的步骤相比,(b) 如 Matlab/Simulink或PSIM。)
然而,据作者所知,目前在文献中尚未发现基于Proteus软件对整个光伏系统进行的仿真。尽管最近有一些研究开始尝试在Proteus中对光伏面板进行仿真。我们在先前的工作[17–20]中提出并验证了一种光伏组件的单二极管Proteus模型。文献[21]中的作者提出了Proteus中的光伏面板双二极管模型。在此背景下,本文旨在提出一个完整的基于Proteus的光伏系统设计,可用于作为测试最大功率点跟踪算法性能的仿真器。该仿真器由光伏面板模型、DC‐DC转换器、电压和电流传感器、图形分析模块、液晶显示屏(LCD)以及实现最大功率点跟踪算法的Arduino UNO开发板组成。本文详细描述了在Proteus环境下光伏系统的设计细节。此外,本文提出了一种改进的爬山法(HC)最大功率点跟踪算法,以避免传统HC算法在日照强度快速变化时产生的漂移问题。
本文其余部分组织如下。第2节介绍在Proteus中的光伏系统设计,并描述在日照强度快速变化情况下,传统和改进的爬山法最大功率点跟踪方法下漂移问题的影响分析。第3节讨论了仿真结果。最后,第4节总结全文并展望未来工作。
2. 材料与方法
2.1. 光伏系统描述
2.1.1. 整个光伏系统描述
图2显示了Proteus上整个光伏系统的原理图。该系统由光伏面板、DC‐DC转换器、最大功率点跟踪控制器和负载组成。光伏面板通过升压转换器与负载相连。在Arduino开发板上实现的最大功率点跟踪控制器利用电压和光伏电流数据来控制升压转换器以达到最大功率点。该控制器的代码首先在Arduino软件(IDE)中开发,然后将其十六进制代码上传到Proteus中的开发板。
2.1.2. Proteus光伏面板模型
最常用的太阳能电池模型的等效电路由一个二极管和一个并联的电流源,以及一个分流电阻 $ R_{sh} $ 和一个串联电阻 $ R_s $ 组成,如图3所示。基于该电路图,输出电流由以下表达式[22]给出:
$$
I = I_{ph} - I_{s,0} \left( \exp\left(\frac{V + IR_s}{aV_t}\right) - 1 \right) - \frac{V + IR_s}{R_{sh}} \quad (1)
$$
其中:
- $ I_{ph} $:表示太阳能电池的光电流(A);
- $ I_{s,0} $:表示太阳能电池的反向饱和电流(A);
- $ V $:表示太阳能电池的输出电压(V);
- $ a $:表示太阳能电池的二极管理想因子;
- $ V_t $:表示太阳能电池的热电压。
在本研究中,使用了TDC‐M20‐36面板,表1列出了其参数。图4展示了带有Spice代码的Proteus光伏板模型。在此模型中,必须根据TDC‐M20‐36面板的规格输入所用二极管的参数(饱和电流、电池数量、理想因子和带隙能量)。请注意,该光伏面板模型已在我们之前的论文[17]中通过仿真/实验结果进行了验证。
| TDC‐M20‐36 | |
|---|---|
| 光伏板最大功率 | 20 W |
| 光伏板最大功率时的电压 | 18.76 V |
| 光伏板最大功率时的电流 | 1.07 A |
| 短路(SC)时的电流Isc | 1.17 安培 |
| 开路电压Voc | 22.70伏特 |
| 开路温度系数Kv | −0.35%/°C |
| 短路温度系数Ki | −0.043%/°C |
| 电池数量 | 36 |
2.1.3. 升压型直流‐直流转换器
DC‐DC转换器是带有最大功率点跟踪控制器的光伏系统的核心元件,它提供光伏阵列与负载之间的阻抗匹配。图5展示了所用DC‐DC转换器的电路图。表2列出了其主要参数,即电感(L)、输入电容(Cin)、输出电容(Cout)以及开关频率(fs)。此外,公式(2)和(3)定义了其输入与输出之间的关系。
$$
V_0 = \frac{V}{1 - \alpha} \quad (2)
$$
$$
I_0 = I(1 - \alpha) \quad (3)
$$
$$
R_{eq} = \eta(1 - \alpha)^2 R_{load} \quad (4)
$$
其中:
- $ I_0 $:表示升压转换器的输出电流(A);
- $ I $:表示光伏模型的输出电流(A);
- $ V_0 $:表示升压转换器的输出电压(V);
- $ V $:表示光伏模型的输出电压(V);
- $ R_{eq} $:光伏组件所见的等效电阻(Ω);
- $ R_{load} $:光伏系统的负载电阻(Ω);
- $ \eta $:升压转换器的效率(%);
- $ \alpha $:占空比。
| 参数 | 值 |
|---|---|
| L | 20 毫亨 |
| Cin | 220 µF |
| Cout | 470 µF |
| fs | 1 千赫兹 |
2.1.4. 最大功率点跟踪算法
最大功率点跟踪技术是一种通过调节DC‐DC转换器的占空比来从光伏组件中提取最大功率的控制器。本文采用一种名为扰动观察法算法的经典算法对光伏系统进行最大功率点跟踪控制。但是,正如文献所报道的,当日照强度快速变化[23,24]时,该算法存在漂移问题。因此,提出了一种改进型扰动观察法算法来解决这一问题。
传统HC最大功率点跟踪算法
传统HC算法基于P‐V特性曲线,通过考虑光伏功率变化量($ dP $)和光伏电压变化量($ dV $)来实现。然而,该最大功率点跟踪算法在日照强度快速变化(日照强度快速增加)时存在漂移问题。图6展示了在日照强度快速增加下的光伏曲线。从该图可以看出,当在第3点处日照强度增加时,工作点被设定为新曲线上的第4点($ dP = P_4(kTa) - P_3(kTa) > 0 $,$ dV = V_4(kTa) - V_3(kTa) > 0 $)。此外,如图7所示的传统HC MPPT算法的流程图中,随着日照强度的增加,占空比减小,导致工作点从第4点向新曲线上的最大功率点(MPP)第5点移动,这就是所谓的漂移问题。类似的情况也发生在其他点日照强度增加时。因此,在阴天导致日照强度快速变化时,会出现漂移问题。问题是由于传统HC MPPT算法在$ dP/dP > 0 $时做出的错误决策所致。
改进型HC最大功率点跟踪算法
在检测到传统HC算法做出错误决策的循环后,提出了一种简单的解决方案,以克服爬山法算法带来的明显问题。
光伏电流与电压之间的关系可表示如下:
$$
I = \frac{V}{R_{eq}} \quad (5)
$$
等效电阻的值由公式(4)定义。这种关系也可以基于光伏组件的单二极管模型表示如下:
$$
I = I_{ph} - I_0 \left( \exp\left( \frac{q(V + IR_s)}{\partial KTN_s} \right) - 1 \right) - \frac{(V + IR_s)}{R_{sh}} \quad (6)
$$
将方程(5)代入方程(6),并考虑一阶泰勒级数展开,方程(7)可表示如下:
$$
\frac{V}{\eta(1 - \alpha)^2 R_{load}} = I_{ph} - \frac{I_0}{\partial KTN_s} \left( qV + \frac{R_s}{\eta(1 - \alpha)^2} V \right) - \frac{V}{R_{sh}} - \frac{R_s}{R_{sh}} \cdot \frac{V}{\eta(1 - \alpha)^2 R_{load}} \quad (7)
$$
通过简化方程(7),在辐照度G和负载线斜率条件下,输出电压V可以表示为电流$ I_{ph} $的函数,如下所示:
$$
\frac{V}{G} = \frac{I_{ph}/G}{1 + \frac{I_0}{aKTN_s} \left( q + \frac{R_s}{\eta R(1 - \alpha)^2} \right) + \frac{1}{R_{sh}}} \quad (8)
$$
将(8)代入(5)可得
$$
\frac{I}{G} = \frac{1}{\eta R_{load}(1 - \alpha)^2} \cdot \frac{I_{ph}/G}{1 + \frac{1}{R_{sh}} + \frac{I_0}{aKTN_s} \left( q + \frac{R_s}{\eta R(1 - \alpha)^2} \right) + \frac{1}{R_{sh}}} \quad (9)
$$
在日照强度为G时,$ I_{ph} $可表示为$ I_{sc,n} $、n的函数,如下所示:
$$
I_{ph/G} = (I_{sc,n} + K_1 \Delta T) \frac{G}{G_n} \quad (10)
$$
其中,$ I_{sc,n} $为标准条件下的短路电流,$ K_1 $为短路电流/温度系数,$ \Delta T = T - T_n $(T和Tn分别为当前温度和额定温度)。
由公式(8)和(9)可得公式(10)。此外,可推导出公式(11)和(12),用于根据日照强度得出输出电压V和电流I的表达式。
$$
\frac{dV}{dG} = \frac{(I_{sc,n} + K_1 \Delta T) \frac{1}{G_n} + K_1 \frac{G}{G_n} \frac{dT}{dG}}{1 + \frac{R_s}{R_{sh}} + \frac{I_0}{aKTN_s} \left( q + \frac{R_s}{\eta R_{load}(1 - \alpha)^2} \right) + \frac{1}{R_{sh}}} > 0 \quad (11)
$$
$$
\frac{dI}{dG} = \frac{1}{\eta R_{load}(1 - \alpha)^2} \cdot \frac{(I_{sc,n} + K_1 \Delta T) \frac{1}{G_n} + K_1 \frac{G}{G_n} \frac{dT}{dG}}{1 + \frac{R_s}{R_{sh}} + \frac{I_0}{aKTN_s} \left( q + \frac{R_s}{\eta R_{load}(1 - \alpha)^2} \right) + \frac{1}{R_{sh}}} > 0 \quad (12)
$$
条件 $ \frac{dV}{dG} > 0 $ 和 $ \frac{dI}{dG} > 0 $ 在日照强度快速增加的情况下成立。因为在公式(11)和(12)中,分子和分母均为正值。因此,从图8所示的光伏组件I‐V特性曲线可以看出,在日照强度快速增加的情况下,$ dV > 0 $ 和 $ dI > 0 $。因此,为了避免漂移问题,我们依靠$ dV $和 $ dI $的信息做出正确决策。
如图8所示,对于两个不同的辐照度值,在日照强度快速增加时,$ dV $ 和 $ dI $ 指标始终为正值。因此,为解决漂移问题,改进的HC MPPT算法根据图9所示流程图中的决策进行判断。
2.2. 在Proteus软件中的光伏系统设计
图10展示了在Proteus中完成的光伏系统设计。如图所示,该光伏系统可分为以下八个模块:
- 模块(1):展示光伏面板模型的子电路。
- 模块(2):表示升压转换器。
- 模块(3):表示嵌入式板(Arduino Uno)。
- 模块(4):呈现LCD屏幕,用于显示光伏电压、电流和功率的值。
- 模块(5):展示驱动器(TC4420),用于控制升压转换器的金属氧化物半导体场效应晶体管 (MOSFET)。
- 模块(6):表示用于测量光伏电流的电流传感器(INA169)。该传感器的建模基于Proteus工具中可用的INA168。为了对该传感器进行建模,您需要遵循以下步骤:
- 启动Proteus工具应用程序。
- 打开元器件选择界面。
- 选择INA168元件。
- 添加两个电阻R5(0.1Ω) 和 R6(50 KΩ)。其中Rs是串联在光伏组件输出端与升压转换器之间的分流电阻,RL是连接在INA168的1引脚与地之间的负载电阻。
- 将电源电压设置为6 V,以使其与INA169的电压相匹配。
然后,光伏面板输出电流可以通过公式(13)[25]定义。
$$
I_S = \frac{V_{out1}}{1K\Omega} \cdot \frac{R_5}{R_6} \quad (13)
$$
- 模块(7):表示用于测量光伏电压[26]的电压传感器模块(B25电压传感器模块)。该模块本质上是一个使用两个串联电阻的分压器。光伏面板输出电压由公式(14)定义:
$$
V_{out2} = \frac{R_3}{R_3 + R_4} V_{in} \quad (14)
$$
其中 $ R_3 = 25K\Omega $ 和 $ R_4 = 100K\Omega $
- 模块(8):呈现图形分析,用于显示仿真结果。
3. 结果与讨论
为了检验传统和改进型HC最大功率点跟踪算法解决漂移问题的有效性,进行了日照强度从500 W/m²快速变化到750 W/m²,以及从750 W/m²快速变化到1000 W/m²的测试。相应结果如图11所示。
从该图可以看出,当日照强度增加时,传统HC算法无法避免漂移问题,而改进型HC算法能够无漂移地跟踪最大功率点。此外,表3给出了在不同均匀辐照度下传统与改进型HC MPPT算法的比较结果。
在日照强度从500 W/m²快速变化到750 W/m²的测试案例中,效率达到99.15%,响应时间为10毫秒;而在日照强度从750 W/m²快速变化到1000 W/m²的测试案例中,效率为99.21%,响应时间(10毫秒)。在这两个测试案例中,与传统HC相比,效率提高了1.2%,响应时间缩短了70毫秒。因此,与传统HC算法相比,改进型HC算法在发生漂移时可通过获取额外功率来提高光伏系统的效率。由此可见,该方法能够在光伏面板的生命周期内实现显著的能量增益。
| MPPT算法 | G = 500 W/m² | G = 750 W/m² | G = 1000 W/m² | |||
|---|---|---|---|---|---|---|
| 效率 | 响应时间 | 效率 | 响应时间 | 效率 | 响应时间 | |
| 传统HC | 98.39% | 10 毫秒 | 98.55% | 80 毫秒 | 98.85% | 80 毫秒 |
| 改进型HC | 99.11% | 5 毫秒 | 99.15% | 10 毫秒 | 99.21% | 10 毫秒 |
4. 结论
本文提出了一种在Proteus软件下开发的简单光伏系统。该系统可用作仿真器,在实际实现前测试MPPT算法的性能。该仿真器由光伏面板模型、DC‐DC转换器、电压和电流传感器、图形分析、LCD屏幕和Arduino Uno开发板组成。本文证明,选择Proteus软件来测试MPPT算法可缩短光伏系统的实现时间,因为在仿真中使用的C语言MPPT代码将直接用于实际物理原型。此外,在日照强度快速变化条件下,对传统和改进型HC MPPT算法的仿真结果表明,改进方法能够避免漂移问题。同时,与传统HC相比,效率和响应时间分别提高了1.2%和70毫秒。
展望未来,后续研究将集中在以下两个方面:(i)设计一种简单的方法,在部分遮阴条件下通过简单指令找到全局最大功率点;以及(ii)使用所提出的光伏模拟器实现该方法。
作者贡献 :A.C.、S.M. 和 A.E.G. 进行了简单光伏模拟器的研究。此外,A.C. 进行了仿真检验。A.E.H.、U.S. 和 A.D. 对稿件进行了修订。所有作者均已阅读并同意该稿件的发表版本。
资金支持 : 作者声明本研究无任何资金支持。
致谢 : 作者谨向沙特阿拉伯利雅得苏丹王子大学工程学院可再生能源研究实验室表示诚挚的感谢,感谢其提供的技术支持。
利益冲突 :作者声明他们不存在竞争利益。
缩写
- PV:光伏
- MPPT:最大功率点跟踪
- HC:爬山法
- GMPP:全局最大功率点
- PCB:印刷电路板
符号说明
- $ a $:二极管理想因子
- $ I_{ph} $:光电流 [A]
- $ I_0 $:升压转换器输出电流 [A]
- $ I_{mpp} $:最大功率点电流 [A]
- $ G $:太阳辐照度水平 [W/m²]
- $ G_n $:额定太阳辐照度 [W/m²]
- $ K $:玻尔兹曼常数 [J·K⁻¹]
- $ N_s $:串联电池数量
- $ R_{load} $:负载电阻 [Ω]
- $ R_{eq} $:DC‐DC升压变换器等效输入电阻 [Ω]
- $ R_s $:太阳能电池串联电阻 [Ω]
- $ R_{sh} $:太阳能电池并联电阻 [Ω]
- $ T $:结温 [K]
- $ T_n $:额定温度 [K]
- $ V $:光伏组件输出电压 [V]
- $ V_{mpp} $:最大功率点电压 [V]
- $ V_0 $:升压输出电压 [V]
- $ \eta $:DC‐DC升压变换器效率 [%]
- $ \alpha $:占空比

被折叠的 条评论
为什么被折叠?



