使用角度传感器集成电路的线性位置感测

使用角度传感器集成电路的线性位置感测

下载PDF版

作者:亚历克斯·莱瑟姆与韦德接吻,
亚博棋牌游戏快板微系统公司有限责任公司

摘要

本应用说明介绍了使用角度传感器IC进行线性位置感测的设计过程,包括磁铁选择和朝向,输出线性化,以及使用传感器IC阵列扩大测量范围。它还提供了一些磁铁和感测长度的试验数据,以显示这些解决方案的理论精度和实际精度的匹配程度。

介绍

通常,使用一个条形磁铁和磁传感器集成电路或传感器IC阵列就能进行精确,低成本和非接触的线性位置感测。将磁铁固定在移动物体上,安放传感器时,确保磁铁能正常滑动。图 1 显示了典型配置和磁场。当磁铁沿x轴方向滑动时,y轴方向的磁场看起来就像正弦波,同时磁场与磁铁位置围绕x= 0 进行线性化。

图 1

图 1:条形磁铁在不同气隙下的磁场与位置对比。所有图中的磁铁长度均按比例绘制。

这种线性位置感测方法面临几个难点,包括:

  1. 传感器集成电路和磁铁之间的气隙会导致测量误差。
  2. 磁场强度随温度变化会导致测量误差。
  3. 与位置成线性关系的磁场测量范围限定为磁铁长度的约 50%,所以需要使用比测量行程更长的磁铁。

通过测量磁场与磁铁位置的角度能解决这三个问题。

  1. 就应用中所见的典型差异时的气隙而言,磁场角度与磁铁位置的对比几乎相同。图 2显示了角度与位置的对比几乎是恒定不变的,虽然随着气隙误差的增大,还是出现了一些变化。
  2. 磁场角度与磁场强度无关。
  3. 在大部分磁铁长度内,与磁铁位置相比的磁场角度呈线性,通过线性化,可以感测 150% 的行程长度或更多磁铁长度。图 3 显示了在测量经过位置(y轴方向的磁场)和测量磁场角度时,对标称气隙进行线性化后,随气隙变化的误差与位置对比。采用经过测量法时,只能以0.5毫米(气隙误差±0.5毫米)的精度为所示16毫米磁铁感测10毫米行程。而使用角度测量法时,在相同的物理配置下,能以±0.5毫米的精度感测30毫米以上的行程,线性感测范围扩大了3倍。
  4. 快板A1335磁性角度传感器IC非常适合采用上述角度测量法的线性位置感测,因为它提供了精确角度测量之外的高级功能,如:

    • 角度测量的分段线性化:这能补偿磁铁末端附近的角度与位置对比曲线的非线性,从而使线性感测区域扩大到磁铁边缘以外。它还允许将角度输出与位置对比的斜率调整至所需的数值。
    • 我可编址2C / SPI /发送:确保在相同的总线上以阵列形式固定多个IC。
    • 角度输出钳位:此功能对使用多个IC的系统很有用,因为钳位能帮助单片机识别超出范围的传感器IC和用于确定位置的传感器集成电路。

图 2

图 2:条形磁铁在不同气隙下的磁场角度与位置对比。

图 3

图 3:标称气隙线性化之后,进行位置测量与角度测量时的误差与位置对比。

系统基本配置

