光伏发电最大功率点跟踪MPPT(粒子群算法)

article/2025/10/23 0:49:30

       光伏电池作为太阳能发电的核心部件,实现了太阳能到电能的转换,但是由于光伏电池器件本身的复杂性以及现如今光电材料的限制,光伏电池的转换效率总体来说还是比较低,而且其输出还是非线性的,并且光照强度和外界温度对其输出的影响也很大,这使得其本就不高的转化率进一步降低了。所以现如今对光伏电池输出特性的研究已经成为了光伏发电产业一大重要课题,为了充分利用光伏电池的输出量,最大程度的发挥光伏电池的作用,最好的策略是使光伏电池工作在最大功率点(MPP)上。为了实现这一目的,最大功率点追踪(MPPT)算法应运而生。理想的MPPT的作用就是使光伏电池一直工作在最大功率点上,当外界温度、光照等因素发生变化时,最大功率点会发生移动,它会自动追踪并稳定在最大功率点工作。

图 光伏电池MPPT结构框图

最大功率点追踪的分类

    通常按照算法复杂度和智能度的进化,可以将MPPT算法大致分为三类:

    (1)基于数学模型,通过计算和拟合的算法

主要是固定电压法(CVT)和固定电流法(CIT)。这两个的工作原理有很大的相似之处,都是通过预测试得到光伏电池在光照强度、温度等外界条件不同时最大功率点(MPP)的电压或电流,这样我们就会得到一系列的离散的电压点或者电流点。而在实际光伏电池工作时,我们只需要检测当时的外界条件,就可以通过查表和简单的插值计算求出MPP处的近似电压或者近似电流,然后进行恒压控制。虽然CVT或者CIT看起来运算简单,而且追踪MPP的速度也十分可观。但是它的缺点也十分明显,毕竟它们跟踪到的值并不是实际的MPP,只是一个近似值。还有一个缺点就是经过长时间运行,光伏电池本身的特性也会发生变化,而这些变化也会引入误差,对MPP的判断造成干扰。

(2)自寻优控制算法

      这种方法主要通过结合控制理论的同时根据光伏电池的等效模型和外部特性实现自寻优的MPPT。现如今主要有基于阻抗匹配和基于P—U曲线单峰值这两类自寻优控制算法。但是由于基于阻抗匹配MPPT算法在计算等效内阻抗的时候运用的微分和差分运算会引入干扰,这会使得系统的信噪比降低,上述问题严重阻碍了这一方法的实际应用。

      基于P—U曲线单峰值MPPT算法主要有:扰动观察法、电导增量法以及这两种算法的改进算法。

      通常扰动观察法的具体步骤大致可以分为两步,第一步我们需要先设置一个扰动,即在间隔一个采样周期后,以一个固定的步长增大或着减小光伏电池的输出电压值;第二步需要观察光伏电池的输出功率是增大还是减少,如果输出功率增加的话,之后就进行同向的扰动,反之,就进行反向的扰动。在经过了多次扰动后,光伏电池的输出功率就会达到MPP,或者是在MPP左右来回小幅度的震荡。

      电导增量法是通过设定一些很小的步长,来判断当前是工作在MPP的哪侧,使光伏电池稳定在MPP附近的邻域里。当曲线斜率时,工作在MPP右侧,通过增大光伏电池输出电流的参考值来减小直流母线侧的电压,使得达到MPP;当曲线斜率时,工作在MPP左侧,通过减小光伏电池输出电流的参考值来增大直流母线侧的电压,使得达到MPP。电导增量法可以根据输出电流的变化来对蓄电池稳态变化做出正确的判断。

      扰动观察法和电导增量法采用的是一种功率反馈的方式,虽然它们在硬件实现上比较简单,但是它们也有个明显的缺点:由于电压调整步长是固定的,即使达到稳定状态,它的实际工作点也会在最大功率点处来回晃动,这会造成一定程度上光伏输出功率的损失。虽然选择较小的步长会在一定程度上减缓在MPP的晃动现象,提高它的追踪精度,但是这也会使得其追踪速度大幅度地降低。

