分布式电源风机与光伏的并网Matlab/Simulink仿真,包含两种风机与光伏类型,附带参考文献。 直驱:机侧最佳叶尖速比控制,网侧双闭环控制,额定功率300kW,并网等级690V。 双馈:机侧转速电流环控制,网测电压电流双闭环,额定功率1.5MW,并网电压690V 光伏1:mppt+双闭环控制,额定功率为100kW,并网电压380V 光伏2:单功率闭环控制,额定功率10kW,并网电压380V (上述模型均附带参考文献)
分布式电源并网仿真实战:直驱/双馈风机与光伏的Matlab/Simulink建模
最近在搞一个风光并网的仿真项目,涉及到直驱风机、双馈风机和两种不同控制策略的光伏系统。今天聊聊建模的核心逻辑和代码实现中的小技巧,代码部分会尽量用白话解释清楚。
**直驱风机:叶尖速比最优控制**
直驱风机的核心是机侧通过调节转子转速实现最大风能捕获。这里用了一个经典的最佳叶尖速比(TSR)控制,说白了就是让风机转速和风速保持一个黄金比例。Simulink里用了个MATLAB Function块计算实时TSR:
function lambda = calculate_TSR(v_wind, rpm) R = 45; % 风机叶片半径(米) omega = rpm * 2 * pi / 60; lambda = (omega * R) / v_wind; % 叶尖速比 end如果当前TSR偏离预设最优值(比如6.8),PI控制器会调整机侧变流器的dq轴电流,让风机转速往最优方向跑。网侧的双闭环比较常规,外环直流电压控制+内环电流解耦,参数调校时注意母线电容的充放电时间常数。
**双馈风机:转速环的谐波陷阱**
双馈风机机侧用了转速-电流双闭环,这里有个坑:转子侧变流器的开关频率如果设置太低(比如1kHz以下),电流环会出现明显的谐波毛刺。解决方法是在转速环的PI输出后加个低通滤波器:
% 转速环PI参数示例 Kp_speed = 0.12; Ki_speed = 0.05; Filter_Cutoff = 50; % Hz网侧控制直接用电压外环+电流内环,注意690V并网时锁相环(PLL)的带宽别设太高,否则电网电压畸变时会引发震荡。实测0.5Hz带宽比2Hz稳定得多。
**光伏1:MPPT的暴力美学**
100kW的光伏阵列用了扰动观察法(P&O)做MPPT,核心代码就四行:
dV = V(k) - V(k-1); dP = P(k) - P(k-1); if dP/dV > -P(k)/V(k) DutyCycle = DutyCycle + 0.01; else DutyCycle = DutyCycle - 0.01; end但实际仿真时发现,光照突变时传统P&O会抽风。后来在dP判断前加了0.1秒的延迟模块,系统立马稳如老狗。双闭环的电流环建议用3kHz以上开关频率,否则380V并网点的THD容易超标。
**光伏2:摆烂式单环控制**
10kW的小光伏用了最简单的功率闭环,直接拿并网功率和设定值做差值送进PI控制器。但要注意一个骚操作:把PI的输出限幅值和光伏阵列的IV曲线匹配。比如在Simulink里用Lookup Table限制最大电流:
Imax = interp1(IV_curve_voltage, IV_curve_current, Vdc_actual);这种简单粗暴的方法虽然效率损失5%左右,但对小容量系统来说硬件成本能省下一截。
**仿真翻车实录**
第一次跑整体模型时,双馈风机的网侧变流器炸了——因为忘记设置直流母线预充电电路。后来在初始化脚本里加了软启动:
set_param('DFIG_GridSide/Precharge', 'Resistance', '10'); set_param('DFIG_GridSide/Precharge', 'Time', '0.5');还有个坑是不同并网点的阻抗匹配,直驱风机(690V)和光伏(380V)之间需要接380V/690V的升压变压器,否则功率分配会出问题。
参考文献
[1] 直驱风机控制模型来自《风力发电系统建模与仿真》P123-135
[2] 双馈控制策略改进自IEEE Trans. on Energy Conversion vol.33
[3] 光伏MPPT算法参考Solar Energy 89(2)实验数据
(模型参数可根据实际项目需求调整,建议先用1/10功率跑测试)