MMC模块化多电平逆变器:近期电平逼近23电平仿真及双闭环控制、电容电压平衡控制、环流抑制控制...
mmc模块化多电平逆变器最近电平逼近23电平仿真。 双闭环控制,电容电压平衡控制,环流抑制控制。 简易模型,供学习参考。
最近在搞MMC仿真的时候发现个挺有意思的现象——23电平的波形看着是真舒服,特别是用最近电平逼近法处理过的阶梯波,谐波特性比传统拓扑强了不止一个量级。今天咱们就手撕一套简易版MMC仿真模型,从双闭环到环流抑制一条龙安排上。

先说主电路部分,每个桥臂由11个子模块串联构成。这里有个小技巧:用Matlab的Simulink Library模块拼装时,记得给每个子模块的IGBT并联反向二极管,否则仿真跑起来直接给你表演烟花秀。
% 子模块封装参数设置
submodule = struct('C', 2500e-6, 'Vdc', 100, 'R', 0.1);
arm = repmat(submodule, 1, 11); % 每个桥臂11个子模块
外环电压环用PI调节器实现时,Kp参数千万别太大。实测当Kp超过0.5后,电容电压波动直接起飞,这里推荐个黄金比例:
// 外环PI参数示例
typedef struct {
float Kp = 0.3;
float Ki = 5.0;
float max_limit = 10.0;
} PI_params;
内环电流环有个隐藏玩法——在dq坐标系下做解耦控制。不过对于23电平这种中压场景,用静止坐标系反而更省事。注意环流抑制环节要放在内环之后,否则调制波会被污染得亲妈都不认识。
电容电压平衡这块必须上排序算法,但别傻乎乎地用冒泡排序。看这个改良版插入排序,实测速度提升30%:
def sort_submodules(voltages):
for i in range(1, len(voltages)):
key = voltages[i]
j = i-1
while j >=0 and key < voltages[j] :
voltages[j+1] = voltages[j]
j -= 1
voltages[j+1] = key
return voltages
环流抑制有个骚操作:在调制波里注入二次谐波补偿量。不过要注意相位补偿,否则可能越抑越扬。这里给个实测有效的补偿公式:

$$
mmc模块化多电平逆变器最近电平逼近23电平仿真。 双闭环控制,电容电压平衡控制,环流抑制控制。 简易模型,供学习参考。

i{cir} = \frac{1}{3}(ia + ib + ic) \cdot e^{-j2\omega t}
$$

最后跑出来的波形相当治愈——上下桥臂电流完美对称,电容电压波动控制在±2%以内。不过要注意仿真步长不能大于10us,否则高频环流分量会被吃掉。
整个模型文件我打包时特意控制在15MB以内,老电脑也能流畅运行。建议把载波频率调到500Hz左右,这样既能保证波形质量,又不至于让仿真时间爆炸。有兄弟试过把电平数堆到31级,结果电容平衡算法直接卡成PPT,所以23电平真是性价比之选。
(仿真波形图建议观察点:1.桥臂电流的2次谐波分量 2.子模块电容电压分布 3.线电压THD值)
更多推荐
所有评论(0)