当前位置: 首页 > news >正文

基于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底层的工作机理。下次打算试试加入环流抑制策略,应该能让波形质量再上一个台阶。

http://www.jsqmd.com/news/454003/

相关文章:

  • llc半桥变换器多种控制方式仿真模型:变频、PWM、滞环、自抗扰等控制方式的半桥llc谐振变换...
  • 面对选型困惑与安装难题,如何与可靠的钢格板厂家高效合作? - 企师傅推荐官
  • 中心碰撞优化算法(CCO)-2026年SCI一区新算法-公式原理详解与性能测评 Matlab代码免费获取
  • win11本地部署openclaw实操第9集-配置 OpenClaw 连接本地模型参数
  • 20260309学习 - 小镇
  • QT聊天项目(11)
  • LITESTAR 4D应用:道路附加模块
  • 合规必看|2026西安文审机厂家实力测评,陕西英杰解锁全链条服务 - 朴素的承诺
  • 双碳+24小时分时综合能源系统低碳优化调度:Matlab+Yalmip+Cplex实现综合元素...
  • 玩Prius2004电机设计的兄弟们注意了,这波干货直接上硬菜。手头有套压箱底的实战资料,专治各种电机参数算不准、仿真跑不动、温升控不住的疑难杂症
  • [豪の算法奇妙冒险] 代码随想录算法训练营第五十四天 | 并查集理论基础、Carl107-寻找存在的路径
  • 增强现实(AR)波导器件的MTF分析
  • 好写作AI:从零到一,AI辅助初稿撰写实践——3天憋2000字?不存在的!
  • 自己在Simulink上搭建的四永磁同步电机偏差耦合转速同步控制仿真模型
  • 好写作AI:利用好写作AI快速搭建毕业论文核心章节——别再把时间浪费在“憋”上了
  • 2026年 穿线管厂家推荐排行榜:JDG/KBG/PVC/SC/PE/PPR/玻璃钢穿线管,精选优质品牌助力工程布线! - 品牌企业推荐师(官方)
  • 最近在实验室折腾Matlab的轨迹控制,发现这玩意儿真能玩出花。咱们直接从二维无人机航迹跟踪开整。上回给四旋翼写PID跟踪,核心就这几行
  • 上海美莱去眼袋:精雕眼周焕年轻,口碑见证靠谱医美实力 - 速递信息
  • 【SpringBoot】 解决报错Content type ‘multipartform-data; boundary=...; charset=UTF-8‘ not supported
  • 微电网二次控制,下垂控制,具有DOS攻击的周期微电网二次控制,在电压频率恢复到标称值的同时,实...
  • 2026年最新网易企业邮箱联系电话快速查询指南与购买价格详解 - 品牌2026
  • PAT 乙级 1101
  • 收藏备用|35岁不是危机!写10年CRUD没竞争力?程序员靠AI破局指南
  • 【AI数字人系列】三、数字人——定义数字世界中的你
  • 【递归、搜索与回溯】专题(四):回溯算法综合大练兵(上)—— 子集、排列与组合的进阶
  • 跨境卖家如何应对平台对重复铺货的治理升级
  • WordPress 中的Alt文本与图像标题区别
  • 2026年度社交脱单辅助与高情商聊天工具深度测评:谁才是真正的社交解药?
  • 【C/C++】无锁SPSC环形队列
  • JVM中的垃圾回收机制(速记版)