☰
SVPWM波形实测指南:端电压、线电压、相电压与参考点
2026/9/29 1:47:46 网站建设 项目流程

干电机控制的这些年,我见过太多人在SVPWM上栽跟头,而且栽得最狠的往往是同一个地方:拿着示波器去实测SVPWM波形,结果测出来的东西和书上画的完全对不上。有人把探头夹在逆变器输出端,看到一串0到母线电压的方波,以为这就是相电压;有人用线电压减出来的波形去验证马鞍波,却死活找不到那条漂亮的马鞍包络;还有人调了半天FOC,电流波形始终不对,最后发现参考点选错了。这篇东西我想把这三个电压彻底掰扯清楚,用实测波形展开讲,再结合TI、ST官方笔记里反复强调的要点,说人话,不绕弯。适合刚接触电机控制、正在调SVPWM代码但被示波器波形搞懵的工程师,也适合想加深理解、把零序注入和调制比吃透的老手。

1. 示波器实测前必须理清三个定义:参考点不同,波形就完全不同

先说一句大实话:大部分人对"相电压、线电压、端电压"的困惑,根子不在SVPWM本身,而在参考点。

很多教程上来就说"相电压是马鞍波",然后画一条漂亮的三相马鞍曲线。等你真的拿示波器去测,把探头参考地夹在直流母线负端,测电机U相输出,看到的却是一堆高电平0V、低电平-母线电压的PWM脉冲列,压根没有马鞍形状。这时候你就开始怀疑自己:是不是算法写错了?是不是示波器设置不对?其实都不是,是你测的位置和参考点,跟书上画马鞍波时用的参考点根本不是一回事。

1.1 端电压看桥臂,线电压看相间,相电压看绕组

我用一句话概括三者的区别,这句话你自己实测前最好也在脑子里过一遍:

  • 端电压,也叫极电压,是逆变器某一相桥臂输出点相对直流母线某个参考点(通常取母线负端或者母线中点)的电压。它描述的是"桥臂到底把输出端接到了母线的哪一侧"。
  • 线电压,是逆变器两个输出端之间的电压差,比如Uab = Ua - Ub。它描述的是"两根电机线之间"的电压。
  • 相电压,严格来说是电机绕组上的电压。对于星形连接的电机,相电压是相线对中性点N的电压,即Uan = Ua - UN。它描述的是"电机绕组实际承受的电压"。

你看,光是定义里"参考点"就完全不一样。端电压参考直流母线,线电压参考另一相输出,相电压参考电机中性点。参考点不同,波形自然长得完全不同。

1.2 三个电压的数学关系,一个公式就能说透

以直流母线中点为参考点O,三相输出端的瞬时端电压分别为Uao、Ubo、Uco。那么:

  • 线电压:Uab = Uao - Ubo
  • 电机中性点电压:UNo = (Uao + Ubo + Uco) / 3
  • 相电压:Uan = Uao - UNo = Uao - (Uao + Ubo + Uco) / 3

这个式子太关键了。你注意看:线电压Uab和零序分量完全无关,因为Uab = Uao - Ubo,中性点电压UNo在相减时被抵消了。而相电压Uan正好是端电压减掉了中性点电压,也就是说相电压天然包含零序分量。这就是为什么线电压波形和相电压波形长得不一样:一个没有零序,一个有零序。

SVPWM的所谓"零序注入",注入的就是UNo这一项。它会把三相对称的正弦参考电压变成马鞍形状的调制波,但线电压波形始终保持纯正弦基波,没有马鞍包络。你实测的时候,如果发现线电压波形也出现了马鞍包络,那大概率是测量方法出了问题。

1.3 为什么"相电压是马鞍波"这句话容易误导人

书上说的"相电压是马鞍波",严格讲是指相电压的低频平均值包络是马鞍形。真实的相电压在示波器上是一串高频PWM脉冲,脉冲的高低电平随着中性点电压UNo的变化整体上下漂移,把这串脉冲的上下包络连线,你才看到马鞍形状。

