ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

三电平逆变器中点电位平衡:ANPC+SVPWM闭环仿真实践

三电平逆变器中点电位平衡:ANPC+SVPWM闭环仿真实践 搞三电平逆变器仿真这些年我最深的一个体会是很多人卡住的点根本不在三电平本身而在中点电位。两电平时代不用关心直流母线中点到了NPC拓扑中点一漂输出电压畸变、电容炸管、THD飙升全来了。这也是我后来把研究方向从传统NPC转向ANPC有源钳位型三电平的根本原因——ANPC用开关管替代了钳位二极管多出来的两个开关状态不只是拓扑上的小改动而是把中点电位平衡从被动祈祷变成了主动控制。这篇文章我就把ANPC逆变器的SVPWM闭环仿真研究完整拆开来讲从拓扑原理、矢量和时间推导、闭环控制设计到Simulink建模实操和踩坑排查全部整理出来供做逆变器仿真的同行参考。1. 为什么是ANPC中点电位与损耗分布的双重考量1.1 NPC拓扑的两个天生痛点传统NPC三电平逆变器每相桥臂由四个开关管加两个钳位二极管组成。结构上比两电平复杂但换来的是输出电压电平数翻倍、谐波含量降低、器件耐压减半。不过NPC有两个从诞生起就绕不开的问题。第一个是中点电位漂移。三电平逆变器的直流母线中点是上下电容的连接点正常工作状态下流入流出中点的电流平均值必须为零中点电压才能稳定在母线电压的一半。但实际工况下负载不平衡、调制比变化、电容参数不一致都会导致中点电位偏移。中点一旦偏移输出电压波形对称性被破坏低次谐波大幅增加严重时上下电容电压差大到超出器件耐压直接炸管子。这个问题在NPC拓扑里是结构性的——钳位二极管只能把输出端钳到中点电位但对中点电流没有主动调节能力。第二个是功率器件损耗分布不均。NPC拓扑中钳位二极管和内侧开关管T2、T3承受的损耗显著高于外侧开关管T1、T4导致器件结温不均。外侧管子还没满负荷内侧管子已经过热了散热设计非常被动。这个问题在高开关频率或大电流工况下尤其突出。1.2 ANPC额外开关管解锁的控制自由度ANPC拓扑把NPC的两个钳位二极管替换成两个带反并联二极管的开关管通常用IGBT或MOSFET这就带来了本质变化。先看拓扑结构。ANPC每相桥臂有六个开关管T1~T6其中T5、T6替代了原来的钳位二极管位置。T5、T6串联后跨接在中点与输出端之间形成双向可关断的钳位通路。开关管和二极管最大的区别在于二极管只能被动导通电流方向决定而开关管可以主动控制导通和关断。这一下就多出了冗余开关状态。ANPC每相可输出三种电平P正母线、O中点、N负母线。但O电平的实现有两条路径O状态T5导通电流通过T5走T3、T4中一个参与续流和O-状态T6导通电流通过T6走。这就在电平不变的前提下改变了电流流经的器件路径。这意味着什么呢对中点电位控制来说O和O-状态对中点电流的贡献方向相反通过调节O和O-的作用时间比例可以直接控制中点电流平均值——中点电位从不可控变成了可控。对损耗分布来说O和O-的选择决定了电流是流过T5还是T6而T5/T6与T1~T4的损耗分配可以通过调制策略主动调整。比如在大功率工况下可以让主力器件均摊热点避免单点热集中。这是NPC完全做不到的。我们做仿真研究时ANPC带来的这几个自由度会直接影响后面调制策略和控制器的设计思路。这一点先记住后面SVPWM部分会具体用到。2. SVPWM核心推导从矢量分布到七段式发波2.1 三电平空间矢量分布与冗余小矢量的价值SVPWM空间矢量脉宽调制的出发点是把三相输出电压合成一个空间旋转电压矢量在一个开关周期内用离散的基本电压矢量去逼近参考矢量。三电平逆变器三相桥臂各有P、O、N三种输出状态所以总开关状态有3³27种。这些状态映射到αβ平面后归并出19个基本电压矢量零矢量3个PPP、OOO、NNN、大矢量6个、中矢量6个、小矢量6对每对由P型和N型两个冗余状态组成比如POO和ONN对应同一个空间矢量位置。这里小矢量的冗余特性是整个三电平SVPWM的灵魂。6对小矢量对应6个方向每个方向上有两个开关状态可以产生相同的电压矢量但对中点电流的影响完全相反。比如小矢量POOA相输出PB、C相输出O和ONNA相输出OB、C相输出N空间位置相同但前者让中点流出电流后者让中点流入电流。通过调整这两个冗余状态的作用时间比例就能控制中点电位的平衡。再看大矢量、中矢量、小矢量的组合逻辑。大矢量电平跳变幅度大但不会影响中点电位中矢量会不可避免地对中点电流产生扰动这是三电平SVPWM的固有特性小矢量则通过冗余配对成为中点电位调节的主要工具。仿真和实物调试中中点电位平衡控制基本都是基于这个思想实现的。2.2 扇区判定与矢量作用时间计算SVPWM的工程实现第一步是扇区判定。先把三相参考电压做Clarke变换得到uα、uβ然后计算参考矢量角度θatan2(uβ, uα)。三电平SVPWM通常先把整个平面按60°分为6个大扇区每个大扇区内再分为4个小区域。大扇区判定有一个简化方式不直接算角度而是根据uα、uβ的三相分量符号判断。以A相为基准当ua0、ub0、uc0且uaubuc0时参考矢量大概率落在扇区I这比直接算角度省去三角函数在DSP或FPGA里实现更高效。大扇区确定后用旋转坐标变换把参考矢量映射到第一扇区然后问题就简化为在第一扇区内用该区域三个顶点对应的基本矢量合成参考矢量。这里我以第一扇区1小区域参考矢量靠近原点为例说明伏秒平衡的完整推导。假设参考矢量为Vref作用周期为Ts与该小区域顶点对应的三个基本矢量为V1小矢量、V2中矢量、V3小矢量或零矢量伏秒平衡方程是V1·T1 V2·T2 V3·T3 Vref·TsT1 T2 T3 Ts把Vref在αβ坐标系下展开Vref_α m·(√3/2)·Vdc·cosθVref_β m·(√3/2)·Vdc·sinθ各基本矢量坐标代入后即可联立求解T1、T2、T3。以第一扇区小区域1为例顶点为V0、V1、V2T1 Ts·(2m·sin(π/3 - θ)) T2 Ts·(2m·sinθ) T0 Ts - T1 - T2其中m为调制比m√3·Vref/Vdcθ为参考矢量在扇区内相对起始边的角度。当参考矢量落入扇区I其他小区域时推导方法完全相同只不过顶点组合换成对应的大矢量、中矢量、小矢量组合。全程只需要三角函数和加减乘除没有复杂的迭代非常适合在Simulink里用Fcn模块或MATLAB Function实现。2.3 七段式序列与中点电位调节时间算出来后第二步是确定开关序列。七段式发波是工程上最常用的方式——对称性好谐波分布集中THD相对容易控制。以第一扇区小区域1为例若当前参考矢量由V1小矢量、V2中矢量、V3小矢量冗余对合成七段式序列可以安排为P型小矢量 - N型小矢量 - 中矢量 - N型小矢量 - P型小矢量 - 中矢量 - P型小矢量或者反过来。对称序列保证一个开关周期内电压波形关于中心点对称降低奇次谐波。这里需要特别说明一个中点电位的控制接口。前面提到小矢量的冗余对比如POO和ONN空间位置相同但对中点电流影响相反。常规SVPWM在分配小矢量作用时间时默认P型小矢量和N型小矢量各占一半。要做中点电位平衡就把这个比例从固定的5:5改成动态调节通过闭环输出一个修正系数k把P型小矢量和N型小矢量的作用时间调整为T_P (1 - k) / 2 · (T1 T3) T_N (1 k) / 2 · (T1 T3)k的符号和大小由中点电位偏差及三相电流方向决定。这个环节做好中点电位波动就能压到很小的范围。我们仿真中用的就是这种方式后面闭环部分会给出具体公式。3. 闭环策略设计电压电流双环与中点平衡控制3.1 双闭环架构为什么非得有电流内环ANPC逆变器在离网模式下控制目标是输出电压波形质量。但实际控制架构几乎都是电压外环加电流内环的双闭环结构。为什么多一个电流内环不是为了凑环节数而是因为电感电流的动态响应远快于电容电压。电压环的输出作为电流环的参考值电流环快速跟踪这个参考值等于给电压环的输出加了一个限流执行器。这样负载突变或短路时电流环先动作把电流钳制在安全范围内电压环不会因为电流失控而积分饱和。如果只做电压单环负载切换瞬间冲击电流完全不可控仿真里可能直接发散实物里更严重。典型结构是电压外环对输出电压采样与参考电压比较得到误差经PI调节后输出电感电流参考值电流内环对电感电流采样与电流参考值比较后经PI调节输出调制电压信号。这个调制信号再送到SVPWM模块生成驱动脉冲。如果带LCL滤波器还可以用电容电流代替电感电流做内环反馈阻尼特性更好但控制结构更复杂。LC滤波情况下用电感电流内环就足够了。3.2 电流环PI参数整定的工程化思路PI参数最忌讳的就是拍脑袋给一组数然后试。虽然仿真可以反复试错但一旦参数和实际工况对应不上试出来的参数换个负载就崩。我建议按带宽法做初步整定再在仿真里微调。以LC滤波的ANPC逆变器为例设滤波电感L3mH等效电阻R0.1Ω开关频率fs10kHz。电流内环的开环传递函数近似为G_i(s) (Kp·s Ki) / (s·(L·s R))采用零极点对消法取PI零点对消被控对象的极点即Ki/Kp R/L。此时开环增益变为Kp/(L·s)系统为典型一阶惯性。若要求电流环带宽ωc2π×1000rad/s约为开关频率的1/10折中考虑稳定性和响应速度则Kp满足Kp / L ωc代入L3mHωc6283rad/s得Kp≈18.85。再根据Ki/KpR/L得Ki≈628.3。按这个公式算出来的参数作为初值是靠谱的然后在仿真里看阶跃响应——如果超调大就把Kp略微调小如果跟踪慢就适当提高ωc或加Kp。我实测下来电流环带宽取开关频率的1/20到1/5之间都是可用的区间但取1/10左右时电流跟踪和抗扰性最均衡。电压外环的带宽要明显低于电流环一般取电流环带宽的1/10到1/5否则内外环频带重叠会相互干扰。电压环PI用同样的方法整定只是被控对象变成了电压环与电容构成的一阶系统电容值C和负载电流都是影响因素。3.3 中点电位闭环用冗余小矢量做调节量中点电位平衡是整个三电平系统仿真绕不开的环节。前面说过小矢量的P型和N型冗余状态对中点电流影响相反这就是调节手段。具体做法是采样上半母线电容电压Vc1和下半电容电压Vc2计算偏差ΔV Vc1 - Vc2。当ΔV 0时说明上半电容电压偏高需要让中点电流方向改变来释放上半电容电荷。此时根据三相电流方向确定增加P型小矢量作用还是N型小矢量作用并把修正系数k输出为k Kp_balance · (Vc1 - Vc2) · sign(i_x)其中i_x是当前扇区对应的小矢量关联相电流Kp_balance是平衡环的比例系数一般是负反馈方向。k经过限幅通常限制在-0.15到0.15之间过大会引起输出电压畸变后叠加到SVPWM的小矢量时间分配上。这里有一个仿真实操经验中点平衡环的Kp_balance不能调太大。刚开始调试时我把Kp_balance设到1.0结果中点电位确实是稳住了但输出电压波形肉眼可见地发生了畸变THD直接超标。后来把限幅收紧到±0.1Kp_balance降到0.2左右中点电位波动控制在母线电压的2%以内波形质量明显改善。平衡环的响应带宽不需要高它是慢速调节量快反而不是好事。4. Simulink建模实操从主电路到PWM生成4.1 仿真参数设定做ANPC逆变器仿真我用的工具是MATLAB/Simulink版本R2022b电力电子模块库用Simscape Electrical。仿真参数先定清楚再动手搭模型这是避免后面反复返工的关键。参数数值说明直流母线电压800V上下电容各400V母线电容C1/C22200μF中点电位平衡的储能元件开关频率10kHzSVPWM载波/控制频率输出基波频率50Hz工频输出滤波电感L3mHLC滤波器电感滤波电容C30μFLC滤波器电容负载额定50Ω电阻性负载可切换为整流性负载验证抗扰性死区时间2μs同一桥臂互补管防直通仿真步长固定步长1μs对应10kHz开关频率的100个采样点仿真步长这里要单独强调。如果选变步长求解器电力电子电路开关瞬间的数值刚性会大幅拖慢仿真速度而且步长过大时波形会出现数值振铃。我自己用固定步长1μs配合ode3求解器精度和速度都在可接受范围。4.2 主电路与SVPWM模块的建模细节主电路部分直流源用两个串联的DC Voltage Source中点引出并接母线电容。ANPC桥臂用六个IGBT模块搭建每个IGBT带反并联二极管。这里要特别注意不能用Simulink自带的Universal Bridge直接搭ANPC那个模块的拓扑结构是固定的不支持有源钳位结构。正确做法是用三个IGBT Diode模块按ANPC拓扑手动连接或者用Simscape Electrical里的Half Bridge子电路自行封装。搭好一相桥臂后封装成Subsystem三相复制三份输出端接LC滤波器和负载。SVPWM模块是整个仿真模型的核心。我的做法是把它分成三级第一级三相参考电压输入做Clarke变换得到uα、uβ再转极坐标得到幅值和角度。第二级根据角度判断大扇区做旋转变换映射到第一扇区根据调制比m和θ计算各基本矢量作用时间T1、T2、T3再乘上中点平衡系数k做小矢量时间分配。第三级根据扇区号和小区域号用查表方式得到七段式开关序列的切换时刻Tcm1、Tcm2、Tcm3与三角载波比较生成PWM脉冲。载波比较的三角波周期就是开关周期Ts载波幅值和切换时刻做比较大于输出高电平、小于输出低电平。七段式序列的切换时刻表可以在Excel或MATLAB里先算好用Lookup Table块直接查。这样做的好处是逻辑透明、便于调试出问题可以逐级排查。用Stateflow写状态机也可以但代码量大且不好快速确定是逻辑错误还是时序错误。4.3 闭环控制与中点平衡模块的实现闭环控制模块按前文双闭环结构实现。电压外环对输出电压采样三相dq变换后得到ud、uq和参考值做差经PI调节得到电流内环的参考值id_ref、iq_ref。d轴参考值设为311V对应220V交流有效值的峰值q轴参考值设为0。dq变换需要锁相环提供角度离网模式下可以直接用工频角频率积分得到角度。电流内环对电感电流采样dq变换后和外环输出做差经PI调节得到d、q轴调制电压再逆变换回三相送到SVPWM模块。这里要说一个操作细节dq轴之间有交叉耦合LC滤波器的电感电流在dq坐标系下存在交叉项ωLiq和ωLid。如果不做解耦两个轴的PI参数会互相干扰调试时越调越乱。我在内环输出处加了前馈解耦项ud_ref ud_PI - ω·L·iq uq_ref uq_PI ω·L·id加上
返回列表