光伏电池模型 Matlab/Simulink仿真模型(成品) 模拟了光伏电池的输出特性,可以自行改变光照强度和温度得到多组U-P、U-I曲线。 图中光照强度400,温度为25度,这两个参数均可调节
光伏电池的建模与仿真一直是新能源领域的热点问题,今天咱们用Matlab/Simulink整点实在的。先看这个建好的模型,核心部分就是个能动态调节参数的PV模块,老铁们注意看界面右边那两个滑动条——光照强度从0到1000W/m²随便调,温度支持-20℃到80℃范围自由设定。
模型里最带劲的是这个自定义函数模块,藏着光伏电池的核心算法。咱们扒开代码瞅瞅:
function [Ipv] = PV_Model(G, T, V) q = 1.6e-19; k = 1.38e-23; Isc = 8.23; % 短路电流 Voc = 32.9; % 开路电压 Rs = 0.01; % 串联电阻 T_k = T + 273.15; Iph = Isc * (G/1000) + 0.003*(T_k - 298); I0 = 1.2e-6 * (T_k/298)^3; Vt = k*T_k/q; Ipv = Iph - I0*(exp((V + Ipv*Rs)/(Vt)) -1); end这段代码的玄机在哪儿呢?首先用光照强度G修正光生电流Iph,温度变化会影响开路电压的特性。那个指数项exp((V+Ipv*Rs)/Vt)模拟了二极管的特性曲线,Rs串联电阻的存在让曲线拐点更真实。注意这里其实是个隐式方程,仿真时Simulink会自动用数值方法求解。
光伏电池模型 Matlab/Simulink仿真模型(成品) 模拟了光伏电池的输出特性,可以自行改变光照强度和温度得到多组U-P、U-I曲线。 图中光照强度400,温度为25度,这两个参数均可调节
跑个默认参数试试(G=400W/m²,T=25℃),在命令行敲这几行画图命令:
sim('PV_Model'); figure; subplot(2,1,1); plot(Voltage.Data, Power.Data); title('U-P特性曲线'); subplot(2,1,2); plot(Voltage.Data, Current.Data); title('U-I特性曲线');这时候你会看到典型的单峰曲线——功率曲线那个最高点就是最大功率点。调参时有个骚操作:把温度拉到50℃,立马能看到开路电压往下掉,这是因为半导体材料的禁带宽度随温度变化导致的。
模型里还藏了个彩蛋:双击PV模块能看到热力学参数设置页,里面能改半导体材料的特性参数,像Eg禁带宽度默认是1.12eV(对应硅材料),改成1.35eV就变成GaAs电池的特性了。不过改完记得重新初始化仿真参数,不然曲线会抽风。
这个模型后续还能接DC-DC变换器玩最大功率跟踪,不过那就是下回要唠的另一个话题了。建议新手改参数时多观察曲线的三个关键点:短路电流、开路电压、最大功率点,这三个值的变化规律对理解光伏特性至关重要。