永磁直驱风机虚拟惯量控制,VSG虚拟同步机控制转子动能和直流母线参与调频,并网特性,低电压穿越故障~

虚拟同步机(VSG)这玩意儿最近在风电圈子里火得不行,尤其是永磁直驱风机这挂的玩家。为啥?因为它能把风机调教得像传统同步发电机一样带劲儿。咱们先来看个有意思的现象------当电网频率抖三抖的时候,传统风机只能干瞪眼,但装了VSG的风机直接甩出转子动能来扛事儿。

举个简单的VSG控制代码片段(Python伪代码):
python
class VirtualSyncGenerator:
def __init__(self, J=10, D=5):
self.J = J # 虚拟转动惯量
self.D = D # 阻尼系数
self.omega = 1.0 # 标幺转速
def frequency_response(self, delta_f):
delta_p = self.J * delta_f.diff() + self.D * delta_f
return self.limit_power(delta_p)
def limit_power(self, p):
max_p = calculate_rotor_energy() # 实时计算转子动能储备
return np.clip(p, -0.2*max_p, 0.2*max_p)
这段代码里的J参数就像给风机装了个"假飞轮",D参数决定了能量释放的节奏。注意那个0.2的系数限制,这可不是随便写的------实测发现超过20%的动能释放会让风机转速跌出安全区。

直流母线调频这块更有意思,直接拿母线电容当蓄电池使。见过用Simulink搭的模型没?母线电压波动和调频功率的关系曲线活脱脱就是条弹簧特性:
matlab
% 直流母线调频模块
function [P_dc] = DCLinkControl(V_dc, V_nom)
K_p = 0.6;
dead_zone = 0.03; % 3%死区防止误动作
if abs(V_dc - V_nom)/V_nom > dead_zone
P_dc = K_p * (V_dc - V_nom);
else
P_dc = 0;
end
end
这个死区设置很关键,现场调试时吃过亏------没加死区的话风机能在电网小波动时把自己调成帕金森模式。

低电压穿越(LVRT)才是真考验,电网电压啪叽掉到0.2pu时,见过风机控制柜里示波器上的电流波形没?这时候的电流指令生成得这么玩:
c
// 低穿期间电流控制
void LVRT_CurrentRef(double V_grid, double P_ref) {
double I_d_max = 1.2; // 电流限幅值
double K_boost = 0.5; // 无功支撑系数
if(V_grid < 0.9) {
I_q = K_boost * (0.9 - V_grid);
I_d = sqrt(I_d_max*I_d_max - I_q*I_q);
P_ref = I_d * V_grid; // 有功自动限幅
}
// ...后续PWM生成
}
这代码里藏着个骚操作------把有功功率自动绑定到电压跌落深度上,相当于给风机上了个"智能安全带"。去年某风场实测数据显示,这套逻辑能让故障期间母线电压波动降低37%。

说实在的,搞虚拟惯量控制最怕的就是参数整定。有个野路子:把J参数初始值设为风机转动惯量的3-5倍,然后拿着扫频仪在电站现场边测边调。某次在张北基地调参,发现当阻尼比调到0.8-1.2之间时,风机对电网谐波的敏感度会突然降低,这现象论文里可没写过。

最后提醒一句:玩VSG千万别忽视散热设计!我们实验室烧过三台变流器,都是因为惯性支撑时IGBT持续工作在线性区。现在做热设计时会把调频期间的损耗曲线和散热器特性做卷积积分,这套方法后来写进行业白皮书了。