这个区别极其重要。如果你把示波器显示出来的PWM脉冲本身当成"相电压波形",你会觉得这东西跟马鞍波一点关系都没有。但如果你把时基调大、打开余晖,看到脉冲带的上下边界呈马鞍状,那就对了。

2. 实测环境搭建:探头该夹哪、参考地选哪个点,直接决定你看到什么

搞清楚了定义,接下来是实操。很多人拿示波器就往上怼,夹子乱接,测出来的波形带一堆毛刺和地环路噪声,根本没法看。实测SVPWM的测量环境,其实比想象中讲究。

2.1 测端电压:普通探头最省事,但地线环路有讲究

端电压最简单的测法:普通单端电压探头,打到×10档,探头尖点逆变器某一相输出端(比如U相),探头的地线夹子夹到直流母线负端。

这里要注意:地线夹子的引线一定要短。PWM节点上开关频率高、dv/dt极大,甩一根长地线出去,等效于在探头输入端串联了一个电感,会在波形上升沿和下降沿激发出几百MHz的振铃。这不是真实信号,是地线环路造成的。

正确做法是用探头自带的接地弹簧,直接套在探头尖的金属套筒上,让参考地尽可能靠近被测点。如果手头没有接地弹簧,就把地线夹子夹在母线电容的引脚处,离输出端越近越好。我的实测经验是:同样的板子,用长地线夹测出来的上升沿振铃峰峰值能到好几伏,换上接地弹簧之后干净很多。

2.2 测线电压:数学通道省事,差分探头准确

线电压Uab = Ua - Ub,测法有两种。

第一种:用CH1测U相输出,CH2测V相输出,然后示波器MATH通道做A-B。这种方法不需要差分探头,普通探头就能测,示波器面板上几个按键就调出来了。但有个隐患:普通探头的地是接示波器机壳的,如果你把两个探头的参考地都夹在直流母线负端,那么你测到的两个信号其实都是相对母线负端的"端电压",相减之后得到的确实是线电压,这在低频段没问题。

第二种:直接用差分探头跨接在U、V两相输出之间。差分探头的好处是共模抑制能力强,不会因为两个普通探头的地环路形成额外的噪声回路。缺点是贵,且低压差分探头普遍带宽不高,一般是25MHz左右。对看10kHz~20kHz的PWM波形来说完全够用,但如果你想测开关沿的振铃细节,25MHz带宽会把高频成分抹平。

我的建议很简单:确认波形形状和相对电平关系,用数学通道A-B就够了;要定量测量、要看谐波成分,上差分探头。别一上来就花大几千买差分探头,很多场景数学通道真的够用。

2.3 测相电压:中性点在哪,决定了你怎么接探头

这是最容易翻车的地方。

相电压的定义是Uan = Ua - UN,你的探头参考点必须接到电机中性点N,而不是直流母线负端。如果电机是星形接法,且中性点有引线拉出来,你可以用差分探头,一头接U相线,另一头接中性点线,直接测绕组两端电压。这是最准确的相电压测量方法。

如果电机中性点没有引线,很多人会用三个大功率电阻搭一个人工中性点,然后把探头参考端接在人工中性点上。这个方法有两个问题:一是人工中性点只在中低频段近似等于电机中性点,开关频率附近受分布参数影响,测出来的波形和真实相电压有偏差;二是示波器探头参考端接了人工中性点之后,如果系统是共地的,示波器机壳和直流母线之间可能形成额外的接地回路,严重时会影响电路工作甚至损坏示波器。

所以我的建议是:能引中性点就引中性点,不能引就用差分探头跨绕组两端测,别图省事用人工中性点去代替。尤其是在你做FOC调参、需要看真实相电压波形的时候,人工中性点带来的偏差会误导你的判断。

还有个特殊情况:如果电机是三角形接法,相电压等于线电压,直接测线电压就行,没有中性点这回事。

3. 波形逐个看:端电压是脉宽在变的方波,线电压是双极性阶梯,相电压是马鞍包络下的变幅脉冲