(3)智能化控制算法

      随着现如今智能控制的飞速发展,一些学者也开始尝试将智能控制的方法用于光伏发电系统的MPPT中。智能化控制算法虽然相对于自寻优控制算法有较高的优越性,但是它也具有很多缺点。例如:模糊控制方法过度依赖于模糊规则的选取,而这常常需要操作者在这方面有很丰富的经验;人工神经网络、蚁群优化、粒子群算法这类智能算法的实现往往是建立在大量数据的基础上的。为了获得很好的结果,智能算法就需要比较长的运算周期和性能十分良好的硬件平台,这在一定程度上阻碍了其在现代工业控制中的应用。

    本文采用了粒子群算法实现光伏电池的MPPT,下面将对其进行详细介绍。

粒子群算法研究

工作原理

    粒子群算法最开始是由Kennedy和Eberhart在1995共同提出的,其基本思想是每个的潜在解都是搜索空间的粒子,所有的粒子都有一个被优化的函数决定的,每个粒子还有一个速度向量决定它们飞翔的方向和距离,然后粒子们就追随当前的最优粒子在解空间中进行搜索。

    粒子群中的初始位置是在搜索区域内随机产生的,每个粒子群的初始速度也是随机。在搜索过程中,粒子群和每个粒子所经历的最好的位置及相应的适应度函数值都分别被记忆下来。粒子群优化算法的基本概念在于加速每个粒子朝它自己所经历的和种群所经历的最好位置移动。

    根据粒子群算法的工作原理可以得到它的算法实现流程图如下:

图 粒子群算法实现流程图

仿真验证

       在进行MPPT算法仿真测试时,设置光伏电池当光照强度为1000w/㎡,温度为25℃时的最大功率点(MPP)处的I=3.96A、V=33.68v。仿真得到光伏电池的U-I特性曲线如下图:

图 光伏电池U-I特性曲线

    根据光伏电池的输出特性,可以得知对于外界条件恒定的输出功率为单峰值光伏电池模型,它的U-I特性曲线的拐点处为最大功率点。或许这样还不易判断仿真曲线是否与我们设置的最大功率点吻合,但经过数学计算的最大功率点的功率应该为P=33.68*3.96≈133w。

图 光伏电池P-I特性曲线

     下一步将对应用粒子群算法实现MPPT的模型进行仿真,MPPT的Simulink仿真模型如下图所示。

图 粒子群算法MPPT的Simulink仿真模型

MPPT粒子群算法

global D;
global v; %初始化粒子群参数-速度
global P; %计算每次迭代的功率
global P_wending_best;%一次搜索结束后最大功率值for k=1:3v_old=v(k);w=W_max-N/15*(W_max-W_min);c1=C_1_max-N/15*(C_1_max-C_1_min);c2=C_2_min+N/15*(C_2_max-C_2_min);v(k)=w*v_old+c1*rand(1)*(dd(k)-D(k))+c2*rand(1)*(DD-D(k));D_old=D(k);D(k)=D_old+v(k);if D(k)<0.1D(k)=0.1;endif D(k)>0.9D(k)=0.9;endend%disp('更新的速度与占空比位置');disp(v);disp(D);M=1;N=N+1;disp('最优占空比和最大功率值');disp(N-1);disp(DD);disp(Pbest);%disp('粒子各自的最好值');disp(dd);disp(pbest);disp('排序前');disp(D);disp(pbest);if rem(N,2)==1       %粒子群粒子进行排序  按占空比从小到大  再从大到小

     在该模型中,主要运用S-Function模块将编写好的扰动观察法封装成一个子系统,该系统将光伏电池输出电压和输出电流作为输入,输出控制Mosfet开关的占空比,通过占空比调节外部阻抗使其与内阻相等,这使光伏电池工作在最大功率点上。从图中可以看出光伏电池在4s左右通过MPPT追踪到MPP,并在之后的时间里在最大功率点工作。

图 粒子群算法光伏电池输出功率曲线


http://chatgpt.dhexx.cn/article/XKa8CBHw.shtml

相关文章

光伏逆变器MPPT基本算法介绍-李星硕

