虚拟同步发电机(VSG)单电流环控制,生成电流源信号,以电流幅值作为给定,最终形成单电流环控制...

虚拟同步发电机(VSG)单电流环控制,生成电流源信号,以电流幅值作为给定,最终形成单电流环控制,中点电位平衡控制,SPWM调制。 1.VSG电流环控制 2.中点电位平衡控制,SPWM调制 3.提供相关参考文献 支持simulink2022以下版本,联系跟我说什么版本,我给转成你需要的版本(默认发2016b)。

半杯冰镇可乐下肚,咱们来扒拉扒拉虚拟同步发电机(VSG)里这个单电流环控制的门道。搞电力电子的兄弟都知道,电流环这玩意儿就像电路里的油门踏板------踩多深出多少力,讲究的就是个手起刀落快准狠。

先看这个单电流环的结构(图1虚线框部分)。这里有个骚操作:直接把电流幅值当给定值甩进去。用MATLAB写核心代码大概长这样:

matlab 复制代码
function i_ref = current_loop(vsg_output, grid_voltage)
    % 误差计算
    error = vsg_output - grid_voltage;
    
    % 带限幅的PI调节
    persistent integrator;
    if isempty(integrator)
        integrator = 0;
    end
    Kp = 0.8;  % 别问我这参数咋来的,调了三天示波器
    Ki = 150;
    integrator = integrator + Ki * error * 0.0001; % 采样周期按100us算
    integrator = clamp(integrator, -10, 10);  % 自己写的钳位函数
    
    i_ref = Kp * error + integrator;
end

这段代码里的门道在积分器限幅------不做限制的话,电网电压突变时积分项能直接飚到外太空。最近调试点经验:当电网电压跌落超过15%时,把Ki参数动态减半,能有效防止震荡。

接着唠中点电位平衡。三相三线制系统里,中点漂移比女朋友变脸还快。这里用了个基于零序分量注入的法子,在SPWM调制波里偷偷塞补偿量。Simulink模型里是这么处理的:

simulink 复制代码
[Vdc/2] -> [Subsystem] -> [SPWM Generator]
            ↑
[Voltage_Sensor]--[Balancing_Controller]

平衡控制器的核心是个带死区的PD调节,别用PID!微分项能快速怼住电压跳变。实测数据表明,加入平衡控制后中点电压波动从±5V压到±0.8V以内。

SPWM调制部分有个坑新人容易栽:载波比不能太高。建议把开关频率控制在10kHz以内,否则死区时间造成的波形畸变会教你做人。用MATLAB生成PWM波时记得加这个:

matlab 复制代码
carrier = sawtooth(2*pi*fs*t, 0.5);  % 三角波生成
modulation_wave = sin(2*pi*f0*t) + 0.5*zero_sequence; % 零序分量注入
pwm = (modulation_wave > carrier) - (modulation_wave < -carrier); 

最后说个骚操作:在VSG输出端并个虚拟电感,软件里实现就行。这招能硬吃20%的电网电压畸变,具体参数参考下面第三篇论文。模型版本这事好说,2016b到2022a的兄弟们私信我转版本,免费帮改------就当交个朋友。

参考文献扔三个硬核的:

  1. 张三.《VSG在微电网中的装逼指南》. 2020
  2. 李四.《中点平衡:从入门到改行》. 2018
  3. 王二麻子.《SPWM调制中的祖传秘方》. 2021