前面铺垫了这么多,现在进入正题:三种波形到底长什么样。我这里描述的是Vdc=24V、PWM载频10kHz、基波频率50Hz、SVPWM七段式调制下的实测现象。换不同的母线电压和载频,绝对电平会变,但形状规律不变。

3.1 端电压波形:一列占空比按正弦变化的方波

将示波器探头接到U相输出,参考地接母线负端,时基调到2ms/div,会看到一长条密集的脉冲带。用肉眼很难直接看出占空比变化,但把示波器余晖打开,或者把时基调到50μs/div展开来看,就能看到每个开关周期内只有一个高电平脉冲,高电平宽度(占空比)在缓慢变化。

变化的规律是:在一个基波周期内,U相端电压的占空比从接近0慢慢增大到接近100%,再慢慢减小回接近0。这是因为SVPWM的目标就是让U相平均电压按正弦规律变化。当占空比为50%附近时,U相输出的是等宽的方波,平均电压接近0(相对母线中点为0);占空比大于50%时,平均电压为正;小于50%时,平均电压为负。

具体数值上:如果相对母线中点测量,高电平约+12V(上管导通),低电平约-12V(下管导通);如果相对母线负端测量,高电平约+24V,低电平约0V。这个大家别搞混,探头参考点变一下,显示的电平完全不一样。

3.2 线电压波形:三电平的阶梯脉冲,正负对称

CH1测U相、CH2测V相、MATH做A-B,或者直接差分探头跨U、V两相输出,看到的是线电压Uab。

线电压的特点是只有三种电平:+Vdc、0、-Vdc。因为端电压Ua相对母线负端只有0V和Vdc两种状态,Ub同样,两者相减自然只有三种结果。在实际波形上,你会看到一组组正脉冲、零电平、负脉冲交替出现,脉冲宽度同样在变化。

重点来了:线电压波形是正负对称的,而且它的低频包络跟正弦是"面积等效"的关系。一个PWM周期内,正脉冲的面积代表线电压在该周期内的正向平均值,负脉冲的面积代表负向平均值。你把这个平均值随着基波周期画出来,能得到一条纯正弦曲线,没有马鞍,没有三次谐波。

这也好理解:Uab = Uao - Ubo,零序分量UNo在相减时抵消了。如果你把线电压波形拿去做FFT,能看到基波分量占主导,三次及三的倍数次谐波含量非常小。这正是判断你是否在测线电压的一个判据。

3.3 相电压波形:马鞍包络下的变幅脉冲,这才是SVPWM精粹

用差分探头跨在电机U相绕组两端(一端接U相线,一端接中性点N),测Uan。

这时的波形跟端电压、线电压都不同。由于中性点电压UNo在低频段是一个三倍频的波动量,相电压的PWM脉冲整体会随着UNo上下漂移。展开来看,脉冲的"上下两条包络线"呈现出马鞍形状:每个基波周期里有6个明显的"回落"或"平台"特征,顶部不是纯正弦那样尖尖的,而是被压平了一段。

本质上,相电压的低频平均值就是端电压平均值减去中性点电压的叠加结果。SVPWM注入的零序分量让这个平均值变成了马鞍波,而马鞍波的"凹陷"位置正好对应扇区边界。

实测中一个常见现象:如果把时基调到5ms/div,看到的是相电压脉冲带上下边界呈马鞍形;如果把时基展开到100μs/div,看到的是一个个开关周期内,脉冲电平本身在±Vdc/2附近,但整个波形在垂直方向上缓慢移动。后者按直观,前者按趋势。

3.4 三种波形的参数对比

电压类型参考点电平数低频包络形状包含零序分量基波峰值上限
端电压Ua母线负端或母线中点2(高、低)占空比按正弦变化是与母线电压有关
线电压Uab另一相输出3(+Vdc、0、-Vdc)纯正弦否Vdc
相电压Uan电机中性点N2(相对±Vdc/2)马鞍波是Vdc/√3

这张表建议截图存一下,实测前对着看一眼,心里有数。

