A1332 角度传感器 IC 中的高级片内线性化

A1332 角度传感器 IC 中的高级片内线性化

下载 PDF 版

作者 Alihusain Sirohiwala 与Wade Bussing,
Allegro MicroSystems, LLC

简介

无论是工业自动化和机器人技术,还是电动助力转向和电机位置传感,许多应用都需要监测旋转轴(以轴上或离轴排列形式)的角度。

要设计一种可满足此类应用需求的成功的角度测量系统,必须依照特定客户的要求。这些要求包括:排列(离轴或轴上)、气隙、精度和温度范围等。其中最关键的任务是最大限度减少随温度变化的角度误差、位置偏移和气隙。

这些变量又与系统级的设计选项有关,如磁体几何形状、磁体排列(轴上或离轴)、磁性材料和机械公差。同样,为确保在这些潜在的误差源周围正常工作,同时又不增加系统级设计的复杂性和成本,必须使角度传感器 IC 具有一定的灵活性。即使最好的磁性角度传感器 IC 也要受到其感应的磁场的影响。

磁性角度测量系统有两个主要的误差源:

  • 与传感器 IC 有关的误差:固有非线性、参数温度漂移与噪声。
  • 与磁场输入有关的误差:磁场强度变化和磁场非线性。

角度误差是磁体的实际位置与角度传感器 IC 测量的磁体位置之间的差异。要完成这种测量,需要先读取角度传感器 IC 的输出,然后将其与高分辨率编码器进行对比。

在设计中使用磁体时,磁场输入在整个旋转范围内可能并不均匀:它存在固有误差。这些磁场输入误差会导致系统内的测量误差,当考虑固有磁致误差更高的侧轴或离轴设计时,这尤为重要,参阅图 1。

图 1

图 1:离轴(左图)和轴上(右图)

如果误差主要是由磁场输入导致的,即使校准最精确的角度传感器 IC 也会产生错误的测量结果。在多数情况下,即使是离轴磁场设计,也会受到较大偏移的影响,在生产线上组装客户模块时,常常会出现这种偏移。这些磁致误差源是不可避免的,它们几乎无法消除,而且往往需要付出高昂的代价,才能有效缓解。

对于和角度传感器 IC 有关的误差,制造商会对固有非线性和参数温度漂移进行优化,然后再向客户交付。根据客户应用的要求,可使用片内滤波技术优化噪声性能。

高级线性化

本文件介绍了使用高级线性化技术,解决角度传感器 IC(Allegro A1332)中存在的这种问题,这能补偿在客户的生产线终端产生的此类误差。 它特别说明了,如何通过线性化,将超过 ±20° 的磁场输入误差降至 ±0.3°:

根据目标磁体在角度传感器 IC 周围的单旋转产生的数据可完成这种线性化。使用这种旋转产生的角度读数可生成线性化系数,然后将其存入片内 EEPROM,从而对用于相应磁系统的角度传感器 IC 进行优化。

A1332 角度传感器 IC 中采用了两种不同的线性化技术: 分段线性化 和 谐波线性化

  • 分段线性化是一种可编程功能,它允许调节角度传感器 IC 的转移特性,这样角度传感器 IC 就能将施加磁场矢量角内的线性变化,输出为对应的线性角增量。这是利用磁体在角度传感器 IC 周围的一次旋转产生的数据完成的。
  • 谐波线性化以 15 种修正谐波的形式进行线性化,利用快速傅立叶变换 (FFT) 可确定它们的相位和振幅,根据磁体在角度传感器 IC 周围的一次旋转产生的数据可完成 FFT。  

通过使用 Allegro 提供的软件计算系数,并对片内 EEPROM 进行编程,可使用这种两种技术。  请联系您当地的Allegro 销售代表,获取最新的 DLL、软件 GUI 和编程硬件。

定义

气隙

磁场传感器涉及两种不同的气隙定义:封装气隙和晶体气隙。

封装气隙

