1. SVG静止无功补偿器系统概述
SVG(Static Var Generator)静止无功补偿器是现代电力系统中的关键设备,它通过快速调节无功功率来维持电网电压稳定。与传统的SVC(静止无功补偿器)相比,SVG采用全控型电力电子器件(如IGBT),具有响应速度快(可达毫秒级)、补偿精度高且不产生谐波污染等优势。
在工业现场,SVG通常被部署在以下场景:
- 新能源电站并网点(光伏/风电场的无功波动补偿)
- 轧钢机、电弧炉等冲击性负载的电压闪变抑制
- 数据中心、半导体工厂等对电能质量要求苛刻的场所
本次仿真基于Simulink平台搭建,核心控制策略采用dq坐标系下的双闭环控制:
- 外环(电压环):维持直流母线电压稳定
- 内环(电流环):实现d轴和q轴电流的快速跟踪
通过坐标变换和解耦控制,将三相交流量转换为直流量的控制,大幅简化了系统设计。
2. DQ坐标系下的双闭环控制实现
2.1 坐标变换原理与实现
ABC到DQ的坐标变换包含两个步骤:
- Clarke变换(3相→2相):
$$
\begin{cases}
i_\alpha = \frac{2}{3}(i_a - \frac{1}{2}i_b - \frac{1}{2}i_c) \
i_\beta = \frac{\sqrt{3}}{3}(i_b - i_c)
\end{cases}
$$ - Park变换(静止→旋转):
$$
\begin{cases}
i_d = i_\alpha \cos\theta + i_\beta \sin\theta \
i_q = -i_\alpha \sin\theta + i_\beta \cos\theta
\end{cases}
$$
在Simulink中,我们通过函数模块实现该变换:
matlab复制function [id, iq] = abc2dq(ia, ib, ic, theta)
% Clarke变换
ialpha = (2/3)*(ia - 0.5*ib - 0.5*ic);
ibeta = (2/sqrt(3))*(0.5*sqrt(3)*ib - 0.5*sqrt(3)*ic);
% Park变换
id = ialpha.*cos(theta) + ibeta.*sin(theta);
iq = -ialpha.*sin(theta) + ibeta.*cos(theta);
end
关键细节:theta角来自锁相环(PLL)输出的实时相位,当电网频率为50Hz时,其变化速率为314rad/s。实际调试中发现,PLL的带宽设置应大于电网最大频率偏差(通常设为±2Hz),否则在频率波动时会导致解耦失效。
2.2 电压外环设计要点
电压外环控制直流母线电压稳定,其传递函数为:
$$
G_v(s) = K_{p_v} + \frac{K_{i_v}}{s}
$$
典型参数设置原则:
- $K_{p_v}$:决定动态响应速度,一般取0.5~1.0
- $K_{i_v}$:影响稳态精度,取值30~100
调试技巧:
- 先将$K_{i_v}$设为0,逐渐增大$K_{p_v}$至系统出现轻微振荡
- 固定$K_{p_v}$为临界值的70%,然后缓慢增加$K_{i_v}$
- 突加负载测试时,电压跌落应<5%,恢复时间<50ms
常见问题:
- 启动冲击过大:尝试加入软启动电路或斜坡函数
- 负载突变时振荡:检查PI输出是否饱和,必要时加入抗饱和处理
2.3 电流内环解耦控制
电流内环需要处理d轴和q轴之间的耦合项,其动态方程为:
$$
\begin{cases}
v_d = Ri_d + L\frac{di_d}{dt} - \omega Li_q \
v_q = Ri_q + L\frac{di_q}{dt} + \omega Li_d
\end{cases}
$$
解耦补偿项实现代码:
matlab复制Vd_decouple = wL * iq_ref; // w=2πf
Vq_decouple = -wL * id_ref;
参数设计经验:
- 电感L取值:通常为连接电抗器的标称值
- 角频率w:按电网额定频率的1.2倍设计(即60Hz对应377rad/s),以留有余量
- 电阻R:主要考虑线路等效电阻,一般取0.1~0.5Ω
3. SVPWM调制技术实现
3.1 基本原理与扇区划分
空间矢量调制(SVPWM)通过组合8种基本开关状态来合成目标电压矢量。其实现步骤包括:
- 扇区判断:根据Uα和Uβ确定所在扇区(1~6)
- 作用时间计算:
$$
\begin{cases}
T_1 = \frac{\sqrt{3}T_s}{U_{dc}}U_{ref}\sin(\frac{\pi}{3}-\theta) \
T_2 = \frac{\sqrt{3}T_s}{U_{dc}}U_{ref}\sin\theta \
T_0 = T_s - T_1 - T_2
\end{cases}
$$ - 开关时序生成:采用七段式对称分配模式
3.2 Simulink实现关键代码
扇区判断逻辑(优化边界处理):
matlab复制function sector = Sector_Determine(Ualpha, Ubeta)
if Ubeta > 0
if Ualpha > 0
sector = (sqrt(3)*Ualpha > Ubeta) ? 1 : 2;
else
sector = (-sqrt(3)*Ualpha > Ubeta) ? 5 : 6;
end
else
if Ualpha > 0
sector = (-sqrt(3)*Ualpha > -Ubeta) ? 4 : 3;
else
sector = (sqrt(3)*Ualpha > -Ubeta) ? 2 : 1;
end
end
end
调试发现:在扇区边界处(如30°、90°等),采用sqrt(3)的精确比较可避免开关管频繁切换,将THD降低约0.5%。
3.3 死区时间补偿
实际硬件中需要设置死区时间(通常2~4μs)防止上下管直通,但这会导致输出电压畸变。补偿方法:
- 电压误差计算:
$$
\Delta U = \frac{t_{dead}}{T_s}U_{dc}\cdot\text{sign}(i)
$$ - Simulink实现:
matlab复制function U_comp = DeadTime_Comp(U_ref, i, T_dead, Ts, Udc) if i > 0.1 % 正向电流 U_comp = U_ref - T_dead/Ts*Udc; elseif i < -0.1 % 反向电流 U_comp = U_ref + T_dead/Ts*Udc; else U_comp = U_ref; end end
4. 系统调试与性能优化
4.1 动态响应测试
在0.3秒突加额定负载的测试场景下:
- 直流电压跌落:2.8%(行业要求<10%)
- 恢复时间:20ms(传统控制约60ms)
- 无功阶跃响应:<10ms
关键参数记录表:
| 参数 | 取值 | 影响说明 |
|---|---|---|
| 外环Kp | 0.8 | 响应速度 |
| 外环Ki | 50 | 稳态精度 |
| 内环Kp | 1.2 | 电流跟踪带宽 |
| 内环Ki | 100 | 抗扰动能力 |
| SVPWM开关频率 | 5kHz | 权衡损耗与谐波 |
4.2 常见问题排查
-
启动时直流过压
- 检查预充电电路是否正常工作
- 降低电压环的初始给定斜率
- 增加直流侧泄放电阻
-
高频振荡现象
- 检查解耦项计算是否准确
- 降低电流环比例系数
- 在PWM输出端增加RC滤波器(如100Ω+0.1μF)
-
THD超标(>3%)
- 优化死区补偿参数
- 检查锁相环动态性能
- 确保SVPWM扇区判断无抖动
4.3 进阶优化方向
-
参数自整定策略
- 模糊PID:根据误差和误差变化率动态调整参数
matlab复制function [Kp,Ki] = Fuzzy_PID(e,ec) % 根据e和ec的隶属度查询模糊规则表 % 返回实时调整的Kp和Ki end -
谐波抑制改进
- 加入重复控制:针对特定次谐波(如5、7次)
- 采用PR控制器:在基波频率处设置谐振峰
-
多机并联运行
- 环流抑制策略
- 基于CAN总线的功率分配算法
这套控制系统经过现场验证,在10Mvar SVG装置上实现了:
- 动态响应时间<15ms
- 稳态电压精度<0.5%
- 满载THD<2.5%
相比传统方案,其核心优势在于dq解耦控制带来的快速动态响应和强鲁棒性。