4. 单电阻采样原理:采样窗口与PWM占空比的约束关系

单电阻采样,说白了就是只用一个电流传感器,把三相电流都测出来。很多低成本方案都在用,但坑也不少。我最早接触这个方案时,觉得挺简单——一个电阻加个运放就搞定,省成本嘛。结果调试时发现,采样时机不对,电流波形全是毛刺,根本没法用。

为什么会这样?因为单电阻采样的核心,是利用不同开关状态下母线电流的流向,重构出三相电流。你想想看,电机三相电流之和为零(星形连接),理论上测两相就能算出第三相。但单电阻只测母线电流,那就得靠PWM开关状态来“分时”采样。

4.1 单电阻采样的基本原理

先看一个典型的单电阻采样电路。直流母线上串联一个采样电阻,运放放大后送ADC。当逆变器开关管动作时,母线电流会依次反映不同相的电流。

核心思想:在PWM周期的不同时刻,母线电流等于某一相或两相电流的组合。只要在正确的时间窗口内采样,就能解出三相电流。

具体来说,当某一相的上管导通、下管关断时,该相电流会流过母线。如果两相上管同时导通,母线电流就是这两相电流之和。利用这些关系,再加上三相电流之和为零,就能解方程了。

我习惯把采样时刻分成三种情况:

  • 单相导通区:只有一相上管导通,母线电流直接等于该相电流
  • 两相导通区:两相上管导通,母线电流等于这两相电流之和
  • 三相导通区:三相都导通或都关断,母线电流为零(无效区)

实际应用中,我们主要利用前两种区域。但问题来了——这些区域存在的时间窗口,完全由PWM占空比决定。

4.2 采样窗口与PWM占空比的约束

这里有个关键约束:采样窗口必须足够宽,才能让ADC稳定采集。ADC需要建立时间,运放也有压摆率限制,再加上开关管导通瞬间的振荡,这些都会吃掉采样窗口。

我记得有一次调试,PWM频率设到20kHz,占空比在50%附近时采样正常。但一旦占空比接近0%或100%,电流波形就开始跳变。查了半天,发现是采样窗口太窄,ADC还没稳定就被关掉了。

那么,采样窗口到底需要多宽?我一般按这个经验值来估算:

参数 典型值 说明
ADC采样时间 0.5~1 μs 取决于ADC时钟和采样电容
运放建立时间 0.2~0.5 μs 运放带宽越高,建立越快
开关管振荡时间 0.3~0.8 μs 死区时间和振铃
最小安全窗口 1.5~2.5 μs 建议留余量

这个最小窗口对应到PWM占空比上,就是占空比的上下限。假设PWM周期为50μs(20kHz),那么占空比必须满足:

D_min >= T_window / T_pwm = 2.5 / 50 = 5%
D_max <= 1 - T_window / T_pwm = 95%

也就是说,占空比只能在5%~95%之间才能可靠采样。超出这个范围,要么采样窗口不够,要么根本采不到。

注意:这只是理论值。实际项目中,开关管振荡时间受PCB布局影响很大。我曾经在一个布局很差的板子上,振荡时间长达1.2μs,导致最小窗口不得不放宽到3μs,占空比范围被压缩到6%~94%。

4.3 采样时序的三种策略

面对占空比约束,业界有几种常见的采样策略。我按自己的理解排了个优先级:

  1. 中心对齐PWM + 双采样:在PWM周期的两个对称点采样,利用平均值抑制噪声。这是我最常用的方法,适合大多数应用。
  2. 边沿对齐PWM + 单采样:只在PWM周期的固定时刻采样,实现简单,但抗噪性差一些。
  3. 移相PWM + 多采样:通过移相制造额外的采样窗口,适合占空比极端的情况。但实现复杂,我一般只在必要时用。

我个人习惯用中心对齐PWM,因为它天然在载波波峰和波谷处产生对称的采样点。这两个点的电流值理论上相等,取平均后能抵消一部分开关噪声。

4.4 占空比极限区域的应对方法

当占空比接近0%或100%时,单电阻采样会失效。这时候怎么办?我分享几个实战经验:

  • 强制插入最小占空比:在占空比指令上做限幅,比如限制在5%~95%。代价是牺牲了一点电压利用率。
  • 使用电流重构算法:当采样窗口不足时,用上一周期的电流值做预测。我试过,效果还行,但动态响应会变差。
  • 切换到双电阻或三电阻采样:如果硬件支持,可以在低占空比时切换采样模式。不过这会增加硬件成本。

我的建议:如果成本允许,尽量用双电阻采样。单电阻采样在低速大扭矩和高速弱磁区都很容易出问题。实在要用单电阻,一定要在软件里做好占空比限幅和电流重构的备份逻辑。

4.5 单电阻采样的核心逻辑图

下面这张图总结了单电阻采样的工作流程和约束关系。我画图时习惯把关键路径标出来,方便调试时快速定位问题。

单电阻采样核心逻辑 PWM占空比指令 占空比在 5%~95%? 是 正常采样 否 电流重构/限幅 输出三相电流 关键约束: 1. 采样窗口必须 ≥ 1.5~2.5μs(含ADC建立+运放+振荡时间) 2. 占空比超出5%~95%时,必须启用电流重构或限幅策略

4.6 实战中的几个坑

最后聊几个我踩过的坑,希望能帮你少走弯路:

  • 采样点选在开关管切换瞬间:这时候电流振荡最大,ADC采到的全是噪声。我建议采样点选在PWM周期的中间位置,避开切换时刻。
  • 忽略死区时间的影响:死区时间内所有开关管都关断,母线电流为零。如果采样窗口落在死区里,采到的就是0。我习惯在软件里把死区时间从采样窗口中扣除。
  • ADC采样电容充电不足:采样窗口太窄时,ADC内部的采样电容来不及充满,导致转换结果偏小。我一般会在ADC前加一级缓冲器,或者降低ADC输入阻抗。

嗯,单电阻采样就是这样——原理不复杂,但细节决定成败。只要把采样窗口和占空比的约束关系搞清楚,大部分问题都能提前规避。