FOC 参考手册 04 传感与测量

电流测量

到目前为止,每一篇控制章节都默认相电流是现成可用的。然而,相电流并非唾手可得。分流电阻仅在特定开关器件导通时才流过电流,因此只能在 PWM 周期内的特定窗口期进行测量——而在某些工作点下,这些窗口甚至会完全关闭。

这并非模拟设计中的细节问题。它决定了驱动的最大调制深度,也决定了电机是否能在静止状态下被控制,并为所能实现的电流纹波设定了下限。

从相电流经分流电阻、放大器、ADC 及偏置校正进入 dq 坐标系的信号路径。 采样时刻 相电流 期望获取的真实值 分流电阻 仅在其导通窗口内 流过相电流 采样放大器 增益放大 + 电平偏置 ADC PWM 周期中点硬件触发 零漂偏置扣除 零电流待机状态下 实测校准 Clarke → Park abc → dq PWM 周期 采样窗口何时打开?
每个环节都会引入各自的误差,而每一种误差在 dq 坐标系中都有其独特的频谱特征:直流偏置表现为一倍电频率,增益失配表现为两倍电频率,死区时间表现为六倍电频率。这就是为什么故障诊断应当从 FFT 分析开始,而不是盲目进行补偿。

放置传感器的三个位置

器件观测信号失效条件
相线串联(Inline)(串联于电机相线)2–3 个隔离传感器始终为相电流— (成本是约束条件)
下桥臂分流电阻2–3 个分流电阻,以地为参考下桥臂导通期间的相电流占空比接近 1
单分流电阻(直流母线)1 个分流电阻每个有效矢量期间一相电流低调制比,以及每个扇区边界

这一排列顺序构成了一个成本阶梯,每往下一级,都能通过引入一个新的盲区来换取器件成本的节省。这里并不是说哪一种方案才是正确的——而是指明每种方案各自的代价。

下桥臂分流电阻:测量窗口为 1 − 占空比

下桥臂分流电阻位于下桥臂开关器件的源极与负母线之间。它仅在该器件导通时流过相电流;对于中心对齐的 PWM 而言,这段导通时间占周期的比例为 ,且是跨越周期边界的一段连续区间。

这就是为什么下桥臂电流采样会在计数器重装载时触发 ADC,而不是在周期中心触发:周期边界正是测量窗口的正中间,因此也是距离两侧开关沿最远的点。

在试验台上 这正是SVPWM 页面中相关论述的另一半。对称的 V0→V1→V2→V7→V2→V1→V0 序列使电流纹波的质心同时精确地落在周期中点与周期边界上,因此在这两个时刻中的任意一个进行单次采样,无需滤波即可获得真实的平均值。一旦打破这种对称性——例如采用不连续调制——这一保证便随之失效。

随着占空比升高,采样窗口会逐渐变窄。若在 20 kHz 下需要 1.5 µs 的采样窗口(即周期的 3.0%),则最大可用占空比为 97%。一旦超过该值,占空比最高的那一相便无法正常采样。

这种情况尚可应对,因为始终只需要两相电流:第三相可由 推算得出。只有当两相同时无法采样时,驱动器才会失效。将参考矢量扫过完整的一周:

调制指数最坏情况下可测量的相数
0.20 – 0.903 相(共 3 相)
0.952 相(共 3 相)
1.002 相(共 3 相)

因此,在这台电机上,下桥臂电流采样在整个线性调制范围内都能正常工作,虽然在接近调制上限时会失去冗余度,但始终不会丧失功能。一旦进入过调制区,这一裕量便不复存在。

单分流电阻:一次测量一相

直流母线上的单个分流电阻测量的是桥臂所汲取的电流,即那些上桥臂导通相的电流之和。分析各开关状态后,会得到一个有用的结果:

每个有效电压矢量仅反映一条相电流;两个零矢量则不反映任何相电流。因此,只需一个传感器,在周期内不同时刻采样两次,即可获得两条不同的相电流,第三条相电流则可通过电流之和求得。

仅需一个传感器即可,且无需隔离。难点在于两个有效矢量必须持续足够长的时间以便采样。

工作点
硬件
一个 PWM 周期。上图:各相的下桥臂导通窗口,括号标出了 ADC 所需的最小采样时间——未能达到括号宽度的条形表示该相无法测量。下图:直流母线分流电阻所看到的电流波形,每个有效矢量均标明了“可用”或“过短”。

将调制指数向下拖动,并观察下方的面板。有两个区域会使单分流电阻检测失效,且这些失效是结构性的,无法通过提高 ADC 采样速率来解决:

低调制区。 在六边形中心附近,两个有效矢量的作用时间都很短,因此两个采样窗口都无法使用。在调制指数为 0.1 时,驱动器在整个电周期的 100% 时间内都处于盲区。

扇区边界。 当参考矢量与某个有效矢量重合时,另一个有效矢量的作用时间会降为零。无论驱动器输出多大功率,这种情况每转都会发生六次。