A1335采用TSSOP-14封装(对于需要冗余的系统,可采用双晶片TSSOP-24),并能沿封装平面测量磁场角度。也就是说,在线性位置感测时,IC的朝向应与磁铁移动方向垂直,如图4所示。有效气隙是磁场感测阵列(圆形垂直霍尔传感器(CVH)的中心与磁铁边缘的距离。A1335中的CVH不在中心,所以它能用于按需要增大或减小系统内的气隙。

图 4

图4:使用A1335的系统配置

设计能进行线性感测的磁系统

必须根据要测量的行程长度,选择适用的磁铁尺寸和标称气隙,以构建一种精度符合要求的系统。通常,设计系统时必须确保:

  1. 磁场角度与位置成线性关系。
  2. 与系统的气隙公差相比,磁场角度足够恒定。
  3. 磁场强度大于CVH传感器集成电路所需的最小强度,即300高斯左右。

虽然要兼顾多种平衡,但能满足特定应用要求的磁系统有许多种,磁系统中的每个变量都会影响测量精度,这样就能快速调节,以提高系统性能,降低成本。

  • 磁铁长度 (l):根据经验,磁铁长度至少应为行程长度的 60% 。离磁铁边缘越远,随气隙变化的线性度和精度就越小,因此,在行程长度固定时,磁铁越长,误差越小。
  • 标称气隙 (d):选择气隙时,应使角度与位置成线性关系。如果气隙太小,特别是在较长的磁铁上,x轴和y轴磁场会变成非正弦(图 5),而且随气隙变化的角度和位置不会成线性关系,也无法保持一致(图 6)。通常,气隙范围在l/ 3 -l/2 之间就能正常工作。
  • 磁铁直径 (D):通常,磁铁的直径越大,磁场越强。对于建议使用的钕磁铁来说,要保证正常工作,通常应使磁铁的直径略等于或小于气隙。铁氧磁体更便宜;但它们的磁力减弱 4 倍,所以要达到相同的磁场强度,需要使用更大的磁铁。

总而言之,当行程长度l年代固定时,合理设计的第一步应该是:

ll年代×0.65

dD= 0.4×l

从那里开始,可增大或减小这些参数,以满足具体应用的要求。

要确定系统是否满足设计目标的要求,需要为磁场建模。虽然使用先进的三维磁场建模软件能产生最精确的结果,但在多数情况下,这没有必要的。使用网上能下载的免费2 d模拟软件就能准确地为磁场建模。另外,如果使用圆柱形磁体,还能很容易地计算磁场,“附录”中提供了可完成此操作的MATLAB函数。尺寸相似的条形磁铁会产生几乎相同的磁场。图 7显示了使用这些等式的圆柱形磁体的理论角度和气隙的对比,以及使用 A1335 时的试验结果:它们十分匹配。

图 5

图5:在不同气隙下,D = 3/8 L = 5/8“磁铁的磁场与位置对比

图 6

图6:在不同气隙下,D = 3/8 L = 5/8“磁铁的磁场角度与位置对比

图 7

图 7:磁场角度与位置的理论值和测量值的对比

线性化/校准方法

根据系统的需求,可使用不同的线性化或校准方法。本文将为您介绍使用快板A1335示例编程器对A1335的位置输出进行线性化的方法。此方法适用于每种系统,利用一种系统产生的结果,然后将找到的系数用于其他系统,确保以更少的影响,获得类似的性能,以测试生产时间。

图7.5

  1. 启动编程器:连接A1335和ASEK20,再连接ASEK20和您的电脑。启动示例编程器软件,为A1335通电。参阅“快板A1335示例编程器用户手册”,了解关于编程器使用的详细说明。
  2. 前往“长行程”选项卡:编程器的“长行程”选项卡能确保自动使用A1335的分段线性化功能进行位置线性化。它还有助于改善只能在原位上进行角度测量的现实。
  3. 确定行程范围和代码/毫米:使用此方法进行线性化的完整行程范围是从代码 256 到代码 3840,要避免会出现翻转的零位,所以完整的行程需符合此范围的要求。也就是说,代码/毫米值Cpmm应为:
    等式 4-1
    例如,假如行程长度是25毫米,Cpmm应为143.36代码/毫米或更小,这样需要将数值四舍五入成整数值或128年,以简化微控制器将代码转换为毫米时的计算过程。在示例编程器中,如果”行程范围”的输入值是25日,可单击”计算毫米/步数和代码/毫米”按钮,屏幕会显示Cpmm值。然后可将此数值四舍五入为所需的数值;接下来,单击”计算范围与毫米/步数”按钮。这样能根据新的Cpmm数值重新计算“行程范围”。例如,假如Cpmm四舍五入为128,“行程范围”现在应为28毫米,这样就能为所需的25毫米测量范围提供合理的余量。
  4. 确定毫米/线性化步数:分段线性化点的间距是 256 个代码,所以要确定每个线性化点之间的移动毫米数。
    等式 4-2
    就以上实例而言,毫米步数应大于1.79毫米,由于Cpmm接近 128,所以毫米步数是2毫米。示例编程器中会显示此数值,计算结果将在数据输入表中显示为每个线性化点之间的毫米差异。
  5. X= 0 开始线性化测量:填写测量表。通常,在每个“距离”,测量传感器的原始输出。线性化之后,“距离”和“预期”代码列描述线性传递函数。在位置X= 0开始(磁铁位于CVH传感器的中心),确保”距离”= 0行突出显示,然后单击“读取数值”按钮。“已测量”列会填写传感器读数,突出显示的行会下移。
  6. 继续线性化测量:按毫米步数继续前移,将传感器输出读入表中的正确行。操作过程如下:
    1. N= 1
    2. 移至位置XN毫米步数
    3. 确保行XN毫米步数突出显示。在测量过程中,每次读取数值后,软件都会增加/减少行。
    4. 单击“读取数值”按钮,从A1335中读取数值,然后将测量值填入突出显示的行。
    5. 重复b - d的步骤,每次增加N直至N= 7。
    6. 重复b - d的步骤,只是现在N要从1 - 7所示。
  7. 计算并应用系数:单击”计算和器件编程”按钮。这将计算偏移和线性化的正确数值,并利用它们对器件进行编程。
  8. 检查性能:单击“开始测试”按钮,连续读出传感器的位置。然后移开磁铁,并检查传感器的读数。

图 8 显示了线性化传感器输出的实例。其中,每个线性化点的位置改变了2毫米,毫米步数= 2。也就是说,Cpmm= 256/2 = 128 代码/毫米,即线性化后传感器输出的斜率,如图 8 所示。同样,在位置X= 0,传感器输出 2048。

图 8

图8:A1335随气隙变化的线性化输出(磁铁1)。

多个磁铁和行程长度的试验结果

以下是三种不同磁铁在不同行程长度时的线性化结果。下表列出了使用的每种磁铁的关键值(所有磁铁均为钕磁铁):

磁铁 行程长度 毫米步数
直径 长度
1 6.4毫米 15.9毫米 25毫米 2毫米
2 9.5毫米 19毫米 30毫米 3毫米
3. 12.7毫米 38.1毫米 50毫米 4毫米

以下每种磁铁的示意图显示了输出角度与位置的对比,以及不同气隙条件下,测量位置误差与实际位置的对比。误差取决于理想传感器输出,即:

等式 5-1

重新整理后显示如何将A1335的传感器输出转换为X位置。

等式 5-2

误差即为实际X位置和传感器IC输出的计算X位置之间的差异。图 9显示了磁铁 1 的这种误差。

图 9

图 9:随气隙变化的测量误差与位置对比(磁铁 1)。

图 10

图10:A1335随气隙变化的线性化输出(磁铁2)。

图 11

图 11:随气隙变化的测量误差与位置对比(磁铁 2)。

图 12

图12:A1335随气隙变化的线性化输出(磁铁3)。

图 13

图 13:随气隙变化的测量误差与位置对比(磁铁 3)。

随温度和分辨率变化的精度

使用角度测量法感测线性位置的一个主要优势是,它能随气隙和温度的变化,提供非常精确的结果。前面的内容主要讨论了随气隙变化的精度。随温度变化的精度主要取决于所用传感器的角度精确度。

A1335随温度变化的精度约为±1.3度;但必须在系统内将它转换为毫米。由于角度误差与非线性化角度输出有关,所以必须考虑扫掠的原始角,在整个行程内约为 180 度。如图 2 所示。然后可按下列公式计算位置测量的误差:

等式 6-1

对于25毫米行程,l年代= 25,随温度变化的误差是±0.18毫米。使用基本相同的方法可计算位置分辨率。A1335的角分辨率是0.8度(3σ)。也就是说,25 mm 行程的位置分辨率是 0.8 / 180 ×l年代= 0.11 mm。当然,如果启用了A1335的内部筛选,或求取读数的平均值,还能提高分辨率。

使用多个传感器IC扩大感测范围

通过增大磁铁尺寸(遵照上文要求),或在系统中增加多个传感器集成电路,能扩大感测范围。随着预期行程长度的增加,要解决使用更大磁铁带来的成本和体积问题,必须使用多个传感器。图 14 显示了使用多个传感器的配置。图中使用了3个传感器集成电路,但这可以增加至n个传感器集成电路。

图 14

图14:使用多个A1335角度传感器的系统配置

预期行程长度l年代除以n(图 14 中为 3) 以得出有效行程长度lseff

等式 7-1

然后可使用上述方法,围绕lseff设计磁系统,将n个传感器按lseff的间距,以中心对中心的方式固定。除了让磁铁变小以外,这还能减小随温度变化产生的误差,因为l年代减小了:

等式 7-2

当磁铁通过一个传感器的感测范围时,它会进入下一个传感器的感测范围。使用A1335就能很容易地确定读取位置的传感器集成电路。在定期测量位置的正常运行过程中,如果当前使用的传感器的位置读数在任意方向超过lseff/ 2,应切换至下一个传感器。为避免在两个传感器之间偏向lseff/ 2 右边的位置来回切换,可在切换时增加一些磁滞,等待位置略超过lseff/ 2 后,再进行切换。在启动时,或长时间未读取位置之后,需要在 n 个传感器中确定可读取位置的传感器。这里的难点是,如果 n 很大,有些传感器可能无法获得足够的磁场,因而不能产生有效的输出。此时,可使用 A1335 的弱磁场误差记录器,确定哪一个传感器的输出可以忽略。然后,在能产生有效输出的传感器中,选择角度输出最接近 180 度的传感器作为有源传感器。

总结

总之,与单轴磁传感器集成电路相比,磁性角度传感器IC能发挥更出色的性能。快板的CVH角度传感器集成电路产品系列(如A1335)是此类应用的理想之选。它们能提供先进的功能,如分段线性化(PWL)和可编址的发送我2C或SPI,这些功能不仅扩大了磁铁的有效感测范围,而且简化了系统设计,减少了系统成本。

“附录”:用于计算圆柱形磁铁产生磁场的MATLAB函数

函数(Bz, Br) = cyl_field (B, L,半径,z, r)
% Bz和Br是圆柱形磁铁产生磁场的Z轴方向和径向
%其中B材料的残余电感,L是
%磁铁的长度,半径是是磁铁的半径。
% z是与z轴方向磁铁中心的距离,r
% 是与径向磁铁的距离。
bz = @ (R,φ,z, L, R) R . * (L / 2 z)。/ ((R ^ 2 + (L / 2 z)。^ 2 + R ^ 2 * R * R。* cos(φ)。^(3/2))…
+ r . * (L / 2 + z) / ((r ^ 2 + (L / 2 + z) ^ 2 - 2 ^ 2 + r。* r * r。* cos(φ)。^ (3/2));
br = @ (R,φ,z, L, R) R / 2。*(2。* r2。* R * cos(φ)。/ ((R ^ 2 + (L / 2 z) ^ 2 - 2 ^ 2 + R。* R * R。* cos(φ)。^(3/2))…
+ r / 2。*(2。* r2。* r * cos(φ)。/ ((r ^ 2 + (L / 2 + z) ^ 2 - 2 ^ 2 + r。* r * r。* cos(φ)。^ (3/2));
% 如果一个在磁铁内部,固定磁场计算值
如果(z < = 1.01 L / 2 *) & & (z > - L / 2 * 1.01) & & (abs半径(r) < = * 1.01)
Bz = B / 2;
Br = 0;
其他的
Bz = b / (4 * pi) * integral2 (@ (R,φ)Bz (R,φ,z, L, R), 0,半径,0,2 * pi);
Br = b / (4 * pi) * integral2 (@ (R,φ)Br (R,φ,z, L, R), 0,半径,0,2 * pi);
结束
结束