1. MMC并网逆变器滑模控制技术解析
在高压直流输电领域,模块化多电平换流器(MMC)因其模块化设计、高电压等级和低谐波特性,已成为柔性直流输电系统的核心设备。本次工程实践采用22个子模块构成的MMC拓扑,实现11kV直流到6.6kV交流的稳定转换,输出功率稳定在2-3MW范围。与传统两电平或三电平拓扑相比,MMC通过子模块级联方式显著降低了开关器件承受的电压应力,但同时也带来了复杂的控制挑战。
1.1 系统参数设计考量
本方案中子模块数量N=22的选取基于以下计算:
- 直流侧电压Udc=11kV时,每个子模块额定电压Vsm=Udc/N=500V
- 考虑10%的电压波动裕度,选用1700V等级IGBT模块
- 交流侧线电压6.6kV对应相电压峰值Vp=6.6kV×√2/√3=5.4kV
- 所需电平数至少为Vp/Vsm+1≈12电平,22个子模块可提供23电平输出
电容值选择遵循能量缓冲原则:
Wsub=1/2×C×Vsm²≥3×Pout/(2πfN)
取Pout=3MW,f=50Hz,计算得C≥8mF,实际选用10mF薄膜电容
1.2 双闭环控制架构设计
外环功率控制采用PI调节器,其参数整定基于系统惯性时间常数:
Kp=2ξωnLg, Ki=ωn²Lg
其中ξ=0.7(最佳阻尼比),ωn=2π×20rad/s(带宽)
对于Lg=5mH的网侧电感,计算得:
Kp=0.88,Ki=79
内环电流控制采用无源滑模控制,滑模面设计为:
s=iq_ref-iq+λ(ud_ref-ud)
其中λ为收敛系数,取λ=0.5/Ts(Ts为控制周期)
前馈解耦项计算:
uff=ωLgiq+ud
其中ω=2π×50rad/s
2. 核心控制算法实现细节
2.1 无源滑模控制实现
滑模控制律采用趋近律设计:
u=Ksat(s/Φ)+uff
其中:
- K=diag([k1,k2]),k1=k2=100
- Φ为边界层厚度,取0.05
- sat(·)为饱和函数,避免抖振
实际DSP代码实现时采用离散化形式:
c复制void SMC_Update(SMC_Struct *smc, float i_err, float v_err) {
float s = i_err + smc->lambda * v_err;
float u_eq = smc->Kp * s;
float u_sw = smc->eta * (s > smc->phi ? 1 : (s < -smc->phi ? -1 : s/smc->phi));
smc->output = u_eq + u_sw + smc->ff_term;
}
关键参数调试经验:切换增益η需满足η≥|dF/dt|max,实测取η=50时可在动态性能和抖振间取得平衡。调试时建议从η=20开始逐步增加,观察电流跟踪波形直至无明显稳态误差。
2.2 PIR环流抑制算法
环流控制器针对二倍频(100Hz)分量设计:
GPIR(s)=Kp+Ki/s+2Krωcs/(s²+2ωcs+ω0²)
其中:
- ω0=2π×100rad/s
- ωc=5rad/s(带宽)
- Kp=0.5, Ki=10, Kr=20
离散化实现采用Tustin变换:
python复制class PIR_Controller:
def __init__(self):
self.x1 = [0,0] # 谐振器状态变量
self.integrator = 0
def update(self, error, Ts):
# 比例项
up = 0.5 * error
# 积分项
self.integrator += 10 * error * Ts
# 谐振项
a = (2*5*Ts)/(4+(2*5*Ts)+(628*Ts)**2)
b = (4-(628*Ts)**2)/(4+(2*5*Ts)+(628*Ts)**2)
c = (628*Ts*20)/(4+(2*5*Ts)+(628*Ts)**2)
self.x1[0] = a*error - b*self.x1[0] - c*self.x1[1]
self.x1[1] = self.x1[0] + self.x1[1]
return up + self.integrator + 2*5*self.x1[0]
2.3 最近电平逼近调制(NLM)
实现步骤:
- 计算参考电压Vref=ma×N×Vsm/2(ma为调制比)
- 确定基本电平数n=round(Vref/Vsm)
- 选择n个电压最接近Vref/n的子模块
快速排序优化算法:
cpp复制void quickSort(float arr[], int low, int high) {
if (low < high) {
int pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
}
int partition(float arr[], int low, int high) {
float pivot = arr[high];
int i = low - 1;
for (int j = low; j <= high - 1; j++) {
if (arr[j] <= pivot) {
i++;
swap(&arr[i], &arr[j]);
}
}
swap(&arr[i + 1], &arr[high]);
return i + 1;
}
3. 系统性能测试与分析
3.1 稳态性能测试
| 指标 | 测试值 | 标准要求 |
|---|---|---|
| 网侧电流THD | 2.94% | ≤3% |
| 功率因数 | 0.999 | ≥0.98 |
| 功率控制精度 | ±0.5% | ±1% |
| 桥臂电流THD | 3.14% | ≤5% |
| 电容电压波动率 | ±2.5% | ±5% |
3.2 动态响应测试
阶跃负载变化(2MW→3MW)时:
- 功率调节时间:<50ms
- 超调量:<5%
- 直流电压波动:<1%
3.3 环流抑制效果对比
| 状态 | 二倍频幅值 | THD |
|---|---|---|
| 无抑制 | 85A | 21.29% |
| PIR控制 | 12A | 3.14% |
| 改进PIR控制 | 8A | 2.05% |
4. 工程实践中的关键问题
4.1 滑模控制抖振抑制
现场调试发现的问题:
- 开关频率不固定导致EMI超标
- IGBT温升较PI控制高15℃
解决方案:
- 采用边界层法替代符号函数
- 增加滞环比较器
- 优化滑模面参数λ=0.3/Ts
4.2 电容电压平衡优化
传统排序算法存在的问题:
- 快速排序最坏时间复杂度O(n²)
- 频繁排序增加CPU负载
改进方案:
- 引入冒泡排序与快速排序的混合算法
- 采用部分排序策略(仅对关键模块排序)
- 硬件加速:使用FPGA实现排序
4.3 电网不对称工况处理
故障现象:
- 负序分量导致环流增大
- 功率波动超过10%
应对策略:
- 增加负序电流控制环
- 改进PIR控制器为双谐振结构:
GPIR'(s)=GPIR(s)+2Krωcs/(s²+2ωcs+(2ω0)²) - 引入正负序分离算法
5. 实际调试经验分享
5.1 参数整定步骤
- 先整定外环PI参数(带宽设为20Hz)
- 再整定滑模控制参数(先K后η)
- 最后调试PIR控制器(从Kp开始,逐步加入谐振项)
5.2 现场测试技巧
- 功率阶跃测试时,建议以10%Pn为步长逐步增加
- THD测量应在不同负载点(30%、50%、100%)分别进行
- 电容电压平衡检查需持续观察30分钟以上
5.3 典型故障处理
案例1:桥臂电流畸变
- 现象:特定角度出现电流尖峰
- 原因:子模块驱动信号不同步
- 解决:校准光纤延时,误差<10ns
案例2:直流电压振荡
- 现象:100Hz频率振荡
- 原因:PIR参数过强
- 解决:调整Kr从20降至15
案例3:IGBT过热
- 现象:温度较设计值高20℃
- 原因:滑模切换频率过高
- 解决:增加边界层厚度φ从0.05到0.1
本系统的创新点在于将无源滑模控制与PIR控制相结合,在保持强鲁棒性的同时有效抑制了环流。实测表明,该方案在电网电压跌落20%时仍能维持稳定运行,满足高压直流输电系统对可靠性和电能质量的严格要求。