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

MMC模块化多电平换流器仿真探索:7电平闭环控制之路

mmc模块化多电平换流器仿真(整流逆变均有),7电平闭环控制,外环控直流电压,有功,无功均有,已单独加了电容电压平衡和二倍频环流抑制,采用载波移相调制。 可供学习参考。

最近在研究 MMC(模块化多电平换流器),发现它在电力系统领域那可是相当重要的存在。今天就来跟大家分享一下我做的 MMC 模块化多电平换流器仿真,整流逆变都涵盖,而且是 7 电平闭环控制的哦。

整体架构与关键控制环节

MMC 的结构就像一个精心搭建的积木城堡,每个模块都不可或缺。在这次仿真里,外环控制着直流电压,有功和无功功率也都在掌控之中。这就好比给换流器安上了一个聪明的大脑,让它知道该怎么调整自己的“行为”。

电容电压平衡与二倍频环流抑制

为了让这个“城堡”更加稳固,单独添加了电容电压平衡和二倍频环流抑制。电容电压平衡就像是给城堡的每一层都铺上了平整的基石,保证各个电容的电压稳定,不然电压忽高忽低,整个系统可就乱套了。而二倍频环流抑制则像是给城堡周围挖了条护城河,把那些捣乱的二倍频环流阻挡在外。

载波移相调制

采用载波移相调制,这就像是给整个系统找到了一个精准的指挥家。通过载波移相调制,各个子模块的动作被协调得有条不紊,让输出的波形更加完美。

代码实现与分析

下面咱们来看一些关键代码片段,以载波移相调制为例。

# 定义载波移相调制相关参数 num_submodules = 3 # 子模块数量,对于7电平可能这里是3 carrier_freq = 1000 # 载波频率 omega = 2 * np.pi * carrier_freq t = np.linspace(0, 1 / carrier_freq, 1000) # 时间向量 # 生成载波信号 carriers = [] for i in range(num_submodules): carrier = np.sin(omega * t + i * 2 * np.pi / num_submodules) carriers.append(carrier) # 这里简单示意调制波与载波比较生成脉冲 modulation_signal = np.sin(2 * np.pi * 50 * t) # 假设50Hz的调制波 pulses = [] for carrier in carriers: pulse = np.where(modulation_signal > carrier, 1, 0) pulses.append(pulse)

在这段代码里,首先我们定义了一些关键参数,像子模块数量,载波频率等。然后通过循环生成了不同相位的载波信号,这里的相位差就是根据载波移相调制的原理来设定的,每个载波之间有一定的相位偏移。接着假设了一个 50Hz 的调制波,通过将调制波和每个载波进行比较,就生成了相应的脉冲信号,这些脉冲信号最终会用来控制子模块的开通和关断,实现我们想要的电压输出波形。

关于闭环控制

外环控制直流电压这块代码相对复杂一些,简单来说,大致思路是这样:

# 假设获取到的直流电压测量值 measured_dc_voltage = get_dc_voltage_measurement() desired_dc_voltage = 1000 # 设定的期望直流电压值 error = desired_dc_voltage - measured_dc_voltage kp = 0.1 # 比例系数 ki = 0.01 # 积分系数 integral = integral + error * dt control_signal = kp * error + ki * integral # 根据这个控制信号去调整相关参数影响换流器输出

这里通过获取测量的直流电压和设定的期望直流电压作差得到误差,然后利用比例积分(PI)控制器,根据比例系数和积分系数计算出控制信号,这个控制信号会去调整换流器的一些参数,使得直流电压朝着我们期望的值靠近,实现闭环控制。

mmc模块化多电平换流器仿真(整流逆变均有),7电平闭环控制,外环控直流电压,有功,无功均有,已单独加了电容电压平衡和二倍频环流抑制,采用载波移相调制。 可供学习参考。

这次的 MMC 模块化多电平换流器仿真研究,从理论到代码实现,都经历了不少探索。希望分享的这些内容能给大家在学习 MMC 相关知识时提供一些参考,一起在电力电子的世界里探索更多奥秘。

http://www.cnnetsun.cn/news/1424687.html

相关文章:

  • Trae IDE + Playwright 自动化测试实战:5分钟搞定网页点击与截图
  • 永磁同步电机SVPWM自适应无位置算法控制仿真Simulink模型探索
  • 保姆级教程:用YOLOv8和PyQt5从零搭建番茄成熟度检测桌面应用(附完整源码)
  • Vue3+UniApp微信小程序分享功能全攻略:从全局混入到单页面实现
  • 告别多套键鼠的烦恼,Barrier助你轻松实现多主机无缝操控
  • 【最全】2026年3月OpenClaw(Clawdbot)华为云7分钟喂奶级搭建教程
  • STM32CubeMX实战:Fatfs文件系统与SDMMC驱动深度集成
  • 针对视觉语言任务(如图表理解),OpenClaw 的编码器是否具备空间推理能力?
  • RK3588平台imx415传感器ISP在线调试实战手记
  • 你学过的优先队列、最大流、动态规划,全藏在 OpenCV 这 3000 行分割源码里——图像分割中的经典算法设计
  • 数字信号处理实战:用Python实现线性卷积与循环卷积(附完整代码对比)
  • 计算机毕业设计java基于微信小程序的综合旅游管理系统的设计与实现 基于微信小程序的智慧旅游服务平台设计与实现 微信小程序驱动的全域旅游信息与组团管理系统研发
  • 计算机毕业设计java基于微信小程序点餐系统的设计与实现 基于微信小程序的线上餐饮订购平台设计与实现 微信小程序驱动的移动端餐厅点餐与支付系统研发
  • 自动泊车路径规划优化算法
  • 全栈开发(四)版本控制与协作
  • 用SmartPing替代Zabbix做轻量级网络监控:5分钟搞定跨机房延迟检测
  • 从Function Calling到MCP:AI工具化到底解决了什么,没解决什么
  • Solidworks钣金设计:折弯系数、K因子与折弯扣除的实战应用解析
  • 微铣削刀头磨损损伤检测数据集VOC+YOLO格式804张3类别
  • 人工智能如何改变 Anthropic 的工作方式43
  • CSP-J/S竞赛备战指南:2025年关键时间节点与高效学习路径
  • 全志平台双摄像头驱动配置指南:以RN6854M和NVP6158为例(含代码解析)
  • ARM Cortex-M4芯片SVD文件生成实战:从零配置到完整流程解析
  • K3s国内镜像加速实战:从安装到部署Nginx的完整避坑指南
  • 光伏锂电池储能功率协调控制系统仿真探索
  • 毕业季不再“渡劫”:百考通AI全流程拆解论文炼狱的终极通关秘籍
  • ABAQUS不规则线纤维投放插件及配套教程
  • 诊断协议中的状态机艺术:UDS SecurityAccess服务在自动驾驶系统中的协同挑战
  • 17 openclaw数据库连接池配置:避免性能瓶颈的关键
  • ▲基于FPGA的4ASK调制解调系统verilog实现