⚡ 功率级拓扑与 SVPWM 交互实验室

点击 8 个电压矢量看三相逆变桥的开关状态与电流路径;拖动调制比与转速,看 SVPWM 扇区切换与马鞍波的来历。
三相逆变桥SVPWM电压矢量死区
🎯 本页学习目标
1. 看懂三相全桥拓扑:6 个开关管 → 8 个开关状态 → 6 个有效电压矢量 + 2 个零矢量
2. 理解 SVPWM:参考矢量由相邻两个基本矢量+零矢量按时分配合成,扇区与 T1/T2/T0 实时可算
3. 能解释马鞍波(共模注入)的来历以及死区时间存在的必要性
建议用时:约 35 分钟

1 实验一:三相逆变桥开关状态(点击矢量)

下图为三相全桥:直流母线(DC+ / DC−)接三个半桥,中点 U/V/W 接电机三相绕组(星接)。每个半桥"上管通=1,下管通=0"。三个开关位组合出 8 种状态:V1(100)~V6(110) 是有效矢量,V0(000)/V7(111) 是零矢量(电机端口等电位,不产生有效转矩方向)。点击按钮:绿色=导通开关管,橙色=电流路径。

DC+ (母线正) DC− (母线负) 中性点 U V W 电机三相绕组(星接)
图:SVPWM 电压矢量与扇区划分交互实验室——调节 Vα/Vβ 观察矢量合成、扇区切换与三相占空比
⚠️ 死区时间(Dead Time):同一半桥的上下管绝不允许同时导通——否则母线直通短路,毫秒级炸管。切换时必须先关断一个、留出 0.5~3 μs 的"双关断"间隙再开另一个,间隙内靠续流二极管维持电流。代价是输出电压出现死区畸变(换向异响、低速力矩波动),需要死区补偿。上图切换是理想化的瞬时动作,真实硬件中间隔着死区。

2 实验二:SVPWM 扇区与马鞍波

SVPWM(空间矢量 PWM)把旋转的参考电压矢量 Vref 分解到所在扇区,由相邻基本矢量 Vk、Vk+1 加零矢量按时隙合成:

T_1 = m\,T_s\sin(k\cdot60^\circ - \theta), \quad T_2 = m\,T_s\sin(\theta - (k{-}1)\cdot60^\circ), \quad T_0 = T_s - T_1 - T_2

其中 m 为调制比,θ 为矢量角,k 为扇区号。等效三相调制波经共模注入 ucm = −(max+min)/2 后就是马鞍波——比正弦 PWM 的直流母线利用率高约 15%(线性区 m 上限 0.907 而非 0.785),这正是关节驱动器偏爱 SVPWM 的原因。

💡 怎么读上图:左图 αβ 平面,六边形顶点是 6 个基本矢量,绿色箭头是 Vref,橙色虚线圆是线性区边界;m>0.907 进入过调制(削顶,电流环失控风险)。右图三条曲线是 U/V/W 相含共模注入后的马鞍调制波,白虚线是当前 θ 相位。m 越接近 0.907,马鞍顶部越平坦——零矢量时间被压到 0。

3 深度讲解:扇区判断与 T₁/T₂ 的完整数值实例(V2.0.7 新增)

🧮 一套可以直接抄进代码的流程
输入 uα/uβ(反 Park 之后)与开关周期 Ts:①判扇区 N;②求扇区内角 θ∈[0°,60°);③按占空比 d₁=m·sin(60°−θ)、d₂=m·sinθ(m=√3·|Vref|/Udc,线性区≤1)计算相邻矢量时间;④d₀=1−d₁−d₂ 分给零矢量,中心对齐排布 PWM。

手把手算例:母线 Udc=48 V、fpwm=20 kHz(Ts=50 µs)、需要 Vref=24 V @ 电角度 15°(落在以 α 轴起算的第 1 扇区,θ=15°)。

