拓扑:H 桥 + LCL 滤波器;工作模式:离网并联(多台逆变器并联带负载)环路层级(从外到内,带宽逐级升高):
- 有效值 RMS 电压外环(最慢,最低带宽):稳定输出电压有效值
- 瞬时电压环(中间层):保证正弦波形质量,叠加重复控制 RPT抑制周期性谐波
- 电感电流内环(最快,最高带宽):保护、抑制 LCL 谐振、快速跟踪电流给定
- V-I 下垂(KvdDroop,并联均流,叠加在瞬时电压误差通道):多机并联自动均分负载
- 前馈通道:输出电压前馈,改善动态响应
- 保护与自适应增益调度:短路 / 重载时自动切换 PI 参数,正常工况切回默认参数
基础前提知识清单(先看懂这些才能读懂代码)
- 多环控制规则:外环带宽 << 中环 << 内环;外环输出作为内环给定
- PI 控制器、积分饱和 Anti-Windup(前面那段代码已经讲过)
- 重复控制 RPT:专门针对周期性谐波(50Hz/60Hz 正弦畸变),适合逆变器
- LCL 滤波器:存在谐振峰,对负载扰动敏感,短路冲击大
- V-I 下垂(KvdDroop)并联:电压随输出电流增大而轻微跌落,实现多台逆变器均流
- 双极性 SPWM 占空比前馈:\(D_{ff}=V_{out}/(2\cdot V_{bus})\)
- 增益调度(Gain Scheduling):根据工况动态切换 PI 参数,一套参数无法兼顾稳态 THD 与短路稳定性
模块 1:KvdDroop 下垂均流项(并联用,V-I 下垂)
s_StINV_L1_CtrlRegs.f32InvILErrParallel = EpsVoltCon_Reg.f32KvdDroop *(g_saPowerCal.f32ILRmsRef1*s_StPLL_L1_CtrlRegs.f32Ref_Sin-ADValue.f32INV_PHASE_CURR_1);原理
V-I 下垂:逆变器输出电压 = 基准电压 − Kvd × 输出电流
- 电流越大,电压给定压低一点;多台并联,电压高的机器会自动减电流,电压低的自动抬电流,实现负载均分。
- 这一行:计算电压修正量(单位 V),后面加到瞬时电压误差项里面。
ILRmsRef1 × sinθ:电流瞬时基准;减去实际采样电流,得到电流误差;乘以下垂系数 Kvd,得到电压偏移量。
形象例子:两台逆变器并联,基准 220V
- 机器 A:输出电压偏高 → 输出电流变大;
- 下垂机制:电流变大 → 代码算出
f32InvILErrParallel,压低本机电压给定;- 机器 B:输出电流偏小 → 下垂压低幅度小,本机电压相对更高,电流自动抬升; 最终两台电压趋于一致,负载电流平分。
如果没有下垂:两台基准完全一样,微小硬件差异就会导致一台扛全部负载,另一台几乎不带载,环流巨大。
注意:这个是V-I 瞬时下垂,和传统 P-f/Q-V 下垂不是同一套。
模块 2:RMS 有效值外环(最外层慢环)
f32RmsErr = s_f32Inv_L1_RmsVoltSet - RealValue.f32RMS_INV_PHASE_VOLT_1; CPU_PI_CTL_L