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

单台三相模块化多电平(MMC)小信号建模之旅

单台三相模块化多电平(mmc)小信号建模 内含功率外环、环流抑制、电流内环、PLL等控制部分完整建模

在电力电子领域,三相模块化多电平(MMC)变换器因其诸多优点而备受关注。今天咱就唠唠单台MMC的小信号建模,这里面还包含功率外环、环流抑制、电流内环、PLL等控制部分的完整建模。

功率外环建模

功率外环主要目的是根据给定的功率指令,生成合适的电流指令。在三相系统中,我们通常基于瞬时功率理论来实现。假设三相电压为\(ua\)、\(ub\)、\(uc\),三相电流为\(ia\)、\(ib\)、\(ic\),瞬时有功功率\(p\)和无功功率\(q\)可表示为:

# 这里简单示意计算瞬时功率的代码逻辑 import numpy as np # 假设已经获取到三相电压和电流 ua = np.random.rand(100) ub = np.random.rand(100) uc = np.random.rand(100) ia = np.random.rand(100) ib = np.random.rand(100) ic = np.random.rand(100) # 计算瞬时功率 p = 1.5 * (ua * ia + ub * ib + uc * ic) q = 1.5 * (ua * ib - ub * ia + ub * ic - uc * ib + uc * ia - ua * ic)

功率外环通过PI调节器来调节功率偏差。假设功率指令为\(p{ref}\)和\(q{ref}\),PI调节器的传递函数可简单表示为:\(G{pi}(s)=Kp+\frac{Ki}{s}\),其中\(Kp\)是比例系数,\(K_i\)是积分系数。代码实现上可以这样:

class PI_Controller: def __init__(self, Kp, Ki): self.Kp = Kp self.Ki = Ki self.integral = 0 def update(self, error, dt): self.integral += error * dt output = self.Kp * error + self.Ki * self.integral return output # 初始化PI控制器 Kp_p = 0.1 Ki_p = 0.01 pi_p = PI_Controller(Kp_p, Ki_p) # 假设功率偏差 error_p = p_ref - p # 计算输出 output_p = pi_p.update(error_p, dt)

这里的dt是采样时间间隔,每次调用update函数,根据功率偏差计算出输出,这个输出后续会作为电流内环的电流指令。

环流抑制建模

环流在MMC中是个不可忽视的问题,它会影响系统的性能和效率。为了抑制环流,通常采用基于零序电压注入的方法。在\(abc\)坐标系下,环流可表示为:\(i{cir,a}=i{a1}-i{a2}\),\(i{cir,b}=i{b1}-i{b2}\),\(i{cir,c}=i{c1}-i{c2}\),其中\(i{a1}\)、\(i_{a2}\)等分别是上下桥臂电流。

我们通过引入环流控制器,比如也是一个PI控制器,来调节环流偏差。以\(a\)相为例,代码实现可能如下:

# 假设已经获取到上下桥臂电流 ia1 = np.random.rand(100) ia2 = np.random.rand(100) icir_a = ia1 - ia2 # 环流PI控制器 Kp_cir = 0.05 Ki_cir = 0.005 pi_cir_a = PI_Controller(Kp_cir, Ki_cir) # 假设环流指令为0 error_cir_a = 0 - icir_a output_cir_a = pi_cir_a.update(error_cir_a, dt)

这个输出会叠加到调制波上,从而抑制环流。

电流内环建模

电流内环的任务是跟踪功率外环给出的电流指令。在静止坐标系下,电流内环通常采用比例谐振(PR)控制器,以实现对交流信号无静差跟踪。PR控制器传递函数为:\(G{pr}(s)=Kp+Kr\frac{2\omegacs}{s^{2}+2\omegacs+\omega0^{2}}\),其中\(\omegac\)是截止频率,\(\omega0\)是谐振频率(一般为电网频率)。

单台三相模块化多电平(mmc)小信号建模 内含功率外环、环流抑制、电流内环、PLL等控制部分完整建模

代码实现上:

class PR_Controller: def __init__(self, Kp, Kr, wc, w0): self.Kp = Kp self.Kr = Kr self.wc = wc self.w0 = w0 self.s1 = 0 self.s2 = 0 def update(self, error, dt): self.s1 += (error - self.wc * self.s1) * dt self.s2 += (self.w0 * self.s1 - self.wc * self.s2 - self.w0**2 * error) * dt output = self.Kp * error + self.Kr * self.s2 return output # 初始化PR控制器 Kp_i = 0.2 Kr_i = 0.1 wc_i = 10 w0_i = 2 * np.pi * 50 pr_i_a = PR_Controller(Kp_i, Kr_i, wc_i, w0_i) # 假设电流偏差 error_i_a = i_ref_a - ia output_i_a = pr_i_a.update(error_i_a, dt)

