模块化多电平换流器MMC 载波移相调制 Plecs 仿真 工况 AC3.3kv DC6kv N6 [1]仿真采用电压外环电流内环双闭环控制输出电压能准确跟踪指令值。 [2]采用均压控制保证各相子模块电容电压平衡稳定控制在 1000V 左右。 [3]采用载波移相调制对于子模块数量较少的 mmc 而言采用载波移相调制弥补了最近电平逼近调制的不足每个子模块的载波间隔 1/6 周期增加等效开关频率输出电压谐波含量大幅降低 采用双二阶广义积分器 DSOGI-PLL可电网电压基波正序分量适用于电网电压不平衡含有高次谐波的工况 可提供参考文献在电力电子领域模块化多电平换流器MMC因其诸多优势而备受关注。今天咱们就来聊聊MMC基于载波移相调制在Plecs中的仿真工况设定为AC3.3kv 、DC6kv 子模块数量N 6。一、双闭环控制的实现本次仿真采用电压外环电流内环双闭环控制目的是让输出电压能精准跟踪指令值。简单来说电压外环负责根据给定电压与实际输出电压的差值输出一个电流指令值而电流内环则根据这个电流指令值与实际电流的差值去调节换流器的输出以达到稳定输出电压的效果。在代码实现上假设我们使用Python进行算法模拟实际Plecs中会有其特定的语言和模块来实现类似功能# 定义一些初始参数 ref_voltage 3.3e3 # 参考电压 3.3kv actual_voltage 0 kp_voltage 0.1 # 电压外环比例系数 ki_voltage 0.01 # 电压外环积分系数 error_voltage_sum 0 ref_current 0 while True: # 模拟获取实际电压值实际中从电路采样 actual_voltage get_actual_voltage() error_voltage ref_voltage - actual_voltage error_voltage_sum error_voltage ref_current kp_voltage * error_voltage ki_voltage * error_voltage_sum # 后续将ref_current传入电流内环这段代码模拟了电压外环的控制过程通过不断计算电压误差并利用比例积分控制算法得出电流指令值。二、均压控制确保电容电压平衡为保证各相子模块电容电压平衡并稳定控制在1000V左右均压控制必不可少。在MMC中各子模块电容电压如果不平衡会影响换流器的性能甚至导致故障。均压控制算法会实时监测各子模块电容电压然后通过调整子模块的投入和切除来平衡电压。同样用Python代码简单示意capacitor_voltages [1000] * 6 # 初始化6个子模块电容电压为1000V kp_balance 0.05 # 均压控制比例系数 while True: avg_voltage sum(capacitor_voltages) / len(capacitor_voltages) for i in range(len(capacitor_voltages)): error_voltage capacitor_voltages[i] - avg_voltage # 根据误差调整子模块相关参数实际中是调整子模块的投入切除 control_signal kp_balance * error_voltage adjust_submodule(i, control_signal)这段代码通过计算子模块电容电压的平均值然后根据每个子模块与平均值的误差来生成控制信号以调整子模块状态达到均压目的。三、载波移相调制的优势及实现对于子模块数量较少的MMC而言采用载波移相调制能弥补最近电平逼近调制的不足。每个子模块的载波间隔1/6周期这样做可以增加等效开关频率从而使输出电压谐波含量大幅降低。模块化多电平换流器MMC 载波移相调制 Plecs 仿真 工况 AC3.3kv DC6kv N6 [1]仿真采用电压外环电流内环双闭环控制输出电压能准确跟踪指令值。 [2]采用均压控制保证各相子模块电容电压平衡稳定控制在 1000V 左右。 [3]采用载波移相调制对于子模块数量较少的 mmc 而言采用载波移相调制弥补了最近电平逼近调制的不足每个子模块的载波间隔 1/6 周期增加等效开关频率输出电压谐波含量大幅降低 采用双二阶广义积分器 DSOGI-PLL可电网电压基波正序分量适用于电网电压不平衡含有高次谐波的工况 可提供参考文献在Plecs中设置载波移相调制时假设我们有一个简单的模型搭建思路。每个子模块都有一个对应的载波信号通过设置它们的相位差来实现载波移相。以Matlab类似的代码逻辑来理解Plecs有自己的图形化和脚本化设置方式但原理相通N 6; % 子模块数量 T 1/50; % 基波周期 50Hz carrier_freq 500; % 载波频率 carrier_period 1/carrier_freq; phase_shift carrier_period / N; % 每个子模块载波相位差 for k 1:N t 0:0.0001:2*T; % 时间向量 carrier(k,:) sin(2*pi*carrier_freq*t (k - 1)*phase_shift); % 后续利用这些载波信号与调制波比较生成PWM信号控制子模块 end这段代码生成了6个子模块的载波信号每个载波信号相位相差1/6载波周期。四、双二阶广义积分器DSOGI - PLL的应用采用双二阶广义积分器DSOGI - PLL能够获取电网电压基波正序分量特别适用于电网电压不平衡且含有高次谐波的工况。它通过对电网电压进行处理分离出基波正序分量为换流器的控制提供准确的电压信息。虽然具体代码实现较为复杂但大致原理是通过构建双二阶广义积分器结构对输入电压信号进行处理。例如在一些开源的电力系统控制库中会有类似这样的函数调用from power_system_control_lib import DSOGI_PLL grid_voltage get_grid_voltage() # 获取电网电压信号 dsoqi_pll DSOGI_PLL() positive_sequence_voltage dsoqi_pll.get_positive_sequence(grid_voltage)这段代码展示了如何使用一个假设的库函数来获取电网电压基波正序分量。通过以上各个环节的设置与实现我们能够在Plecs中对MMC进行有效的载波移相调制仿真以满足设定的工况要求并且在复杂电网条件下也能稳定运行。希望这篇博文能为大家在MMC仿真研究上提供一些思路。参考文献[此处可罗列具体参考文献]