双馈风力发电机PWM变流器矢量控制Matlab仿真模型 附带一份Word说明文档! ! ! [1]定子侧变流器控制策略--定子电压定向矢量控制定子侧变流器采用电压外环,电流内环的双闭环控制,描述:电压外环控制直流母线电压,直流电压给定值与反馈值的偏差经过调节器,其结果决定有功功率大小,符号决定有功功率的方向。 电流内环按照电压外环输出的电流指令进行电流控制,实现单位功率因素运行。 [2]转子侧变流器控制策略--磁场定向矢量控制 描述:转子侧变流器同样为双闭环控制,外环为功率环,根据有功功率、无功功率的给定,经过调节器结合当前风速和对应的叶尖速比得出给定的转速;内环为转自电流控制环,电流经调节器后输出电压控制量,再经过空间电压矢量脉宽SVPWM调制后产生触发脉冲控制变流器。

双馈风机的转子绕组通过变流器与电网相连,这玩意儿玩的就是矢量控制的精髓。定子侧和转子侧两个变流器各自带着双闭环控制,Matlab里搭模型的时候最怕参数整定搞崩------别问我怎么知道的。

定子侧变流器:电压定向的暴力美学

直流母线电压稳不稳全看外环PI调节器。模型里直接怼了个PID模块,但注意这里只用P和I(D参数设零)。代码里关键的一步是把电压误差输入到离散PI控制器:
matlab
function [I_ref] = VoltageLoop(Vdc_ref, Vdc_meas, Kp, Ki, Ts)
persistent integral;
if isempty(integral)
integral = 0;
end
error = Vdc_ref - Vdc_meas;
integral = integral + error * Ts;
I_ref = Kp * error + Ki * integral;
end
这个函数每0.1ms执行一次,输出d轴电流指令。调参时Ki太大会导致并网瞬间电流冲击,别问我怎么把示波器搞冒烟的...

内环电流控制直接上旋转坐标系下的解耦:
simulink
% 电流环前馈解耦
Vd = (Id_ref - Id_meas)*Kp + w*L*Iq_meas;
Vq = (Iq_ref - Iq_meas)*Kp - w*L*Id_meas;
这里的w是电网同步角速度,L是等效电感。实测发现前馈项不加的话动态响应会慢得像乌龟,但加多了又容易振荡。

转子侧变流器:磁场定向的骚操作

外环功率控制藏着个黑科技------根据叶尖速比查表获取最优转速。模型里用1D Lookup Table模块实现风速-转速映射,代码里直接硬核插值:
matlab
lambda_opt = interp1(wind_speed_table, tip_speed_ratio_table, current_wind);
omega_ref = lambda_opt * wind_speed / blade_radius;
内环电流控制必须处理转差频率带来的耦合。SVPWM模块直接用Simulink自带的Space Vector Generator,但要注意死区时间设置。某次忘了设2us的死区,IGBT直接表演烟花秀。

仿真翻车实录

当把两个变流器联调时,最坑爹的是初始相位对齐问题。在电网电压锁相环里加了个相位补偿才解决:
simulink
PLL_Output = atan2(Ubeta, Ualpha) + pi/2; % 补偿变压器相位偏移
波形图显示并网瞬间的电流毛刺从20A降到5A以下(图1)。直流母线电压波动控制在±5V范围内(图2),算是能交差了。

(此处应有仿真波形截图,但你的屏幕太小装不下)
说明文档里详细写了每个模块的调参记录,比如定子侧Kp从0.5调到1.2的过程。建议仿真时先开环跑一遍验证SVPWM波形,别像我一样上来就闭环硬刚------那会浪费三天查接线错误。