封装气隙是传感器壳体的最近边缘与磁体的最近表面/切面之间的距离。

晶体气隙

晶体气隙是传感器壳体内的传感元件与磁体的最近表面之间的距离。

为阐释这种区别,图 2 显示了采用侧轴或离轴配置的 A1332 角度传感器 IC 和磁体的晶体气隙 (4.0 mm) 和封装气隙 (2.386 mm)。

在本文件中,除非另有规定,否则“气隙”一词专指封装气隙。传感元件位于封装顶面下方 0.36 mm。传感元件中心与封装的最近短边之间的距离是 1.614 mm。

图 2

图 2:晶体气隙与封装气隙

角度误差

角度误差是磁体的实际位置与角度传感器 IC 测量的磁体位置之间的差异。要完成这种测量,需要先读取角度传感器 IC 的输出,然后将其与高分辨率编码器进行对比(参阅图 3)。

图 3

图 3:角度误差定义

精度误差

在本文件中,角度误差将随磁场偏移的变化显示。为此,需要为全程旋转引入一个单独的角度误差定义。一次全程旋转的“汇总”角度误差可定义为角精度误差,它是根据下列公式计算的:

精度误差

换言之,它是偏离 0° 和 360° 之间完美直线的偏差振幅。

区分与角度传感器 IC 和磁场输入有关的误差很重要。本文件重点介绍了如何使用 A1332角度传感器 IC 中 的高级功能来补偿与磁场输入有关的误差。

对于和角度传感器 IC 有关的误差, Allegro 会在生产线终端测试点对每个角度传感器 IC 的固有非线性和参数温度漂移(参阅数据表规范查看这些参数)进行优化,然后再向客户交付。根据客户应用的要求,可使用片内滤波技术优化噪声性能(参阅《A1332 编程手册》中的 ORATE 设置)。

磁体

为对比分段线性化和谐波线性化的性能,两种线性化都是在相同磁体上完成的。使用的磁体是 Super Magnets 提供的 N45 钕双极环形磁体。图 4 和图 5 显示了磁体尺寸。

图 4

图 4:磁体 R1 尺寸

图 5

图 5:磁体 R2 尺寸

表 1:离轴(左图)和轴上(右图)
磁体名称 制造商 内径 外径 高度 材料
R1 Super Magnets 7 mm 10 mm 3 mm N45 镀镍
R2 Super Magnets 5 mm 10 mm 5 mm N45 镀镍

平均磁场和气隙依赖性

系统设计的第一步是为应用气隙选择一种适用的磁体。气隙范围通常在 2 - 4 mm 之间。图 5 显示了随磁体 R1 和 R2 的气隙变化的磁场。

在默认情况下,多数 Allegro 角度传感器 IC 已经过预校,所以能在 300 G (30 mT) 条件下发挥最佳性能。对于 A1332,我们也可按要求提供磁场强度自动调节功能,它能通过动态调节内部增益来补偿气隙内的动态变化。但在设计磁场时必须谨慎,确保气隙变化不会使磁场强度过低(信噪比不够)或过强(信号链块饱和)。通常,理想的磁场强度约为 300 G 。

图 6

图 6:使用 A1332 测量的磁体 R1 和 R2 的磁场矢量(水平分量)幅值与气隙
的对比

磁体误差分析

使用校准的 A1332 在理想对齐条件下测量角度时,使用磁体 R1 分析在磁场信号中观测到的固有非线性,如图 7 和图 8 所示。

图 7

图 7:采用侧轴排列的磁体 R2

图 8

图 8:采用离轴排列的磁体 R2(侧视图)

根据在等距角点对角度传感器 IC 输出的一次旋转取样,我们可以总结如图 9 所示的转移特性。

图 9

图 9:目标磁体 R1 的角度输出

利用 FFT 在频域内分析上述角度误差,我们可以总结如图 10 所示的误差和谐波的对比。

图 10

图 10:使用磁体 R1 对角度误差进行频谱分析

图 11 显示了在磁体 R2 上进行的类似分析。

