直驱风机simulink仿真模型,永磁直驱式风力发电系统 matlab/simulink整体仿真,有380V和690V两个仿真,波形如图,现货有2018 和 2021 两个版本,可导出2015b-2022版本,有模型说明和文献
直驱风机在风电场的应用这几年越来越常见,尤其是永磁同步电机直接驱动发电机的结构。今天咱们来聊一个实际项目里用到的Simulink仿真模型——这个模型最有趣的地方在于它同时支持380V和690V两种电压等级仿真,实测波形差异还挺明显的。
先看主电路拓扑(随手在草稿纸画了个简图):永磁同步电机接双PWM变流器,直流母线电压根据风机容量自动切换。这里有个小技巧——用Matlab的Mask功能封装子系统,双击电压参数直接切换:
function voltageSelector() if strcmp(get_param(gcb,'VoltageLevel'),'380V') set_param('Main_Circuit/DC_Link','Capacitance','0.02'); else set_param('Main_Circuit/DC_Link','Capacitance','0.035'); end end这个回调函数实现了参数联动修改,避免了手动修改容易出错的问题。注意这里的电容值不是随便填的,是根据实际风场数据拟合出来的经验公式计算值。
仿真结果对比时发现个有趣现象:690V系统的谐波畸变率反而比380V高了1.2%左右。这跟直觉好像不太一致?后来查文献才发现,电压等级提升导致IGBT开关损耗增加,死区时间的影响被放大了。解决方法是在PWM生成模块里加了动态死区补偿:
% 动态死区补偿算法片段 deadtime = 2e-6; % 基础死区时间 if Vdc > 600 deadtime = deadtime * 1.3; end pwm1 = xor( (mod_counter >= compare1), (mod_counter >= (compare1 + deadtime*fs)) );这种非线性补偿策略让THD指标回归正常范围,实测波形中的电流毛刺明显减少。
关于模型版本,遇到过2018版保存的.slx文件在2021b打开时报模块丢失的问题。后来发现是Solver配置差异导致的,解决方法挺简单的:
- 打开模型属性设置
- 把Solver从ode15s改成ode23t
- 保存时勾选'Export to Previous Version'选项
实测这个方法在2015b到2022a之间都能正常转换,不过要注意某些新版本新增的模块可能需要手动替换。
最后提个调试小技巧:在观察最大功率点跟踪效果时,可以实时修改风速曲线。比如突然把风速从8m/s切到12m/s,看转速响应是否平滑:
set_param('Wind_Speed/Step','Time','10','After','12'); sim('Main_Model'); plot(rpm.time,rpm.data); % 转速曲线 hold on; plot(power.time,power.data/1e3); % 功率曲线这种动态测试能快速发现控制环路的响应延迟问题。记得仿真步长别超过50us,否则会漏掉关键动态过程。
模型文档里附的参考文献挺有意思,特别是那篇《直驱永磁风电系统低电压穿越的改进控制策略》实操性很强。建议大家结合里面的无功补偿算法修改Current Controller模块,亲测能让电压跌落时的并网电流稳定时间缩短0.2秒左右。