ARTICLE DETAIL

资讯详情

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

SVPWM实测波形全解析:端电压、相电压、线电压与马鞍波一次讲透

SVPWM实测波形全解析:端电压、相电压、线电压与马鞍波一次讲透 搞电机控制的兄弟十个里有八个第一眼看到SVPWM实测波形都会犯嘀咕。明明仿真里相电压、线电压画得清清楚楚一到示波器上就全乱套了端电压当相电压、线电压测出来是方波、相电压理论上是正弦怎么实测全是PWM脉冲我最早做永磁同步电机FOC的时候就干过把端电压当成相电压的蠢事对着0到300V的方波看了半天还跟同事争论这到底算不算马鞍波。后来翻了TI和ST的官方应用笔记再结合示波器一点点把概念捋清楚才算真正把这几个电压搞明白。今天就把这些东西一次讲清楚顺便把TI和ST官方笔记里跟波形相关的工程要点一并解读掉希望能帮你少走几个月的弯路。1. 先搞懂三个电压端电压、相电压、线电压到底差在哪很多人在这一步就卡住了不是数学不行而是对逆变器电路的结构没有建立起直观的空间感。先别急着拿示波器探头到处乱戳我们把三相两电平逆变器的电路结构盘一遍搞清楚每个电压到底是从哪个节点量到哪个节点的。1.1 从三相全桥拓扑看电压节点三相全桥逆变器一共六个开关管上桥臂三个、下桥臂三个输出端就是U、V、W三个端子。直流母线正端叫DC负端叫DC-。这是做电机控制的人每天都要面对的电路但很多人对这个拓扑里的“地”没有概念。电机这端通常是星形连接三个绕组的一端分别接U、V、W另一端在中性点N汇在一起。于是就有了这么几个经常被混用的电压端电压逆变器输出端比如U点相对于直流母线负端DC-的电压也常叫对地电压、桥臂输出电压。这个电压的参考点是DC-不是电机的中性点。相电压电机某相绕组两端的电压也就是U点相对于绕组中性点N的电压或者说是电机端口到中性点之间的电压。严格意义上是电机真正承受的电压。线电压两个输出端之间的电压比如U-V、V-W、W-U之间的电压差是电机外部可以直接测量的相间电压。问题的根源就在于很多示波器探头的地线夹默认夹在DC-上测出来的是U对DC-的波形也就是端电压但心里想着的却是相电压。这一字之差波形和数值全都对不上号。更具体一点说端电压是带斩波的开关波形相电压在PWM斩波的占空比变化里线电压是两个端电压的差值本质上是双极性脉冲。这三个电压在数学上可以画等号转换但在物理上测量的位置完全不同必须在电路图上有明确的指向感。1.2 三种波形的理论长相先剧透一下结论让你在示波器上看到波形的时候心里有底。端电压的标准长相是0V和Vdc之间来回跳变的PWM脉冲序列。上桥臂导通时输出接近Vdc下桥臂导通时输出接近0V中间会有死区时间之后才能切换。不同扇区里脉宽按正弦规律变化整个包络呈马鞍形。换句话说端电压并不是一路稳定的直流也不是正弦波而是一串占空比在变化的矩形波。线电压的长相是在Vdc、0、-Vdc之间跳变的双极性脉冲序列。用两路探头分别测U、V对DC-的端电压再做差得到的就是线电压。这个波形看起来跟端电压很不一样负半周会跑到负压去脉冲宽度和极性都在变。相电压的长相要分两种情况看。如果直接看PWM原始波形它也是0到Vdc之间的单极性脉冲只是脉冲宽度按照马鞍波的方式变化如果你用示波器的低通滤波或数学平均去看它的平均分量得到的是一条马鞍形曲线近似正弦波但顶部被压平了这就是SVPWM里常说的注入零序分量之后的效果。这里要特别强调SVPWM的相电压波形不是纯正弦。纯正弦波的相电压是SPWM的典型特征但SPWM的母线利用率只有1.0。SVPWM通过把三次谐波、零序分量叠加到三相调制波里把正弦波峰值往下压了约13.4%从而在同样的母线电压下输出更大的基波电压母线利用率提高到1.1547也就是2除以根号3。这个15.47%的提升就是SVPWM相比SPWM最大的工程价值。2. 示波器实测三种波形应该怎么接、怎么测理论讲完了实操才是大头。你以为拿一个探头就能把三种波形全测清楚天真了。2.1 工具准备与接线方案先说测试环境的几个关键条件。第一探头选择。端电压测量用普通无源探头可以胜任但前提是示波器和逆变器没有共地问题。线电压、相电压如果不想冒风险强烈建议用差分探头。差分探头的本质是同时测量两个点的电位差而不是依赖示波器内部的参考地这样能大幅减少地环路干扰尤其适合测浮地信号。第二示波器通道和数学功能。测线电压时可以用两路通道分别接U和V然后通过数学通道做CH1减CH2这跟用差分探头测出来的结果在理想情况下是一样的但前提是两路探头增益一致、延时一致否则高频下会出现明显的振铃误差。低频PWM测量时问题不大高频切换时建议还是用差分探头。第三触发设置。SVPWM的PWM周期内信号变化很快但三个扇区切换时波形会有明显差异。实测包络时建议把时基调到几十毫秒甚至几百毫秒用PWM的同步信号或者某一相桥臂的上升沿作为触发源再打开余辉显示这样PWM脉冲包络才会稳定地叠加显示出来。第四安全第一。直流母线带电时严禁用普通探头的地线夹去夹DC-再拿探头乱测。原因是示波器探头地线夹和大地之间是直通的如果直流母线负极没有可靠隔离或者你的系统接了其他地一个不留神就是母线直接对地短路轻则烧探头重则炸模块。2.2 实测操作步骤与波形记录我以常见的10kHz开关频率、300V直流母线、Y接电机为例走一遍完整的实测流程。第一步测端电压。示波器用1x或10x档位探头地线夹接DC-探头表笔接U点。此时示波器屏幕上会出现0V到300V之间的方波脉冲序列频率就是10kHz周期100微秒。重点观察脉冲宽度的变化趋势不同时刻脉冲宽度不同这就是SVPWM的调制在起作用。第二步测线电压。调出第二路通道探头接V点同样以DC-为参考。用数学通道CH1-CH2得到U相对V相的电压。这时候屏幕上的波形变成正负交替的双极性脉冲当U上桥臂导通且V下桥臂导通时U-V接近Vdc当U下桥臂导通且V上桥臂导通时U-V接近-Vdc当同组桥臂都处于相同开关状态时U-V接近0。你还会看到在死区时间内出现短暂的高阻态或钳位情况这是正常的。第三步测相电压。这是最容易翻车的一步。要测U相绕组上的真实电压探头接U点另一个探头或者差分探头接到电机的中性点N测量U和N之间的电位差。如果电机引出中性点直接接如果电机没引出可以用三个等值电阻做一个人工中性点将三个电阻的一端分别接U、V、W另一端并在一起作为虚拟N点。注意人工中性点在高频下有阻抗误差测出来的波形只能近似看趋势不能当作精确值。最后把时基拉长到几十毫秒打开余辉模式观察整个基波周期内PWM脉宽的变化。你会看到端电压的平均包络呈马鞍形相电压也是马鞍形。这就验证了前面的理论。2.3 为什么相电压是马鞍波零序分量注入的直观解释马鞍波这个长相用示波器看完以后很多人会问一个问题为什么相电压不是正弦波电机不是需要正弦电压驱动吗这里要纠正一个理解误区。电机需要的是正弦电流而不是正弦电压。三相绕组对称电流是正弦的时候反电动势也是正弦电压里自然包含谐波分量。SVPWM注入的零序分量在三相之间是一个共同的偏移量它不会在绕组之间产生电流所以电机的线电压和电流依然是正弦的。用一个生活化的类比来说三个人并排跑步速度都是正弦变化的但地面上有一条共同的起伏跑道三个人同时上下颠。你只看两个人之间的相对位置跑步速度还是正弦的但你去看其中一个人相对于绝对地面的绝对位置波形就不是正弦了而是叠加了共同颠簸的分量。零序分量就是那个共同颠簸相电压就是那个绝对位置。所以用示波器测相电压看到马鞍波完全不必惊慌这是SVPWM的正常输出形态。如果用示波器测相电压得到的是规规矩矩的正弦波反而要怀疑你到底测的是不是SVPWM控制下的相电压或者是不是被低通滤波器滤掉了太多信息。3. SVPWM核心计算环节拆解扇区判断、作用时间与公共量推导前面讲的都是电压波形的表层现象要真正理解为什么脉冲宽度那样变化还是得回到SVPWM的计算核心上来。很多人在网上搜到的资料只给结论不给推导尤其是“两个非零电压矢量的作用时间所需的中间变量公共量”这一步几乎没有人把来龙去脉讲清楚。3.1 扇区判断到底在做什么SVPWM的思想是把三相系统放到静止坐标系里看。三个桥臂的开关状态组合成6个有效电压矢量和2个零矢量6个有效矢量把平面分成6个扇区每个扇区60度。控制器的目标就是按照参考电压矢量的方向选择当前扇区相邻的两个有效矢量用它们的组合去等效合成这个参考矢量。扇区判断其实可以不用三角函数。最常用的是基于三相电压分量或者两相静止坐标分量的符号和比例关系来判断。比如定义三个中间判断量取它们的正负号和特定组合就能得到扇区序号。这个判断本质上是把参考矢量投影到三个轴上去看它落在哪个60度区间跟数学上判断象限是一个思路只是被优化成了适合控制器硬件的整数运算。很多新手一上来就纠结要不要用atan2函数去算角度其实完全没有必要。SVPWM的工程实现里绝大多数代码都不用反正切而是用电压分量的大小关系做比较判断效率和精度都更高。3.2 两个非零电压矢量的作用时间与中间变量推导一旦确定了参考矢量在哪个扇区接下来就要计算这个扇区相邻两个有效矢量各自要作用多长时间才能在一个开关周期内平均出指定的参考电压。以扇区I为例参考矢量落在V1(100)和V2(110)之间。假设开关周期为TsV1作用时间为T1V2作用时间为T2零矢量作用时间为T0那么有T1 T2 T0 Ts根据伏秒平衡参考电压矢量乘以开关周期等于两个有效矢量分别乘以各自作用时间之后的矢量和。把V1和V2在静止坐标系里的分量写出来可以得到两个方程一个对应轴一个对应轴方程。两个未知数、两个方程解出来就是T2 √3 × Vβ × Ts / VdcT1 (1.5 × Vα - √3/2 × Vβ) × Ts / Vdc其中Vα、Vβ是参考矢量在静止两相坐标系下的分量Vdc是母线电压。这个推导过程其实就是解一个二元一次方程组不复杂但这一步的物理意义极其重要它揭示了SVPWM的本质在一个开关周期内用矢量叠加去逼近目标电压。在实际工程代码里并不需要每一个扇区都重新推导一遍公式。更常见的做法是预先定义三个中间变量X、Y、Z它们的表达式与扇区无关然后在每个扇区通过查表映射出对应的T1和T2。这就是热搜词里反复出现的“公共量推导”的来源。这三个公共量本质上就是不同方向上相邻矢量的伏秒折算值。虽然不同厂商代码里的命名不同TI管它们叫X、Y、ZST的底层库可能直接用T1、T2暂存器但思想是一模一样的先把公共计算量算出来再用查表的方式省掉重复的浮点运算。对实时性要求高的电机控制来说这种优化非常关键。我举个具体数字帮助大家理解。假设Vdc300VTs100微秒参考矢量落在扇区I测量得到Vα80V、Vβ60V。代入上面的公式T2 1.732 × 60 × 100 / 300 34.6微秒T1 (1.5 × 80 - 0.866 × 60) × 100 / 300 22.7微秒T0 100 - 34.6 - 22.7 42.7微秒这个例子说明在一个PWM周期里接近一半时间都在输出零矢量另外一半时间用于两个有效矢量最终合出来的参考矢量方向和大小跟目标一致。如果你在示波器上看到脉冲宽度大体按照这个比例在变化就说明SVPWM计算是正常的。3.3 七段式发波与死区设置算出了T1、T2、T0之后还有一个关键的排列问题零矢量到底插在哪、怎么插。工程上最常用的是七段式SVPWM一个开关周期被切分成七段发波顺序是000-100-110-111-110-100-000。这样排列的好处是每次只有一相开关状态发生变化开关损耗小谐波也相对集中这是TI和ST官方笔记都推荐的做法。七段式的名称来自一个周期内开关模式的数目。首尾是零矢量000中间是零矢量111两个有效矢量V1和V2在过渡段各出现两次。用示波器观察端电压波形时如果看到的脉冲串在一个周期内有明显的对称性那基本就是中心对齐的七段式发波。发波顺序确定之后死区时间才是影响实测波形的隐藏因素。IGBT和MOSFET的关断时间不是瞬时的如果上桥臂还没完全关断就打开下桥臂母线相当于短路瞬间就是几十安培以上的大电流。所以必须插入死区时间典型值是1到3微秒。死区时间在示波器上会表现为PWM边沿的短暂平台或毛刺你看着像异常其实是正常工作状态。4. TI/ST官方笔记解读从理论波形到工程实现TI和ST在电机控制领域都积累了海量的官方资料但资料多不等于好啃。很多人下载了一堆PDF打开一看满页公式和寄存器配置头都大了。这里我把跟波形和SVPWM实现直接相关的关键点拎出来讲。4.1 TI的SVPWM实现要点TI的电机控制库和FOC应用报告里对SVPWM的讨论非常细致。TI把SVPWM模块封装成SVGEN宏内部实现的基本思路就是前面讲的扇区判断、中间变量计算、T1/T2查表和七段式发波顺序生成。在TI的代码库里SVPWM的输入是两相静止坐标系下的电压分量Vα、Vβ输出是三路比较值直接接到PWM比较寄存器。TI的应用报告里有一个很容易被忽略但很重要的点标幺化。在TI的库中电压、电流、速度这些物理量通常都被归一化到1.0以内这样定点DSP计算时不会溢出。这个标幺化在做波形观察时的直接表现是你往代码里看到的是0到1之间的数值而不是实际电压值。用示波器测的时候要把这些标幺值换算回实际电压不然对不上。另外TI专门提到了过调制区。当调制比超过1.0之后线性调制区内的T1加T2就会超过开关周期这时候必须做限幅处理。一种处理方式是强制把超出部分截断另一种是保持矢量的方向不变但缩小模长。过调制会让端电压波形出现明显的时段内全高或者全低的阻塞现象用示波器看就是PWM脉冲在某个区间突然变成持续高电平或持续低电平这个现象是过调制判断的直观依据。4.2 ST的STM32高级定时器实现ST在STM32的电机控制库比如X-CUBE-SPN系列和FOC SDK里SVPWM通常通过高级定时器TIM1或TIM8实现。STM32的高级定时器优势在于能直接输出三相互补PWM并且自带硬件死区插入功能不需要软件额外干预这在实时性要求高的场景下非常有价值。中心对齐模式是SVPWM的常用配置。定时器计数器先向上计数再向下计数输出PWM的中点在一个周期内对称特别适合七段式发波。此时PWM频率由定时器时钟分频、自动重装载值和计数模式共同决定配置的时候要注意倍频和死区时间寄存器的含义搞错了波形会看起来对称但频率完全不对。ST的官方笔记里关于波形部分最实用的一点是同时使用定时器的三个比较通道输出三路PWM而这三路PWM的占空比分别对应SVPWM计算出来的三个比较值。用示波器同时观察三路PWM时你会发现任意时刻最多只有一相桥臂在切换另外两相中至少有一相保持在固定电平这是七段式发波顺序的直接体现。4.3 官方笔记和实测波形对照把TI/ST的官方笔记和实测波形放在一起看能得出几个重要结论。第一理论波形和实测波形之间的差异主要来自死区时间和器件非理想特性。TI和ST都承认死区会导致实际输出电压波形相对参考电压出现畸变特别是在零电流穿越附近。如果示波器上看到脉冲边沿有毛刺而且脉冲宽度特别窄大概率就是死区或者窄脉宽控制造成的。第二两家官方资料在SVPWM限幅和最小脉宽处理上达成了共识。当调制比较低时SVPWM计算出的比较值可能小于死区时间导致脉冲宽度不足以安全开关。工程上一般通过钳位、最小占空比限制或者周期延伸来处理。这个在实测时表现为PWM在某些相位处少量丢失脉冲属于正常现象。第三官方笔记都强调了一点SVPWM的输出能力受母线电压制约。母线电压越低能合成的参考矢量范围越小调制比越受限。用示波器测波形时如果你发现某个扇区附近脉冲明显变宽甚至进入持续导通状态而母线电压同时跌得厉害那说明已经进入了过调制甚至弱磁边界了。5. 实测中的常见问题与排查技巧最后这部分全部是实战中踩过坑之后总结出来的干货。我按照问题现象、原因、排查思路的顺序整理出来每次调试遇到波形不对先对照这张表找方向比盲猜高效得多。5.1 测量安全与探头接地的坑第一个要强调的就是安全。测SVPWM波形的时候变频器或者电机控制板的地和市电地之间并不总是隔离的。如果直流母线负极直接接到了大地普通探头的地线夹夹到DC-问题不大但如果系统是浮地设计地线夹一夹上去就相当于把直流母线负极直接短路到大地瞬间大电流可能烧掉探头或驱动板。有一个典型场景是你用普通探头地线夹夹在DC-上测U相端电压测得挺好然后想换到V相直接把地线夹从DC-拿下来去夹U点这就等于把母线负极通过示波器地线接到了U点造成桥臂直通。正确做法是地线夹始终接同一个参考点探针去换测量点绝不能反过来。第二个大坑是两路探头做差测线电压时两路探头的地线夹都接在DC-上这在物理上没有错但两路探头的共模抑制比在高频下会变差。如果你发现测出来的线电压在PWM边沿处有剧烈振铃先看看是不是探头地线太长。把地线夹换成接地弹簧缩短地回路能显著减少振铃。5.2 波形异常的典型原因实测中最常见的波形异常一个是包络不对一个是毛刺多还有一个是幅值不对。包络不对比如理论马鞍波测出来变成了明显的尖峰波或者削底波大概率是扇区判断或者T1/T2计算方向反了。这时候不要先怀疑示波器回到代码里查一下扇区方向、坐标变换的符号习惯跟电机线序是否一致。U相接错顺序波形看起来也会有规律但包络形状会错位。毛刺多常见原因有这么几类PWM开关边沿的寄生振荡、探头地线过长、示波器带宽设置过高导致高频噪声放大、死区时间不足上下管共通。排查顺序是先看毛刺出现的位置是否与PWM边沿对齐如果是那就是开关振铃如果杂乱出现那可能是外部干扰串入。幅值不对比如实测端电压低电平不是0V而是几伏甚至几十伏先检查功率器件的饱和压降和续流二极管压降再看是不是在死区时间内示波器采到了上下桥臂都关断时通过感性负载续流的钳位电压。这个不是故障是正常现象。5.3 快速排查速查表为了方便现场调试我把常见现象和对应思路整理成速查表。现象可能原因排查动作端电压全是0V或高电平PWM没触发、驱动芯片故障、使能信号异常用示波器查PWM输出引脚和驱动芯片输入六路PWM缺一路定时器通道配置或引脚复用错误先看定时器寄存器再查引脚功能表相电压包络不像马鞍波扇区判断错误、坐标变换符号错、电机线序接反用电流传感器和编码器反馈对照电角度波形边沿振铃严重探头地线过长、寄生电感、驱动电阻偏大换接地弹簧缩小回路适当调小栅极电阻低电平在死区瞬间抬高上下桥臂同时关断的续流时期属正常现象重点看死区时间是否合理部分扇区区间的PWM持续拉满进入过调制或弱磁区降低调制深度或检查母线电压是否偏低两路做差测线电压直流偏置大两路探头增益不一致、零漂未校准做一次相同电压的偏置校准再测排查的顺序建议是先确认测量无误再怀疑SVPWM计算最后检查功率硬件。很多看起来像是SVPWM算法问题的情况最后发现是示波器测量方式不对白白浪费半天时间。最后再分享一个我自己习惯的做法调试SVPWM时不要只盯着一相波形看最好是三路端电压同时显示然后对照逻辑分析仪抓的六路PWM开关信号。三路端电压的相位关系、脉宽变化一旦同时出现在屏幕上SVPWM的扇区切换、发波顺序哪里有问题基本一眼就能看出来。现在很多示波器支持解码功能把PWM当数字信号解出来看切换序列比单纯看模拟波形更直观。这个习惯帮我排查过好几次似是非是的奇怪问题建议你也试试。
返回列表