图 11

图 11:使用磁体 R2 对角度误差进行频谱分析

FFT 数据表明,磁体 R1 和 R2 中的大多数固有误差都是二次 谐波产生的,而一次谐波、四次谐波、三次谐波以及高次谐波是产生其他误差的原因。产生此误差的根本原因是径向分量 (Br) 和切向分量 (Bt) 的振幅失配。其相位或角度由角度传感器 IC 测量的磁场矢量可表述为两个正交分量,即 Br 和 Bt,如图 12 所示。

图 12

图 12:磁场的径向分量 (Br) 和切向分量 (Bt)

在理想情况下,这些分量的振幅应相同,相位应垂直。任何与这种理想情况的偏差,都会在角度测量结果中引入误差。在用于侧轴传感的环形磁体中,径向分量和切向分量的振幅失配是磁体设计固有的缺陷,而且它们会随制造商和生成方法的不同而变化。如果是圆柱形磁体,增加角度传感器 IC 和磁体之间的离心率或偏移也会引入径向分量和切向分量的振幅失配。

这些失配会在多谐波中产生误差项。因此,只纠正二次谐波误差项显然不够,特别是在需要高精度性能时。

图 13

图 13:磁体 R1 的径向和切向磁场分量

图 14

图 14:磁体 R2 的径向和切向磁场分量

分段线性化

A1332 分段线性化是一种可编程功能,它允许调节器件的转移特性,这样就能将施加磁场的变化输出为对应的线性增量。

图 15

图 15:使用 R1 未进行和已完成分段线性化的角度输出

图 15 显示了已完成和未进行分段线性化的 A1332 的角度输出。

为实现此目的,必须创建一组初始线性化系数。用户需提取 15 个角度样本:在 0° 和 360° 的全程旋转范围内,按 1/16 的间隔取样。0 参考点由 LIN_OFFSET EEPROM 字段设定。它会成为零误差点,所以不会在系数表内体现。同样,360° 点与 0 参考点相同,所以也不在系数表中体现。在分段边界测量的其余角度位于LIN_COEFF1 ...LIN_COEFF15 EEPROM 字段。下列操作说明介绍了应用这些线性化系数的基本算法。这种方法的样本实现以 Allegro 客户评估软件工具的形式提供。

实现分段线性化的步骤

  1. 收集数据

    如果需要的话,除了分段线性化 (SL)、角度补偿 (AC) 和 IIR 滤波 (FI) 以外,应关闭所有算法处理(CFG_2 中的 FI 和 AC 位元、 词语 6、EEPROM 位元 12+13、SRAM 位元 16+17、SL 位元)。打开分段线性化的旁路位元(SB 位元、词语 6、EEPROM 位元 21、SRAM 位元 25)。该功能可用于获取分段线性化所需的测量值,而不必以其他方式,将线性化表预编程为直线。

    寻找所需的零参考点,从该参考点开始,以 +22.5、+45(以此类推)的形式设置线性分布区段。对于侧轴配置,最好是在误差的峰谷位置选择一个点。在下一步中,需要将角度传感器 IC 在该点的读数输入 LIN_OFFSET 系数。

    沿增大角位置的方向移动编码器。如果传感器的角度输出未相应增大,可设置 LR 位元以反转角度传感器 IC 的反向,或在此校准步骤中,沿反方向转动编码器,在此情况下,当校准结束后,可能需要设置线性化之后的旋转位元 (RO)。参阅《A1332 编程参考》了解更多详情。

    按 22.5° 的步数移动编码器,并读取 15 个角度设定值。该过程将产生 15 个 LIN_COEFF 系数。
     
  2. 编程系数

    在乘以 * (4096/360) 之后,对 LIN_OFFSET 进行编程,并在重新调节后以十六进制 (HEX) 编写。

    在乘以 * (4096/360) 之后,对每个 LIN_OFFSET 进行编程,并在重新调节后以十六进制 (HEX) 编写。
     
  3. 启用线性化

    设置 EEPROM 位元 SB=0,因为不再需要绕过线性化功能,数据收集在第 1 步中已经完成。设置 EEPROM 位元 SL = 1(注意:在第 1 步中就已应设为 1),启用分段线性化。现在,角度传感器 IC 的输出应沿每个区段呈线性分布,并产生正确的角度输出。
     

