这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 电源与模拟 » 死区补偿:怎么落地、怎么取舍

共1条 1/1 1 跳转至页

死区补偿:怎么落地、怎么取舍

菜鸟
2026-11-11 13:45:00     打赏

做 FOC 的电流环时,低速段相电流总是畸变成平台加尖角,THD 上不去,调了半天 PI 才发现是死区在捣鬼。死区时间是为了防上下桥臂直通插入的,可它在每个 PWM 周期里其实是一段被电流方向"偷走"的等效电压误差。本文按我在 DSP 上落地的过程,讲讲怎么补、参数怎么定档、坑在哪。

一 问题从哪来

切入点是这台伺服低速爬行测试。给定 5Hz 电气频率、额定电流 30%,相电流波形本该是正弦,实测过零点附近出现明显的"台阶"——电流到零后卡住一小段才反向爬升,峰值处又略微鼓包。量下来死区时间设了 800ns,母线 311V,开关 16kHz,算下来死区造成的等效电压误差峰值约十几伏,相对当前调制电压占比不小,正好和电流畸变幅度对得上。结论:死区误差在低调制比、低电流时占比最大,是低速畸变主因。

二 机理拆解

因果链是这样:正常 PWM 里上管关、下管开(或反之)本应无缝衔接,插入死区后这段时间上下管都不通,绕组电流只能走反并联续流二极管。于是该相的实际输出电压不是 PWM 给定值,而是被续流方向钳位——电流为正时输出被拉到下管侧(接近地),电流为负时被拉到上管侧(接近母线)。误差电压的极性与电流符号严格相关,幅值≈(死区+驱动延迟差)×母线电压÷周期。它就叠加在基波上,过零点电流换向、符号翻折,畸变最严重。频率越低、占空比越接近补偿比例的边界,这个误差越显眼。

三 实现推理链

在 DSP 上落地分三步。第一步是拿到带符号的相电流:用 ADC 采到的电流先做一阶低通(截止取基波频率的 1/5 左右,我现场取 50Hz)抑制开关纹波,再判符号 sign(i)。第二步算补偿电压 Vcomp = sign(i)×(Td+Tdt)×Vbus/Tpwm,其中 Tdt 是上下管驱动延迟失配,我实测约 20ns。第三步不是直接加在电压指令上,而是加在比较寄存器上:把 Vcomp 折算成计数值,叠加到该相占空比计数上,注意要在过零附近平滑过渡,否则符号硬切换会注入新的毛刺。我用的做法是在电流绝对值小于某阈值的小区间内,把符号换成随电流线性插值的连续量。

参数定档:死区先用示波器测直通裕量反推下限,我这颗驱动实测 300ns 内安全,工程上取 400ns;Td 补偿用查表,按当前工作电流分 8 档标定,避免模型误差。

四 对照与取值表

补偿方式

精度

实时性

调试代价

适用场景

纯符号函数补偿

中

高

低

中高速、电流大

过零线性插值

较高

高

中

低速、轻载畸变敏感

死区查表标定

高

中

高

量产、一致性要求高

不补偿+加大死区

低

最高

最低

对波形无要求的功率场合

五 配置与实现要点

最关键的一个坑是采样时刻与 PWM 对齐。补偿用的是"本周期电流符号",但 ADC 采样必须落在 PWM 计数器谷值或峰值、远离开关沿,否则采到的是续流暂态而非稳态电流,符号判错就会把补偿加反方向,畸变更糟。我用 ePWM 的周期中断触发 SOC,采样点固定在计数器零点对齐,补偿在下一个周期生效,整定过程中把这一拍延迟也纳入符号判据。另一个细节:补偿量要做限幅,单相补偿不得超过 (Td/Tpwm)×Vbus 的理论上限,否则调制波被推出线性区反而削顶。

六 工程笔记

1.  现象:低速过零电流台阶。原因:死区等效电压未被补偿。处置:按符号叠加补偿到比较寄存器。

2.  现象:加补偿后过零冒毛刺。原因:符号硬切换。处置:过零小区间线性插值。

3.  现象:补偿时好时坏。原因:采样点未避开开关暂态。处置:SOC 对齐计数器零点。

小结:死区补偿本质是补一段由电流方向决定的等效电压误差,低速轻载收益最大;符号判据、采样对齐和限幅三件事比补偿公式本身更决定成败。补偿幅度务必以实测温升、THD 为准,别只看理论计算。艾思控在调这一类电流环时,会把死区补偿和采样时序放在同一张调试表里一起核对。

欢迎评论区交流:你在做死区补偿时,是用解析模型算补偿量,还是干脆按工况实测标定一张补偿表?





关键词: 控制算法     嵌入式软件     电机驱动     FOC     调试    

共1条 1/1 1 跳转至页

回复

匿名不能发帖!请先 [ 登陆 注册 ]