在新能源并网系统中,光储虚拟同步发电机(VSG)技术因其能为电网提供惯性和阻尼支持而备受关注。然而,当电网背景谐波含量较高时,VSG的并网电流质量会显著恶化,传统的固定虚拟阻抗策略难以应对谐波动态变化,可能导致设备过流、发热甚至保护误动。本文将深入探讨一种谐波含量闭环调控的自适应虚拟谐波阻抗策略,并通过Simulink仿真完整复现其设计与实现过程。无论你是从事新能源并网控制的研究人员,还是希望深入理解VSG谐波抑制技术的工程师,本文将从原理推导、模型搭建到参数整定,提供一套可复现、可验证的闭环解决方案。
1. 背景与核心概念
1.1 光储VSG并网面临的谐波挑战
虚拟同步发电机(VSG)通过模拟同步发电机的转子运动方程和励磁调节,使逆变器具备频率和电压的自主支撑能力。但在实际并网运行时,电网电压并非理想正弦波,常含有低次谐波(如5次、7次)。这些背景谐波电压会在VSG的输出端产生相应的谐波电流。若VSG控制环的谐波阻抗很小,谐波电流会被放大,导致并网电流总谐波畸变率(THD)超标,影响电能质量,并增加滤波器和功率器件的应力。
1.2 传统虚拟阻抗策略的局限
为抑制谐波电流,常引入虚拟阻抗。其基本思想是在控制环路中,令输出电压指令减去一个与谐波电流成正比的虚拟压降:V_ref = V* - Z_v * I_h。其中,Z_v为虚拟阻抗,I_h为谐波电流。 传统方法通常将Z_v设置为一个固定的电阻或电抗值。这种方法的局限性在于:
- 适应性差:固定的
Z_v是针对特定谐波频率和电网强度设计的。当电网谐波含量或系统阻抗发生变化时,固定的虚拟阻抗可能无法提供最优的谐波抑制效果,甚至可能在某些工况下引入不稳定。 - 可能影响基波性能:虚拟阻抗的引入本质上改变了逆变器的输出阻抗特性。如果设计不当,可能会对基波功率控制(如功频调节、电压调节)的动态性能产生负面影响。
- 参数整定困难:需要在谐波抑制效果与系统稳定性之间进行折衷,参数整定依赖经验,缺乏明确的闭环调节机制。
1.3 自适应虚拟谐波阻抗策略的核心思想
为了解决上述问题,自适应虚拟谐波阻抗策略应运而生。其核心思想是:
- 闭环调控:实时检测并网电流的谐波含量(通常以THD或特定次谐波幅值为指标)。
- 动态调整:根据检测到的谐波含量,通过一个闭环控制器(如PI控制器)动态地调整虚拟阻抗
Z_v的大小。 - 目标明确:控制目标是使并网电流的谐波含量稳定在一个设定的期望值(例如,THD < 5%)附近。 这样,当电网谐波加剧时,控制器会自动增大虚拟阻抗,更强力地抑制谐波电流;当电网谐波减小时,则自动减小虚拟阻抗,避免不必要的基波性能影响。这实现了谐波抑制效果的“自适应”优化。
2. 仿真环境准备与模型架构
2.1 所需软件与环境
- 核心软件:MATLAB/Simulink (建议 R2018b 或更高版本)。Simulink 是进行电力电子与控制系统仿真的标准环境。
- 必要工具箱:Simscape Electrical (原名 SimPowerSystems)。该工具箱提供了电力系统元件库,如电压源、变压器、线路、电力电子变换器、电机等。
- 辅助工具:MATLAB Function 模块、S-Function 或 Discrete PID Controller 模块,用于实现自适应控制算法。
2.2 整体系统架构设计
我们的仿真系统主要包含以下几个部分,其结构框图如下所示:
[电网] --> [线路阻抗] --> [公共连接点(PCC)] <--> [LCL滤波器] <--> [三相逆变器] <--> [VSG控制+自适应虚拟阻抗] ^ | [直流源(光伏+储能)]- 主电路:三相两电平电压源型逆变器,直流侧由理想直流电压源模拟光储系统。逆变器输出经LCL滤波器接入电网。
- VSG核心控制:实现功率环(模拟转子运动方程)和电压环(模拟励磁调节),生成基波电压参考信号。
- 谐波提取与THD计算模块:从并网电流中提取谐波分量,并计算实时THD值。
- 自适应虚拟阻抗控制器:以THD实际值与THD参考值的偏差作为输入,通过PI控制器输出动态的虚拟电阻值
R_v。 - 虚拟阻抗实现模块:将
R_v与提取的谐波电流相乘,得到虚拟谐波压降,并从VSG输出的电压指令中减去该压降。
2.3 示例项目文件结构(建议)
在开始搭建模型前,建议规划好文件结构以保持清晰:
VSG_Harmonic_Adaptive_Impedance/ ├── Main_Model.slx # 主仿真模型 ├── Init_Script.m # 初始化脚本,定义系统参数 ├── Functions/ │ ├── calc_THD.m # 计算THD的MATLAB函数 │ └── harmonic_extract.m # 提取谐波分量的函数 └── Results/ # 存放仿真结果和波形图3. 核心原理与策略拆解
3.1 谐波含量检测技术
自适应控制的前提是准确、快速地检测谐波含量。常用方法有:
- 基于瞬时无功功率理论(p-q理论):通过坐标变换分离出谐波分量,但计算稍复杂。
- 基于带阻/带通滤波器的提取:针对特定次谐波(如5次、7次),设计数字滤波器(如二阶广义积分器-SOGI)进行提取。这种方法目标明确,实现简单。
- 基于FFT的THD计算:在一个工频周期内对电流信号进行采样并做FFT分析,计算总谐波畸变率。这种方法能反映整体谐波水平,但存在一定的计算延迟。
在本仿真中,为兼顾实时性与准确性,我们采用一种简化方法:使用多个并联的基于SOGI的谐波提取器提取主要次谐波电流(如5次、7次、11次、13次),然后计算其总有效值作为谐波含量的表征量I_h_rms,再通过THD = I_h_rms / I_1_rms * 100%近似计算THD。其中I_1_rms为基波电流有效值。
3.2 自适应控制律设计
自适应虚拟阻抗Z_v通常设计为纯电阻R_v,因为电阻性虚拟阻抗能直接消耗谐波能量,抑制效果直观且易于稳定。 控制律采用经典的PI控制器形式:
R_v(k) = Kp * e(k) + Ki * sum(e(j)) + R_v0其中:
e(k) = THD_ref - THD_actual(k)是第k个控制周期的THD偏差。THD_ref是期望的谐波含量目标值(例如3%)。THD_actual(k)是检测到的实际THD值。Kp和Ki是PI控制器的比例和积分系数。R_v0是虚拟电阻的初始值或最小值,用于保证系统在THD很低时仍有一定的谐波阻尼。R_v(k)被限制在一个合理的范围内[R_v_min, R_v_max],以防止过调或对系统稳定性造成冲击。
3.3 虚拟阻抗的注入位置与实现
虚拟阻抗的压降V_comp = R_v * I_h需要注入到控制环路中。常见的注入点有两个:
- 在电压参考指令后注入:在VSG的电压环计算出基波电压参考
V*之后,直接减去V_comp,然后将结果作为最终的调制波送给PWM发生器。这种方式直接明了。 - 在电流内环前馈注入:在双环控制(外环电压、内环电流)结构中,将
V_comp作为前馈量加到电流内环的参考电压上。这种方式能更快速地补偿谐波电压。
本仿真采用第一种方式,因其在单电压环VSG控制中结构更简单。实现时,需要将提取的谐波电流i_h(在αβ静止坐标系或abc自然坐标系下)与自适应得到的R_v相乘,得到补偿电压。
4. Simulink仿真模型搭建与实现
下面我们分步骤在Simulink中搭建完整模型。
4.1 搭建主电路与VSG基础控制
首先,建立系统的骨干。
% 文件:Init_Script.m % 系统基础参数初始化 clear; clc; %% 电网参数 fg = 50; % 电网频率 (Hz) Vg_ll_rms = 380; % 电网线电压有效值 (V) Vg_ph_peak = sqrt(2/3)*Vg_ll_rms; % 相电压峰值 (V) %% 逆变器与直流侧参数 Vdc = 700; % 直流母线电压 (V) fsw = 10e3; % 开关频率 (Hz) Ts = 1/fsw; % 开关周期 (s) %% LCL滤波器参数 L1 = 1.5e-3; % 逆变器侧电感 (H) R1 = 0.05; % 电感寄生电阻 (Ohm) Cf = 15e-6; % 滤波电容 (F) Rc = 0.1; % 电容阻尼电阻 (Ohm) L2 = 0.5e-3; % 网侧电感 (H) R2 = 0.02; % 网侧电感寄生电阻 (Ohm) %% VSG控制参数 Pn = 10e3; % 额定功率 (W) wn = 2*pi*fg; % 额定电角速度 (rad/s) J = 0.2; % 虚拟转动惯量 (kg.m^2) Dp = 200; % 虚拟阻尼系数 Kq = 1e-4; % 无功-电压下垂系数 Vn = Vg_ph_peak; % 额定电压幅值 (V)在Simulink中:
- 从
Simscape / Electrical / Specialized Power Systems / Fundamental Blocks库中拖入:Three-Phase Voltage Source作为电网。Series RLC Branch作为电网线路阻抗。Universal Bridge选择IGBT/Diodes作为三相逆变器。DC Voltage Source作为直流源。Parallel RLC Branch和Series RLC Branch搭建LCL滤波器。Voltage Measurement和Current Measurement用于测量PCC点电压和并网电流。
- 搭建VSG控制模块。这通常包含以下子模块:
- 功率计算:通过
abc to dq0变换和Vd*Id + Vq*Iq计算瞬时有功功率P和无功功率Q。 - 转子运动方程:
dθ/dt = ω,J*dω/dt = Pm - Pe - Dp*(ω-ωn)。其中Pm为机械功率参考(可由直流电压控制或给定),Pe为电磁功率(即计算得到的有功功率P)。 - 电压幅值生成:
V_ref = Vn - Kq*(Q - Qref)。 - 坐标反变换:利用得到的角速度积分出的相位角
θ和电压幅值V_ref,生成三相电压参考信号Vabc_ref。
- 功率计算:通过
4.2 实现谐波提取与THD计算模块
我们使用SOGI(二阶广义积分器)来提取5次和7次谐波电流。SOGI是一个双积分谐振器,在特定频率下具有无限大增益,能有效提取该频率分量。
% 文件:Functions/harmonic_extract.m (用于封装SOGI算法) function [i_h_alpha, i_h_beta] = harmonic_extract(i_alpha, i_beta, wh, Ts) % 提取特定次谐波 wh为谐波角频率 % 基于SOGI-QSG(二阶广义积分器-正交信号发生器)结构 % 输入:i_alpha, i_beta - αβ轴电流 % wh - 要提取的谐波角频率 (rad/s) % Ts - 采样时间 % 输出:i_h_alpha, i_h_beta - 提取出的谐波分量(αβ轴) % 注意:这是一个离散化实现示例,实际在Simulink中可用Discrete Transfer Fcn搭建。 persistent x1_alpha x2_alpha x1_beta x2_beta; if isempty(x1_alpha) x1_alpha = 0; x2_alpha = 0; x1_beta = 0; x2_beta = 0; end k = 1.414; % 阻尼系数,影响带宽和响应速度 % 更新状态变量 (前向欧拉离散化示例) dx1_alpha = wh * x2_alpha; dx2_alpha = wh * (i_alpha - x1_alpha - k*x2_alpha); x1_alpha = x1_alpha + dx1_alpha * Ts; x2_alpha = x2_alpha + dx2_alpha * Ts; i_h_alpha = x2_alpha; % 输出正交分量,幅值需调整 dx1_beta = wh * x2_beta; dx2_beta = wh * (i_beta - x1_beta - k*x2_beta); x1_beta = x1_beta + dx1_beta * Ts; x2_beta = x2_beta + dx2_beta * Ts; i_h_beta = x2_beta; end在Simulink中,我们可以用两个Discrete Transfer Fcn模块来实现一个SOGI。对于5次谐波(250Hz),其传递函数为:
H(s) = (k * ω_h * s) / (s^2 + k * ω_h * s + ω_h^2)其中ω_h = 2*pi*250。将其离散化(如Tustin方法)后配置到模块中。
分别搭建5次和7次谐波的提取通道。将提取出的各次谐波电流(在αβ坐标系下)转换回abc相,然后相加,得到总的谐波电流i_ha, i_hb, i_hc。 THD计算模块则用一个MATLAB Function模块实现,内部调用类似下面的函数:
% 文件:Functions/calc_THD.m function THD = calc_THD(i_a, i_b, i_c, i_fund_rms) % 简化THD计算,基于已知的基波有效值和提取的谐波有效值 % 输入:i_a, i_b, i_c - 三相电流瞬时值(包含谐波) % i_fund_rms - 基波电流有效值(可通过低通滤波或计算得到) % 输出:THD - 总谐波畸变率百分比 % 计算三相谐波电流总有效值(假设已提取出i_h_abc) % 这里i_h_abc是外部输入,为了函数完整,我们假设输入是总的谐波电流瞬时值 % 实际模型中,这个函数的输入应该是提取出的谐波电流 i_ha, i_hb, i_hc I_h_rms = sqrt(mean(i_a.^2 + i_b.^2 + i_c.^2)/3); % 示例:计算输入电流的总有效值 % 更准确的做法是:I_h_rms = sqrt(mean(i_ha.^2 + i_hb.^2 + i_hc.^2)/3); if i_fund_rms > 0.01 % 避免除零 THD = (I_h_rms / i_fund_rms) * 100; else THD = 0; end end在实际模型中,i_fund_rms可以通过对sqrt(i_d^2 + i_q^2)(dq轴基波电流)进行低通滤波得到,或者通过锁相环(PLL)同步旋转坐标变换后的直流量得到。
4.3 实现自适应虚拟阻抗控制器
这是一个标准的PI控制器,用Discrete PID Controller模块实现即可。
- 设置控制器为PI类型。
- 输入:
THD_ref(常数,如3) 与THD_actual(来自THD计算模块) 的差值。 - 输出:自适应虚拟电阻值
R_v。 - 配置输出饱和限制
[R_v_min, R_v_max],例如[0.1, 5]欧姆。 - 配置
Kp和Ki参数。整定这些参数是关键,初始值可以设小一些(如Kp=0.1, Ki=1),通过仿真观察THD的响应来调整。
4.4 集成虚拟阻抗并完成闭环
- 生成谐波补偿电压:使用
Product模块,将自适应输出的R_v与提取出的三相谐波电流i_ha, i_hb, i_hc分别相乘,得到三相补偿电压v_ha_comp, v_hb_comp, v_hc_comp。 - 注入补偿:使用
Sum模块,从VSG生成的三相基波电压参考Vabc_ref中,分别减去对应的补偿电压。 - 生成PWM:将补偿后的电压参考信号送入PWM发生器(如与三角载波比较的
PWM Generator),产生驱动逆变器IGBT的开关信号。
至此,完整的自适应虚拟谐波阻抗控制环路就构建完成了。模型结构应类似于下图(文字描述):
[电网] -> [测量] -> [VSG控制] -> Vabc_ref | v [Sum] <- [谐波补偿电压] <- [Product: R_v * i_h] | v [PWM生成] -> [逆变器] ^ | [并网电流] -> [谐波提取] -> [THD计算] -> [PI控制器] | [THD_ref]5. 仿真配置、运行与结果分析
5.1 仿真参数配置
- 求解器:选择
ode23tb(stiff/TR-BDF2) 或ode15s(stiff/NDF),因为电力电子系统是刚性系统。 - 仿真时间:设置为
1.0秒或更长,以便观察动态过程。 - 步长:选择变步长,最大步长设为
Ts/10(如1e-5),以确保能准确捕捉开关细节和谐波。 - 初始化:在模型初始化回调函数 (
Model Properties -> Callbacks -> InitFcn) 中,填入Init_Script.m的路径或直接写入参数,确保所有模块参数被正确赋值。
5.2 运行仿真与关键波形
运行仿真后,重点观察以下Scope信号:
- 并网三相电流 (
i_a, i_b, i_c):对比加入自适应策略前后,电流波形的正弦度。在电网电压谐波扰动下,自适应策略应使电流波形更光滑。 - THD实际值与参考值:
THD_actual应能快速跟踪并稳定在THD_ref附近。 - 自适应虚拟电阻
R_v:观察其动态变化过程。当仿真中人为增加电网电压谐波(例如在0.5秒时叠加一个5%的5次谐波电压),R_v应自动增大以加强抑制。 - 谐波电流 (
i_ha, i_hb, i_hc):观察其幅值是否在R_v增大后明显减小。 - 有功功率
P和无功功率Q:确保自适应策略的引入没有引起基波功率控制的剧烈振荡或稳态误差。
5.3 结果对比分析
为了体现自适应策略的优势,应进行两组对比仿真:
- Case 1:固定虚拟阻抗 (
R_v = 1 Ω)。 - Case 2:自适应虚拟阻抗 (
R_v由PI控制器动态调节,THD_ref = 3%)。
预期结果:
- 在相同的电网谐波扰动下,Case 2的并网电流THD应显著低于Case 1,且能稳定在3%左右。
- Case 2中的
R_v会随着电网谐波的变化而自动调整,在谐波严重时变大,谐波轻微时变小,实现了资源的最优利用。 - Case 1的电流THD可能在某些工况下达标,但在另一些工况下超标,缺乏鲁棒性。
6. 关键参数整定与常见问题排查
6.1 控制器参数整定指南
自适应控制器的性能很大程度上取决于PI参数Kp,Ki和输出限幅[R_v_min, R_v_max]。
R_v_min和R_v_max:R_v_min:通常设为一个小正数(如0.1Ω),保证系统始终有基本的谐波阻尼,避免积分器饱和。R_v_max:由系统稳定性决定。虚拟电阻过大会导致基波电压跌落严重,影响功率控制。可通过阻抗模型分析或试凑法确定,一般不超过滤波电感基波阻抗的20%-30%。例如,对于50Hz,L1=1.5mH,其基波阻抗约为2*pi*50*0.0015 ≈ 0.47Ω,R_v_max可设为1~2Ω。
Kp和Ki:- 试凑法:从较小的值开始(如
Kp=0.05, Ki=0.5)。- 如果THD响应缓慢,缓慢增大
Kp。 - 如果THD出现超调或振荡,减小
Kp或Ki。 - 如果THD存在稳态误差,缓慢增大
Ki。
- 如果THD响应缓慢,缓慢增大
- 经验法则:
Ki ≈ Kp / T_i,其中T_i是期望的调节时间(如0.1秒)。可以先确定Kp使系统有较快的初始响应,再根据稳态误差调整Ki。
- 试凑法:从较小的值开始(如
6.2 常见仿真问题与解决方案
| 问题现象 | 可能原因 | 排查思路与解决方案 |
|---|---|---|
| 仿真不收敛或报错 | 1. 求解器选择不当。 2. 步长过大。 3. 模型存在代数环。 4. 功率器件参数(如IGBT的Snubber)设置不合理。 | 1. 换用刚性求解器ode23tb或ode15s。2. 减小最大步长,或尝试固定步长。 3. 检查控制回路,在反馈路径加入单位延迟 Unit Delay模块以打破代数环。4. 为IGBT/Diode桥添加合适的缓冲电路(Snubber)参数。 |
| 并网电流发散或畸变严重 | 1. VSG控制参数(J, Dp)不合理。 2. LCL滤波器谐振峰未阻尼。 3. 虚拟阻抗 R_v过大导致系统不稳定。4. PWM载波比过低。 | 1. 调整J和Dp,确保功率环有足够的阻尼。 2. 检查LCL参数,确保谐振频率在合理范围(通常介于10倍工频和0.5倍开关频率之间),并确认阻尼电阻 Rc已接入。3. 降低 R_v_max限幅值。4. 提高开关频率 fsw或降低仿真步长。 |
| THD计算值异常(如NaN或恒为0) | 1. THD计算模块输入信号有误。 2. 除法运算中分母(基波电流)为0或极小。 3. MATLAB Function 中存在代码错误。 | 1. 用Scope检查输入给THD计算模块的电流信号是否正常。 2. 在除法前加入判断,当分母小于阈值时输出0。 3. 在MATLAB Function中设置断点,或在命令行使用 disp输出中间变量调试。 |
自适应控制器输出R_v饱和在限幅值 | 1.THD_ref设置过低,无法达到。2. PI参数 Ki过大,积分饱和。3. 谐波提取模块失效,导致 THD_actual测量不准。 | 1. 检查电网谐波水平,设定合理的THD_ref(如5%)。2. 加入抗积分饱和逻辑,或使用带积分限幅的PID模块。 3. 验证谐波提取模块的输出,确保能正确分离出谐波分量。 |
| 系统在谐波扰动加入后恢复慢 | 1. PI控制器的积分时间常数太大(Ki太小)。2. 谐波检测延迟大。 | 1. 适当增大Ki。2. 优化谐波提取算法,如使用更快速的滤波器或减少计算窗口。 |
7. 策略优化与工程实践建议
7.1 策略的进一步优化方向
本文实现的是基础的自适应虚拟阻抗策略,在实际工程中还可以从以下方面优化:
- 多频率选择性虚拟阻抗:不仅调节虚拟电阻的大小,还可以针对不同次谐波设计不同的虚拟阻抗特性(如对5次谐波呈容性,对7次谐波呈感性),实现更精准的谐波抑制。这需要为每个关注的谐波次独立设计SOGI和控制器。
- 考虑相位补偿的虚拟阻抗:纯电阻性虚拟阻抗在数字控制延迟下,其相位特性会发生变化。可以在阻抗计算中加入相位补偿角,使其在目标频段内更接近理想的纯电阻。
- 基于阻抗模型稳定性分析的参数设计:建立包含VSG控制、LCL滤波器、虚拟阻抗和电网阻抗的系统小信号阻抗模型,利用奈奎斯特判据等稳定性分析方法,定量设计
R_v的稳定范围及PI参数,提高设计的科学性。 - 与有源阻尼结合:将自适应虚拟阻抗与LCL滤波器的有源阻尼技术结合,可以同时解决谐振峰抑制和背景谐波抑制问题,提升系统在弱网下的鲁棒性。
7.2 从仿真到实际DSP实现的注意事项
- 离散化与计算延迟:仿真中的连续控制器需要离散化(如Tustin变换)才能在DSP中运行。所有算法必须在中断服务程序中完成,需严格评估计算负担和引起的控制延迟,并在模型中予以体现。
- 谐波检测的实时性与准确性权衡:基于FFT的THD计算延迟大(至少一个工频周期),但准确。基于滤波器的提取速度快,但可能受频率偏移影响。工程中常采用快速傅里叶变换(FFT)与锁频环(FLL)结合的方法,或使用自适应滤波器。
- 防止积分饱和与无扰切换:在实际代码中,PI控制器必须包含抗积分饱和逻辑。当系统启动、停机或模式切换时,需要实现
R_v的无扰平滑过渡,避免电流冲击。 - 参数的自整定与在线学习:可以考虑将模糊控制、神经网络等智能算法与PI结合,实现控制器参数的自整定,使系统能适应更广泛的运行工况变化。
7.3 生产环境部署前的验证清单
在将此类算法部署到实际设备前,建议完成以下验证:
- [ ]仿真覆盖全工况:包括电网电压正常/跌落/升高、频率正常/偏移、背景谐波变化、负载阶跃、孤岛检测等。
- [ ]控制器代码生成测试:使用MATLAB Coder或Simulink Coder将控制算法部分自动生成C代码,并在PC上做软件在环(SIL)测试。
- [ ]硬件在环(HIL)测试:使用实时仿真器(如OPAL-RT、dSPACE)连接实际控制器,进行更接近真实的测试。
- [ ]温升与效率测试:评估引入虚拟阻抗后,是否会导致逆变器损耗增加,散热设计是否需要加强。
- [ ]电磁兼容(EMC)测试:确保新的控制策略不会导致传导或辐射发射超标。
通过本文从理论到仿真实现的逐步拆解,我们完整复现了谐波含量闭环调控的光储VSG自适应虚拟谐波阻抗策略。该策略的核心价值在于将传统的“开环、固定”的谐波抑制思路,转变为“闭环、自适应”的优化过程,使系统在面对复杂多变的电网环境时,能自主调整以维持优良的电能质量输出。仿真不仅是验证思想的工具,更是通往工程实践的桥梁。在彻底理解本文所述模型的基础上,读者可以进一步探索多谐波选择性抑制、阻抗稳定性分析等更深层次的主题,或尝试将该策略移植到其他类型的并网逆变器控制中。