1. 柔性直流输电系统概述
柔性直流输电(VSC-HVDC)作为新一代高压直流输电技术,正在全球范围内逐步取代传统的晶闸管换流技术。与常规直流输电相比,柔性直流输电系统采用全控型电力电子器件(如IGBT),通过脉宽调制(PWM)技术实现电压和频率的灵活控制。
在四端网络架构中,系统通常由四个换流站组成,形成多端直流电网。这种拓扑结构相比传统的两端系统具有显著优势:
- 可实现多电源供电和多负荷受电
- 提高系统供电可靠性和灵活性
- 便于新能源大规模接入
- 故障时可通过网络重构保证供电连续性
四端换流器控制是系统的核心,需要协调多个换流站之间的功率分配和电压稳定。典型的控制策略包括:
- 主从控制(Master-Slave)
- 电压裕度控制(Voltage Margin)
- 电压下垂控制(Voltage Droop)
实际工程中,电压下垂控制因其良好的自主性和可扩展性,成为多端系统的主流控制方式。
2. Simulink建模基础准备
2.1 模型架构设计
在Simulink中构建四端柔性直流输电系统,建议采用分层模块化设计:
code复制Top Level
├── AC Grid 1
├── VSC Station 1
├── DC Network
├── VSC Station 2
├── AC Grid 2
├── VSC Station 3
├── AC Grid 3
├── VSC Station 4
└── AC Grid 4
每个换流站应包含以下子模块:
- 交流侧滤波器
- 变压器模型
- 两电平或三电平VSC拓扑
- PWM调制器
- 控制系统(外环+内环)
2.2 关键参数计算
以±320kV/1000MW系统为例,主要参数计算过程如下:
-
直流侧电容计算:
[
C_{dc} = \frac{P_{rated}}{2πfV_{dc}\Delta V_{dc}} = \frac{1000×10^6}{2π×50×640×10^3×0.05} ≈ 100μF
] -
交流侧电感设计:
[
L_{ac} = \frac{V_{ac}^2}{2πfS_{base}}X% = \frac{220×10^3)^2}{2π×50×1000×10^6}×0.15 ≈ 2.3mH
] -
PWM载波频率选择:
- 两电平VSC:通常1-2kHz
- 模块化多电平换流器(MMC):可降低至数百Hz
3. 四端换流器控制实现
3.1 控制层级结构
完整的换流器控制系统应包含三个层级:
-
外环控制(100ms级):
- 有功功率/直流电压控制
- 无功功率/交流电压控制
-
内环控制(1ms级):
- dq轴电流解耦控制
- 前馈补偿
-
PWM调制(μs级):
- 空间矢量调制(SVPWM)
- 最近电平调制(NLM)(适用于MMC)
3.2 下垂控制实现
在四端系统中,直流电压下垂控制的核心方程为:
[
V_{dc,i} = V_{dc,ref} - R_{droop,i}P_i
]
Simulink实现步骤:
- 测量本地直流电压Vdc和传输功率P
- 计算电压参考值偏差
- 通过PI控制器生成d轴电流参考
- 将q轴电流参考设为0(单位功率因数)或根据无功需求设定
- 电流参考送入内环控制
典型参数设置:
matlab复制% 下垂系数计算示例
P_rated = 1000e6; % 额定功率1000MW
Vdc_nom = 640e3; % 额定直流电压±320kV
delta_Vdc = 0.05; % 允许电压偏差5%
R_droop = delta_Vdc*Vdc_nom/P_rated; % 下垂系数
4. 无功补偿控制策略
4.1 静止无功补偿器(SVC)建模
在交流母线侧,可并联SVC提高电压稳定性。Simulink中常用TCR+FC型SVC,其导纳特性为:
[
B_{SVC} = B_{FC} - \frac{2(π-α)+sin2α}{πX_L}
]
实现要点:
- 使用Thyristor模块搭建TCR支路
- 用RLC分支实现FC滤波器
- 电压控制环输出触发角α
- 设置适当的斜率系数(通常1-5%)
4.2 换流站无功控制
VSC本身的无功调节能力由以下方程描述:
[
Q = \frac{3}{2}(v_{d}i_{q} - v_{q}i_{d})
]
控制策略选择:
- 恒无功功率控制(Qref给定)
- 恒交流电压控制(Vac_ref给定)
- 功率因数控制(cosφ给定)
注意:实际运行时需设置无功限幅,避免因过度提供无功导致设备过载。
5. 低电压穿越(LVRT)实现
5.1 LVRT要求
根据GB/T 19963-2011,风电场并网要求:
- 电压跌至20%额定值时,需维持并网至少625ms
- 期间提供动态无功支撑
5.2 Simulink实现方案
- 电压跌落检测模块:
matlab复制function [LVRT_flag] = LVRT_detection(Vac)
persistent timer;
if isempty(timer)
timer = 0;
end
if Vac < 0.9
timer = timer + Ts;
if timer > 0.1 % 持续100ms判定为故障
LVRT_flag = true;
else
LVRT_flag = false;
end
else
timer = 0;
LVRT_flag = false;
end
end
- 控制策略切换:
- 正常模式:双闭环控制
- LVRT模式:
- 冻结有功电流参考
- 最大化无功电流输出
- 启用直流耗能电路
- 耗能电阻投切逻辑:
matlab复制if Vdc > 1.1*Vdc_nom
enable_braking = true;
duty_cycle = (Vdc - Vdc_nom)/(1.2*Vdc_nom - Vdc_nom);
else
enable_braking = false;
end
6. 仿真分析与调试技巧
6.1 典型问题排查
-
仿真发散问题:
- 检查开关器件snubber电路参数
- 适当增大并联电阻值(通常1e3-1e6Ω)
- 减小仿真步长(建议1e-6s以下)
-
高频振荡问题:
- 增加阻尼电阻
- 调整PWM死区时间(典型2-5μs)
- 检查控制器参数是否合理
-
稳态误差大:
- 检查PI控制器积分项是否饱和
- 确认测量环节延迟设置正确
- 考虑增加前馈补偿
6.2 性能优化建议
-
加速仿真技巧:
- 对线性和控制部分使用较大的步长
- 对电力电子部分使用变步长求解器(ode23tb)
- 启用Simulink的'Accelerator'模式
-
波形分析工具:
- 使用Powergui进行FFT分析
- 利用Simscape Logging记录内部变量
- 开发自定义显示面板:
matlab复制scopes = find_system(gcs,'BlockType','Scope'); for i = 1:length(scopes) set_param(scopes{i},'Open','on'); end
-
参数自动扫描:
matlab复制Kp_range = linspace(0.1,1,10);
Ki_range = linspace(10,100,10);
results = zeros(length(Kp_range),length(Ki_range));
for i = 1:length(Kp_range)
for j = 1:length(Ki_range)
set_param('model/PI_Controller','Kp',num2str(Kp_range(i)));
set_param('model/PI_Controller','Ki',num2str(Ki_range(j)));
simout = sim('model');
results(i,j) = max(simout.Vdc_error);
end
end
在实际工程仿真中,我发现初始参数设置往往需要多次调整才能获得理想效果。特别是在四端系统中,各换流站之间的控制耦合效应明显,建议先单独调试每个换流站的基本性能,再逐步接入整个系统。对于复杂的控制算法,可以先用简化模型验证控制逻辑的正确性,再移植到详细模型中。