结果

图 16 以角度误差的形式,阐释了与已知正常编码器的角度参考相比的分段线性化性能。

图 16

图 16:使用 R1 未进行和已完成分段线性化的角度误差

虽然显示准确,但图 16 并不能深度剖析真正的角度误差性能:它只显示了分段线性化后误差最少的传递函数点的角度误差。如果在样本之间以更小的角度步数再次测量相同的器件,我们就会看到如图 17 所示的结果。注意连续线性化点之间的误差“凸角”。这些是意料之中的,因为在每个区段中,实际上是正弦的误差会近似为直线误差。考虑到这种正弦输入误差类型,图 17 显示了通过分段线性化(使用 16 个区段)能取得的最佳性能。在 A1332 中实现的分段线性化只允许进行这种 16 区段线性化。可以想象,通过增加区段数量或使区段长度可变,能提高这种方法的性能,这样就能将更精确的区段用于高曲率区域。但这两种优化方法都会增加处理时间和复杂性。

图 17

图 17:使用 R1 进行高分辨率取样和分段线性化的角度误差

谐波线性化

由磁体 R1 和 R2 的误差分析可以看出,误差本质上是正弦的,也就是说,通过组成相位和振幅适当的谐波能准确描述它们。谐波线性化利用了这种特性,它以 15 种修正谐波的形式进行线性化,利用快速傅立叶变换 (FFT) 可确定它们的相位和振幅,在客户的生产线终端,根据磁体在角度传感器 IC 周围的一次旋转产生的数据可完成 FFT。

图 18

图 18:使用 R1 未进行和已完成谐波线性化的角度输出

谐波线性化功能具有很大的灵活性。单独谐波振幅和相位的数值储存在用于 15 种谐波的 12 位 EEPROM 字段中。

使用 4 位 HAR_MAX EEPROM 字段可指定需要在线性化中应用的谐波数量。此设置可确定计算谐波线性化所需的单独谐波分量(1 - 15)的数量(使用“Adv”字段可确定用于每个分量的谐波)。

2 位字段“Adv”字段可在应用谐波分量的时序对之间设置增量。输入数值 n(0 - 3 之间)表示从前一分量到当前分量已略过的谐波数量。计算方法为 1 + n。例如,第一分量 (0x0C) 最小 (n = 0) 是一次 谐波, 最大 (n = 3) 是 四次 谐波。这会产生累积效应:当所有分量均设置为 n = 3 时,在第 15 分量 (0x1A) 可获得 六十 次谐波。例如,我们使用具有侧轴配置的磁体 R1 对 A1332 进行线性化。

除了支持侧轴应用外,这种线性化方法中融入的灵活性,还有助于在客户的生产线终端消除静态偏移误差。

实现分段线性化的步骤

  1. 收集数据

    如果需要的话,除了温度补偿 和 IIR 滤波以外,应关闭所有算法处理(CFG_2 中的 FI 和 TC 位元、 词语 6、EEPROM 位元 12+13、SRAM 位元 16+17)。

    沿增大角位置的方向移动编码器。如果传感器的角度输出未相应增大,可设置 LR 位元以反转角度传感器 IC 的反向,或在此校准步骤中,沿反方向转动编码器,在此情况下,可能需要设置线性化之后的旋转位元 (RO)。参阅《A1332 编程参考》了解更多详情。

    按编码器的步数移动,使产生的数据为 2 的幂数。通常,32 或 64 个均匀分布的数据点就足够了。
     
  2. 编程系数

    根据测量的数据进行 FFT,然后根据首选的实现,对 HARMONIC_AMPLITUDE、HARMONIC_PHASE、ADV和 HAR_MAX 字段进行编程。您的 Allegro 销售代表可提供这些功能的样本实现。
     
  3. 启用线性化

    设置 EEPROM 位元 HL=1,启用谐波线性化。现在,传感器输出应产生正确的角度输出。
     

