在短行程应用中使用 A1330
作者:Trevor Buys 和 William Wilkinson
Allegro MicroSystems, LLC
摘要
本应用说明是使用 A1330 角度传感器 IC 进行短行程旋转位置感测的指南,包括有关磁体选择和方向的信息。它概述了设置 A1330 短行程应用所需的 EEPROM 寄存器的程序。包括两个附录,一个用于说明有效的短行程输出和功能,另一个全面描述如何在“样品编程器” GUI 中使用“短行程调整”选项卡。
介绍
通常使用直径圆盘磁体和磁传感器 IC 实现精确、低成本和非接触式旋转位置感测。磁体附着在旋转物体上,传感器 IC 的位置使磁体的表面平行于传感器 IC 封装的表面旋转(见图 1)。短行程(或精细角度比例)定义为小于 360° 的磁角旋转,由 IC 的满量程输出表示。实现小于 360° 旋转的满量程输出允许用户使用 ADC 的整个动态范围。通常适用于短行程的
应用包括:
- 踏板位置
- 油箱液位感测
- 档位
- 节气门和/或阀门位置
- 执行器位置
Allegro A1330 磁角度传感器 IC 非常适合短行程旋转位置传感,因为它提供了以下高级功能:
- 模拟/ PWM 输出:这种可配置的输出可以轻松读取和验证。
- 高角度和低角度钳位:可调节输出饱和度具有很高的可配置性。
- 用户可配置的增益和偏移:为了在输入变化很小的情况下实现满量程输出,GAIN 和 PREGAIN_OFFSET 提供了理想的解决方案。
- 最小和最大角度检测:在 EEPROM 中设置最小和最大角度可以提供诊断检查。它验证磁体是否处于有效的操作位置。
系统基本配置
A1330 采用 8 引脚 TSSOP 封装、单芯片或堆叠双芯片(推荐用于需要冗余的系统),并测量封装平面内的磁场角度。将磁体直接安装在封装上方(如图 2 所示),可以使用两种不同的气隙定义:透明气隙和封装气隙。对于本文档的其余部分,封装气隙用于表示气隙。CVH(圆形垂直霍尔器件)直接安装在单个芯片封装的中心,两个 CVH(在双芯片封装中)靠近中心(有关具体测量详情,请参见数据表)。
设计用于旋转感测的磁系统
适当的磁体尺寸和标称气隙是角度感测的关键组成部分。A1330 可以感应高达 1200 G 的磁场,这意味着可以使用更大的磁体来减少杂散场可能对系统产生的任何不良影响。如果场强超过 1200 G,则不会对设备造成损坏。在大磁场中使用 A1330 还可以降低噪声,提高角度精度,并提高 IC 输出信号的有效分辨率。有关噪声性能的其他信息,请参阅本文档后面的“噪声”部分。
短行程和编程参数取决于最终应用和系统要求,不同的参数可能比其他参数更重要。以下是短行程应用的可用编程设置。必须使启用短行程 (SS) 位来调整 GAIN 和 MIN / MAX_INPUT 寄存器。
图 3 表示短行程流程图的简化版本,表 1 是 EEPROM 中可用的短行程寄存器和位置。
表 1:短行程寄存器
寄存器名称 | 简称 | 地址 | 位 |
预增益偏移 | PREGAIN_OFFSET | 0x3A | 23:12 |
短行程启用 | SS | 0x3B | 25 |
增益 | GAIN | 0x3B | 12:0 |
钳位启用 | CE | 0x3C | 25 |
翻转启用 | ROE | 0x3C | 24 |
最大输入 | MAX_INPUT | 0x3C | 23:12 |
最小输入 | MIN_INPUT | 0x3C | 11:0 |
极性调整 | PO | 0x3D | 24 |
后增益偏移 | POSTGAIN_OFFSET | 0x3D | 23:12 |
低钳位 | LOW_CLAMP | 0x3D | 11:0 |
高钳位 | HIGH_CLAMP | 0x3D | 5:0 |
PREGAIN_OFFSET
PREGAIN_OFFSET 允许在应用增益之前将角度归零或重新映射到磁体的当前位置。通常这是第一个和行程无关的编程寄存器。PREGAIN_OFFSET 是一个 12 位值(0-4095),位于 EEPROM 0x3B 位 13:24,分辨率为 0.088°/位。
极性调整
POLARITY ADJUST (PO) 设置最终角度输出的极性。设置为“0”时,角度输入为机械角度,基本上绕过该块。设置为“1”时,角度得到补充(参见方程 1)。POLARITY ADJUST 是位于 EEPROM 0x3D bit 24 中的单个位。建议在设置 POLARITY ADJUST 之前设置 PREGAIN_OFFSET。这是因为 PREGAIN_OFFSET 改变了观察到的零角度。
方程 1:极性调整
角度输入 = 360° - 机械角度
MIN_INPUT 和 MAX_INPUT
IC 将预增益角度值与通过 MIN_INPUT 和 MAX_INPUT EEPROM 字段设置的边界集合进行比较。如果角度在已建立的边界之外,则输出将处于三态,以指示由意外的角度值引起的误差。要使此功能正常工作,需要在输出连接上拉或下拉电阻。电阻器的方向取决于 ECU 的所需配置。
该功能对于启用钳位的应用很有用,并会以其他方式遮盖过大的角行程。MIN / MAX_INPUT 是位于 EEPROM 0x3C 中的 12 位值,分辨率为 0.088°/位。
GAIN
GAIN 通过调整输出传递函数的斜率 (mV/°) 来调整设备的输出动态范围。GAIN 以数字方式应用,能够将 11.25° 输入角度扩展到满量程输出旋转(32×)。
应注意在具有高增益的应用中,前端噪声将按比例放大。在这种情况下,强烈建议使用“角度平均”功能来最小化噪声的影响(本文档稍后将对此进行介绍)。GAIN 是位于 EEPROM 0x3B 位 0:12 的 13 位值,每位附加增益的分辨率为 0.0039×,即代码 1 = 原始信号的 1.0039 倍。
计算 GAIN
POSTGAIN_OFFSET
POSTGAIN_OFFSET 类似于 PREGAIN_OFFSET,并有一个小限制条件:它用于在应用增益后偏移角度。该寄存器将输出信号从 0° 位置移开。请查看图 4 了解图形说明,以及公式 5 了解计算。通常,POSTGAIN_OFFSET 用作机械极限的缓冲区。POSTGAIN_OFFSET 是一个 12 位值,位于 EEPROM 0x3D 位 11:23,分辨率为0.088°。
为了获得所需的延迟转换点,请使用下面的方程 5。图 4 是 POSTGAIN_OFFSET 功能的图形表示。
方程 5:POSTGAIN_OFFSET
(所需自 0° 机械偏移 × 增益值) - Low _Clamp (°)
POSTGAIN OFFSET = (30° × 4) – 60°
POSTGAIN OFFSET = 120° – 60°
POSTGAIN OFFSET = 60°
因此,以图 4 为基础,为了从零角度实现 30° 偏移,将需要 60° 的POSTGAIN_OFFSET。
LOW_CLAMP 和 HIGH_CLAMP
LOW_CLAMP 和 HIGH_CLAMP 指定最小和最大输出电压摆幅(或 PWM 占空比);默认情况下,这些值设置为 VCC 的 5% 和 95%。有关输出钳位的相应代码,请参见表 2 和表 3。通常,LOW / HIGH_CLAMP 值以伏特为单位;然而,它们也可以从预增益(机械)值角度来考虑。LOW_CLAMP 和 HIGH_CLAMP 都是 6 位无符号值,位于 EEPROM 0x3D,0:5 (LOW_CLAMP) 和 6:11 (HIGH_CLAMP)。
钳位启用和翻转启用
翻转启用 (ROE) 是一种可编程设置,允许输出在达到高电平状态后返回低电平状态(反之亦然)。这可以使用或不使用钳位来完成。借助钳位启用位 (CE) 可以调整 HIGH / LOW_CLAMP,默认情况下,它们设置为 VCC 的 5% 和 95%。翻转和钳位启用 (CE) 位分别位于 EEPROM 0x3C,位 24 和 25。有关钳位和翻转的各种迭代,请参阅表 4。图 5 和图 6 比较了有和没有钳位/翻转的输出。
表 4:钳位和翻转选择
CE | ROE | 描述 |
0 | 0 | 正常运行。 标准模块 360 的翻转。 |
0 | 1 | 高电平钳位和低电平钳位值下的输出翻转。 |
1 | 0 | 首个遇到的高/ 低钳位值的输出钳位 |
1 | 1 | 在标准模块 360 出现翻转。 输出被钳位至高/低钳位值。 |
图 5:使用和不使用翻转的钳位
请注意,在图 6 中,高至低钳位值比图 5 中更多;这是由于 LOW_CLAMP 和 HIGH_CLAMP。用于创建图 5 和图 6 的设置是:
表 5:钳位设置
寄存器名称 | 代码 | 值 |
PREGAIN_OFFSET | 0 | 0 |
GAIN | 768 | 4× |
LOW_CLAMP | 10 | 40° |
HIGH_CLAMP | 10 | 320° |
短行程示例
可以使用 ASEK20 在短行程应用中对 A1330 进行编程。有关 ASEK20 的更多信息,请参阅《Allegro A1330 样品编程器用户手册》。图 7 是此示例配置的输出。输出曲线将保持低钳位(1 V 和 0.5 V),直到发生 20° 旋转,然后每个芯片将以不同的速率(50 mV /°和25 mV /°)再增加 60° 坡度,在此点时,两个芯片将保持 20° 高钳位。
图 7:应用输出示例
使用样品编程器对A1330进行编程有两种方法。第一种方法是使用“短行程调整”选项卡(参见图 8)。该方法将在附录 B 中介绍。另一种方法是通过 EEPROM 选项卡。通过使用 EEPROM 选项卡,可以使用“短行程调整”选项卡中没有的寄存器。
图 7 是常用踏板位置输出的示例。芯片 2 设定为芯片 1 的 50%;这通常是出于安全要求。微处理器通过将芯片 1 与芯片 2 分开来验证角度读数。
A1330 必须符合以下规格:
表 6:EEPROM 值
编程程序
1.启动编程器并设置零角度:
a.将 A1330 连接到 ASEK20(参见图 9),并将 ASEK20 连接到计算机。
b.启动样品编程器软件并打开 A1330 的电源。A1330 封装上方带有磁体,开启电源(使用 GUI 右侧的按钮)。按下“读取输出”(位于右侧),“读取一次”(位于 GUI 的左上角)或“开始读取”(位于GUI的左上角;这将从 EEPROM 以均匀的间隔轮询传感器)。
c.要在磁体的当前角度位置将 A1330 重新映射到 0°位置,请使用位于窗口左下角的“零角度”按钮。这将调整 PREGAIN_OFFSET 寄存器值并将 0° 重新指定到此位置。
2.EEPROM 编程:EEPROM 选项卡包含用户可用的所有寄存器。位于左上角附近的下拉菜单可以调整为所有内存位置、所有字段或短行程字段。选择短行程字段。
a.短行程字段:在 EEPROM 选项卡上选择的短行程字段菜单包含用于短行程应用的寄存器集合。为了实现示例应用,将表 7 中的值应用到 EEPROM 寄存器中。图 11 和图 12 是 EEPROM 中的实际值。
注:PREGAIN_OFFSET 值是在任何增益或钳位值之前从 A1330 读取的初始角度。
图 11:芯片 1(满量程)短行程
EEPROM 设置
3.验证输出:为了验证 EEPROM 设置是否正确,将 DMM(数字万用表)连接到输出并扫描角度旋转。需要对转换点进行的任何调整都应该通过更改 POSTGAIN_OFFSET 来完成。POSTGAIN_OFFSET 与 GAIN 直接相关,例如,为了使芯片 1 出现 1° 的机械变化,需要大约 4° 的 POSTGAIN_OFFSET。
因此,这些是 POSTGAIN_OFFSET 所需的值:
芯片 1(满量程)
POSTGAIN_OFFSET = (20° × 4) – 40° = 40°
芯片 2(半量程)
POSTGAIN_OFFSET = (20° × 2) – 20° = 20°
通常,POSTGAIN_OFFSET 用作机械极限的缓冲区。
4.设置最小和最大输入:设置系统的最小和最大输入限制可以向用户发出警告,即磁体已进入非计划行进位置。这些针对最小和最大输入的值是预增益值;因此,在此示例中,适当的值可能是:
- MIN_INPUT = 10°
- MAX_INPUT = 90°
如果磁体进入任一范围(即低于最小输入 10°,或高于最大输入 90°),则输出处于三态。一旦磁体返回到合适角度,输出将返回正常操作。
结果
在应用实例中使用的磁体是 8mm(宽)×3mm(厚度)的 N35 镀镍稀土磁体,并沿径向磁化;有关不同气隙的磁铁强度,请参见图 13。测试的气隙在 1 mm 至 1.5 mm 之间。
以下是使用上一节设置收集的结果和数据。
图 13:使用 8 mm 圆盘磁体测量的气隙上的场强
角度精确度
确定 A1330 短行程的精度需要理想的情况。在本应用说明中,图 7 所示的曲线将被视为理想的零误差输出曲线。为了进行精确比较,仅考虑线性斜率(减去两个转变点)。
图 14 使用下面的等式 9 计算:
方程 9:角度误差
芯片 1 误差 = 理想芯片 1 – 测量芯片 1
芯片 2 误差 = 理想芯片 2 – 测量芯片 2
A1330 的标称灵敏度约为 12.5 mV /°;但是,由于每个芯片具有不同的增益值,因此灵敏度会相应变化。对于芯片 1,输出新灵敏度为 50 mV /°,芯片 2 输出灵敏度为 25 mV /°。因此,为了在角度误差的 1° 范围内,每个输出必须分别在理想输出的 50mV 和 25mV 之内。
芯片 1 输出的最大误差为 11 mV,半量程输出的最大误差为 13 mV。因此,每个输出误差大大低于 1°,即芯片 1 的误差为 0.22°,芯片 2 的误差为 0.52°。
0
根据最终应用和传感器输出需要采样的速度,调整角度平均寄存器可以显着降低 IC 输出的噪声(见表 8 和图 16),同时增加整体 A1330 观察到的场强(见图 16)。例如,在本文档中,使用了设置为 000 的 ANG_AVE,这意味着数据在 IC 的输出端每 25μs 刷新一次,并且在 8-10 ENOB 之间。对于大多数应用,设置 ANG_AVE = 4 将是绰绰有余的,因为它将为用户提供足够快的刷新率并降低噪声。
图 16:在各种场强 和温度下测量的 ENOB
结论
当需要在小于 360° 磁铁旋转中进行满量程输出时。A1330 磁角度传感器 IC 适用于短行程应用。基于 CVH 的角度传感器 IC——特别是 A1330,非常适合短行程应用,因为它们可以在低磁场和高磁场中工作。小型 8 引脚 TSSOP 封装非常适合 PCB 空间有限的应用。A1330 提供可调节的内部平均化,以便用响应时间换取分辨率。由于传感器 IC 外部所需组件极少,A1330 是用于任何短行程应用的低成本解决方案。
附件 A
本附录重点介绍了 A1330 可以实现的其他短行程配置。请注意,此配置是实际输出的通用迭代。
配置 A
配置 A 是节气门位置感测的常用输出。加在一起时,输出始终产生相同的值。这增加了安全要求通常所需的冗余。微处理器内的检查可以验证输出并在出现问题时提醒用户。
要实现配置 A,请按照下列步骤操作:
- 连接 ASEK20,并使用软件门户上的 A1330 软件。
- 验证 COM 端口是否正在与软件通信。这可以通过软件窗口右下角的绿色条看到。如果该条为红色,请单击它,将出现一个新窗口。选择正确的 COM 端口,然后单击“确定”。
- 选择双芯片和模拟或 PWM 输出。单击窗口右侧的“开机”,打开设备电源。
- 磁体就位后,选择“读取输出”。这将指示磁体当前正在读取的内容。选择“零点偏移”,将 A1330 的 0° 角度读数重新映射到当前磁体角度位置。如果读取 EEPROM 寄存器,特别是 PREGAIN_OFFSET 时,这将是显而易见的。
- 选择“EEPROM”选项卡。在下拉菜单中,选择“短行程字段”。这只显示了与短行程有关的寄存器。
以下是创建配置 A 所需的寄存器和值(有关完整的 EEPROM 寄存器的值,请参见表 9):
附录 B
“短行程调整”选项卡是 A1330 用于短行程输出编程的门户。本附录将重点介绍“短行程调整”选项卡的主要内容(图 18)。此选项卡中没有一些寄存器,即 POSTGAIN_OFFSET、POLARITY ADJUST 和 MIN / MAX_INPUT。要调整这些寄存器,请参阅主文档。
使用“短行程调整”选项卡对 A1330 进行编程
- 打开 Allegro A1330 样品编程器,COM 已连接(由窗口右下角的绿色框指示),设备已通电,磁体直接安装在设备上,导航至窗口左上角的“短行程调整”选项卡。关于如何考虑输出(以度或伏特为单位)有两种方法。针对本次演示,输出单位是伏特。通过调整输出单位旁边的下拉菜单,可以进行此操作。将输出单位(和输入单位)从度数更改为伏特,存储在位置 1 和位置 2 中的值调整为正确的对应值(即 359°≈4.75V)。
- 将输出单位更改为伏特时,窗口将如图 19 所示。“调整”框有几个选项:
a.开始/停止读数
i.该方法实时读取磁体旋转的最小和最大角度值。这还可作为替代方案使用,在输入位置输入值。它将自动填充位置 1 和位置 2 的输入。
b.输入位置 1 和 2
i.输入位置是磁体旋转度数或伏特的预增益值。
c.要求位置 1 和 2
i.要求位置确定系统的增益。
d.限制位置 1 和 2
i.这调整 HIGH_CLAMP 和 LOW_CLAMP 值。
e.限制操作 – 钳位和/或翻转
i.激活钳位、翻转或两者。
3.将输出设置为所需的值(例如,参见图 20),选择“对设备进行计算和编程”。这将为所需输出设置适当的 EEPROM 寄存器。
4.最后,要验证输出是否正确,请在“验证”框中选择“开始测试”。输入值和输出值上将出现灰色线。当磁体旋转时,灰线将相对于增益值在两个条上移动。通过移至“操作”选项卡并选择“开始读取”,将显示相对于时间的电压曲线。这可以用作所需输出的附加验证。