MMC并网逆变器 滑模控制 1.MMC工作在整流侧,子模块个数N=22, 直流侧电压Udc=11kV,交流侧电压6.6kV 2.控制器采用双闭环控制,外环控制有功功率,采用PI调节器,电流内环采用无源滑模控制+前馈解耦; 3.环流抑制采用PIR控制,能够抑制环流二倍频分量; 采用最近电平逼近调制(NLM), 5.均压排序:电容电压排序采用快速排序,判断桥臂电流方向确定投入切除; 结果: 1.输出功率能够稳定在2MW和3MW,无功稳定在0Var; 3.网侧电压电流波形均为对称的三相电压和三相电流波形,网侧电流THD=2.94%<3%,符合并网要求; 环流抑制后桥臂电流的波形得到改善,桥臂电流THD由21.29%降至3.14%,环流波形也可以看到得到抑制; 5.电容电压能够稳定变化

在高压直流输电系统里混的工程师都懂,MMC这玩意儿就是个"电压积木大师"。这次咱们玩的参数有点猛:22个子模块搭成乐高塔,11kV直流电硬是给掰成6.6kV交流电。控制策略更刺激——双闭环配滑模,这组合堪比咖啡配红牛。

MMC并网逆变器 滑模控制 1.MMC工作在整流侧,子模块个数N=22, 直流侧电压Udc=11kV,交流侧电压6.6kV 2.控制器采用双闭环控制,外环控制有功功率,采用PI调节器,电流内环采用无源滑模控制+前馈解耦; 3.环流抑制采用PIR控制,能够抑制环流二倍频分量; 采用最近电平逼近调制(NLM), 5.均压排序:电容电压排序采用快速排序,判断桥臂电流方向确定投入切除; 结果: 1.输出功率能够稳定在2MW和3MW,无功稳定在0Var; 3.网侧电压电流波形均为对称的三相电压和三相电流波形,网侧电流THD=2.94%<3%,符合并网要求; 环流抑制后桥臂电流的波形得到改善,桥臂电流THD由21.29%降至3.14%,环流波形也可以看到得到抑制; 5.电容电压能够稳定变化

先看控制器的双核配置。外环的PI大爷负责功率维稳,代码里长这样:

class PI_Controller:
    def __init__(self, Kp, Ki):
        self.Kp = Kp  # 0.8这个数是在机房熬了三夜试出来的
        self.Ki = Ki  # 0.05别乱动,动了系统就翻脸
        self.integral = 0
        
    def update(self, error, dt):
        self.integral += error * dt
        return self.Kp * error + self.Ki * self.integral

内环的滑模控制就是个暴脾气保安,见不得电流有任何越界行为。它的核心算法比想象中简单:

% 滑模面设计
s = i_ref - i_actual + lambda*(v_ref - v_actual); 
% 切换增益计算(这个eta值调大了会抖到你怀疑人生)
eta = 10 * abs(s) + 0.5;  
% 控制量输出
u = K*s + eta*sign(s);

对付环流这个老油条,PIR控制器祭出三件套。注意这个谐振补偿器专门盯着二倍频搞事情:

// 离散化PIR实现
typedef struct {
    float Kp;
    float Ki;
    float Kr;
    float omega;
    float Ts;
    float integrator;
    float resonator[2];
} PIR_Controller;

float update_PIR(PIR_Controller *c, float error) {
    // 比例项
    float p_out = c->Kp * error;
    
    // 积分项
    c->integrator += c->Ki * error * c->Ts;
    
    // 谐振项(二阶广义积分器骚操作)
    float wT = c->omega * c->Ts;
    c->resonator[0] += wT * (error - c->resonator[1]);
    c->resonator[1] += wT * c->resonator[0];
    float r_out = c->Kr * c->resonator[0];
    
    return p_out + c->integrator + r_out;
}

调制环节的最近电平逼近算法其实是个数学游戏,核心就一行:

def NLM_modulation(v_target, v_caps):
    sorted_caps = quick_sort(v_caps)  # 快排后面细说
    n = round(v_target / sorted_caps[0])  # 最骚的就是这个四舍五入
    return select_modules(n, sorted_caps)

说到电容均压,老司机都懂快排比冒泡快不是一星半点。但这里藏着个坑——排序得配合电流方向判断:

void balanceCapacitors(Module[] modules, float armCurrent) {
    Comparator<Module> comparator = (armCurrent > 0) ?
        Comparator.comparing(m -> m.voltage) :  // 电流正时升序
        Comparator.comparing(m -> -m.voltage); // 电流负时降序
    
    Arrays.sort(modules, comparator);  // JDK的快排底层是Dual-Pivot玄学
    updateActiveModules(modules);      // 前N个模块上岗
}

实测波形那叫一个治愈强迫症:网侧电流THD 2.94%刚好卡在国标线底下,桥臂电流谐波从21%暴跌到3%,比股票熔断还刺激。电容电压波动跟心电图似的规律,证明均压算法没摸鱼。

调试时踩过的雷得说道说道:滑模的切换增益调大确实能增强鲁棒性,但会让IGBT的开关损耗飙升。有个邪门现象——当PI参数整定不当时,PIR控制会跟滑模控制隔空掐架,导致系统震荡。后来发现要在下午三点电网负荷高峰时调试,这时候的工况最凶残。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