前言 在上一个话题中&#xff0c;我们阐述了光伏MPPT基本原理&#xff1a;从本质上来说&#xff0c;MPPT算法均是通过DC-DC的占空比d来进行控制的。至于如何计算占空比d的值&#xff0c;则取决于具体的MPPT算法。那么在本话题中&#xff0c;我们将介绍两种基本的MPPT算法&#…

MPPT算法(恒定电压、扰动观察、电导增量)介绍与实现过程

目录 1、太阳能板的特性曲线 2、固定电压法 3、MPPT-P&O算法 4、电导增量算法 5、系统实现方案 1、太阳能板的特性曲线 太阳能板也叫光伏电池。是通过光电效应&#xff0c;把光能转换为电能的设备。 先介绍太阳能板的特性。太阳能的额定参数是在地面光伏组件标准测试…

嵌入式怎么入门,嵌入式应该先学习什么

嵌入式到底是什么&#xff0c;很多对这个概念都很迷糊&#xff0c;许多人都认为这是工程师的代名词。 嵌入式工程师可以说是目前涵盖面最广、最火的职业之一&#xff0c;那么到底什么是嵌入式呢&#xff1f; 狭义上嵌入式系统由硬件和软件组成&#xff0e;是能够独立进行运作的…

嵌入式通用学习路线整理

大家好&#xff0c;我是小麦。 从事嵌入式相关行业&#xff0c;差不多快有10年时间了&#xff0c;走过很多弯路&#xff0c;踩过很多坑。 很多人会问&#xff0c;嵌入式真的没有前途吗&#xff1f;这个我其实也无法回答。用发展的眼光来看&#xff0c;万物都有周期。 这个和嵌入…

嵌入式学习(一)嵌入式c语言

第一章.c数据类型及语句 1.01 第一个c程序的编写 下载好VScode并配置好环境&#xff0c;可以开始进行第一个c程序的编写。 #include <stdio.h>int main(int argc,char *argv[]) {printf("Hello World!\n");return 0 ; } 需要注意的几点&#xff1a; 1.#inclu…

嵌入式学习难吗?

首先来说&#xff0c;学习任何一门技术都有它难的地方。如果说嵌入式学习难&#xff0c;那它就难在于嵌入式知识比较综合&#xff0c;比如C语言、数据结构、通信原理、单片机、数字电路、 arm体系、驱动开发、系统移植、Lora&#xff0c;NB-IOT等&#xff0c;大学里开过很多课都…

嵌入式学习(一)—— 初步认识

嵌入式学习&#xff08;一&#xff09;—— 初步认识 一、认识嵌入式二、嵌入式学习内容1.C语言学习2. 模拟电路&#xff0c;数字电路基础- 模拟电路- 数字电路 3. 硬件知识掌握4. 裸机开发5. 认识使用外设模块6. OS学习7.Linux开发板学习8.应用层学习9. PCB学习 三、推荐网站及…

嵌入式学习笔记

ARM &#xff1a;Advanced RISC Machine RISC&#xff1a;精简指令集 EMCU&#xff1a;Embedded Micro Controller Unit 嵌入式微控制器 EMPU &#xff1a;Embedded Micro Processor Unit 嵌入式微处理器 EDSP &#xff1a;Embedded Digital SIgnal Process 嵌入式数字信号处理…

嵌入式之学习路线

入门必看&#xff1a;https://www.xianjichina.com/news/details_69907.html IC设计&#xff0c;FPGA&#xff0c;射频&#xff0c;EMC&#xff0c;电气工程 ******嵌入式开发的相关硬件基础&#xff1a;对于软件工程专业的学生&#xff0c;从事嵌入式软件开发&#xff0c;像…

嵌入式学习路线,强烈推荐!!!

最近有小伙伴在微信私信我&#xff0c;如何学习嵌入式。一直想写一篇学习路线的文章&#xff0c;由于各种原因拖到了现在。 下面就如何学习嵌入式说下我个人的看法。 01 什么是嵌入式&#xff1f; 嵌入式即嵌入式系统&#xff0c;IEEE&#xff08;美国电气和电子工程师协会&am…

嵌入式学习笔记——概述

