ARTICLE DETAIL

资讯详情

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

三相级联H桥载波移相PWM仿真:原理、参数与调试要点

三相级联H桥载波移相PWM仿真:原理、参数与调试要点 三相级联H桥这个东西这几年在电机驱动、电能质量治理和新能源并网里出现得越来越频繁。说白了它就是多个H桥单元串联起来每个单元撑一个直流电压输出端一叠就能用低压器件拼出高电压、多电平的波形。可电平数上去了怎么把波形做漂亮、把纹波压住才是真正考验功力地方。载波移相PWMPhase-Shifted Carrier PWMPSC-PWM就是目前工程上最常用的一招今天咱们直接上硬菜把三相级联H桥里最关键的单相三单元载波错位讲透顺便把仿真层面那些说大不大、说小不小的坑也一一踩一遍。这篇文章适合想做级联H桥仿真、刚接触PSC-PWM、或者已经在调试但总感觉波形不对劲的朋友看完你可以直接照着我这套路子在Simulink或PLECS里把模型拉起来。1. 载波移相到底在移什么为什么能压纹波1.1 先从A相三个H桥说起一个三相级联H桥逆变器A相通常由N个H桥单元串联组成。今天聊的案例是每相3个H桥所以N3。每个H桥单元直流侧各有一个独立电源或者整流过来的电容输出端可以产生三个电平正直流电压、0、负直流电压。A相三个单元串联之后相电压理论上能拼出从-3Vdc到3Vdc一共7个电平。电平数越多波形越接近正弦这是大家都知道的。但关键问题是用什么策略去控制这3个H桥如果所有单元都用同一个三角载波去比较那三个H桥会在同一时刻同时动作输出电压直接从某个电平跳变到另一个电平每次开关都相当于3个单元一起出力等效开关频率不高纹波自然大谐波也集中在低频段滤波压力全给了后级的电感电容。载波移相的做法则是三个H桥的调制波正弦波完全相同但三角载波依次错开一个固定角度。三单元的情况下360度除以3每个载波相位差120度。这样三个H桥的开关时刻就被均匀打散在开关周期里A相整体输出的“微观动作”频率变成了原来单个H桥开关频率的3倍。如果你用Simulink Scope直接看三个H桥各自的PWM脉冲会发现它们长得几乎一样只是在时间轴上平移了三分之一载波周期。这就是“载波错位”最直观的样子。注意载波移相不是把调制波移相而是把载波移相。调制波仍然同频同相这一点刚入门的朋友最容易搞反。1.2 纹波是怎么被“压死”的纹波的物理来源很简单电感上的电流不是理想线性上升下降的而是在每个开关周期内反复“充电、放电”形成锯齿状波动。这个波动的幅度大致和开关周期成正比和电感量成反比。开关频率越高同样电感量下纹波越小。载波移相并没有提高任何一个H桥的开关频率单个单元还是工作在原来的频率上。但从系统合成效果看三个单元的开关动作在时间上均匀交错把它们各自的电流纹波叠加在一起时高频分量互相抵消了一部分最终在负载侧看到的合成纹波频率是单个开关频率的3倍。纹波幅值则近似降低到原来的三分之一。我用一个生活类比来解释三个人轮流干活每人隔3小时来一次你会感觉每1小时就有人处理事情而不用等3小时。放在电路里等效开关频率提升输出电压的“毛刺”密度变大但单根毛刺的高度变小了滤波当然就轻松。更准确地说N个H桥载波依次相移360/N度后合成的相电压谐波频谱中最低次边带谐波被推高到N倍开关频率附近低频段只留下基波和极少量残余分量。这意味着你可以在不提高单管开关频率、不增加开关损耗的前提下把输出波形质量拉高一大截。这是PSC-PWM最核心的工程价值。2. 仿真之前先把模型怎么搭想明白2.1 工具选型Simulink还是PLECS仿真三相级联H桥载波移相业界最常见的两个平台是MATLAB/SimulinkSimscape Electrical和PLECS也有不少人用PSIM。我的习惯是如果只是验证PWM策略、看波形 harmonic 特性Simulink就够因为它搭控制逻辑方便示波器和FFT工具顺手调试时还能随时暂停、改参数。PLECS的优势在热分析和开关损耗建模适合做效率评估和散热设计但它的电路搭建风格更偏向电力电子专业玩家上手门槛比Simulink略高。不管用哪个工具模型骨架都长这样直流源3个分别给A相三个H桥供电做三相系统时一共9个直流源每相三个H桥单元每个单元用4个开关管IGBT反并联二极管三个H桥输出串联相输出端接滤波电感和负载控制部分生成三路相位差120度的三角载波与同一路正弦波比较输出PWM脉冲给各单元。2.2 A相三路载波怎么生成载波移相的关键就是生成三路相位差120度的三角载波。在Simulink里最容易控制的做法是用三个“Repeating Sequence”模块手动生成三角波然后给每个模块设置不同的相位偏移。每个三角波的幅值范围设为[-1, 1]频率设为fc。三路载波的初相分别设置为载波10度表达式相位偏移0载波2120度即时间上滞后 Tc/3Tc为载波周期载波3240度即时间上滞后 2*Tc/3。具体到Repeating Sequence的“Time values”参数三角波形一个周期内可以定义为[0, T/4, T/2, 3T/4, T]对应的“Output values”为[0, 1, 0, -1, 0]。如果你想让载波1从0时刻开始向上而载波2晚启动Tc/3只需要把Time values整体加上一个偏移量。比如载波2的时间序列就写成[t_offset, t_offsetT/4, t_offsetT/2, t_offset3T/4, t_offsetT]t_offset Tc/3。还有一种风格更清晰的做法用MATLAB Function模块在回调函数里用占空比逻辑直接生成三角波相位。但说实话图形化模块对排查问题更友好我推荐先用Repeating Sequence把链路跑通。2.3 比较与脉冲分配生成三路载波之后每一路都和同一路正弦调制波幅值m频率50Hz送入“Relational Operator”做比较。比较结果如果是载波小于调制波则输出高电平否则输出低电平这就是H桥左桥臂上管的驱动信号。右桥臂上管的驱动信号则是左桥臂上管的取反死区另加仿真可以先不加但要清楚实际硬件必须加。这里有个细节值得注意每个H桥想要输出正、零、负三种电平不能只靠一组PWM。最简单的控制方式是单极性PWM即左右两个桥臂分别用同一路正弦波和互为反相的载波比较。但如果单元之间已经做了120度移相每个单元内部用双极性PWM也能工作只是谐波特性略差。我更推荐在单元级别也做“单极性倍频”调制H桥左桥臂用载波Vc比较右桥臂用-Vc比较或者等效为载波反相。这样每个单元自身就等效成倍频输出再叠加单元间120度移相整个A相三单元系统的等效开关频率可以做到单个开关频率的6倍。代价是脉冲逻辑复杂一点但在仿真里只是多几路比较器的事。实操心得仿真阶段可以先把死区设成0跑通逻辑等看门狗波形稳定后再加入死区时间。这样做的好处是避免一开始就被死区引起的低次谐波干扰判断怀疑自己的移相角度设错了。3. 参数计算与波形判读数字要对上波形要看得懂3.1 相位差到底怎么算载波移相最核心的公式只有一个θ 360° / NN是每一相串联的H桥单元数。在这个例子里N3所以θ120°。如果你用的是5单元级联那就是72°7单元就是51.43°。道理很简单所有载波均匀分布在360°范围内保证任意时刻只有一个或均匀分布的某几个单元在切换状态开关动作在时间轴上均匀展开。需要特别注意的是这个角度是“载波周期”上的电角度不是输出基波50Hz的电角度。有人一开始会误解成120度是50Hz正弦波的相位差那就完全跑偏了。载波移相对应的时间偏移量是Δt θ / (360° × fc)当fc2000Hz、θ120°时Δt 120 / (360×2000) 1/(6000)s ≈ 166.67μs。这样算出来你在设置Repeating Sequence的Time values偏移时就有据可依了。3.2 一组可以直接抄的参数我实际仿真时常用的一整套参数是这样的参数名称数值说明直流母线电压 Vdc每单元100V三单元串联后相电压峰值300V串联单元数 N3A相三个H桥载波频率 fc2000Hz单管开关频率载波移相角120°360°/3调制波频率 fm50Hz输出基波调制比 m0.9调制度影响输出相电压幅值滤波电感 L3mH按纹波要求估算负载 R10Ω阻性负载便于观察仿真步长1e-6s必须远小于载波周期仿真时长0.12s至少6个基波周期仿真步长这一项很多人会踩坑。如果步长太大比如默认的1e-3s一个载波周期才2个采样点PWM比较结果的精度完全丧失波形看起来一团乱麻甚至出现误触发。1e-6s的步长意味着一个载波周期内采样2000个点足够看出细节。3.3 A相输出波形应该长什么样跑完仿真后把A相三个H桥各自的输出电压波形和A相总输出电压波形放在一起看每个H桥的输出都是幅值100V的单极性脉冲序列。三个脉冲序列在时间上互相错开120度载波相位。总输出电压是三个桥输出电压直接相加得到的是一个7电平阶梯波-300V、-200V、-100V、0、100V、200V、300V。比较理想的情况下你会看到这个7电平波形非常接近正弦。再用FFT工具看频谱基波50Hz处幅度约为m×3×Vdc也就是0.9×300270V相电压峰值。其余显著谐波分量集中在6kHz附近等效开关频率6倍频如果单元内部用倍频调制低频段3次、5次、7次谐波应该很小。如果你看到的波形不是7电平可能的原因有两个一是载波相位差没设对三个单元的动作时刻重合了输出变成3电平和5电平等混杂状态二是比较逻辑接反了某个H桥输出反相部分电平相互抵消。提示用Simulink的Scope看波形时记得把“Limit data points”关掉或者设到足够大否则你看到的是降采样后的假波形高频细节全丢了判断会出大问题。4. 从单相扩展到三相相间移相与全局谐波优化4.1 三相系统里载波怎么排布A相三个H桥的载波搞定后B相和C相该怎么办答案是复制一套一模一样的移相结构但调制波分别换成相位相差120度的正弦波。一般来说三相级联H桥有两种载波排布思路第一种是每相独立处理A、B、C三相内部各自载波错开120度三相之间载波初相位完全相同。这种方式的优点是控制逻辑清晰每相独立成组加入不平衡控制时很方便。缺点是三相之间载波没有协同线电压上有些谐波分量不会被抵消。第二种是全局统一排布把全部9个H桥的载波均匀分布在360度范围内每个载波相位差40度360/9。从单相角度看A相内部的三个载波依然是0度、120度、240度B相、C相的载波则分别落在之间整体对称性更好线电压谐波优化更彻底。我个人的经验是如果做三相平衡系统优先用全局统一排布因为线电压THD会更好看如果后面要接不平衡负载或做分相控制就用每相独立排布。实际工程里两种都有应用取决于控制策略的复杂度。4.2 相间移相30度还是60度还有一个经典问题三相级联H桥的载波组之间是否需要再错开答案是可以但不是必须。在传统的两电平三相逆变器里三相共用一个载波这是标准做法。在级联H桥里如果你每相内部已经做了120度移相三相之间载波组再错开一个角度可以进一步降低线电压的谐波。常见做法是三相载波组之间错开60度即三分之一载波周期。但要注意错开之后等效开关频率的边带谐波分布会变不一定是所有场合都需要这一步。我在仿真里通常先不做相间错位把三相各自移相跑通并验证A相波形没问题后再尝试相间错位用FFT对比THD看是否值得增加这点复杂度。这种做法最稳妥也方便逐步调试。4.3 线电压波形为什么对称性更好三相系统里真正给负载供电的是线电压也就是两相之间的电压差。如果三相各自做到了严格对称的7电平波形线电压波形理论上可以达到13电平注意实际观察往往是更多电平台阶对称性非常好。从仿真Scope里看线电压波形一个好的标志是半波对称、四分之一周期对称也就是波形正负半周镜像对称且无直流偏置。如果线电压波形明显不对称多半是三相调制波的初始相位没对齐或者载波组之间的初始状态不一致。另外一个需要注意的问题是三相总功率是恒定的但每一相的瞬时功率在波动所以直流侧电压会有二次脉动。如果你用整流电源给H桥供电直流电容电压会存在100Hz纹波。这个现象是正常的但如果你在仿真里用理想直流源就看不到这个效果。做精细仿真时建议每单元用“理想直流源电容”模拟更接近实际硬件行为。5. 仿真调试实录我踩过的坑和排查指南5.1 启动瞬间波形“炸开”怎么办三相级联H桥仿真最容易遇到的问题之一是启动瞬间电流冲击特别大。原因很简单仿真刚开始时电源从0突变到额定电压电感电流不能突变但电容电压被强制建立就会出现瞬态过冲。我碰到过的情况是A相电流启动瞬间冲到正常值的5倍以上后来波形慢慢恢复正常。对应方法是把直流源设置为斜坡启动比如用Step模块从0到100V在5ms内线性上升。这个改动可以极大缓解启动冲击而且更接近实际软启动过程。做闭环控制仿真的时候也强烈建议先斜坡启动再切入闭环调节器否则电流环很容易在启动阶段饱和。5.2 载波相位总是对不上怎么检查很多时候你明明设置了120度相位差示波器看起来却不对。排查步骤第一步把调制波设成恒定0相当于输出占空比50%观察三个H桥的PWM脉冲是否均匀错开。此时应该看到三路脉冲的上升沿间隔相等间隔是Tc/3。如果上升沿间隔不均匀说明载波偏移没设对。第二步检查三角载波是否真的连续。用Scope直接看载波信号确保每个周期的峰峰值为2平均值在0附近。有些模块的锯齿波回扫时间不为0会导致比较结果出现短窄脉冲。第三步看比较器方向。Relational Operator的“小于”和“大于”方向如果反了输出就是反相PWM看起来移相角度变成了60度和300度波形肯定会乱。5.3 仿真跑得慢到怀疑人生级联H桥模型规模不小三相9个H桥就是36个开关管再加上高频PWM和1e-6s步长仿真速度确实感人。我实测过一台普通电脑跑0.1s仿真时间可能需要十几分钟。提速的办法有几招使用Simulink的“Discrete”求解器而不是变步长连续求解器把电力电子模型离散化速度会明显提升在满足精度前提下尽量提高步长比如载波2kHz时步长放到2e-6s波形精度损失很小如果只是想验证控制逻辑可以用平均模型替代开关模型速度能提升几十倍但看不到纹波细节在PLECS里做同类仿真速度通常比Simulink快很多因为PLECS对开关事件做了专门优化。5.4 常见问题速查表现象可能原因解决办法输出波形不是7电平载波相位差设置错误用恒定调制波检查脉冲间隔相电压波形对称但电流THD大滤波电感偏小增大电感或提高载波频率PWM波形中有窄脉冲毛刺载波回扫时间不为0或步长过大改用理想三角波缩小步长电流波形低频振荡调制比过高进入过调制降低m值到0.95以下开关管电压超限未加吸收回路或母线电压过高加入RC吸收检查电压应力三相电流不平衡三相载波组初始状态不一致统一设置载波初相检查正弦波初相FFT里低频谐波大死区时间未补偿加入死区补偿或死区时间设小5.5 关于FFT分析和THD判断判断载波移相效果好不好不能只看时域波形眼睛经常骗人。正确做法是做FFT分析。Simulink里用“Powergui”的FFT分析工具把输出波形数据导进去设置基波频率50Hz分析到20kHz看各次谐波的幅值分布。一个典型的、成功的载波移相仿真结果应该是基波幅值接近理论值50Hz以下的次谐波几乎为零低次谐波3、5、7次明显小于3%基波主要谐波集中在等效开关频率整数倍附近。如果你的FFT结果里出现了明显的2次、4次谐波说明系统存在某种不对称多半来自三相载波组初始相位不一致或者某个单元的PWM极性取反了。实操心得看FFT时别忘了加合适的窗函数比如Hanning窗否则频谱泄漏会掩盖真实谐波水平。我一开始用矩形窗看FFT谐波读数虚高困惑了很久换窗之后一下就清晰了。写在最后的调试感想载波移相仿真这个东西原理讲起来很简单就是“把载波错开”但真跑到波形层面你会发现细节决定成败。载波初始相位、比较器方向、步长设置、FFT窗函数随便哪个环节不对结果都是各种奇怪波形。我个人调试这类模型时最大的体会就是“分而治之”先做单相三单元把波形调到理论状态再扩展成三相只看线电压最后才加闭环、加死区、加非理想电源。每一步都验证清楚了再走下一步远比一次性搭一个大模型然后对着乱飞的波形猜原因要高效得多。如果你照着这篇文章的思路把A相三个H桥的载波移相仿真跑通了恭喜你三相级联H桥最核心的那块拼图你已经拿到手了。后面不管是做五单元、七单元还是加PLL做并网控制都是在这个基础上做增量。希望这篇实际调试记录能帮你少走点弯路。
返回列表