资讯动态

含中间直流的三相电力电子变压器PET仿真模型(Simulink实现)

发布时间:2026/10/20 23:21:38 来源:尧图企业网站定制
文章信息项目标题含中间直流的三相电力电子变压器PET仿真模型Simulink仿真实现核心关键词电力电子变压器、PET、中间直流、DAB双有源桥、三相整流、三相逆变、Simulink仿真如果你打开任何一个标着电力电子变压器仿真模型的资料包大概率会遇到两种极端要么是原理图加数学公式从头到尾讲得头头是道但对着屏幕摸不着一根线要么是一个封装得只剩输入输出端口的Simulink模型跑起来确实能出波形可你想改一下直流母线电压整个系统瞬间罢工。含中间直流的三相电力电子变压器Power Electronic TransformerPET就属于典型的看图容易、让它稳着跑很难的仿真对象。这篇文章想做的就是把从零搭建一个三相PET仿真模型这条路的完整路径整理出来从为什么选中间直流结构到每一级怎么建模再到三条控制回路怎么拧在一起最后是我自己调试时踩进去过的几个坑。适合正在做电力电子方向课设、毕设的同学以及刚进课题、需要快速搭出PET仿真平台的研究生。文章里的参数和代码都是实测能用的版本你可以直接抄但更重要是把为什么这么干搞清楚不然改两个参数照样翻车。1. 中间直流不是过渡而是核心PET为什么非要三级结构1.1 两种PET路线打一架之后还是间接型赢了电力电子变压器的本质是通过电力电子变流器和高频变压器替代工频变压器实现电压变换、电气隔离和电能质量控制。但替代这条路有好几种走法最粗的分法是两类一类是直接变换型没有中间直流储能环节从交流进来直接靠高频开关网络换到另一侧比如矩阵变换器结构另一类是间接变换型先交变直、再直变直、最后直变交中间一定要有一个直流母线电容作为缓冲。直接变换型听起来省了一个环节效率似乎更高但实际做仿真你就知道它把三相输入到三相输出之间的变量全耦合在一起了。输入电压跌落、输出电压突变、负载扰动任何一侧的波动都会直接窜到另一侧控制器的设计和解耦补偿逻辑复杂到让人怀疑人生。而间接变换型虽然多了一个直流环节但这个直流母线成了天然的隔振层——前级整流器只需要管住母线电压后级逆变器只需要管住输出电压两侧基本解耦。我在模型里选的就是间接型三级结构输入级三相PWM整流器、隔离级双有源桥DAB、输出级三相逆变器。第一级把工频交流整成稳定的高压直流第二级通过高频变压器把高压直流变成可调的中间直流第三级再把直流逆变成用户需要的三相交流。三级结构在Simulink里看是多了几个模块但每一级的控制目标单一、控制器独立调试的时候可以一级一级单独弄比直接变换型不知道舒服多少。1.2 中间直流母线白送了三个隐藏技能很多人以为中间直流只是为了把两级变换串起来其实它的价值远超过渡二字。第一个隐藏技能是储能和分布式电源的接入窗口。光伏、电池、超级电容全是直流出身如果在PET中间直流母线上留一个双向DC/DC接口就等于把这台电力电子变压器变成了能源路由器这是直接变换型结构怎么都做不出来的。第二个技能是三相功率解耦。三相电网的电压不平衡、谐波、闪变问题到了中间直流母线这里都被电容洗牌重来。输入级可以用单位功率因数控制输出级可以独立输出对称三相电压输入侧的恶劣电能质量不会传导到输出侧。这在仿真实测里看得非常清楚我给输入侧叠加10%的五次谐波负载侧输出电压波形依然干净这就是中间直流的隔离红利。第三个技能是级联扩展的天然接口。高压电网需要PET耐压高单个器件顶不住就用多个模块级联。级联之后每个模块依然带着自己的中间直流母线高压侧串联分压、低压侧并联扩容控制上只需要在各模块的母线电压之间做均衡。这个拓扑如果要写进论文中间直流就是整个级联架构的基础。所以先想清楚你不是在做三级电路你是在做一台以直流母线为中枢的能量路由器。后面所有控制策略的设计都是围绕让这个中枢稳定展开的。2. 把PET逐级拆开每一级在Simulink里到底是个什么东西2.1 输入级——三相PWM整流器的建模要点与参数计算输入级的目标很明确把三相工频交流整流成稳定的高压直流同时让输入电流波形尽量接近正弦、功率因数接近1。Simulink里面我推荐直接用三相桥式整流器开关管选IGBT/Diode组合因为后面DAB的开关频率一般在1kHz到20kHz之间IGBT在这个频段表现最合适。整流器的交流侧必须串滤波电感这个电感是整流器能不能正常工作的命根子。电感太小电流纹波大、谐波污染严重电感太大电流响应迟钝、直流电压建立慢。工程上有个经验式子整流器交流侧电感按额定工况下电流纹波不超过额定电流峰值的15%~20%来估算取三相380V、直流母线电压750V、额定功率20kW的工况额定电流峰值大约50A允许纹波8~10A开关频率10kHz电感值大概在2~4mH这个区间。我模型里取了3mH实测纹波在合理范围内电压环响应速度也不错。直流侧母线电容的取值则要按能量缓冲需求来算。母线电容承担的是前后两级功率瞬时差值的缓冲公式是C (P_out × Δt) / (V_dc × ΔV_dc)其中ΔV_dc是允许的母线电压波动Δt按半个工频周期算10ms。还是以20kW、750V母线、允许5%波动37.5V为例算出来大概5300μF。这个值偏保守但还是真实的因为PET的中间直流要同时给DAB和逆变器供电电压波动太大会直接影响DAB的功率传输能力。仿真模型里我给的是6000μF用两个3300μF串联模拟耐压已经能跑出很稳定的母线电压。2.2 隔离级——DAB双有源桥的能量传输公式与电感设计隔离级是整个PET里最容易被忽略又最值得研究的部分。DAB的结构是一眼能看懂的原边全桥把中间直流逆变成高频方波经过高频变压器耦合到副边副边全桥再把方波整流成直流。神奇的地方在于两个全桥之间有个相位差这个移相角决定了能量从哪边流向哪边、流动多少。单移相控制下DAB的传输功率公式是P (n × V₁ × V₂ × D × (1 - D)) / (2 × f_sw × L)其中V₁是原边直流电压V₂是副边直流电压折算到原边后的值n是变压器变比D是移相比两个全桥方波之间的相位差折算成半周期的比例f_sw是开关频率L是变压器漏感和外加电感的总和。这个公式值得多看两眼因为它把所有DAB的脾气都说清楚了。功率方向由移相角的符号决定所以DAB天然支持能量双向流动功率大小和D是二次曲线关系不是线性的——D0.5的时候功率最大D接近0或1的时候功率很小这对轻载控制是个巨大挑战。另外V₁和n×V₂越接近在同样D的情况下传输同样功率需要的D越小损耗越低。所以变压器变比不是随便选的应该让n×V₂≈V₁这样DAB才工作在高效区间。电感L的选择和开关频率要配合。感值太小轻载时电感电流会断续、能量回流严重感值太大同样的移相角只能传更小的功率DAB的油门响应变迟钝。我的做法是先定开关频率然后按额定功率时D0.3左右来反推电感值。额定20kW、V₁750V、V₂750V变比1:1、频率10kHz代入公式算下来电感约120μH。变压器用Simulink里的Linear Transformer在副边设置一个附加漏感参数就能跑出DAB的工作特性但要注意Simulink的变压器默认不算饱和高频下的寄生电容也体现不了够用于控制策略仿真就好。2.3 输出级——三相逆变器加LC滤波怎么稳住电压输出级的任务是把中间直流变成用户端的三相交流仿真里负载用三相RL负载或者恒功率负载都行。逆变器选三相桥式IGBT结构控制上我用的电压外环、电流内环双环控制调制方式选SVPWM——空间矢量调制比SPWM的直流电压利用率高15%左右这个收益在直流母线电压同样的前提下很值。LC滤波器的截止频率要远低于开关频率的1/5到1/10同时要远高于输出基波频率。我用开关频率10kHz、基波50HzLC谐振频率选了1kHz左右。L取1mHC取25μF谐振频率正好在1kHz附近。电容太小滤不掉高频纹波电容太大又会让逆变器输出无功电流变大、电感电流应力上升。这个参数组合实测波形很好电压THD能压到3%以内。2.4 中间直流侧的电压共享细节中间直流在三级结构里承担的职责是前级整流器给它充能后级逆变器和DAB从它取能所以它既是蓄水池又是分水岭。实际仿真里经常遇到的一个尴尬是输入级还没建立好电压后级就开始抽电母线电压直接起不来。所以我给模型加了一个母线电压阈值判定逻辑只有V_dc超过90%设定值之后才允许DAB和逆变器的使能信号打开。这个细节看着小但是仿真能不能一次跑起来的关键比很多控制参数都重要。3. 控制回路怎么配伍三层联动才是仿真的灵魂3.1 输入级控制电压外环压住母线电流内环整形输入电流三相PWM整流器的控制我用的电压定向矢量控制VOC。简单说就是把三相静止坐标系下的电流变换到dq同步旋转坐标系d轴电流管有功、q轴电流管无功。控制回路分两层电压外环以直流母线电压偏差作为输入PI输出d轴电流指令电流内环负责让实际电流快速跟踪指令值。电压环的PI参数和电流环的PI参数时间尺度必须拉开差距。电流环响应快带宽大概在几百赫兹到1kHz电压环要慢一个数量级带宽一两百赫兹就行。如果两个环速度相近整个环路会出现振荡母线电压来回甩。具体整定时我的做法是先断开电压环把电流环单独调稳要求阶跃响应无明显超调再把电压环接上进行微调慢慢加大比例系数直到母线电压有点振的迹象再往回退一点留出裕量。q轴电流指令我直接给0也就是单位功率因数运行。如果想给电网发无功把它改成负值就能实现容性补偿。这个点在仿真里很好验证改一下常数就能看到输入电流相位和电压相位的变化。3.2 DAB移相控制抓住那个决定功率方向的相位差DAB的控制量不是占空比而是移相角。Simulink里实现单移相控制的方式是把原边全桥和副边全桥的驱动脉冲都建立在同一个载波上副边脉冲在原边基础上延迟一个移相时间这个时间等于移相角除以2π再乘以载波周期。我一般不用Simulink自带的PWM发生器做DAB控制而是手写一个比较器逻辑这样移相角可以直接用一个变量控制调试起来非常直观。移相角的上下限也要做限幅处理D一般限制在0.4以内超过0.5传输功率会掉头往回跑这个特性很多人第一次做DAB都会栽跟头。我给模型做的是D在-0.45到0.45之间的限幅留了5%的裕量防止控制器积分饱和把移相角推到死区去。DAB的PI参数整定其实很有讲究。因为传输功率和D的关系是非线性的如果直接用功率偏差算PI增益在大功率和小功率工况下表现完全不同。我的做法是把功率偏差除以当前母线电压做归一化得到一个等效的单瓦特对应的移相度数再进PI。这样不管功率等级怎么变控制增益都比较均匀动态响应一致性好。3.3 输出逆变级控制双闭环让波形在负载切换时也不发抖输出级双闭环的结构是电压环管输出电压有效值电流环管电感电流。负载突变的时候电容电压不会突变但负载电流会突变电流环的作用就是快速响应这个突变减轻电压环的压力。在Simulink里实现双闭环需要注意坐标变换的基准。如果是三相平衡负载用dq旋转坐标系下的PI控制稳态性能是完美的但如果你后续要做不平衡负载或者非线性负载测试dq下的两个PI分量对付不了负序分量这时候就要考虑PR控制比例谐振或者直接在αβ坐标系下做控制。我在模型里先用了dq下的双闭环跑通整机逻辑之后再加了αβ轴上的PR控制对比发现PR控制在负载不平衡场景下的THD明显更低。建议你两个方案都搭一下能加深对旋转坐标系和静止坐标系差别的理解。电压环的带宽比电流环更低大约在100~200Hz电流环500Hz到1kHz。逆变器LC谐振峰处要做好阻尼不然在LC谐振频率附近会看到一个尖刺电流环调稳之后这个尖刺会被压下去。实测下来如果电流环的PI给得偏慢LC谐振峰就会在输出电压里留下明显的振荡痕迹负载跳变的时候尤其明显。3.4 三个控制器的时间尺度怎么摆这是PET控制里最微妙的地方说实话刚做的时候我在这里栽过跟头。输入级整流器管的是大惯性环节——母线电容响应最慢DAB管的是高频变压器和电感的能量传输响应居中逆变器直接管负载电流和电压响应最快。三者的带宽必须严格分级电压外环最慢几十赫兹电流内环较快几百赫兹DAB的功率环介于两者之间。如果DAB的功率响应比电压环还快它就会去帮整流器调节母线电压两个控制器争抢同一个对象的控制权结果就是母线电压开始振荡。实际的仿真验证方法是先单独给整机加一个负载阶跃观察三个环节的动作顺序。好的表现应该是负载突增瞬间逆变器先动作输出电流跟上随后母线电压因为能量被抽走出现下跌然后整流器电压环开始升流补能母线电压缓慢回到设定值DAB全程保持功率传输方向不变。如果看到的顺序反了或者母线电压一掉就振荡基本就是控制器带宽分配出了问题。4. Simulink里的搭建路径从零到能出波形的完整过程4.1 顶层结构怎么摆才不把自己绕晕我习惯在顶层用Subsystem把主电路和控制逻辑分成两棵独立的树。主电路树按三级结构分模块三相PWM整流器子系统、DAB子系统、三相逆变器子系统模块之间用直流母线电容连接。控制逻辑树也分三块整流器控制、DAB控制、逆变器控制三块控制器的输入是各自的测量信号输出是驱动脉冲。这样的结构划分有一个明显好处调试时可以把某一级控制器的输出直接接到常数量上把那一级从整机里摘出来单独测试。比如调DAB时我可以让逆变器控制失效、只保留电阻负载挂在直流母线上然后手动给DAB一个固定移相角看功率能不能按公式走。这个操作在整个系统联调阶段帮了我大忙如果全部模块纠缠在一层里想单独测某一部分得来回断线非常痛苦。4.2 开关器件选型仿真精度和速度的取舍Simulink的功率库里有几种开关模型可以选择。带缓冲电路的理想开关跑得最快但波形会比较理想化IGBT/Diode的详细模型带导通压降和开关损耗结果更接近真实器件但仿真速度慢很多。我的建议是分阶段选型刚开始主电路全用理想开关模型跑通整机逻辑、调好三套控制器的参数等一切稳定了再把关键器件换成带损耗的详细模型看一下换器件之后母线电压和输出波形是不是还在预期范围内。实测下来详细模型因为导通压降的存在会让母线电压比理想模型低几个百分点控制参数的裕量如果留够了这个差值是可以接受的。我见过有同学一上来就用全级联IGBT模型结果一次仿真跑二十分钟改个参数要半天才能看到结果这种体验对调参来说纯粹是灾难。先快后慢先粗后细是电工电子仿真里的通用节奏。4.3 求解器、步长和采样时间的配合方式仿真求解器的设置决定了整个模型的精度和速度也是很多新手最容易忽视的一环。因为PET整个系统是开关器件加离散PI控制器的混合体我推荐使用离散仿真求解器步长设为开关周期的一半或者更小。比如开关频率10kHz开关周期100μs离散仿真步长设50μs就能完整看到PWM脉冲的每个变化。如果步长大过开关周期驱动脉冲的边沿会丢波形看着就会糊。控制环路的采样时间也要和PWM的载波周期匹配。电流环的采样周期我设的是载波周期相同100μs电压环采样周期放慢到1ms因为电压环要的就是慢。Simulink里不同采样时间的信号在同一个模型里混用没问题但要注意显示模块的采样时间设置否则Scope里看到的有可能是混叠后的波形会误判成模型振荡了。我第一次做仿真时就在这个问题上浪费了两天——其实模型稳得很只是Scope的采样时间设成了和电压环一样慢高频纹波全被伪装成了低频振荡。4.4 参数初始化脚本永远不要在弹窗里手动填参数主电路的每个参数都建议放到一个.m文件里用base workspace的变量去引用不要在模块参数框里直接写数字。这样做的原因很简单PET的参数之间是有耦合关系的比如变压器变比影响DAB的最优移相范围逆变器LC滤波器的谐振频率影响电流环的PI整定手动改一个数字忘记改关联参数模型就会跑出玄学波形。我的初始化脚本大概长这样%% 系统基本参数 f_sw 10e3; % 开关频率 Ts 1e-4; % 控制采样时间 P_n 20e3; % 额定功率 V_grid 380; % 输入线电压有效值 V_dc_ref 750; % 直流母线电压指令 V_out_ll 380; % 输出线电压有效值 f_out 50; % 输出频率 %% 主电路参数 L_ac 3e-3; % 输入侧滤波电感 C_dc 6000e-6; % 直流母线电容 L_dab 120e-6; % DAB传输电感 n_dab 750/750; % 高频变压器变比 L_inv 1e-3; % 逆变器滤波电感 C_inv 25e-6; % 逆变器滤波电容 %% 三相负载 R_load V_out_ll^2 / P_n; L_load R_load / (2*pi*f_out) * 0.3;把这段脚本在Simulink模型里加一个初始化回调Model Properties - Callbacks - InitFcn每次打开模型自动跑一遍所有参数统一更新这个习惯比什么技巧都值钱。参数以变量形式引用调参就是改脚本里的数字再跑一遍模型每次改参数重开MATLAB重启模型的日子一去不复返。4.5 驱动脉冲的产生方式DAB的移相和死区别偷懒PWM驱动脉冲在Simulink里有两种实现路径。整流器和逆变器可以直接用Simulink的PWM Generator模块设好载波频率和模式就能出脉冲但DAB的移相控制必须自己搭逻辑因为标准的PWM发生器并不知道什么叫两个全桥之间的相位差。我实现DAB移相脉冲的方式很土但很可靠用三个模块链——载波发生器、比较器、延迟器。先用一个累积计数器生成等腰三角波载波将原边全桥的调制波和载波比较产生原边脉冲然后把原边调制波延迟一个移相角对应的时间再和载波比较产生副边脉冲。这样调移相角就变成了简单地改动一个延迟时间常数配合Scope实时观察调整起来非常直观。无论是原边还是副边的全桥上下桥臂的死区必须加。死区时间我取开关周期的5%也就是100μs的周期里设5μs。不加死区的后果是上下管直通直流母线直接短路仿真器报错还只是小事真实设备里功率管早就炸了。仿真虽然不会物理损坏但电流波形里会出现非常尖的短路尖峰控制器可能因为过流保护误动作。5. 调试现场最容易翻车的四个坑5.1 直流母线电压建立不起来先问自己是哪一级在捣鬼这个现象会以各种姿势出现母线电压升到一半就停住、电压一旦达到负载投入阈值马上掉下来、或者直流电压干脆就是振荡的。我的排查方法是一个排除法链条按顺序做基本十分钟内定位第一步把DAB和逆变器的使能信号全部置0让整流器单独带纯电容负载。此时母线电压应该能平缓升至设定值。如果这一步都不行问题在整流器的控制回路或参数观察输入电流波形看是不是电流内环根本没追上指令值。第二步只使能DAB不使能逆变器用DAB给直流电容充能。此时要看DAB输出侧的电压是否稳定。如果DAB投入后原边母线电压开始掉说明DAB的功率指令给得太猛电感的瞬时电流过大把输入级拖垮了。正确的做法是给DAB设定一个斜坡启动过程让移相角在0.2秒内从0缓慢增加到额定值。第三步最后才使能逆变器。如果逆变器一开母线电压就持续下跌问题大概率是逆变器的负载功率超过了前级输出能力或者逆变器的电压外环响应太快、在给母线抽血。这时候我会把逆变器电压环带宽调低让负载突变时的能量供需矛盾由母线电容来缓冲而不是让电压环强行和整流器抢功。这套排查链路我现在闭着眼睛都会走因为每一个毕业生到了调试PET模型的时候都会走到同样的死路上。建议你直接收藏真的能少走两周弯路。5.2 DAB轻载时的电流乱跳单移相的老毛病别硬扛DAB在满载附近跑得很舒服电感电流是漂亮的梯形波但你给它降到10%负载以下麻烦就来了。因为传功率公式在D很小的时候能量大部分在变压器的原副边之间来回倒腾而不是真正从原边送向副边——电流波形会出现明显的正负交替母线电压和输出侧都在跟着抖这就是单移相控制的固有回流功率问题。仿真里处理这个问题有几条路。最简单的办法是给DAB一个最小移相角限制比如D_min设为0.05低于这个值就保持0.05不变多余的能量靠整流器的电压环自动降低输入功率来匹配。代价是轻载下DAB会产生固定的无功循环但仿真和实际装置里这个损耗可以接受。高级一点的做法是改用扩展移相EPS或双移相DPS通过在原副边内部增加额外的移相自由度来减小回流功率但这会让控制逻辑变复杂我在模型里做了一版EPS对比波形确实好看很多但作为起步版本建议先跑通单移相再进阶。5.3 三相锁相环的初始相位一个容易被忽略的方向问题整流器要工作在单位功率因数必须知道电网电压矢量的实时角度这个角度来自锁相环PLL。Simulink里自带三相PLL模块但它的输出角度和dq坐标变换的基准如何对齐是一个值得停下来确认的事。我把这个问题的排查过程补一下当输入电压A相过零时PLL输出的角度应该是0如果PLL角度和坐标变换用的是同一套三相信号但变换矩阵里的sin/cos方向互相矛盾就会看到整流器的d轴电流指令是负的、q轴指令乱跳。解决办法是先在开环状态下把PLL角度和三相输入波形同时打到Scope上做对比确认角度方向正确之后再闭合电流环。这个步骤虽然只花五分钟但跳过它的人多半都体验过电压环怎么调都不稳的错觉。5.4 仿真走着走着直接变NaN代数环和数值刚性怎么破Simulink模型突然跑飞Scope里所有波形都变成一条红线/NaN大多数原因是代数环Algebraic Loop或者太刚性的数值系统。代数环常见于把控制器的输出直接反馈给自身输入的情况比如电流内环的输出用来计算指令而指令又反向参与计算Simulink解这个环要么报错要么解出来是无穷大。我的自查顺序是先打开Simulink的诊断信息看有没有警告提到algebraic loop或者singularity有的话在疑似反馈路径上加一个内存模块Memory或者把信号改成离散采样保持打破这个环。很多情况下给PI控制器的积分项加一个显式的抗饱和限幅就能顺带解决数值发散的问题因为积分项饱和后疯狂累积、数值上溢是NaN最常见的来源。数值刚性则是指模型中存在时间尺度差异过大的环节。比如开关频率10kHz、电网频率50Hz、整流器电压环时间常数零点几秒三个时间尺度混合。连续求解器可能因为需要分辨纳秒级的开关沿而让仿真速度慢到让人绝望。这就是我全程用离散求解器的原因——离散系统的步长是人为可控的各个时间尺度之间的关系也清楚不会因为求解器自动调步长调出歧义。如果再发散就把仿真步长继续缩小到开关周期的十分之一做一个简单测试确认步长不是问题所在。5.5 最后多补一句把改参数不背锅当成纪律调试PET仿真时我犯过最蠢的一个错误是改了一个电阻值同时在Scope里看到波形变差想当然认为是电阻的问题排查了半天发现其实是因为改电阻之后负载变轻了DAB进入了它难受的轻载区改掉的只是触发条件。仿真和真实系统一样现象往往是多个因素耦合出来的一次改动之后严格对比改动前后的完整波形而不是默认就是刚才改的那个参数的问题这个习惯比任何调试技巧都重要。所有参数都有明确的物理含义和计算来源每一次改动都有对应的验证目标沿着这个思路去做其实PET模型并没有想象中那么玄学。等你把波形一条条跑顺回头看这一段调试经历就会觉得收获最大不是那个能出波形的模型而是你亲手摸过的每一条控制链路和理解过的每一个物理参数。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