这个输出就是最终作用在MMC变换器上的调制信号。

PLL建模

锁相环(PLL)在MMC系统中用于同步电网电压,获取准确的相位信息。常用的是基于同步旋转坐标系(SRF)的PLL。其基本原理是将电网电压变换到同步旋转坐标系下,通过PI控制器调节相位偏差,使得\(q\)轴电压为0。

在代码上,首先要进行坐标变换,假设电网电压为\(ua\)、\(ub\),将其变换到\(dq\)坐标系:

def abc_to_dq(ua, ub, theta): uc = -ua - ub u_alpha = ua u_beta = np.sqrt(3) / 3 * (ua + 2 * ub) ud = u_alpha * np.cos(theta) + u_beta * np.sin(theta) uq = -u_alpha * np.sin(theta) + u_beta * np.cos(theta) return ud, uq # 假设电网电压 ua = np.random.rand(100) ub = np.random.rand(100) theta = 0 # 初始相位 ud, uq = abc_to_dq(ua, ub, theta) # PLL的PI控制器 Kp_pll = 0.01 Ki_pll = 0.001 pi_pll = PI_Controller(Kp_pll, Ki_pll) # 假设q轴电压指令为0 error_q = 0 - uq output_pll = pi_pll.update(error_q, dt) theta += output_pll * dt

这里通过不断更新相位\(\theta\),实现对电网电压的同步。

通过上述对功率外环、环流抑制、电流内环和PLL的建模,我们就完成了单台三相模块化多电平(MMC)的小信号建模。每个部分相互协作,共同保障MMC系统稳定高效运行。当然,实际应用中还需要根据具体的系统参数进行细致的调整和优化。

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

相关文章:

  • 别再折腾了!Win11 WSL2下配置PyTorch GPU环境,我帮你把90%的坑都踩完了
  • 四足机器人避坑指南:为什么你的仿生项目总站不稳?(附开源方案推荐)
  • 避坑指南:D435i深度相机测距不准?可能是这5个设置没调对
  • 千问图像生成16Bit效果展示:荷叶水珠张力与女神发丝次表面散射渲染
  • LLaMA-Factory WebUI实战:用Qwen2.5-VL-7B模型微调,手把手教你从训练到推理避坑
  • Python风控模型上线即告警?这4类Docker镜像层污染问题,正在让你的CI/CD流水线失效
  • SiameseAOE中文-base实战教程:ABSA结果用于A/B测试——新旧版本UI情感变化分析
  • OpenClaw故障排查:GLM-4.7-Flash连接失败解决方案
  • Micro Debug:Arduino极简嵌入式调试库
  • 2026年写餐饮的广告语服务服务型公司推荐 - 品牌宣传支持者
  • Laravel 9.x重磅升级:十大新特性解析
  • Qwen3-TTS声音克隆功能体验:流式生成、情感控制,实测效果超预期
  • Gazebo室内环境建模实战:从零构建到launch文件一键启动
  • Nanopi r4s USB网卡驱动安装与配置全攻略(MT7601U芯片实战)
  • 零基础玩转OpenClaw:nanobot镜像入门10分钟指南
  • Neovim美化踩坑实录:从乱码图标到完美主题,我的init.lua配置全解析(附避坑清单)
  • OpenClaw+GLM-4.7-Flash:个人财务管理自动化方案
  • 为FUTURE POLICE模型开发VS Code插件:提升语音数据处理效率
  • 2026科特迪瓦ECTN认证优质机构推荐榜:多哥ECTN认证、布基纳法索ECTN认证、贝宁ECTN认证、几内亚ECTN认证选择指南 - 优质品牌商家
  • 2026兰德酷路泽改装机构深度评测报告:四川酷路泽改装公司、四川酷路泽老改新公司、成都酷路泽改装公司、成都酷路泽老改新公司选择指南 - 优质品牌商家
  • IndexTTS 2.0情感控制效果:用自然语言描述生成对应语气语音
  • MCP服务弹性伸缩失效导致预算超支?从冷启动延迟到空闲实例回收的7步精准控费法
  • 2026年热门的高密度机柜实力品牌厂家推荐 - 品牌宣传支持者
  • 快速构建spi通信测试环境,快马ai助力keil原型开发效率倍增
  • Windows 10 + RTX 4080 保姆级教程:手把手教你部署PaddleOCR PP-StructureV3(含完整避坑指南)
  • 2026年口碑好的铁路护栏/江苏护栏供应商怎么选 - 品牌宣传支持者
  • 【Python AI用例优化黄金法则】:20年架构师亲授5大高频场景提速87%的实战秘籍
  • 为什么FNF PsychEngine能成为节奏游戏创作的首选工具?
  • GHelper深度解析:华硕笔记本终极性能调校实战指南
  • 在 OpenClaw 中调用 OpenCode 进行开发任务