步骤公式代入结果
① 调制系数m = √3·|Vref|/Udc1.732×24/480.866(<1,线性区成立)
② 主矢量时长d₁ = m·sin(60°−θ)0.866×sin45°=0.612T₁ = 30.6 µs
③ 副矢量时长d₂ = m·sinθ0.866×sin15°=0.224T₂ = 11.2 µs
④ 零矢量时长d₀ = 1−d₁−d₂1−0.836T₀ = 8.2 µs(V000/V111 各分一半)

校验:T₁+T₂=41.8 µs < Ts ✓ 线性可合成。若继续增大 |Vref| 让 d₁+d₂ 冲破 1,零矢量被挤没——马鞍波削顶,即实验二里 m>0.907 的过调制现象。把上面四行翻译成 C 就是中断里的全部「矢量调度」逻辑。

⚠️ 实现层四个坑:①扇区编号从哪根轴起算、顺/逆时针,各家教材与芯片手册不一致——照搬公式前先对齐约定,否则六路整体错相;②θ 必须 mod 60° 取「扇区内角」,直接拿连续电角度代进去会周期性跳变;③轻微过调制不会立刻炸管,先表现为削顶谐波和电流环抖动,容易被误诊为「编码器坏了」;④死区让实际输出电压比指令少一点点,低速大扭矩(反电动势小)时相对误差最大,需要死区补偿。回到上方实验二亲手拖 m。

4 本节自测