结果

图 19 显示了磁体 R1 的谐波线性化性能,其中 HARMAX = 1 - 15(所有 ADV 字段 = 0)。  换言之,这显示了在 一次 谐波和 十五次 谐波之间以增量形式进行谐波修正时的性能。

图 19

图 19:使用 R1 且 HARMAX =(1-15)时,完成谐波线性化的角度误差

图 20 总结了相同的结果,它显示了峰峰值 (pk-pk) 角度误差与应用修正谐波数量的对比。二次 谐波修正后,角度误差的急剧减小在意料之中,因为大部分频谱误差含量都位于二次 谐波中(参阅“分析磁致误差”部分)。

图 20

图 20:使用 R1 时的线性化角度误差与应用谐波数量的对比

为利用谐波线性化深入研究误差性能,特别是在使用更小的角度步数时,可在每次旋转时,采用更精确的步数(更高的分辨率)对相同的器件进行多次重复测量。数据不会显示底层的高误差区。线性化之后的误差是< 0.3°。

图 21

图 21:使用 R1 进行高分辨率取样和谐波线性化的角度误差

分段线性化和谐波线性化技术都非常适合轴上和离轴磁场应用。分段线性化将磁场范围分为若干个更小的部分,然后以分段形式对它们进行线性化,谐波线性化允许对误差信号进行基于正弦的补偿,这有助于消除偏移和侧轴排列中的高谐波误差含量。谐波线性化的性能提升是以延长计算时间为代价的。

图 22 说明了对谐波线性化每次增加的谐波进行角度测量时的附加延迟。例如,根据图 20 中的数据,为达到 <1°,至少需要 7 次修正谐波,这会使处理时间增加 35 μs 的延迟。这意味着每次角度取样都会使处理时间增加 35 μs 的延迟。相反,分段线性化另外还需要 22 μs 的计算数据。因此,对这种特定的磁体而言,提升谐波线性化的误差性能需要再增加 13 μs 的延迟。

附加延迟对许多应用而言并不是一个问题。例如,在典型的电动助力转向系统 (EPS) 的方向盘角度传感器 IC 中,需要每 1 ms 提供一个新的角度值,也就是说,即使进行 15 次谐波线性化,时间也足够了。此外,许多系统都能通过 A1332 的 ORATE 功能获益,所以能利用过采样减少角度测量的噪声基底。这还能为执行线性化功能提供足够的时间,而不会增加延迟,因为额外的平均预算能为线性化运行提供更多的时间。

图 22

图 22:增加的角度延迟与使用的谐波数量的对比

线性化的角度传感器 IC 上的 XYZ 轴偏移的影响

在本节中,我们分析了已针对磁体 R1 和 R2 完成线性化的角度传感器 IC 的性能,然后将偏移误差映射到 X、Y 和 Z 轴中,如图 23 所示。如果同时使用磁体 R1 和 R2,我们分别采用 X 轴(气隙)的的起始位置 = 2.75 mm 和 4 mm,其中 Y、Z 轴 = 0 mm,这样角度传感器 IC 就会处于磁体高度的中间位置。我们将该位置作为笛卡尔原点,并根据表 2 从该参考点开始,映射偏移性能。

表 2:磁体 R1 和 R2 的映射范围与线性化点
磁体 R1 轴 最小值 (mm) 线性化点 (mm) 最大值 (mm)
X(气隙) 2.0 2.75 4.5
Y(横向) -2.0 0.0 2.0
Z(纵向) -2.0 0.0 3.0
磁体 R2 轴 最小值 (mm) 线性化点 (mm) 最大值 (mm)
X(气隙) 4.0 4.0 8.0
Y(横向) -2.0 0.0 2.0
Z(纵向) -2.0 0.0 3.0

