模块化多电平变换器MMC的pi/无源控制/滑模控制策略实现(交流7kV-直流20kV整流)仿真,三个仿真均为外环pi控制输出稳压20kV,内环分别采用pi/无源控制/滑模控制。 单桥臂二十子模块(子模块电压1kV),采用最近电平逼近NLM调制,并使用快速排序算法完成子模块均压,仿真中使用二倍频环流抑制,真动稳态性能良好,附带仿真介绍文档,详细讲述仿真搭建过程,并附带参考文献与原理出处,内容详实,适合电力电子入门仿真参考。

在电力电子领域,模块化多电平变换器(MMC)因其诸多优势而备受关注。今天,咱们就来聊聊MMC基于pi/无源控制/滑模控制策略实现交流7kV - 直流20kV整流的仿真那些事儿。这对电力电子刚入门想做仿真的朋友来说,可是相当有参考价值。

整体仿真框架

这次仿真的目标是实现交流7kV输入到直流20kV输出的整流,而且外环统一采用pi控制来稳定输出电压在20kV 。而内环则分别探索pi控制、无源控制以及滑模控制这三种不同策略。想象一下,外环就像是一个大管家,把控着整体输出电压的稳定,内环则像是不同的技术能手,用各自独特的方法协助外环完成任务。

单桥臂与子模块设置

这里的MMC单桥臂采用二十个子模块,每个子模块电压设定为1kV 。这就好比是搭建一座大楼,每个子模块就是一块有固定“电压能量”的积木。

调制与均压

采用最近电平逼近(NLM)调制方式,它就像一个聪明的调度员,合理安排每个子模块的工作状态,使得输出波形尽可能接近理想波形。同时,使用快速排序算法完成子模块均压。代码实现快速排序算法示例(Python语言):

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quick_sort(left) + middle + quick_sort(right)

这段代码首先检查数组长度,如果小于等于1直接返回,因为已经有序。然后选取中间元素作为基准点,将数组分为小于、等于和大于基准点的三部分,再递归地对左右两部分进行排序,最后合并结果。在MMC中,这个算法就是用来确保各个子模块电压均匀分布,让整个系统稳定运行。

环流抑制

仿真中使用二倍频环流抑制技术,它能够有效减少系统中的环流,提升系统的稳态性能。就像给系统安装了一个“净化器”,让系统内部的电流流动更加健康有序。实际运行结果表明,整个系统的动态和稳态性能都十分良好。

三种内环控制策略

Pi控制内环

Pi控制是一种经典的控制策略。在代码实现上,会涉及到比例(P)和积分(I)参数的调整。以简单的Python模拟为例:

kp = 0.5
ki = 0.1
error_sum = 0
setpoint = 20  # 20kV输出目标
current_value = 18  # 当前测量值

for _ in range(10):
    error = setpoint - current_value
    p_term = kp * error
    error_sum += error
    i_term = ki * error_sum
    control_signal = p_term + i_term
    # 根据control_signal调整系统输出,这里简化未写具体调整代码
    current_value += control_signal * 0.1  # 模拟输出变化
    print(f"当前值: {current_value:.2f}")

在这个简单模拟里,我们设置了比例系数kp和积分系数ki 。通过不断计算误差,分别得到比例项和积分项,相加得到控制信号,以此来调整系统输出,使输出尽可能接近目标值20kV 。

无源控制内环

无源控制基于系统的无源性原理,它从能量的角度对系统进行控制。这种控制策略相对复杂一些,代码实现涉及到对系统能量方程的推导和计算。比如在一些电力电子仿真库中,可能会有类似下面这样对无源控制相关参数初始化的代码片段(伪代码):

// 初始化无源控制相关参数
double R = 0.1; // 电阻参数
double L = 0.01; // 电感参数
double C = 0.001; // 电容参数
// 根据系统方程计算无源控制律相关系数
double k1 = calculate_k1(R, L, C);
double k2 = calculate_k2(R, L, C);

这里通过设定电路中的电阻、电感、电容等参数,进而计算出无源控制律所需要的系数,用于后续对系统的控制。它的核心思想是让系统像一个“无源网络”一样,自然地达到稳定状态,减少外部干预。

滑模控制内环

滑模控制是一种变结构控制,它能够快速响应系统的变化。在代码实现中,关键在于定义滑动面和切换函数。以下是一个简单的滑模控制滑动面定义的伪代码示例:

// 定义状态变量
double x1 = get_state1();
double x2 = get_state2();
// 定义滑模控制参数
double k = 1.5;
// 定义滑动面
double s = x2 + k * x1;

这里我们通过系统的状态变量定义了滑动面s ,然后基于这个滑动面和设计的切换函数来调整系统控制输入,使得系统状态能够沿着滑动面滑动并最终稳定。滑模控制就像是给系统设定了一条“轨道”,让系统状态乖乖地沿着这条轨道运行,即使系统受到干扰也能快速回到正轨。

仿真介绍文档

附带的仿真介绍文档详细讲述了仿真搭建过程。从MMC模型的创建,到各个控制策略的代码实现细节,再到参数的设置和调整,都有详细说明。这对于电力电子初学者来说,就像一份详细的地图,沿着它的指引就能一步步搭建起自己的仿真系统。

模块化多电平变换器MMC的pi/无源控制/滑模控制策略实现(交流7kV-直流20kV整流)仿真,三个仿真均为外环pi控制输出稳压20kV,内环分别采用pi/无源控制/滑模控制。 单桥臂二十子模块(子模块电压1kV),采用最近电平逼近NLM调制,并使用快速排序算法完成子模块均压,仿真中使用二倍频环流抑制,真动稳态性能良好,附带仿真介绍文档,详细讲述仿真搭建过程,并附带参考文献与原理出处,内容详实,适合电力电子入门仿真参考。

同时,文档里还附带了参考文献与原理出处。这些参考文献就像是知识库的大门,通过它们,你可以深入挖掘MMC及其控制策略背后的理论知识,让你不仅知其然,还知其所以然。

总之,这次仿真从多方面展示了MMC在不同控制策略下的性能表现,无论是对MMC控制策略感兴趣的新手,还是想深入研究电力电子仿真的朋友,都能从中获得不少收获。希望大家都能在电力电子的仿真世界里探索出属于自己的精彩。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