1. 三相逆变桥共有多少个开关状态?其中有效电压矢量和零矢量各多少?
💡 解析:3 个半桥各 2 种状态 → 2³=8。V1(100)~V6(110) 产生六个方向的电压矢量;000 与 111 时三相接到同一母线,端口电压为零,称零矢量,用于插入"不发力"的时间片。
2. SVPWM 相比正弦 SPWM 的核心优势是?
💡 解析:共模注入把线性调制区从 m=0.785 提到 0.907,同电压下力矩/转速上限更高——对电池供电的人形机器人是白捡的收益。开关损耗取决于 PWM 频率,两种调制相同;死区两者都要;谐波只是分布更优而非为零。
3. 设置死区时间的根本原因是?
💡 解析:功率管开通快、关断慢,无死区时切换瞬间上下管同时导通 → 母线直通炸管。死区是安全代价,其电压畸变再由死区补偿抵消。
4. 关于零矢量 V0(000)/V7(111),下列说法正确的是?
💡 解析:零矢量只表示三个端口等电位、合成电压矢量为零,不等于「电流为零」。以 V0(000) 为例:三台下管全通,绕组电流经下管续流并按回路阻抗自然衰减;V7(111) 则由上管续流。这正是零矢量能安全插入「不发力」时间片的原理(见实验一矢量说明与思考题 1)。选 A 是常见误区。
5. 马鞍形调制波的直接来历是?
💡 解析:SVPWM 等效为在正弦调制波上注入共模分量 ucm = −(max+min)/2,使调制波中间鼓、两头瘪呈马鞍形,把线性调制区上限从 0.785 提升到约 0.907(约 +15% 母线利用率),这正是关节驱动器偏爱 SVPWM 的原因。
6. 把调制比 m 拖到超过约 0.907 会发生什么?
💡 解析:m > 0.907 超出线性区(对应 T1+T2 > 100%),零矢量时间被压到 0,调制波削顶、矢量轨迹不再可线性合成,电流环容易失控。把 m 拉向 0.907 时马鞍顶部越平坦,正是零矢量时间被压缩的直观表现(见实验二图注)。
7. 反 Park 之后得到 uα<0、uβref 位于第几扇区?
💡 解析:以 α 轴逆时针计,135° 落在 120°~180° 区间 = 第 3 扇区,相邻基本矢量为 V3 与 V4。扇区判断也可以不反三角:用 sign(uβ)、sign(√3uα−uβ)、sign(−√3uα−uβ) 三个符号位组合出 N=1~6——比较器速度更快。回看第 3 节流程。
8. 按「深度讲解」算例同参数(Udc=48 V,Ts=50 µs),把 |Vref| 从 24 V 提高到 27 V、θ 仍为 15°。T₁ 变为?
💡 解析:m′=√3×27/48=0.975,d₁=m′sin45°≈0.69 → T₁≈34.4 µs;d₂=0.975×sin15°≈0.252 → T₂≈12.6 µs;合计 47 µs,零矢量只剩 ~3 µs——离削顶一步之遥。这说明 T₁/T₂ 随幅值与角度双变量变化,B 错在只认角度;正弦关系下幅值增大时长单调增(C/D 无据)。
9. 零矢量时间 d₀ 在什么工况下趋近于 0?此时意味着什么?
💡 解析:d₀=1−d₁−d₂ 是「喘口气」的时间预算,只随 |Vref|/θ 改变:矢量越大越贴近六边形内切圆,相邻矢量占空比越高,d₀ 越小;贴满即 m=1 线性上限(按本节定义;对应马鞍波最平坦的形态)。它不是负载的直接函数——A 把因果挂错对象。
10. 共模注入 ucm=−(max+min)/2 为什么能白捡约 15% 的电压利用率?
💡 解析:星接电机的相电流只取决于线电压差,三相同时加任何公共偏置都不改变电流——这正是「共模」的特权。注入 −(max+min)/2 后三相比相波形的包络被「压」回载波范围内,等效相电压幅值上限从 Udc/2 抬到 Udc/√3(+15.5%),马鞍形状只是这个操作在三相上的投影。开关频率与谐波分布不由它决定(C/D)。
11. 死区畸变在哪种工况下相对影响最大?
💡 解析:死区在每个开关周期内固定「偷走」约 2·tdt 的有效伏秒,换成的电压误差 ΔU≈Udc·2tdt/Ts 是常数;基波电压幅值却随转速降低而变小 → 低速时 ΔU/ΔV 基波占比急剧上升,且误差方向随电流极性翻转,产生 5/7 次特征谐波——表现为过零抖动与嗡鸣,需死区补偿或馈入校正。高速时基波大,占比自然小(B/C/D 均误)。在实验一里观察桥臂切换。
12. 从「iq 阶跃指令」到「绕组电流真的变大」,正确的信号链顺序是?
💡 解析:完整链路是「控制环(dq)→ 反 Park → 调制器(αβ)→ 功率级 → 物理」。C 每一步都归位正确。A/SVPWM 出现在反 Park 之前属于坐标系混乱;B 跳过了全部坐标变换(D 系列里 Park/ADC 是反馈侧的环节,方向反了)——建议对照本页两个实验把链路各走一遍。三环全景动画配合理解 →
📌 本节要点速查:①三相全桥 2³=8 状态 = 6 有效矢量(V1~V6)+ 2 零矢量(V0/V7);②零矢量端口电压为零但绕组电流仍续流,不是「无电流」;③SVPWM 用相邻基本矢量+零矢量按时隙合成,T1/T2/T0 与扇区实时对应;④马鞍波来自共模注入 ucm=−(max+min)/2,线性区 m 上限约 0.907(比正弦 0.785 高约 15%);⑤死区防直通是安全底线,0.5~3 μs 间隙,畸变需补偿;⑥m>0.907 过调制削顶,电流环失控风险。
📌 本节小结:①三相全桥 8 状态 = 6 有效矢量 + 2 零矢量;②SVPWM 用相邻矢量按时隙合成参考矢量,T1/T2/T0 与扇区实时对应;③马鞍波来自共模注入 −(max+min)/2,直流利用率 +15%;④死区防直通是功率级安全底线,其畸变需补偿。
🤔 思考题:1. 设为 V0(000) 时电机绕组还有电流吗?电流经什么器件续流?
2. m 拖到 1.0,马鞍波哪里先"削顶"?过调制对电流环意味着什么?

M 参考来源