滑动通过感应长行程应用程序使用快板角度传感器亚博尊贵会员

滑动通过感应长行程应用程序使用快板角度传感器亚博尊贵会员

下载PDF格式

亚历克斯·莱瑟姆和韦德·巴斯辛,
亚博棋牌游戏Allegro MicroSystems, LLC

摘要

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

介绍

精确、低成本和非接触的线性位置传感通常使用条形磁铁和磁传感器IC或传感器IC阵列来实现。磁铁附着在移动的物体上,传感器的位置使磁铁滑动。典型的配置和字段如图1所示。当磁铁滑过x方向,场在y方向看起来像一个正弦波,磁场和位置是线性的x= 0。

图1

图1:多个气隙中磁棒的磁场与位置的关系。磁铁长度是按比例绘制在所有的地块。

这种线性位置传感方法存在一些挑战,包括:

  1. 传感器IC和磁铁之间的气隙变化会导致测量误差。
  2. 磁强度随温度变化会导致测量误差。
  3. 磁场与位置成线性的测量范围被限制在磁铁长度的50%左右,这导致需要比被测量的行程长得多的磁铁。

所有这三个问题都是通过测量磁场与位置的角度来解决的。

  1. 场角对位置几乎是相同的,相对于气隙在典型的方差中看到的应用。图2显示,虽然随着气隙容差的增大,角度与位置的关系几乎是恒定的,但它确实会发生一些变化。
  2. 场角与场强无关。
  3. 磁场角在磁体长度的大部分上与位置呈线性关系,通过线性化,可以感知到磁体长度的150%或更多的行程长度。图3显示了线性化到标称气隙后两种情况下的误差与气隙位置的关系通过(磁场在y方向)和磁场角测量的情况。与通过方法,只有10毫米的行程0.5毫米的精度(±0.5毫米的气隙公差)可以被感应为16毫米磁铁所示。然而,使用角度法,对于相同的物理结构,可以感知超过30 mm的行程,精度为±0.5 mm,基本上是线性传感范围的三倍。
  4. Allegro A1335磁性角度传感器IC非常适合使用上述角度方法进行线性位置传感,因为它提供了精确角度测量之外的高级功能,例如:

    • 角度测量的分段线性化:这允许补偿非线性的角度与位置曲线附近的磁体的两端,延伸线性传感区域超出磁体的边缘。这也允许调整输出角度与位置的斜率到任何想要的值。
    • 可寻址的我2C / SPI /发送:允许数组中的多个ic在同一总线上。
    • 角度输出夹具:此功能对于使用多个ic的系统很有用,因为可以使用夹子来帮助MCU识别哪些传感器ic不在范围内,哪些应该用于确定位置。

图2

图2:多个气隙的条形磁铁的磁场角度与位置。

图3

图3:在标称气隙线性化后,按场和角度感知的误差与位置。

系统基本配置

A1335可用于TSSOP-14封装(或双模TSSOP-24用于需要冗余的系统),并测量磁场与封装平面的角度。这意味着对于线性位置传感,IC需要垂直于磁铁运动方向,如图4所示。有效气隙是磁感应阵列(圆形垂直霍尔传感器)中心到磁体边缘的距离。在A1335中CVH是偏离中心的,因此可以用于根据需要帮助增加或减少系统中的气隙。

图4

图4:使用A1335的系统配置

线性传感磁系统设计

必须为所测量的行程长度选择适当的磁铁尺寸和公称气隙,以创建具有所需精度的系统。系统主要需要这样设计:

  1. 磁角一般与位置成线性关系。
  2. 磁角相对于系统的气隙容差足够恒定。
  3. 磁场强度高于基于CVH的传感器ic所需的最小值,约为300高斯。

虽然这似乎有很多需要平衡的地方,但有各种各样的磁系统适用于特定的应用,磁系统中的每个变量都对精度有特定的影响,可以快速做出调整,以提高性能,降低成本等。

  • 磁体长度(l):根据经验,磁体长度应至少为行程长度的60%。气隙公差上的线性度和精度在磁体的边缘上退化得更远,因此,一般来说,磁体越长,对于给定的行程长度,误差就越低。
  • 标称气隙(d):气隙的选择需要使其角度与位置接近线性。空气间隙非常小,尤其是在较长的磁铁上xy场将变得非正弦(图5),并且角度与位置在气隙公差范围内将不是线性的或一致的(图6)。通常,气隙在l/ 3l/2很好。
  • 磁体直径(D):一般来说,磁铁的直径越大,磁场就越强。使直径大致等于或略小于气隙通常工作良好的钕磁铁,这是推荐的。铁氧体磁铁更便宜;然而,由于它们的强度约为原来的四分之一,因此需要使用更大的磁铁才能达到相同的磁场水平。

总的来说,对于给定的冲程长度,l年代,一个合理的设计开始是:

ll年代×0.65

dD= 0.4 ×l

在此基础上,可以增加或减少这些参数以满足应用程序的目标。

为了确定系统是否能达到设计目标,需要对磁场进行建模。虽然使用先进的三维磁建模软件将产生最准确的结果,但在大多数情况下这是不必要的。使用免费的在线2D仿真软件,可以对油田进行足够精确的建模。另外,在使用圆柱形磁铁的情况下,磁场可以相当容易地计算,附录中提供了一个MATLAB函数。大小相似的条形磁铁会产生几乎相同的磁场。图7显示了使用这些方程的圆柱形磁铁的理论角度与气隙的关系,以及使用A1335的实验结果-两者匹配得很好。