嵌入式系统概述 前言“嵌入式系统”概念1.是个啥&#xff1f;2.可以干啥&#xff1f;3.有哪些入坑方向&#xff1f;4.入坑后可以有多少薪资&#xff1f; 单片机1.什么是单片机&#xff1f;2.架构简介3.基于ARM架构的单片机结构简介 总结M4系列目录 前言 断更很长时间了&#x…

【超全面】Linux嵌入式干货学习系列教程

文章目录 一、前言二、Linux基础篇三、数据结构与算法基础三、Linux应用篇四、Linux网络篇五、ARM篇六、Linux系统移植篇七、Linux驱动篇八、Linux特别篇九、Linux项目篇 一、前言 博主学习Linux也有几个月了&#xff0c;在这里为广大朋友整理出嵌入式linux的学习知识&#xff…

嵌入式软件学习路线(入门)

大家不要只收藏不关注啊&#xff0c;哪怕点个赞都行哇。&#x1f62d; 嵌入式学习路线 嵌入式体系框架C语言的入门学习C语言的进阶学习单片机的入门学习linux的入门学习VxWorks的入门学习上位机的入门学习 刚工作两年&#xff0c;推荐的学习路线只做一家之言&#xff0c;如果…

嵌入式学习基础路线

博主来填坑了 博主终于硕士毕业拿到双证去公司报道了&#xff0c;趁空闲的时间来更新下嵌入式软件开发的学习路线。 嵌入式的学习 嵌入式总的来说就分两条路线&#xff1a;1&#xff09;走MCU的软件开发的路线&#xff1b;2&#xff09;走Linux的软件开发路线。 当然除了软…

嵌入式操作系统(嵌入式学习)

嵌入式操作系统 嵌入式操作系统是什么&#xff1f;嵌入式操作系统有哪些&#xff1f;常用的嵌入式操作系统及其特点对初学者的建议 嵌入式操作系统是什么&#xff1f; 嵌入式操作系统是一种专门设计和优化用于嵌入式系统的操作系统。它是在资源受限的嵌入式设备上运行的操作系…

嵌入式入门学习的必要步骤

很多新手在入门嵌入式的时候&#xff0c;经常会有很多问题&#xff0c;这也都是想要多多去了解嵌入式&#xff0c;也害怕自己浪费了时间还没有学会嵌入式&#xff0c;掌握到好方法学习嵌入式&#xff0c;那么就会事半功倍&#xff0c;下面一起来看看嵌入式入门学习的必要步骤是…

嵌入式系统学习

Lecture11-12 主要学习 ➢ 总线基础 ➢ UART协议 ➢ I2C协议 ➢ SPI协议 1.总线的基础 protocol 协议 总线只是一组导线的集合&#xff0c;在嵌入式板上的所有其他主要组件&#xff08;包括I/O子系统、内存子系统和主处理器&#xff09;之间传输各种数据信号、地址和控制…

嵌入式要学习哪些内容?

嵌入式要学习哪些内容&#xff1f; 嵌入式概括一下就是写程序&#xff0c;用软件控制硬件。嵌入式的学习应该是自上而下的。 1.语言先行 首先是写代码&#xff0c;写用户的应用程序。每种语言的使用目的是不同的&#xff0c;我们嵌入式选择的语言是C语言。 所以首先要学习C语言…

【嵌入式】超详细的嵌入式路径学习精选合集,建议收藏

超详细的嵌入式路径学习精选合集&#xff0c;纯干货&#xff0c;建议收藏&#xff01; 本合集归类汇总了嵌入式开发技术相关的学习路径、知识与经验总结&#xff0c;以及一些源码、资料分享等。将其分类列出目录&#xff0c;一来为了避免有些知识长时间不用&#xff0c;会很容…

【毕业季|进击的技术er】作为一名职场人,精心总结的嵌入式学习路线图

活动地址&#xff1a;毕业季进击的技术er 文章目录 0、作者介绍1、前言2、嵌入式基础必备知识2.1、学习内容2.2、学习建议2.3、学习资料 3、嵌入式入门篇——51单片机3.1、学习内容3.2、学习建议3.3、学习资料 4、STM32进阶篇4.1、学习内容4.2、学习建议4.3、学习资料 5、小而美…