MATLAB笔记[3]-MPPT算法

保命声明:笔者代码能力有限,若行文中有错漏之处欢迎大家指出。

MPPT算法

[https://ww2.mathworks.cn/solutions/power-electronics-control/mppt-algorithm.html?s_tid=srchtitle_mppt_1]

最大功率点追踪 (MPPT) 算法可用于光伏 (PV) 逆变器,该算法持续调整太阳能电池阵列的等效阻抗,以保证光伏系统在各种条件下(例如,不断变化的太阳辐照度、温度和负载)都能以 PV 面板的峰值功率点或与其接近的功率点运行。
工程师在开发太阳能逆变器时,会通过实现 MPPT 算法来使光伏系统达到最大发电量。这些算法会控制电压,确保系统在功率电压曲线上的“最大功率点”(或峰值电压)运行.
MPPT 算法通常用于光伏系统的控制器设计。这些算法会考虑可变辐照度(阳光)和温度等因素,以确保光伏系统始终维持最大发电量。

  • 扰动观察法
  • 电导增量法
  • 开路电压比率法

太阳能电池模型

扰动观察法

[https://www.bilibili.com/video/BV1Xz4y1k7jL]
PerturbnObserve


新建Simulink框图

系统输入->Signal Builder(信号发生器)
PV Array(太阳能板)
powergui(储存了电路模型的等效数学模型(状态空间方程))
MATLAB Function(函数模块,用于编程MPPT算法)
Product(乘积模块)
Scope(示波器)(属性改为4个端口,测量Vpv,Ipv,Ppv,D)
From,Goto(接线端口)
Voltage Measurement(电压测量)
Boost Converter(Boost转换)
Ctrl+R顺时针旋转元件
Serial RLC Branch(串联阻容电感)
Capacitor(电容)->这个需要用Series RLC Branch,更改属性为C(电容,如图)

Inductor(电感)(同理,如图)

Resistor(电阻)(同理,如图)

PWM(Pwm模块)
Step(步进)
Constant(常数)
Add(加法)
Current Measurement(电流测量)
Terminator(终点,意为无效端口)
Mosfet(Mos管)
Diode(二级管)
Mulitmeter(万用表)
Bus Selector(从总线中提取元素电流和电压)
Saturation(饱和限制器,用于防止导数无意义)
Simscape目录下彩色的器件无法直接与Simulink目录下的器件连接,黑色的是可以直接连接的

程序:

function D=fcn(Vpv,Ipv) 
%D为输出
%prev即上一次
persistent Dprev Pprev Vprev
if isempty(Dprev)
	Dprev=0.7;
	Vprev=190;
	Pprev=2000;
end
deltaD=0.001;%步长
Ppv=Vpv*Ipv;%功率
if (Ppv-Pprev)~=0 
  if (Ppv-Pprev)>0
    if(Vpv-Vprev)>0
	D=Dprev-deltaD;
    else
	D=Dprev+deltaD;
    end
  else
    if (Vpv-Vprev)>0
	D=Dprev+deltaD;
    else
	D=Dprev-deltaD;
    end
  end
else
D=Dprev;
end
Dprev=D;
Vprev=Vpv;
Pprev=Ppv;
end %end function

错误处理

运行仿真时出错,仿真终止
原因:
在时间 0.0 处,模块 'MPPT_PandO/PV Array/Diode Rsh/Transfer Fcn' 中状态 '1' 的导数不是有限值。仿真将停止。解中可能存在一个奇异点。如果没有,请尝试减小步长(通过减小固定步长或通过收紧误差容限)

解决方法:[https://blog.csdn.net/zjr990202/article/details/127615223]
建模->模型设置->仿真开始时间设置为0.001(如图),添加Saturation限制器,结果如图


仍然是失败,但是时间有变化

PV Array

Implements a PV array built of strings of PV modules connected in parallel. Each string consists of modules connected in series.
Allows modeling of a variety of preset PV modules available from NREL System Advisor Model (Jan. 2014) as well as user-defined PV module.

Input 1 = Sun irradiance, in W/m2, and input 2 = Cell temperature, in deg.C.

电导增量法

[https://mp.weixin.qq.com/s/8iYvGyqCYrC9nXOEgKMQbQ]


(上图制作为一个子系统)

结果:

\[25°C 1000W/m^2时输出的电压 \]

仿真文件下载:[https://www.qsbye.cn/files/PV_MPPT.slx],文件下载不了私信我,我百忙之中抽空回复.

posted @ 2022-12-31 14:47  qsBye  阅读(2668)  评论(0编辑  收藏  举报