图5

图5:D = 3/8″,L = 5/8″磁铁在不同气隙处的磁场与位置

图6

图6:D = 3/8″,L = 5/8″在不同气隙的磁铁的磁角与位置

图7

图7:磁场角度与位置,理论和测量

线性化/校准方法

根据系统的需要,可以使用不同的线性化或校准方法。在这里,描述了使用Allegro A1335 Samples Programmer线性化A1335输出与位置的方法。该方法可以应用于每个系统,也可以使用一个系统的结果,并将发现的系数应用于所有其他系统,以获得类似的性能,同时对生产中的测试时间影响较小。

图7.5

  1. 启动程序:将A1335连接到ASEK20,并将ASEK20连接到您的计算机。启动Samples Programmer软件并打开A1335。请参阅Allegro A1335样例程序员用户手册,以获得更多关于如何开始编程的详细信息。
  2. 转到“长描边”选项卡:程序员的“长描边”选项卡有助于自动化使用A1335上可用的分段线性化线性位置应用程序的过程。亚博尊贵会员它还有助于掩盖角度测量正在处理的事实,并且只在位置上工作。
  3. 确定行程范围和代码/mm:使用这种方法进行线性化的完整范围是从代码256到代码3840,避免了发生翻转的零点附近的范围,因此整个行程需要适合这个范围。这意味着代码/毫米值,Cpmm,应该是:
    公式4 - 1
    例如,如果行程长度为25毫米,Cpmm应该是143.36码/毫米或更少,所以这个值可以四舍五入为一个整数值,或者可能是128,以简化微控制器中从码到毫米的转换。如果在样例编程器中“行程范围”输入为25,然后单击“计算毫米/步长和代码/毫米”按钮,则Cpmm值将显示出来。然后这个值可以四舍五入到所需的数字;在这之后,点击“计算范围和毫米/步长”按钮。这将重新计算“范围的旅行”基于新的Cpmm价值。例如,如果Cpmm如果四舍五入到128,那么“行程范围”现在将是28毫米,这就在期望的25毫米测量范围附近提供了合理的裕度。
  4. 确定每个线性化步骤的毫米:分段线性化点是每256个代码,所以确定在每个线性化点之间移动多少毫米。
    公式4 - 2
    对于上面考虑的例子,mmstep应该大于1.79 mm,并且由于Cpmm被选为128,毫米一步是2毫米。这个值显示在Samples Programmer中,结果在数据输入表中显示为每个线性化点之间的毫米差。
  5. 开始线性化测量X= 0:填写测量表。本质上,在每个“距离”处,测量传感器的原始输出。线性化后,线性传递函数由“距离”和“期望”代码列描述。从位置开始X= 0(磁体位于CVH传感器中心),确保“距离”= 0行高亮显示,单击“读取值”按钮。然后,传感器读数将填充“Measured”列,突出显示的行将向下移动。
  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码/mm,这是线性化后传感器输出的斜率,如图8所示。还有at positionX= 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位置与计算X位置从传感器IC输出。对于磁体1,此误差如图9所示。

图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 mm。位置分辨率可以用基本上相同的方法计算。A1335的角度分辨率为0.8度(3西格玛)。这意味着25毫米行程的位置分辨率将是0.8 / 180 ×l年代= 0.11毫米。当然,如果启用A1335的内部过滤或平均读数的数量,这个分辨率将得到提高。

使用多个传感器ic扩展传感范围

扩展传感范围可以通过增加磁铁尺寸,遵循上述指导方针,或通过在系统中添加更多的传感器ic来实现。随着所需的行程长度越来越大,更大磁铁的成本和尺寸将推动解决方案使用多个传感器。使用多个传感器的配置如图14所示。这里使用了三个传感器ic,但这可以扩展到n传感器集成电路。

图14

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

期望的行程长度,l年代,除以n(图14为3)为了有一个有效的行程长度,lseff的:

方程7 - 1

然后围绕磁系统进行设计lseff,使用上述方法,以及n传感器之间有间隔lseff,彼此远离,中心到中心。除了使磁体更小,这也导致较低的误差随温度,如l年代降低:

方程7 - 2

当磁铁超过一个传感器的范围时,它就进入下一个传感器的范围。使用A1335,确定从哪个传感器IC读取位置相当简单。在定期测量位置的正常操作期间,如果当前使用的传感器的位置读数超出lseff/ 2在任何方向,切换到下一个传感器over。避免在两个传感器之间来回切换lseff/ 2,可以在这个切换中加入一些迟滞,等待位置稍微超出lseff/ 2,然后切换。在启动时,或在长时间不读取位置后,可能需要确定使用n个传感器中的哪一个来读取位置。这里的挑战是,如果n很大,一些传感器可能没有足够的电场来给出有效的输出。在这里,A1335的低场误差寄存器可用于确定忽略哪些传感器输出。那么,在给出有效输出的传感器中,应选择输出角度最接近180度的传感器作为有源传感器。

结论

总体而言,磁角度传感器ic在线性位置传感方面的表现明显优于单轴磁传感器ic。基于cvh的角度传感器ic(如A1335)的Allegro系列非常适合这些应用,提供了高级功能,如分段线性(PWL)线性化和可寻址SENT, I亚博尊贵会员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);
结束
结束