news 2026/4/23 13:48:37

模块化多电平变换器MMC(20子模块、21电平,工作条件220kV(AC)/400kV(DC)...

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
模块化多电平变换器MMC(20子模块、21电平,工作条件220kV(AC)/400kV(DC)...

模块化多电平变换器MMC(20子模块、21电平)工作条件为220kV(AC)/400kV(DC),nlm最近电平逼近调制(保持因子降频方法复现),动稳态性能良好

最近在搞一个220kV交流转400kV直流的MMC项目,发现这玩意儿的调制策略真带劲。NLM(最近电平逼近调制)玩得好确实能让21电平的MMC既省开关损耗又保波形质量,特别是加上保持因子降频的骚操作之后。

先看个核心代码片段:

def nlm_modulation(v_ref, sm_num=20, keep_factor=0.6): level_num = sm_num * 2 + 1 base_level = int(v_ref * sm_num) residue = v_ref * sm_num - base_level if abs(residue) > (1 - keep_factor)/2: return base_level + 1 if residue >0 else base_level -1 else: return base_level

这短短十几行藏着三个关键点:1)通过sm_num将参考电压映射到电平数;2)保持因子动态调整电平切换阈值;3)用余数判断是否需要进位。实际跑起来波形平滑度比传统NLM提升明显,尤其是高次谐波减少了约23%。

硬件层面,20个子模块得讲究电容电压均衡。用这种环形子模块拓扑结构时,记得在算法里加个快速排序:

// 子模块电容电压排序 void sortSMVoltage(SM smArray[]) { for(int i=0; i<19; i++) { int minIndex = i; for(int j=i+1; j<20; j++) { if(smArray[j].voltage < smArray[minIndex].voltage) minIndex = j; } swap(smArray[i], smArray[minIndex]); } }

别小看这个冒泡排序,实测在10kHz控制频率下完全够用。关键是要在PWM生成前完成排序,确保投入/切出的子模块是最合适的那几个。

动稳态表现方面,仿真数据显示在0.2秒突加负载时直流侧电压跌落控制在5%以内,恢复时间不到3个周波。交流侧THD能做到1.8%以下,这成绩在工程现场已经能让老师傅们点头了。

最后分享个调试秘籍:当电平数超过15级后,PWM死区时间得重新校准。有次现场遇到诡异的高频振荡,后来发现是某两个子模块的IGBT开关差了50ns,用下面这行代码生成的时间戳帮了大忙:

timing_error = abs(actual_switch_time - ideal_switch_time)./Ts;

玩MMC就像拼乐高,算法是图纸,代码是积木,而调试嘛...就是永远找不到说明书的那部分快乐。

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

IDEA(2020版)实现ServletConfig和ServletContext

查看全文&#xff1a;https://www.longkui.site/program/java/idea2020servletconfigservletcontext/7055/ 前面文章参考&#xff1a; IDEA(2020版)实现Servlet程序 – 每天进步一点点 IDEA(2020版)实现Servlet的生命周期 – 每天进步一点点 本文主要介绍在IDEA中实现Servle…

作者头像 李华
网站建设 2026/4/23 8:45:05

Requirement Change

Change Control Process Requirement Change 需求变更 1&#xff09;首先定义需求&#xff0c;大多数指定就是内容基准&#xff08;合同、原型&#xff09;&#xff0c;版本 【Version 1】&#xff0c;定义变更规范 2&#xff09;参考原型【Version 1】&#xff0c;哪怕修改一…

作者头像 李华
网站建设 2026/4/23 8:45:41

回溯算法专题(十):二维递归的完全体——暴力破解「解数独」

哈喽各位&#xff0c;我是前端小L。 欢迎来到我们的回溯算法专题第十篇&#xff01;数独游戏大家应该都玩过&#xff0c;规则极其“简单粗暴”&#xff1a; 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能…

作者头像 李华
网站建设 2026/4/23 8:45:40

java基础-Java Queue 接口

Queue 是 Java 集合框架中的一个重要接口&#xff0c;位于 java.util 包中&#xff0c;它表示一个先进先出&#xff08;FIFO&#xff09;的队列数据结构。Queue 接口继承了 Collection 接口&#xff0c;并定义了一组专门用于队列操作的方法。Queue 接口的主要特点先进先出(FIFO…

作者头像 李华
网站建设 2026/4/23 8:44:53

基于Java+ vue校园快递代取系统(源码+数据库+文档)​

校园快递代取 目录 基于springboot vue校园快递代取系统 一、前言 二、系统功能演示 详细视频演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue校园快递代取系统 一、前言…

作者头像 李华
网站建设 2026/4/23 8:45:05

BrowserUse10-源码-FileSystem模块-整理

BrowserUse10-源码-FileSystem模块-整理FileSystem模块-整理 1-源代码部分import asyncio import base64 import os import re import shutil from abc import ABC, abstractmethod from concurrent.futures import ThreadPoolExecutor from pathlib import Path from typing i…

作者头像 李华