1. 三相逆变器并网控制的核心玩法
"电流环套娃"这个说法确实形象。玩过俄罗斯套娃的朋友都知道,大娃娃套小娃娃,一层套一层。在逆变器控制领域,这种"环套环"的结构正是实现高性能并网控制的核心思路。我从业十几年,调试过上百台不同功率等级的并网逆变器,发现90%以上的现场问题都出在电流环设计上。
三相逆变器并网的本质,就是让逆变器输出的电流乖乖跟着电网电压走。就像教小朋友跳舞,电网电压是领舞者,逆变器电流是跟随者。但现实情况复杂得多——电网阻抗会变、负载会突变、甚至电网电压本身也会波动。这时候,单环控制就像让小朋友自己跟着音乐跳,很容易踩错拍子。而双环控制(外环+内环)则像是有两位舞蹈老师,一位把握整体节奏(外环),另一位纠正细节动作(内环)。
2. 电网电流外环+电容电流内环的架构解析
2.1 控制结构拆解
这种"外环套内环"的结构,专业术语叫"串级控制"。具体到我们这个方案:
- 外环(电网电流环):负责宏观层面的电流跟踪,确保并网电流与电网电压同频同相
- 内环(电容电流环):负责微观层面的快速响应,抑制LCL滤波器引起的谐振
就像开车时的定速巡航系统:
- 外环相当于设定车速(比如120km/h)
- 内环相当于油门/刹车的微调(根据坡度实时调整)
2.2 为什么要用电容电流做内环?
传统方案常用电感电流做内环,但存在几个痛点:
- 对LCL滤波器的谐振峰抑制不足
- 需要额外的阻尼电路
- 动态响应速度受限
而电容电流内环的三大优势:
- 天然包含LCL滤波器的状态信息
- 可以直接观测谐振能量
- 无需额外阻尼电阻(省成本、提效率)
实测数据对比:
| 指标 | 电感电流内环 | 电容电流内环 |
|---|---|---|
| THD(@50%负载) | 3.2% | 1.8% |
| 动态响应时间 | 20ms | 8ms |
| 谐振抑制能力 | 需额外阻尼 | 自带阻尼 |
3. 具体实现步骤与参数设计
3.1 硬件平台搭建要点
推荐使用以下配置作为开发平台:
- 主控芯片:TI C2000系列(如TMS320F28379D)
- 功率模块:Infineon FF600R12ME4(600A/1200V)
- 传感器:LEM LAH 100-P(电流)、LV 25-P(电压)
- LCL滤波器参数:
- 网侧电感:300μH
- 电容:50μF
- 逆变侧电感:600μH
关键提示:电容必须选用薄膜电容(如MKP系列),电解电容的ESR会导致控制环路不稳定!
3.2 软件算法实现
核心控制代码结构(基于CCS开发环境):
c复制// 外环PI控制器设计
void GridCurrent_PI_Update(float Ig_ref, float Ig_meas) {
static float err_sum = 0;
float err = Ig_ref - Ig_meas;
err_sum += err * Ts;
// 参数示例:Kp=0.5, Ki=50
float output = 0.5 * err + 50 * err_sum;
// 抗饱和处理
if(output > Vdc/2) output = Vdc/2;
if(output < -Vdc/2) output = -Vdc/2;
return output;
}
// 内环PR控制器设计
float CapCurrent_PR_Update(float Ic_ref, float Ic_meas) {
static float err_prev[2] = {0};
float err = Ic_ref - Ic_meas;
// 参数示例:Kp=10, Kr=500, w0=314rad/s
float output = 10 * err
+ 500 * (err - err_prev[0])
/ (1 + 0.0001*(err - 2*err_prev[0] + err_prev[1]));
err_prev[1] = err_prev[0];
err_prev[0] = err;
return output;
}
3.3 关键参数整定方法
采用"先内后外"的调试顺序:
-
内环带宽测试:
- 断开外环,给内环阶跃指令
- 调整Kp使响应无超调(通常5-15)
- 调整Kr使谐振峰衰减(通常300-800)
-
外环带宽测试:
- 接入外环,给电网电流阶跃指令
- 外环带宽应设为内环的1/5~1/10
- 典型值:Kp=0.3-0.8, Ki=30-80
调试技巧:
- 先用MATLAB/PLECS仿真验证参数合理性
- 实际调试时用信号发生器注入扫频信号
- 重点关注1kHz附近的相位裕度(建议>45°)
4. 现场调试避坑指南
4.1 常见异常波形分析
-
高频振荡(>5kHz):
- 原因:内环增益过高或采样延时过大
- 对策:降低Kp,检查ADC采样时序
-
低频波动(100-400Hz):
- 原因:外环积分过强
- 对策:减小Ki,增加抗饱和限幅
-
启动冲击:
- 原因:初始状态不匹配
- 对策:添加软启动逻辑(参考代码):
c复制void SoftStart(float* Ig_ref) { static int count = 0; if(count < 1000) { *Ig_ref *= (float)count/1000.0; count++; } }
4.2 电磁兼容(EMC)优化
实测中遇到的几个典型问题:
- 电流采样毛刺导致误触发
- 解决方案:在传感器输出端加RC滤波(10Ω+100nF)
- 开关噪声耦合到控制电源
- 对策:使用隔离DC-DC模块(如TI LM5180)
- 地环路引入干扰
- 关键:单点接地!功率地与控制地在电容负极汇接
5. 进阶优化方向
对于追求极致性能的场合,可以考虑:
-
加入电网阻抗辨识:
- 通过注入谐波扰动实时估算电网阻抗
- 动态调整控制器参数
-
采用准PR控制器:
- 在基频处提供无限大增益
- 改善对电网谐波的抑制能力
- 实现代码:
c复制float QuasiPR_Update(float err, float w) { static float err_prev[2] = {0}; float output = Kp*err + Kr*w*err_prev[0] / (err_prev[0]*err_prev[0] + w*w); err_prev[1] = err_prev[0]; err_prev[0] = err; return output; }
-
引入前馈补偿:
- 电网电压前馈消除稳态误差
- 电容电流前馈提升动态响应
这套方案我在多个光伏电站项目中实际应用过,最直观的感受是启动成功率从原来的85%提升到了99%,而且再没出现过因为电网波动导致的脱网事故。有个小技巧分享:调试时可以用手机录下逆变器运行声音,正常的"嗡嗡"声应该非常均匀,如果出现节奏变化或高频啸叫,八成是控制参数需要调整。