滑动传感器为长行程应用使用Allegro角度传感器亚博尊贵会员

滑动传感器为长行程应用使用Allegro角度传感器亚博尊贵会员

下载PDF版本

作者:Alex Latham和Wade Bussing,
亚博棋牌游戏Allegro Microsystems,LLC

摘要

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

介绍

准确,低成本和非接触线性位置感测通常使用条形磁铁和磁传感器IC或传感器IC阵列来完成。磁铁附接到移动物体,并且传感器定位成使得磁体通过它滑动。所看到的典型配置和字段如图1所示。作为磁铁载玻片X方向,领域y方向看起来像一个正弦波,磁场与位置线性X= 0。

图1

图1:磁场与多个空气间隙的磁场的位置。磁体长度在所有图中绘制到刻度。

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

  1. 传感器IC和磁体之间的气隙变化会导致测量误差。
  2. 磁强度随温度变化会引起测量误差。
  3. 磁场与位置线性的测量范围限制在磁体长度的约约50%,导致需要比测量冲程的磁体的磁体。

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

  1. 在应用中看到的典型方差上,场角与位置相对于气隙几乎是相同的。图2显示,尽管随着气隙公差变大,角度与位置的关系几乎是恒定的。
  2. 场角独立于场强。
  3. 场角是线性与大部分磁体长度上的位置,并且具有线性化,可以感测到150%或更多的行程长度为150%或更多。图3显示了在线性化以为标称气隙的空气间隙上的误差与误差误差经过(磁场y测量方向,测量磁场角的情况。与之经过方法,只有10mm的笔划,精度为0.5毫米(用于±0.5mm气隙公差),所示的16 mm磁体可以感测。然而,通过角度方法,可以感测到具有±0.5mm的±0.5mm精度的行程以上,用于相同的物理配置,基本上是线性传感范围的三倍。
  4. Allegro A1335磁角度传感器IC使用上述角度方法进行线性位置感测,因为它提供了超出精确角度测量的先进特征,例如:

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

图2

图2:磁场角与杆磁体的位置用于多个气隙。

图3.

图3:误差与位置By场和角度传感后线性化在标称气隙。

基本系统配置

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

图4.

图4:使用A1335系统配置

设计用于线性传感的磁系统

必须选择适当的磁铁尺寸和标称气隙,以便测量冲程长度以产生具有所需精度的系统。主要是,系统需要设计:

  1. 磁的角度通常是线性的。
  2. 与系统的气隙公差相比,磁角是足够恒定的。
  3. 磁场强度高于基于CVH的传感器IC所需的最小值,其约为300高斯。

虽然这似乎是平衡的很多,但是有很多磁性系统,它将为特定应用工作,磁系统中的每个变量对准确度具有特定的影响,允许快速调整以提高性能,降低成本等

  • 磁铁长度(L.):作为经验法则,磁体长度应为行程长度的至少60%。空气隙容差的线性和精度越来越远远超过磁体的边缘,因此,磁体的越长,误差越低,给定的笔划长度。
  • 标称气隙(D.):需要选择气隙,使得角度与位置几乎是线性的。具有真正小的空气隙,特别是在更长的磁铁上,Xy字段将变为非正弦状(图5),角度与位置不会是线性的或在空气隙容差上是连续的或一致(图6)。一般来说,在范围内的气隙L./ 3到L./ 2工作良好。
  • 磁铁直径(D.):一般来说,磁体的直径越大,磁场越强。使直径大致等于或略小于气隙通常工作良好的钕磁铁,这是推荐的。铁氧体磁体更便宜;然而,由于它们的磁场要弱4倍左右,需要使用一个大得多的磁铁才能达到同样的磁场水平。

总的来说,对于给定的笔划长度,L.S.,合理的设计以来是:

L.=L.S.×0.65

D.=D.= 0.4×L.

从那里,可以增加或解释这些参数,以满足应用程序的目标。

为了确定系统是否符合设计目标,需要建模磁场。在使用先进的3D磁性建模软件时将产生最准确的结果,在大多数情况下,它不是必需的。可以使用免费的2D仿真软件在线可以准确地建模字段。或者,在使用圆柱形磁体的情况下,可以在使用圆柱形磁体的情况下相当容易地计算,并且在附录中提供了用于执行此操作的MATLAB功能。类似尺寸的杆磁铁将导致几乎相同的领域。图7显示了使用这些方程的圆柱形磁体的理论角与气隙,以及使用A1335-两种匹配的实验结果。

图5.

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

图6.

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

图7.

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

线性化/校准方法

根据系统的需要,可以使用不同的线性化或校准方法。在这里,一个方法线性化输出的A1335相对位置使用Allegro A1335样本程序员被描述。该方法可以应用于任何一个系统,也可以将一个系统的结果应用于其他所有系统,以获得相似的性能,且对生产中的测试时间影响较小。

图7.5

  1. 启动编程器:将A1335连接到ASEK20,并将ASEK20连接到您的计算机。启动样本程序员软件和电源在A1335上。有关使用程序员入门的更多详细信息,请参阅Allegro A1335样本程序员用户手册。
  2. 转到“长小时间”选项卡:程序员的“Long Stroke”选项卡有助于自动执行使用A1335上可用的分段线性化进行线性位置应用程序的过程。亚博尊贵会员它还有助于掩盖角度测量正在处理的事实,并且仅适用于位置。
  3. 确定旅行范围和代码/ mm:使用该方法的线性化的全部范围是代码256到代码3840,避免零的零点发生的范围,因此完全笔划需要适合该范围内。这意味着代码/ mm值,CPMM,应该是:
    公式4 - 1
    例如,如果行程长度为25毫米,CPMM应该是143.36个代码/毫米或更少,这样的值可能会四舍五入到一个整数值,或者可能是128,以简化从代码到毫米的微控制器中的数学运算。如果在sample Programmer中输入“Range of Travel”为25,然后点击“Calculate mm/ step and codes/mm”按钮,则CPMM值将显示。然后该值可以舍入到所需的数量;此后,单击“计算范围和MM /步骤”按钮。这将重新计算基于新的“旅行范围”CPMM价值。例如,如果CPMM圆形到128,“旅行范围”现在是28毫米,在所需的25mm测量范围内提供合理的余量。
  4. 每个线性化步骤确定mm:分段线性化点是每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. 一步的位置X=N*毫米
    3. 确定这一行X=N*毫米突出显示。每次读取后,该软件将递增/递减行,通过测量来引导。
    4. 单击“读取值”按钮以从A1335读取值,并在突出显示的行中填充测量值。
    5. 重复步骤b到步骤d,递增N每一次,直到N= 7。
    6. 除了重复步骤b到dN从-1到-7。
  7. 计算和应用系数:单击“计算和程序设备”按钮。这将计算偏移和线性化的正确值,并将其编程到设备。
  8. 检查性能:点击“开始测试”按钮,从传感器上不断读出位置。然后移动磁铁,检查传感器的读数。

线性化传感器输出的一个例子如图8所示。在这里,每个线性化点的位置改变了2 mm,毫米= 2。这意味着CPMM= 256/2 = 128 codes/mm,即线性化后传感器输出的斜率,如图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转换成anX的位置。

方程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.S.= 25,温度误差为±0.18毫米。可以使用基本相同的方法计算位置分辨率。对于A1335,角度分辨率为0.8度(3个σ)。这意味着25 mm行程的位置分辨率将为0.8 / 180×L.S.= 0.11毫米。当然,如果启用了A1335的内部过滤或读数进行次数,则将提高该分辨率。

使用多传感器集成电路扩展传感范围

可以通过在上述指导方面增加磁体尺寸或通过向系统添加更多的传感器IC来完成延伸传感范围。随着所需的行程长度变大,较大磁体的成本和尺寸将驱动解决方案朝向使用多个传感器。使用多个传感器的配置如图14所示。这里,使用三个传感器IC,但这可以扩展到N传感器IC。

图14.

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

所需的行程长度,L.S.,被除以N(图14中为3)为了有一个有效的笔划长度,L., 的:

等式7-1

然后设计磁系统L.,使用上述方法,以及N传感器间隔开L.,远离彼此,中心到中心。除了使磁铁更小,这也导致温度较低,如L.S.降低:

方程7-2

由于磁体通过超出一个传感器的范围,因此它进入下一个传感器的范围。用A1335确定从相当简单的读取位置的传感器IC。在正常操作期间,如果从当前使用的传感器的位置读取的位置读取超出L./ 2在任一方向上,切换到下一个传感器。避免在两个传感器之间来回切换很多L./ 2,可以将一些滞后添加到这个切换中,等待姿势略微L./ 2切换前。在启动时,或在很长一段时间没有读取位置后,可能需要确定n个传感器中使用哪个来读取位置。这里的挑战是,如果n很大,一些传感器可能没有足够的磁场来给出有效的输出。这里,可以使用A1335的低场错误寄存器来决定忽略哪些传感器输出。然后,在给出有效输出的传感器中,应选择输出角度最接近180度的传感器作为主动传感器。

结论

总的来说,磁角度传感器IC在比单轴磁传感器IC的线性位置感测更好地工作。基于CVH的角度传感器IC(如A1335)的Allegro系非常适合这些应用,提供先进的功能,例如分段线性(PWL)线性化和发送的可寻址,我亚博尊贵会员2C,或SPI,这有助于扩大可用的传感范围从一个磁铁,并简化和降低整个系统的成本。

附录a:计算圆柱磁铁场的matlab函数

功能[BZ,BR] = CYL_FIELD(B,L,RADIUS,Z,R)
% Bz和Br是圆柱磁铁磁场的Z向和径向方向
其中B是材料的剩余电感,L是材料的长度
%磁体,半径是磁体的半径。
% z为磁体中心沿z轴的距离,r
%为径向上到磁体的距离。
Bz = @(r,phi,z,l,r)r。*(l / 2-z)./((r. ^ 2 +(l / 2-z)。^ 2 + r。^ 2-2* r. * r。* cos(phi))。^(3/2))...
+ r。*(l / 2 + z)./((r. ^ 2 +(l / 2 + z)。^ 2 + r。^ 2-2。* r. * r。* cos(phi))。^(3/2));
br = @(r,phi,z,l,r)-r./2.* (2.*r-2.* r.*cos(phi)./ :(r.^2+(2-Z)。^ 2 + r。^ 2-2。* r. * r。* cos(phi))。^(3/2))...
+ r / 2。*(2。* r2。* r * cos(φ)。/ ((r ^ 2 + (L / 2 + z) ^ 2 - 2 ^ 2 + r。* r * r。* cos(φ)。^ (3/2));
%修正磁场计算值,如果一个是在磁铁内部
if(z <= l / 2 * 1.01)&&(z> -l / 2 * 1.01)&&(abs(r)<=半径* 1.01)
BZ = B / 2;
Br = 0;
别的
bz = -b./(4*pi)* integral2 (@(r,whi)bz (r,whi ,z ,l ,,,,,,,0,2*pi);
Br = b / (4 * pi) * integral2 (@ (R,φ)Br (R,φ,z, L, R), 0,半径,0,2 * pi);
结尾
结尾