单霍尔传感器低功耗断电前应先避开迟滞临界区

1. 概述

单向电机可以用数字霍尔开关计数。磁铁每转一圈经过霍尔一次,输出完成一次激活和释放,产生两个边沿;固件把这一对边沿记为一个计数脉冲。

现有方案需要在电机停稳后切断霍尔电源以降低功耗。本文默认断电期间电机不动。重新上电后,霍尔会丢掉断电前的内部状态,按上电瞬间的磁场重新判决。单霍尔一圈只有一个计数脉冲,计数值无法说明停靠点落在进入临界区还是离开临界区。前后输出一致,也不能证明已经离开临界区。必须关断霍尔电源时,应先让停靠点以较大概率离开这两个临界区。

2. 迟滞区

数字霍尔传感器的动作阈值、释放阈值与迟滞区

单霍尔传感器的稳定区、临界区与磁铁停靠位置

某款数字霍尔开关的数据手册磁特性参数示例

数字霍尔开关有两个阈值:Bop 进入激活,Brp 退出激活。沿磁铁路径,它们对应两个临界区:

中间是稳定激活区,外侧是稳定释放区。迟滞防止边界附近反复跳变,也留下状态记忆。断电会清掉这份记忆。上电后若停在任一临界区,器件重新判决;单霍尔读不出停在进入侧还是离开侧。前后输出一致,也不能证明已经离开临界区。

电机转一圈产生两个边沿,并合成为一个计数脉冲,计数位置精度是 1 圈。两个临界区分别位于一次电平周期的两处边界;区分它们需要知道磁铁处于一圈中的哪半段,相当于至少 0.5 圈的相位分辨率。仅凭整圈计数值无法确定停靠点靠近哪一处临界区。

现有磁路和转速约束已经确定使用数字霍尔开关。器件型号及选型参数不展开,下文只讨论霍尔断电后丢失迟滞状态造成的计数偏差。

迟滞区临界情况分析

符号约定

本节只分析停靠点处于临界区时,霍尔断电再上电产生的状态重判。上下电期间的电源暂态和假脉冲已由固件单独排除,不进入以下边沿计数。

屏蔽中断时直接计数

霍尔低功耗断电期间屏蔽边沿中断,重新上电并等待输出稳定后再恢复计数。一次完整旋转正常产生 2 个边沿,并合成为 1 个计数脉冲。停靠点处于临界区时,实际结果可能是 1 个、2 个或 3 个边沿。

霍尔断电时电机位置不变,重新上电后再继续旋转。按临界区位置、断电前电平和上电稳定后电平枚举,共有 8 种情况:

临界区 断电前电平 上电后电平 分类
进入临界区 0 0 安全
进入临界区 1 1 安全
进入临界区 0 1 危险
进入临界区 1 0 危险
离开临界区 0 0 安全
离开临界区 1 1 安全
离开临界区 0 1 危险
离开临界区 1 0 危险

断电前后电平不变的 4 种情况不会改变边沿序列。电平发生变化的另外 4 种情况分成两类:

两类错误方向相反。在两个临界区和两种重判方向等概率的理想条件下,长期平均值可能互相抵消;单次停机或单台设备的计数不能依赖这种抵消。

丢失一个边沿

多计一个边沿的情况

不屏蔽中断时的计数偏差

不屏蔽边沿中断后,原本在断电重判期间被屏蔽的边沿也会进入计数。丢失边沿的场景因此恢复为预期 2 个边沿、实际 2 个边沿。

多计边沿的场景会从 3 个增加到 4 个。正常旋转产生一次激活和一次释放,共 2 个边沿;临界区重新判决又产生一个边沿,继续旋转到稳定区时还会产生一个恢复边沿。中断全程开启后,这两个额外边沿都会被计入,所以结果是预期 2 个、实际 4 个。

如果霍尔低功耗断电时不屏蔽边沿中断

严格边沿配对的欠计数

严格边沿配对同时检查边沿方向、先后顺序和时间间隔。收到第一个预期边沿后,软件进入等待状态;只有相反方向的第二个边沿在有效时间窗口内到达,才组成一对并形成一个计数脉冲。等待超时后,未完成的配对被清除,避免拿下一圈的边沿补配当前边沿。

严格边沿配对可以过滤多计边沿的情况,使预期 2 个边沿、实际 2 个边沿;但丢失一个边沿时,剩余边沿无法组成完整配对,整组边沿都会被舍弃,预期 2 个边沿、实际 0 个边沿。