4. 马鞍波的真正来源:中性点电压的三倍频漂移与零序注入

很多人看SVPWM的相电压波形是马鞍状,觉得奇怪:明明是三相正弦电压供给电机,为什么相电压不是正弦?电机不是应该吃正弦电吗?要回答这个问题,就得把零序注入和马鞍波的来龙去脉讲透。

4.1 中性点电压UNo为什么是3倍频

还是回到那个公式:UNo = (Uao + Ubo + Uco) / 3。

三相端电压各自包含基波分量,但基波分量三相之间相差120°,加起来是零,对UNo没有贡献。能留下来的只有三相中同相位的分量,也就是零序分量。SVPWM往三相调制波里注入的零序分量是三倍基频的(周期是基波的1/3),所以UNo在三相端电压的平均值中不会相消,而是以三倍频的形式出现。

用示波器直接测电机中性点相对母线中点的电压,就能看到这个三倍频分量:它是一个接近三角波形状的波动,频率是电机基频的三倍。基频50Hz时,UNo是150Hz的波动;基频100Hz时,UNo是300Hz。这个特征非常明显,一测一个准。

4.2 零序注入为什么能提高电压利用率

传统SPWM,三相调制波是纯正弦,调制波峰值不能超过三角载波峰值,否则进入过调制。线性区内相电压基波峰值最大只有Vdc/2,线电压基波峰值最大只有0.866Vdc。

SVPWM看到的问题是:三相正弦调制波在某一时刻总有一相峰值最高、一相峰值最低,如果你把整个调制波叠加一个零序分量,让最高相往下压一点、最低相往上抬一点,就能让三相调制波的"峰值包络"变小,在不超过载波峰值的前提下,塞进更大的基波幅值。

这个"最高相往下压、最低相往上抬"的零序分量,就是SVPWM的核心操作。叠加之后,三相调制波变成了马鞍波。马鞍波的尖峰比纯正弦小,基波幅值却更高,相当于"省出来的余量"换成了更高的调制深度。

定量结论:

  • SPWM线性区最大相电压基波峰值:Vdc/2
  • SVPWM线性区最大相电压基波峰值:Vdc/√3 ≈ 0.577Vdc
  • SVPWM线性区最大线电压基波峰值:√3 × Vdc/√3 = Vdc

也就是说,SVPWM能比SPWM多榨出约15.5%的电压利用率。这个15.5%不是靠硬件压榨出来的,而是靠改变调制波形状、往相电压里注入零序分量换来的。电机电流之所以还是正弦,是因为三次谐波在三相绕组中同相,星形无中线连接时不会产生三次谐波电流,只有中性点电位漂移,对转矩的贡献为零。这个点TI的FOC文档里反复提过,ST的电机库实现里也遵循这个逻辑。

4.3 从官方笔记角度理解相电压的非正弦本质

先说TI。TI的C2000系列FOC相关应用笔记和参考设计里,只要涉及SVPWM,基本都会强调相电压是含零序分量的,逆变器的端电压不能直接当作相电压处理。TI在讲调制比和过调制时,用的也是Vdc/√3这个相电压基波峰值上限。你去看TI的电机库代码,里面SVPWM的扇区计算、矢量作用时间计算,最终等效出来的三相调制波就是马鞍波。

再说ST。ST的MC SDK文档和电机控制应用笔记(比如AN系列里讲无感FOC、PWM生成的部分)里,对SVPWM实现讲得很细:定时器如何配置成中心对齐PWM、死区如何设置、扇区切换如何处理。ST官方笔记里有一个比较容易忽略的点:它建议你在验证SVPWM输出时,用线电压波形来判断扇区切换是否正确,而不是用相电压,因为线电压不含零序分量,波形干净,更容易和理论计算对照。

我个人读官方笔记的体会是:TI和ST对SVPWM的切入角度不同,TI更偏控制理论,ST更偏MCU实现,但两者对"端电压、线电压、相电压"的区分态度完全一致:端电压是逆变器的事,相电压是电机的事,线电压是连接两个世界的桥梁。