图 23

图 23:X、Y 和 Z 映射轴的定义

图 24

图 24:磁体 R1 和 R2 的角度误差和气隙的对比

图 24 显示了磁体 R1 和 R2 的角度误差性能随气隙(X 轴)的变化而变化。

通过研究图 24 中的图表可得到一些分析结果。根据线性化点(红圈所示)的角度误差值,角度传感器 IC 显然能使两个磁体在线性化之后具有非常相似的性能。由此可见,使用这两种磁体能获得相同的性能。但通过研究图 24 中的误差曲线的形状和气隙,我们不难看出,与磁体 R2 (红色轨迹)相比,磁体 R1(黑色轨迹)的误差急剧增加,因为角度传感器 IC 偏离线性化点(红圈)。

例如,使角度传感器 IC 和磁体 R1 之间的气隙增大 1 mm,以及使相同的角度传感器 IC 和磁体 R2 之间的气隙增大 4 mm 会产生相同的性能退化。与磁体 R1(3 mm 厚)相比,要想提高磁体 R2 的气隙性能需要更厚的环形磁体(5 mm 厚)。

通过对比磁体 R1 和 R2 的两个填色绘图,我们能以类似的方式分析横轴和纵轴(Y 和 Z 轴)中的偏移性能,如图 25 和 26 所示。使用实验室测量产生的数据,并映射每个空间点的性能,可生成这些绘图。在两个绘图中,原点 (Y = 0, Z = 0) 位置表示线性化点(与图 24 中的红点相同)的性能。由于角度传感器 IC 偏离此原点,根据显示的图例,在每个点观察到的角度误差会归入彩色“容器”内。图例上的数字表示峰值误差的角度。例如,每个绘图中间的白色区域表示角度误差性能低于 ±1° 的区域。同样,每个绘图中的棕色区域表示角度误差大于 ±7 °的区域。

图 25

图 25:磁体 R1 在气隙 = 2.75 mm 时的偏移性能(纵轴和横轴)

图 26

图 26:磁体 R2 在气隙 = 4 mm 时的偏移性能(纵轴和横轴)

通过观察两个轮廓图,我们不难看出,对于 Y 轴 和 Z 轴中的相同偏移,角度传感器 IC + 磁体 R2 的组合结果能减少角度误差,这与角度传感器 IC + 磁体 R1 形成鲜明对比。例如,在磁体 R1 中,误差小于 ±1° 的白色区域是 0.669 mm2,而磁体 R2 的此类区域是 1.10 mm2。此外,与磁体 R1 相比,使用磁体 R1 时,白色区域明显会纵向“拉长”。由于环形磁体 R2 (5 mm) 的垂直高度大于环形磁体 R1 (3 mm) 的垂直高度,所以这在情理之中。这些轮廓显示了角度误差性能对磁体几何形状的依赖性。

总结

在 A1332 角度传感器 IC 中实现的片内可编程和可定制的线性化,可确保系统设计人员实现上述精度目标,而不会增加系统设计的复杂性和成本。

虽然分段线性化的处理时间更快,但它纠正正弦误差项的能力有限。就此而言,谐波线性化能发挥更好的作用。此外,谐波线性化的灵活性,特别是它能修改所用的修正谐波的数量,可确保用户在计算时间和误差性能之间实现最佳平衡。这样,在进行线性化时,就能将 ±20° 的角度误差控制在 ±0.3° 范围内。

最后,使用映射技术可研究线性化的角度传感器 IC 的机械偏移影响。 可以看出,较高的环形磁体能将更好地耐受垂直偏移,而较厚的环形磁体能更好地耐受气隙变化。

无论系统级设计人员面临何种角度传感应用的挑战,利用 Allegro A1332 中介绍的适用的磁体设计和高级片内线性化的组合,不仅能获得所需的性能,还能最大限度减少复杂性和成本。


最初于 2015 年 6 月在欧洲《EE Times》上发表。