MPPT开发笔记-理论基础

1. MPPT

MPPT(Maximum Power Point Tracking),最大功率点跟踪。似乎看起来不算是一个很复杂的东西,在光伏发电领域应用广泛。由于光线是变化的,受到环境、天气等因素的影响,通过动态调整太阳能板的输出电压,并实时计算功率,从而追踪到能使功率最大化的那个“最佳电压点”。

了解了MPPT的定义,一个很自然的问题就会浮现出来:为什么光伏板不总是以最大功率输出,而是存在这么一个特定的“最大功率点”呢?那我们可能会想,有多少就输出多少呗,正常全部输出不就应该是最大功率吗?

Q: 为什么有最大功率点?为什么会有这种效应?
A: 源于光伏板特有的半导体物理机制,这涉及到光伏发电的原理。光伏板是一种光敏PN结,首先当光照射到PN结上时,会神奇的让电子运动(伏打效应)。然后,PN结的单向导电性将正负电荷分开,形成定向的电流,只要光照强度不变,电流的大小就是恒定的。但是PN结它会泄露,泄露的程度由两端的电压决定,电压越高泄露越多,与光生电流方向相反,即光生电流全部被泄露电流抵消,全部在电池内部消耗掉了,没有电流对外输出。于是经两个电流的博弈,从而形成了I-V特性曲线。

最大功率点是太阳能板内部物理结构(恒流特性与二极管特性)相互制约、共同作用的结果。

---
config:
    xyChart:
        width: 1000
        height: 400
---
xychart-beta
    title "太阳能电池板I-V🟣 与 P-V⚫特性曲线(归一化)"
    x-axis "电压 (V)" [0, 10, 20, 30, 35, 40, 45, 50]
    y-axis "归一化值 (0-1)" 0 --> 1
    line "电流 I (归一化)" [0.85, 0.83, 0.80, 0.72, 0.60, 0.35, 0.10, 0.00]
    line "功率 P (归一化)" [0.00, 0.35, 0.67, 0.90, 0.88, 0.58, 0.19, 0.00]

根据上面的“太阳能电池板I-V与P-V 特性曲线”,我们可以看出:

  • 当你把电池板两端短路时,输出电压为0,此时电流最大,即短路电流;
  • 当你让电池板空载时,输出电流为0,此时电压最大,即开路电压;
  • 所以根据电流和电压的变化合成得到一个功率曲线,从图中可以看出,大概在电压30V时,功率输出最大,我们可以认为这个点就是最大功率点。对应的电压和电流分别称为Vmpp和Impp。
  • 注意!光伏板的输出特性完全不同于电池或稳压电源,在光伏板中,负载通过改变工作电压来调节PN结的泄露程度,泄露程度决定了有多少光生电流被内部消耗,从而最终决定了对外输出的电流。

Q: 为什么需要MPPT呢?如果最大功率点是一个固定值?
A: 如果最大功率点(Vmpp)是固定不变的,那我们确实只需要把电路静态地设置在那个点就行了。

但现实是:

  • 因为受到天气、遮挡等因素影响,输入电压波动。目前常见的做法是通过DC-DC调压,来找到最大功率点,DC-DC转换是有损耗的,强行升压或降压到理论上的最大功率点,并不是最优解。
  • 但最重要的是,Vmpp不是一个固定值!Vmpp受温度、光照辐射强度、电压等影响,导致Vmpp是一个移动的目标,I-V曲线只是固定温度下的理想曲线。因此我们无法直接调到Vmpp。

2. 光伏电池输出特性

为什么MPP点是变化的?因为收光伏电池的输出特性影响!

除了环境变化等因素外,太阳能电池板本身的输出特性也是不容忽视的。辐射强度与电池温度,影响其I-V特性曲线。

  • 光照强度越高,光伏板能产生的最大功率越大,功率曲线整体抬升
  • 温度越高,发电效率越差,光伏板能产生的最大工程量越小,整体曲线压低。

2.1. 辐照度对I-V,P-V曲线的影响

太有实力了!趋势原本不打算放了,简单文字总结下就算了。问了下AI,它直接把Python的数据扒下来用浏览器JavaScript图形库,直接重新绘制。

ps: 以下数据仅供参考,看看数据趋势即可。有bug,勿点击图表,页面会卡死,如果首次进入没加载出来请刷新一次。

2.2. 温度对I-V,P-V曲线的影响

3. MPPT性能指标

  • 追踪速度: 任意初态下系统开始运行时,或系统发生扰动时,光伏输入首次超过99.0%静态追踪效率的时间应不超过25秒。
  • 跟踪精度:设备实际工作点与理论最大功率点之间的偏差
  • 静态追踪效率: 不小于99.0%。
  • 动态追踪效率: 不小于99.0%,测试标准符合NB/T 32004-2013。

常见问题

参考资料

results matching ""

    No results matching ""