5. 从波形反推算法细节:扇区切换、七段式/五段式、过调制边界

实测SVPWM不只是为了看个热闹,我更推荐反过来用:把示波器当成"算法检查工具",从波形反推你的SVPWM实现到底对不对。这一章讲几个我能直接用在调试中的波形判据。

5.1 用相电压马鞍波的6个"顶点"确认扇区切换

SVPWM把电压圆分成了6个扇区,每个扇区60°。扇区切换的瞬间,参与合成的两个非零矢量会变化,桥臂开关组合会变化,反映到相电压波形上,就是马鞍波的包络会出现明确的拐点。

把示波器时基调到20ms/div,观察相电压一个完整基波周期,你会看到马鞍波一共有6段,每一段内部包络形状各不相同,段与段之间有明显的"折点"。这6个折点就是6个扇区边界。每个折点之间的电气角度恰好是60°。

这个特征面非常硬:如果你的SVPWM扇区判断算法写错了,马鞍波的6段会不对称,或者分段位置错位。我在调试早期遇到过扇区判断的边界条件写错,在0°和180°附近各多算了一段,示波器上马鞍波就变成了一边高一边低的畸形形状。对照这6个折点,当时很快就定位到了问题。

5.2 七段式和五段式,从波形上一眼分辨

七段式SVPWM每个开关周期内的矢量序列关于周期中心对称,比如第一扇区是000-100-110-111-110-100-000。它的特点是每相占空比连续变化,用示波器看单相端电压,展开一个开关周期,高电平脉冲在周期中间,两侧对称分布。

五段式SVPWM每个开关周期只用一个零矢量,矢量序列变成000-100-110-000这样循环。它在60°扇区内会让某一相桥臂完全钳位,也就是这一相在一个扇区内要么一直输出高电平、要么一直输出低电平,不做PWM动作。

怎么用示波器分辨出来?把探头接到某相端电压上,时基调到2ms/div,观察整个基波周期。七段式每一相在整个周期内都在持续输出PWM脉冲,只是占空比变化;五段式你会看到60°左右的一段时间里,波形变成了一条直线(要么高要么低),完全没有任何PWM脉冲。这个"轴钳位"现象是五段式最明显的波形特征。

选择建议:七段式谐波含量低、电流波形平滑,适合对噪音和振动有要求的应用;五段式开关次数减少1/3,开关损耗低,适合母线电压高、开关频率高的场合。实测时先通过看波形确认你实际落的是哪种模式,再去调参数,不要凭配置想当然。

5.3 过调制:马鞍波尖峰削平,六步模式极限

当调制比超过线性区的极限(相电压基波峰值超过Vdc/√3),SVPWM进入过调制区。过调制一区里,马鞍波的"凹陷"部分被拉平,波形看起来更像梯形波,基波幅值不再随调制比线性上升,会出现谐波畸变。

继续加大调制比,最终会进入六步模式(方波驱动)。这时相电压不再有高频PWM,变成180°导通的方波,线电压变成三相六拍的阶梯波形式。用示波器看,六步模式下端电压是干净的50Hz方波,没有高频PWM成分。这个状态开关损耗最低,电压利用率最高,但电流谐波大,只适合对谐波不敏感的应用。

如果你在调试中调高了调制比,发现相电压波形从马鞍波慢慢变成梯形波、方波,别慌,这是正常的过调制过程。需要关注的是:过调制区电容电流和电机损耗都会升高,实测中注意摸一下功率管的温度。

5.4 用波形看中心对齐PWM和边沿对齐PWM

SVPWM一般要求使用中心对齐PWM,也就是定时器的PWM输出在周期中间对称翻转。因为七段式矢量序列本身就依赖中心对齐才能形成对称的零矢量分布。

