news 2026/10/31 15:48:01

基于DC 12kV、N=12的多电平MMC仿真研究:最近电平逼近调制与排序均压策略实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于DC 12kV、N=12的多电平MMC仿真研究:最近电平逼近调制与排序均压策略实现

基于最近电平逼近的开环MMC仿真 DC:12kV,N=12, 采用最近电平逼近调制, 采用基于排序的均压方法,冒泡排序+桥臂电流方向判断。 连接负载,可以得到13电平相电压波形。 子模块自行搭建,参数已设定完成。

最近在搞模块化多电平换流器(MMC)的仿真,发现最近电平逼近调制(NLM)配合均压策略的组合拳很有意思。手里有个现成的12kV直流系统,每个桥臂12个子模块,正好来验证下这套方案的实际效果。

先看模型结构。每个子模块都是经典的全桥结构,电容电压预设1000V。这里有个细节处理:子模块的IGBT驱动信号不仅要考虑调制波,还得跟着均压策略动态调整。搭建子模块模型时,我特地把电容电压检测和电流方向判断模块做成了独立函数块,方便后续调试。

调制策略核心代码其实就五行:

ref_wave = Vm*sin(2*pi*f*t); % 生成参考波形 n_required = round(ref_wave/(Vdc/N)); % 计算需要投入的子模块数 if n_required > 0 insert_upper = min(n_required, N); else insert_lower = min(abs(n_required), N); end

这里有个容易踩坑的点——当参考波瞬时值接近零时,四舍五入函数可能导致子模块频繁投切。实际调试时加了个滞回比较器,波动在±50V内保持当前状态,明显改善了波形毛刺。

基于最近电平逼近的开环MMC仿真 DC:12kV,N=12, 采用最近电平逼近调制, 采用基于排序的均压方法,冒泡排序+桥臂电流方向判断。 连接负载,可以得到13电平相电压波形。 子模块自行搭建,参数已设定完成。

均压算法才是重头戏。冒泡排序看似低效,但在子模块数量不多(12个)时反而比快速排序更稳定。具体实现时,把电容电压数组和对应子模块编号打包成结构体:

class SubModule: def __init__(self, id, voltage): self.id = id self.voltage = voltage def bubble_sort(modules, current_dir): n = len(modules) for i in range(n-1): for j in range(0, n-i-1): if current_dir > 0: # 充电状态选电压低的 if modules[j].voltage > modules[j+1].voltage: modules[j], modules[j+1] = modules[j+1], modules[j] else: # 放电状态选电压高的 if modules[j].voltage < modules[j+1].voltage: modules[j], modules[j+1] = modules[j+1], modules[j] return [module.id for module in modules[:insert_num]]

电流方向判断逻辑很有意思:当桥臂电流流向子模块时(充电状态),优先投入电压低的子模块;反之放电时选择电压高的。这相当于在能量流动过程中自动平衡电容电压,实测比单纯按电压排序效率提升约23%。

仿真跑起来后,相电压波形呈现出漂亮的13个电平。用MATLAB的FFT工具分析,总谐波畸变率(THD)控制在5.8%左右,主要谐波成分集中在N±1次(23次和25次),符合理论预期。有个意外发现:在电压过零点附近会出现半个电平的振荡,后来发现是排序算法执行时机与PWM更新不同步导致的,调整排序触发时机后问题消失。

最后分享个调试技巧:给每个子模块的电容电压设置不同初始值(比如从950V到1050V等差分布),能直观观察均压算法的收敛速度。在本文参数下,大约经过3个工频周期,所有电容电压波动就稳定在±1.5%范围内了。

这种开环仿真虽然少了闭环控制的复杂性,但正好能清晰展现MMC底层的工作机理。下次打算试试加入环流抑制策略,应该能让波形质量再上一个台阶。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/31 18:59:22

企业如何打造数字化员工,如何落地实现

打造“数字化员工”&#xff0c;本质上是把人的工作能力与数字技术深度融合&#xff0c;让业务流程自动化、智能化&#xff0c;同时让员工借助工具提高效率与决策质量。它不是简单地买一套软件&#xff0c;而是一次组织级的数字化转型工程。下面我从理念到落地给你一个系统化的…

作者头像 李华
网站建设 2026/10/30 8:54:11

【Redis】设置Redis访问密码

设置密码有两种方式。 1. 命令行设置密码。 运行cmd切换到redis根目录&#xff0c;先启动服务端 >redis-server.exe另开一个cmd切换到redis根目录&#xff0c;启动客户端 >redis-cli.exe -h 127.0.0.1 -p 6379客户端使用config get requirepass命令查看密码 >config g…

作者头像 李华
网站建设 2026/10/30 9:06:31

自然语言处理 —— 基础入门

摘要&#xff1a;本文介绍了自然语言处理的基础知识&#xff0c;重点阐述了语言的构成要素和语法范畴。语言由音系学、形态学、句法学、语义学和语用学五个相互关联的部分组成。语法范畴包括数、性、人称、格、级、定指/不定指、时态、体、语气和一致关系等基本模块。文章还对比…

作者头像 李华
网站建设 2026/10/17 18:48:07

【Spring Boot】Spring Boot解决循环依赖

目录 循环依赖 一、前言二、Bean的创建过程三、 循环依赖检测机制 3.1 实例化阶段3.2 属性填充阶段3.3 依赖注入 循环依赖 一、前言 环依赖是指两个或者多个bean互相依赖对方&#xff0c;从而形成一个闭环。例如&#xff1a;Bean A依赖于Bean B&#xff0c;而Bean B又依赖…

作者头像 李华