1. 虚拟同步机(VSG)控制技术概述
在新能源并网领域,虚拟同步机(Virtual Synchronous Generator, VSG)技术正成为解决逆变器并网稳定性的关键技术。这项技术的核心思想是让电力电子变流器模拟传统同步发电机的运行特性,包括惯量响应和阻尼特性。传统电网中,同步发电机依靠旋转质量的物理惯性自然提供频率支撑,而光伏、风电等新能源发电装置通过电力电子接口并网时,这种天然惯性随之消失。VSG技术通过算法在控制器中构建虚拟的"转子运动方程",完美解决了这一问题。
我去年参与的一个微电网项目中,采用VSG控制的逆变器在电网频率突变时表现出色。当负载突然增加导致频率下降时,VSG控制器能在20ms内响应,通过调节有功输出来支撑频率,其动态特性与真实的同步发电机几乎无异。这种表现正是依赖于VSG算法中的两个关键参数:虚拟转动惯量J和阻尼系数D。转动惯量J决定了系统对功率变化的响应速度,而阻尼系数D则影响系统的振荡衰减特性。
2. VSG核心算法实现
2.1 虚拟转子运动方程
VSG的核心算法模拟了同步发电机的二阶运动方程,其数学表达式为:
code复制J(dω/dt) = P_ref - P_measure - D(ω - ω_base)
其中J代表虚拟转动惯量,D为阻尼系数,ω是VSG输出的角速度,ω_base是额定角速度(通常为314rad/s对应50Hz系统)。
在实际编程实现时,我们采用离散化的差分方程。以下是我在PSIM中验证过的C语言实现代码:
c复制// 虚拟转子运动方程
void VSG_Algorithm(double P_ref, double Q_ref) {
double J = 0.02; // 虚拟转动惯量 [kW·s²/rad]
double D = 5.0; // 阻尼系数 [kW·s/rad]
double omega_base = 314.16; // 50Hz系统基准角速度
// 有功环计算
double delta_P = P_ref - P_measure;
double d_omega = (delta_P - D*(omega - omega_base)) / (J*omega_base);
omega += d_omega * Ts; // Ts为控制周期
// 无功-电压控制
V_ref = V_base + Kq * (Q_ref - Q_measure);
// 相位角积分
theta += omega * Ts;
}
关键调试经验:转动惯量J的取值直接影响系统惯性。在10kW系统中,J=0.02是个不错的起点。但要注意,J值过大会导致动态响应迟缓,而J值过小则会使系统对功率扰动过于敏感。
2.2 阻尼系数整定技巧
阻尼系数D的整定是VSG调试中最具挑战性的环节。根据我的项目经验,D值应该与系统容量成正比。一个实用的经验公式是:
code复制D = (2~5) * S_rated / (2πf_base)
其中S_rated是系统额定容量(kVA),f_base是基频(50Hz)。
我曾遇到一个典型案例:某500kW光伏逆变器采用VSG控制,初始设置D=2.5,结果在负载突变时出现持续振荡。通过扫频测试发现系统在0.8Hz附近存在谐振点,后将D值调整为8.5,振荡问题得到完美解决。这个案例说明,D值的选取必须结合实际系统阻抗特性。
3. SPWM调制实现与优化
3.1 载波比选择原则
在VSG控制中,SPWM调制质量直接影响输出波形性能。载波比(N=fs/fm)的选择尤为关键,其中fs为开关频率,fm为调制波频率。根据Nyquist定理,N必须大于2,但实际工程中建议:
- 当开关频率≤10kHz时,N≥21(即fm≤476Hz)
- 当开关频率>10kHz时,N可适当降低至15左右
在我的一个微逆变器项目中,采用SiC器件实现50kHz开关频率,选择N=15(fm≈3.3kHz),既保证了波形质量,又避免了过高的开关损耗。
3.2 死区时间补偿技术
实际硬件中,为防止上下管直通必须设置死区时间,但这会导致输出电压畸变。一个有效的补偿方法是采用"时间面积等效"原则:
c复制// 死区补偿算法示例
void DeadTimeCompensation(double V_ref, double I_out, double dead_time) {
double T_comp = dead_time * sign(I_out) / (2*T_sw);
V_ref_comp = V_ref + T_comp * V_dc;
}
其中T_sw为开关周期,V_dc为直流母线电压。实测表明,该补偿方法可使THD降低30%以上。
4. 电压电流双闭环设计
4.1 电流内环整定方法
电流环是VSG控制的内环,其带宽直接影响系统动态响应。我推荐采用"临界比例法"进行PI参数整定:
- 先将Ki设为0,逐渐增大Kp直到系统出现等幅振荡
- 记录此时的临界增益Kpc和振荡周期Tc
- 按Ziegler-Nichols公式设置:
- Kp = 0.45*Kpc
- Ki = 0.54*Kpc/Tc
在最近的一个项目中,我们使用这种方法整定LCL滤波的电流环,实测-3dB带宽达到1.2kHz,相位裕度65°,完全满足VSG控制要求。
4.2 电压外环设计要点
电压环作为外环,其带宽通常设为电流环的1/5~1/10。一个实用的设计步骤是:
- 首先设计电流环并验证其性能
- 将电流环等效为一阶惯性环节:G_i(s)≈1/(1+s/ω_i)
- 电压环PI参数按典型II型系统设计:
code复制其中ω_v为电压环带宽,C为滤波电容值,L为网侧电感值Kp_v = C*ω_v Ki_v = L*ω_v²
5. LCL滤波器设计与谐振抑制
5.1 参数计算流程
LCL滤波器设计需要平衡滤波效果与系统稳定性。我的设计流程如下:
- 确定开关频率fs和谐振频率fr(通常取fr=fs/6)
- 根据额定功率计算基波电流I_rated
- 逆变器侧电感L1按电流纹波要求设计:
code复制L1 = V_dc/(16*fs*ΔI_pp) - 网侧电感L2通常取L2=(0.2~0.5)L1
- 滤波电容C由谐振频率决定:
code复制C = 1/((2πfr)²*(L1+L2))
5.2 谐振抑制方案比较
针对LCL谐振问题,我对比过三种方案:
- 无源阻尼:电容支路串联电阻,简单可靠但效率损失约1%
- 有源阻尼:通过控制算法虚拟电阻,效率高但算法复杂
- 陷波滤波器:在控制器中加入谐振频率处的陷波,对参数敏感
在工业应用中,我通常推荐方案1,特别是采用3-5Ω的金属膜电阻,虽然效率略有损失,但稳定性最好。下面是一个实测数据对比:
| 方案 | THD(%) | 效率(%) | 稳定性 |
|---|---|---|---|
| 无阻尼 | 4.8 | 98.2 | 差 |
| 无源阻尼 | 2.1 | 97.3 | 优 |
| 有源阻尼 | 2.5 | 98.0 | 良 |
6. 下垂控制与功率分配
6.1 下垂系数计算方法
VSG的下垂特性模拟了同步发电机的调频特性。有功-频率下垂系数Kp的计算公式为:
code复制Kp = Δf_max / ΔP_max
其中Δf_max为允许的最大频率偏差(通常0.5~1Hz),ΔP_max为额定功率。
在微电网应用中,多个VSG并联时需要协调下垂系数。假设系统有n台VSG,第i台的下垂系数应设为:
code复制Kp_i = Kp_total * (S_total / S_i)
其中Kp_total为系统总下垂系数,S_total为系统总容量,S_i为第i台额定容量。
6.2 无功-电压下垂控制
无功-电压下垂控制同样重要,其系数Kq计算类似:
code复制Kq = ΔV_max / ΔQ_max
典型值取2~5%电压偏差对应额定无功功率变化。在实际调试中,我发现Kq取值对电压稳定性影响显著。过大的Kq会导致电压波动加剧,而过小则会影响无功分配精度。
7. PSIM仿真技巧与调试实录
7.1 关键仿真模块配置
在PSIM中搭建VSG模型时,有几个关键设置需要注意:
-
功率计算模块应采用瞬时功率理论:
code复制p = va*ia + vb*ib + vc*ic q = (vb*ic - vc*ib)/√3 + ... -
锁相环(PLL)带宽设为10-20Hz,太宽会引入噪声,太窄影响动态响应
-
开关器件模型应选择具有导通压降和开关时间的实际模型,而非理想开关
7.2 典型问题排查指南
根据我的调试经验,VSG系统常见问题及解决方法如下:
-
启动时振荡:
- 检查预同步流程,确保电压幅值、相位和频率匹配后再闭合接触器
- 逐步增加有功指令,避免阶跃变化
-
稳态时有功波动:
- 检查直流母线电压是否稳定
- 验证功率计算模块是否正确
- 调整阻尼系数D
-
电压畸变严重:
- 检查死区时间设置和补偿
- 验证SPWM调制是否正常
- 检查LCL滤波器参数是否合理
在最近的一个教学实验中,学生遇到VSG启动时电流冲击大的问题。通过分析发现是PLL未完全锁定就启动了VSG算法,导致初始相位差产生冲击电流。解决方法是在软件中增加PLL锁定标志,只有锁定后才允许VSG运行。
8. 进阶优化方向
对于希望进一步提升VSG性能的开发者,我建议关注以下方向:
- 自适应参数调整:根据电网强度自动调节虚拟惯量和阻尼系数
- 谐波抑制:在VSG算法中嵌入谐振控制器,针对特定次谐波进行补偿
- 多机并联优化:研究改进的下垂控制策略,提高功率分配精度
- 故障穿越能力:增强VSG在电网故障期间的持续运行能力
我在研究生阶段曾研究过基于神经网络的VSG参数自适应方法,通过在线识别电网阻抗来自动调整控制参数。实验表明,这种方法在电网阻抗变化较大的场景下,能比固定参数VSG提供更好的稳定性。