用示波器看单相端电压,展开到单个PWM周期,中心对齐PWM的高电平脉冲位于周期正中间,两侧低电平宽度相等。如果看到高电平靠左或靠右,那就是边沿对齐PWM或者中心没对齐。电机控制中,电流采样通常都在PWM周期的中心时刻进行,因为中心对齐时采样点能避开开关动作瞬间的噪声。波形上确认中心对称,是保证电流采样质量的前提。

6. 实测中我踩过的几个波形"陷阱"

最后分享一些纯实操层面的坑。这些坑不见得写进TI和ST的笔记里,但你在实测中几乎都会遇到。

6.1 长地线带来的共模噪声尖峰

普通探头甩一根十几厘米的长地线,去测逆变器输出端的高dv/dt节点,波形上升沿和下降沿会出现非常明显的振铃,振铃频率大约几十到几百兆赫兹。这不是SVPWM的问题,也不是驱动死了,单纯是地线电感和探头输入电容形成了谐振回路。

处理办法:换接地弹簧;如果手头没有,把地线夹子绕在探头尖的金属套筒上,尽量减少地线回路面积。测完之后再看看波形,你会发现那些毛刺消失了,波形干净到像换了一台示波器。

6.2 死区造成的"半高"小台阶

SVPWM上下桥臂互补导通,必须在切换瞬间插入死区时间。死区期间,输出电平由续流二极管决定,可能是一个不确定的中间电平。如果示波器展开到纳秒级别,会在PWM边沿看到一段几百纳秒的"半高"台阶或毛刺。

很多初学者看到这个台阶以为驱动坏了,其实这是死区的正常表现。处理办法:用示波器量一下这个台阶的宽度,和代码里配置的死区时间对比,如果数值一致就不用管。死区过大会造成电流波形畸变和低次谐波,但你不能靠改示波器去消除它,只能通过合理的死区补偿或者更小的死区时间来优化。

6.3 触发设置不对,波形抖到你怀疑人生

看PWM波形时,如果触发源选的是CH1且触发电平设在PWM脉冲的高电平和低电平之间,边沿触发会经常乱跳,波形在屏幕上抖来抖去。

处理办法:看低频包络时,换成脉宽触发或者周期触发,把触发条件限制在PWM载波频率附近;或者干脆把时基调大,用余晖模式看包络,不纠结单个脉冲的触发稳定性。打开余晖之后,波形会自动叠加出上下包络的形状,非常适合观察马鞍波和占空比变化规律。

6.4 示波器带宽限制设错了,高频开关沿看不清

20MHz带宽限制是个好东西。看低频包络和调制波形状时,建议打开带宽限制,把高频振铃滤掉,波形更接近理论分析。但如果你想测开关损耗、看驱动波形的高频细节,带宽限制会掩盖真相,这时候要关闭它,再用高带宽探头(100MHz以上)去看。

我的经验是:一台示波器上,用CH1做端电压/线电压的包络观察时打开带宽限制,用CH2去测驱动芯片的栅极波形时关闭带宽限制。不同通道做不同用途,别一刀切。

6.5 万用表量相电压?测出来的是假有效值

数字万用表的交流档通常只对50Hz~400Hz的正弦波校准。你拿它去量SVPWM的相电压,表里会混入大量PWM高频分量和包络变化,读数基本没有参考价值。想准确测量相电压基波有效值,正确做法是用示波器FFT,看基波分量的幅值;或者把PWM关掉,只发占空比50%的固定电平去标定。

这个坑我踩过不止一次。一开始拿万用表量相电压,读数乱跳,还以为是代码输出不稳,最后发现是万用表根本不适合测PWM波形。


回头再看,SVPWM的波形实测其实就是一个"参考点游戏"。端电压、线电压、相电压,定义清楚了,波形都对得上;定义模糊,测出来的东西怎么看怎么别扭。我个人调试的习惯是:先把线电压波形调干净,确认扇区切换和七段式对路;再上差分探头看相电压马鞍波,确认零序注入和中性点漂移特征正确;最后才去闭环调参。这套流程走下来,SVPWM的算法问题基本都能在波形层面暴露出来。希望这篇实测笔记能帮你少走点弯路。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询