调制指数每转处于盲区的比例
0.10100%
0.3038.5%
0.5022.8%
0.7016.5%
0.9012.8%

即使在调制比为90%时,单分流电阻驱动也无法在每个电周期的八分之一时间内进行测量。量产驱动通过故意扭曲PWM来弥补这一缺陷——调整脉冲序列以延长短矢量,或插入最小脉宽——从而恢复测量能力,但代价是电流纹波和声学噪声。没有任何版本能做到完全无代价。

从谐波中读取误差

传感器的缺陷即使经过校准仍会残留,且两类缺陷具有不同的特征。识别这些特征,便可将示波器波形转化为诊断依据。

直流偏置(Offset) 在静止坐标系中是一个常数。将其变换到转子坐标系后,它会随之旋转,表现为频率等于电频率的纹波——即一次谐波。由于它是加性误差,因此不会随负载减小而减弱;在轻载时尤为凸显,这也是为什么空载运行不稳的驱动器通常存在零点偏移问题。

对于双分流电阻驱动器,有一个值得记住的精确结论:仅在 相上存在偏置 时,所产生的 dq 轴误差为

因为双输入 Clarke 变换会将 映射到 α 轴,并将 映射到 β 轴。0.5 A 的偏置会变成 0.577 A 的 dq 轴纹波——传感器误差不仅没有衰减,反而被放大了。

增益失配(Gain mismatch) 会使某一相的缩放比例与其他相不同,从而引入负序分量。在转子坐标系中,该分量表现为两倍电频率的纹波。由于它是乘性误差,因此会随负载增大而增大,且在静止状态下不可见。在 8 A 电流下, 相上 5% 的增益误差会产生 0.43 A 的 峰值误差。

在试验台上 三种纹波频率,三种不同的故障:

  • 1 倍电频率 —— 传感器零点偏置。
  • 2 倍电频率 —— 传感器增益失配。
  • 6 倍电频率 —— 逆变器死区时间,完全不是传感环节的问题。

在做任何改动之前先进行FFT分析。这三种问题的解决方法完全不同,一旦确定了是哪一种,处理起来都很简单。

双分流传感无法察觉的盲区

双分流驱动通过另外两相推导出 。这意味着第三路传感器的误差是不可见的——实际上并不存在第三路传感器。这也意味着,如果两个被测相位存在相同的 共模 偏移量,则完全无法检测到该偏移,因为重构过程会假设电流之和为零,并强制使电流之和为零。

该偏移不会消失。它以直流误差的形式出现在α和β轴上,并在后续环节表现为一次谐波的转矩脉动。只有采用三分流电阻的驱动方案,才能测量零序之和,并发现其并非零值。

在试验台上 将三相桥保持在零矢量状态(即三个下桥臂全部导通、电机中无电流)来校准零点偏置,并在多个 PWM 周期上求平均。务必在工作温度下执行校准并定期重复:分流放大器的偏置会随温度漂移,上电时测得的校准值在二十分钟后便已失准。

在代码中

/* Low-side shunts: the ADC triggers at the counter reload, which sits in the
 * middle of the low-side conduction window. */
void adc_isr(void)
{
    const float ia = (adc_a - offset_a) * gain_a;
    const float ib = (adc_b - offset_b) * gain_b;

    /* The third phase is inferred, not measured. Any common-mode offset in
     * the two measurements is silently absorbed here. */
    const float ic = -(ia + ib);

    foc_step(ia, ib, ic);
}

关键在于触发顺序,而非计算过程:ADC的启动必须在硬件层面与定时器同步,而不是由软件调度。如果采样晚了微秒级,就会落在开关沿上,此时引入的噪声远大于被测电流本身。

要点回顾

  • 分流电阻仅在部分时间内导通。哪些电流可被观测,以及观测持续时间,取决于调制方式——因此,电流检测与调制是一个设计问题,而非两个独立问题。
  • 下桥臂采样窗口宽度为 ,且以周期边界为中心。应在此处进行采样。在 20 kHz 下使用 1.5 µs 的 ADC 时,占空比上限为 97%。
  • 只需测量两相电流即可。下桥臂采样在整个线性调制范围内始终能保证至少两相可测。
  • 单分流电阻在每个有效矢量期间只能检测一相,在低调制深度及每个扇区边界处会失去检测能力——即使在90%调制下,也有12.8%的电角度无法检测。要解决这一问题,就必须对PWM波形进行畸变处理。
  • 零点偏置会产生 1 倍电频率纹波,并按 的比例放大至 dq 坐标系;增益失配会产生 2 倍频纹波;死区时间会产生 6 倍频纹波。务必先识别原因,再进行校正。
  • 双分流电阻采样在结构上无法感知共模偏置。

接下来:将这一切联系起来的时序——PWM 计数器、ADC 触发以及控制 ISR 的实际时序安排,以及由此产生的延迟对闭环的影响。