边沿奇偶校验只能标记奇数边沿,无法恢复已经丢失的边沿。若把奇偶校验作为计数有效性的门槛,奇数边沿会被整组舍弃,结果等同于严格配对;若临界区额外产生一对边沿,实际边沿数为 4,简单奇偶校验也无法识别。

如果严格边沿配对

结论

三种策略的代价如下:

策略 丢失边沿场景的实际边沿数 多计边沿场景的实际边沿数
屏蔽中断,直接计数 1 3
不屏蔽中断 2 4
严格边沿配对 0 2

正常的一圈为 2 个边沿、1 个计数脉冲。在这组临界区枚举下,屏蔽中断后直接计数的单次误差为 ±1 个边沿;不屏蔽中断可能多出完整的一对边沿,严格配对可能丢掉完整的一个计数脉冲。因此,必须在单霍尔断电的前提下继续计数时,屏蔽中断并直接计数的代价相对可控,但它仍然不能消除临界区带来的不确定性。

3. 实验现象

用示波器同时监测霍尔供电(绿色,外部手动通断)与霍尔输出(黄色)。把磁铁分别停在触发位、非触发位与临界区,观察两块样品反复上电、下电时的输出。

位置 样品 A 样品 B
触发位 样品A 触发位 上电-下电 样品B 触发位 上电-下电
非触发位 样品A 非触发位 上电-下电 样品B 非触发位 上电-下电
临界区 样品A 临界区 反复上电 样品B 临界区 反复上电

对应现象如下:

位置 样品 A 样品 B
触发位 上电先出现假尖峰,随后稳定到激活;下电时电源不可靠处有一个小陡坡 上电先出现约 150 ms 的释放台阶,随后才落到正确的激活;下电处有上升小陡坡
非触发位 上电稳定到释放;下电瞬间悬崖跳到激活,接着电源不可靠处有向上小陡坡 上电先出现假尖峰,随后约 150 ms 误入激活,再跳回释放;下电缓慢下降,电源不可靠处出现大量尖刺假脉冲
临界区 反复上电,输出每次可能不同 反复上电,输出每次可能不同 (样品B的截图没截好,看不出来,参考样品A的图)

实验给出两点。第一,上电后过早打开中断会把启动尖峰和暂态台阶计进去;正确顺序是先给霍尔供电,等待输出稳定,清除旧中断标志,最后再恢复计数。第二,稳定区的最终输出通常可复现,临界区则不然。样品 A 在临界区反复上电时输出可能翻转;样品 B 多数时候前后一致,但这份一致不能证明它已经离开临界区,更不能说明它停在进入侧还是离开侧。霍尔持续供电时,计数通常更稳定,因为器件状态没有被清掉。

4. 解决办法

方案一:出厂标定停靠参数

这是概率缓解,无法保证形式正确。单霍尔给不出 0.5 圈的位置,所以不去解“现在停在哪个临界区”。每台机器出厂时,用惩罚函数学习一组电机停靠参数,让电机自己停下来时,有较大概率落在安全区。

它成立有三个前提:

惩罚函数的核心观测是一次断电再上电的霍尔输出:

对同一台设备反复停机、断电、上电,就能采到一批样本。学到的参数要留 margin,覆盖 Bop / Brp 的温度、批次和老化漂移,以及磁路偏差和电机停点散差;具体余量由实际标定数据确定,不能只靠多次断电样本把翻面概率压低。标定结果随机器保存,后续休眠时按这组参数停机,再关闭霍尔电源。

方案二:双霍尔判别区间

把两个霍尔错开安装。两路输出的组合可以直接给出磁铁所在区间;其中一路接近进入或离开阈值时,另一路仍能提供稳定判断。

双霍尔传感器通过两路电平组合判断磁铁位置区间

5. 结论

单霍尔计数在持续供电时是可靠的。一旦切断霍尔电源,软件就不知道停靠点落在进入临界区还是离开临界区。一个由两边沿组成的整圈计数脉冲分辨不出停在哪一侧;断电前后输出一致,也不能证明已经离开临界区。

必须关闭单个霍尔电源时,出厂标定只能降低停进临界区的概率,并要给 Bop / Brp 留 margin;它缓解计数偏移,并不保证形式正确。需要连续且准确的计数时,应保持霍尔供电,或改用至少两个霍尔传感器。