在
电子工程领域,ADC 过零检测是一个至关重要的技术,特别是在直流无刷电机的无感控制中发挥着关键作用。下面将深入探讨 ADC 过零检测的相关原理和技术细节。
首先,让我们来了解内转子磁极的磁感应强度 B 的分布情况。如下图所示:

在 0° 的时候,处于正反方向交界处,磁感应强度为零。随后,磁感应强度开始线性增加,在 A 点时达到,然后一直保持恒定值不变,直到 B 点开始下降,到 180° 的时候下降到零。接着开始负向增长,在 C 点处达到负值,然后保持恒定负值不变,直到 D 点强度开始减弱,到 0° 时又回到零。需要注意的是,A 点到底在几度的位置,不同的电机不一样。如果 A 非常接近 0° 的位置,上升和下降直线就会非常陡峭,“梯形波” 就变成了 “方波”。
根据右手定则 E = BLV 公式,在匀速转动下,各绕组切割磁场中的磁感线产生的反电动势波形(和 B 的波形一致,因为 L 和 V 都是定值)呈梯形波 / 方波(和磁感应强度波形类似)。

对于直流无刷电机的无感控制策略中,主要可以分为两类:(1)无感方波控制;(2)无感 FOC 控制。这里先以无感方波的控制为例,在无感方波的控制中,反电动势过零点检测的目的是得到换相信号。能够得到换相信号的原理是:过零点的信号与换相信号在相位上相差 30° 电角度,即过零点后延迟 30° 即可进行换相的操作。采集反电动势过零的信号有两种方式:(1)硬件比较器法;(2)软件 ADC 采样法。这两种采集方式的原理都是将检测得到的端电压的值与电机中心点电压进行比较来得到反电动势过零点的信号。
在 AB 相通电时,第三相 C 相会产生一个反电动势(可利用这个第三相的感应电动势来测算转子的位置)。在 AB 相通电期间,如果我们去测量
线圈 CC’上的电压,会发现 CC’上的电压其间有一个从正到负的变化过程。在 AB 相通电期间,不只是线圈 CC’上产生感生电动势,其实 AA’和 BB’也在切割磁力线,也都会产生感生电动势,其电动势方向与外加的 12V
电源相反,所以叫 “反向感生电动势”(BEMF)。其等效电路图见图 1 - 25。
从图中可以看出,线圈绕组 AA’和 BB’上产生的反电动势是很大的,两个加起来几乎略小于 12V,即 VAA’ + VBB’≈12V。因为线圈绕组本身的等效电阻很小(RAA’ = RBB’≈0.1Ω), 如果反电动势不大的话,端电压加载在线圈绕组等效电阻上,会产生巨大的电流,线圈非烧掉不可。例如,假设在额定转速下 AA’和 BB’各产生 5.7V 的反电动势,那么它们串联起来就产生 11.4V 的反电动势,结合图 1 - 25 看,那么加载在等效电阻上的电压就为 12 - 11.4 = 0.6V,终通过绕组 AB 的电流就是 0.6 / (2X0.1) = 3A,看来这个假设还是比较合理的。
同理,由于各绕组的结构是相同的,切割磁力线的速度也是相同的,所以线圈 CC’也应该会产生一个大小约为 5.7V 的感生电动势。不同的是,在 AB 相通电期间,CC’的感生电动势会整个换一个方向,也即所谓的 “过零点”。

由于中点电势值始终为 6V,CC’的线圈产生的感生电动势只能在以中点 6V 电势为基准点的基础上叠加。仍旧假设在额定转速下 CC’上会产生 5.7V 的感生电动势,在 t0 时刻,如果我们去测量 C 点的电压,其值应为 6 + 5.7 = 11.7V;在 t1 时刻,C 点的电压值应为 6 - 5.7 = 0.3V。也就是说,在 AB 相通电期间,只要一直监测电机的 C 引线的电压,一旦发现它低于 6V,就说明转子已转过 30° 到达了 t0 和 t1 中间的位置,只要再等 30° 就可以换相了。
如果电调的
MCU 足够快的话,可以采用连续 AD 采样的方式来测量 C 点电压,不过貌似有点浪费,因为大部分采到的 AD 值都是没用的,我们只关心它什么时候低于 6V。
这时候模拟比较器的作用就来了。一旦 C 相输出电压低于 6V,比较器马上可以感知并在输出端给出一个下降沿。同理,当电机处于 AC 相通电时,监测的是 B 相输出电压;当电机处于 BC 相通电时,监测的是 A 相输出电压。继续往前,当电机开始进入 BA 相通电时,C 相输出电压一开始会处于一个较低的状态(0.3V),过零事件发生时,C 相输出电压会超过 6V,也就是说,这时比较器会感知并输出一个上升沿。CA,CB 相通电情况也类似。

需要注意的是,这是 15V 的比较器,
单片机自带的比较器一般只支持 5V 的比较。上面这个电路图只是为了方便说明问题,在真正的实用中,会对 C 相输出电压和 6V 中点电压再加个分压电路,而且中点电压也不总是等于 6V。