利用片上EEPROM和Allegro应用软件对A1335输出信号进行谐波补偿雷竞技最新网址

利用片上EEPROM和Allegro应用软件对A1335输出信号进行谐波补偿雷竞技最新网址

下载PDF版本

由比尔•威尔金森
雷竞技竞猜下载快板微系统公司有限责任公司

介绍

本应用说明将提供一个逐步配置谐波输出信号线性化使用A1335角度传感器集成电路(IC)。本例将利用Allegro A1335 Samples程序员软件,兼容任一ASEK-20ASEK-21编程工具包。对于更高级的生产级编程,Allegro提供了dll,允许将本例中显示的功能内置到定制的软件和硬件中。

套件内容和描述

A1335 IC评估所需的硬件由ASEK-1335-T-KIT提供,其内容如图1和图2所示。

A1335女儿板和孙女板提供简单方便的方法,可以使用ASEK-20程序员接口传感器IC。孙女板的弹簧动作接触销允许对传感器的无焊测试进行焊接测试。对于使用定制的硬件,端子和Molex连接器的磁性评估设置在子板上,允许连接灵活性。

如评估套件中提供的快速指南中所述,请连接硬件。

AN296118图1 AN296118图2
图1:ASEK-20-T-kit内容
图2:ASEK-1335-SUBKIT-T内容

软件

获得评估GUI

一旦硬件设置完成,Allegro软件必要的接口ASEK-20板应该下载。这可以通过在Allegro软件注册门户(https://registration.allegromicro.com/login)及注册A1335 IC。

一旦注册,A1335评估GUI软件可以从仪表板下载。

图3:Allegro Software Portal (https://registration.allegromicro.com)
图3:Allegro Software Portal
(https://registration.allegromicro.com)

软件设置

下载并提取Allegro软件后,双击Allegro A1335 Samples Programmer可执行文件。这将打开示例图形用户界面(GUI),其中选择了DEMO选项卡。此选项卡将显示传感器角度、锁定错误(如上电复位或低磁场标志)和传感器上应用的磁场强度。但是,在与传感器通信之前,必须选择COM端口和协议
设备必须上电。

图4:A1335样本GUI
图4:A1335样本GUI

要选择合适的COM端口和通信协议,请单击左上角的“设置”菜单,然后选择“通信...”这将显示“通信设置”窗口。

图5:通信设置菜单
图5:通信设置菜单

选择与ASEK-20程序员对应的COM端口。如果未知COM端口号,请遵守下拉菜单中列出的可用COM端口,从计算机上拔下ASEK-20 USB电缆,然后点击刷新按钮 - 清单,该列表对应于ASEK-20 COM端口。同样地插入ASEK-20之后出现的COM端口列表是正确的地址。

如果COM端口正确,底部的“状态”框将更新为“Active”,并报告ASEK-20软件版本(本例中的版本为127.6.3.1)。选择需要的通信协议和频率,然后退出窗口。在选择频率时,要考虑可能已经添加到IC通信引脚上的电阻性和电容性负载。外部滤波/负载电路(包括长线)会降低通信信号并导致通信问题。

点击“通电”按钮。A1335现在应该与电压(5v以上)和电流(26.92 mA以上)显示在最右边的面板。

磁铁的设置

用目标磁铁根据需要对准传感器。如“先进的片上线性化”应用笔记,推荐的场强应在300到1000克之间;然而,低于300克以下的小偏差不会显着影响性能。尽管开发了谐波线性化以允许高精度的轴轴性能,但也可用于最小化由更传统的轴上应用中存在的机械未对准误差产生的非线性。雷竞技最新网址

重要的是要意识到CVH传感元件不居中在A1335(单芯和双芯片版本)包内。例如,当将单模传感器安装在轴外轴上时(图6中的最左图),传感器IC的销1侧应朝向磁体。这允许CVH尽可能接近目标磁体。

图6:离轴和离轴安装
图6:离轴和离轴安装

原始数据记录

随着A1335与目标磁铁正确对齐,原始(或预线性化)性能现在可以测量。通过点击“线性化”标签,补偿类型可以通过下拉菜单选择(谐波或分段)。一般来说,谐波线性化可以更好地补偿传感器安装中的偏心引起的正弦误差,这将是本例中所示的方法。


图7:在A1335单芯片内的CVH位置
图7:在A1335单芯片内的CVH位置



图8:在A1335双芯片内的CVH位置
图8:在A1335双芯片内的CVH位置

采样点个数

为了量化叠加在传感器传递函数上的谐波误差,必须测量一个完整的磁体旋转的输出。通过线性化选项卡左上角的文本框可以选择整个旋转过程中所获得的测量点的数量。可使用的最少点数为8;然而,建议至少采集16个样本,这样可以解决7阶谐波。历史上,谐波1、2和4是最终误差的主要贡献者。任意数量的样本2048可以使用;然而,如果数字不是2的幂(16、32、64等),采集的数据将在FFT之前被插值以获得2的幂长度数组。一旦按下“Calculate”按钮,这将在GUI中自动执行。

图9:线性化标签
图9:线性化标签

当使用Allegro A1335样本程序员GUI时,假设每个采样点在整个磁体旋转中均匀地间隔开。为了帮助掌握数据,每个采样点的预期编码器位置显示在最左侧表的左列中。也可以使用不均匀的间隔数据
线性化;但是,这需要额外的软件后处理,并且必须以文本或CSV文件的形式加载。有关所需格式的更多细节,请参阅“规划谐波线性化”应用说明。

图10:正在收集的原始数据
图10:正在收集的原始数据

记录数据

为了开始采样原始角度数据,将磁铁定位到所需的起始位置;这不需要(并且通常不会)对应于传感器IC的零位置。一旦定位,确保以蓝色突出显示对应于“编码器0.000”的数据输入行(如图9所示);如果未选择它,则使用鼠标选择此行。单击“读取角度”按钮以在此磁性位置轮询传感器IC的输出。

角度值将放置在相应的编码器值的旁边。下一个编码器位置行现在将以蓝色高亮显示。将磁铁移动到此位置,点击“读取角度”。重复此操作,直到完成一个完整的旋转,并且所有行都被填满。

数据可以通过使用“保存角度…”按钮保存。这允许在以后加载原始数据(使用“Load Angles…”按钮),而无需重新进行角度测量。

计算和选择谐波分量

一旦拍摄了所有样本(并使用“使用”读取角度...“按钮输入),通过单击”计算“按钮来计算谐波误差分量。所有可观察谐波的幅度(以度为单位)和阶段显示在最右边的表中。应用补偿的谐波通过最左侧列中的复选框选择;默认,选择具有大于0.3°的幅度的前八个谐波分量。Be aware when selecting a greater number of harmonics that the test (EEPROM programming) time of the IC will increase.输出精度的优化与所选择的谐波数应由用户进行,并通过应用变化。

通过单击列标题,表可以按升序或降序排序。这使得最大的错误贡献者很容易被识别。

A1335能够补偿多达11个不同的谐波元件(但是,超过八个谐波,短钟特征被禁用)。在拍摄17个或更多个样本的情况下,比寄存器的可选谐波分量将存在更多数量的选择。为了提供更高谐波序列的补偿,可以跳过最多3个连续的谐波,即可以选择谐波令1,2和6,省略3,4和5.这如图12所示。

编程的A1335

通过按“写入设备”按钮,选定的谐波系数被编程成EEPROM。此按钮解锁传感器,进入空闲模式,将谐波系数转换到存储器,脉冲VCC写EEPROM,并动力循环传感器,使EEPROM正确地装入SRAM。

在原型设计时,使用易失性存储器比非易失性EEPROM更容易进行实验,后者的潜在错误更有影响,也更难纠正。在这些情况下,不希望在谐波线性化之后对传感器进行功率循环,因为它删除了在易失性存储器中所做的任何配置。为了防止这种情况,当点击“写入设备”按钮时按住CTRL按钮,则不会执行电源循环。相反,选择的系数被写为两个
EEPROM和SRAM。通过将值写入SRAM,系数具有立即影响,而无需电源循环。

图11:计算谐波错误
图11:计算谐波错误

图12:跳过连续的谐波
图12:跳过连续的谐波



验证补偿

在程序设定的EEPROM系数加载到SRAM后,传感器将开始应用谐波补偿。这种补偿可以通过旋转目标磁体通过一个完整的旋转和观察输出行为来验证。输出现在应该线性增加从给定的起始位置通过360和回到初始位置。如图13所示。

设置零点位置(零角度位置)

在行尾线性化之后,现在可以根据传感器的报告对零角位置进行最后的调整。为了实现这一点,将目标磁铁移动到所需的零角度位置,然后在A1335 GUI的Demo选项卡中,单击“零角度”按钮。这将记录当前的角度,并将其写入EEPROM (0x306,比特11:0)中的ZERO_OFFSET字段。该值从信号路径末端补偿的角度值中减去,因此存储在寄存器中的值成为导致0°输出的位置。由于减法是在数字信号路径内补偿后执行的,这个值必须在谐波(或分段)线性化完成后设置。0 50 100 150 200 250 300 350

图13:传感器输出前后线性化。注意,此图是在“零位”编程之前,从编码器295度对应零位角输出(A1335 IC输出信号)。
图13:传感器输出前后线性化。注意,此图是在“零位”编程之前,从编码器295度对应零位角输出(A1335 IC输出信号)。

常见问题和常见问题

采用谐波线性化只能使性能更差。发生了什么事?

这很可能是由于谐波系数内的相位偏移,因此校正不再正确地对准误差成分,在某些情况下可能放大误差,而不是消除它。发生这种情况的最常见方式是,在获取用于计算系数的原始数据之前,设置了EEPROM (0x306,比特11:0)中的ZERO_OFFSET字段。

当不使用提供的A1335 GUI来记录数据时,这应该是一个问题,因为GUI将SRAM (0x06,比特15:0,左对齐)中相应的ZERO_OFFSET字段设置为零。

如果遇到较大的后线性化角度错误,并且数据是在GUI环境之外记录的(Allegro dll,或第三方采样方案),请确保ZERO_OFFSET字段重置为0,并重新获取原始的角度数据。

对线性化后的零角位置进行了规划。

这很可能是由于EEPROM中的ZERO_OFFSET字段中存在一个预先存在的值。

如上所述(参见设置零点位置部分),ZERO_OFFSET字段中的值在传感器输出之前从补偿的角度中减去(参见图14)。因此,如果在完成谐波线性化之前编程零位,则该值不再正确(注意第一个点改变,后线性化,如图13所示),期望的零位是不正确的。

要纠正这个错误,请将ZERO_OFFSET字段重置为零。这可以在GUI中的“EEPROM”选项卡中完成。然后,将目标磁铁移动到期望的零点位置后,点击Demo选项卡上的“零点角度”按钮,即可编程正确的数值。

图14:A1335数字信号路径
图14:A1335数字信号路径

离轴运行时遇到高噪声。

噪声在很大程度上取决于磁场的大小。名义上,在900 G和室温下,A1335的测量角度值将呈现±0.17°的可变性。由于离轴安装固有的场强大摆动,很可能部分磁旋转将呈现比其他更大的噪声;换句话说,由于磁场大小在位置上的可变性,噪声水平可能成为位置依赖的。

为了减轻这些影响,将传感器观测到的场强最大化是很重要的,因为这将建立一个较低的基线噪声水平。这可以通过确保目标磁铁有足够的强度(即传感器测量的300 G或更大)和最小化两者之间的气隙来实现
CVH元件和磁铁。除了磁相关参数,A1335可以配置为累加和平均多个传感器输出,以较慢的刷新率为代价提高系统的有效分辨率。平均值中使用的样本数量是使用EEPROM (0x308,位23:21)中的ORATE字段配置的。请参阅A1335编程手册,了解有关ORATE设置的更多细节。

谐波线性化并没有充分提高传感器的精度。

谐波补偿能够显著提高精度,将±40°以上的误差减小到1°以下。改进将取决于所应用的谐波的数量,而谐波的数量是由所采集的原始样品的数量决定的。Allegro建议使用最少16个样本,允许高达7次谐波误差被计算。如果补偿后的结果精度不够,则可能是高次谐波导致了误差。应采取更多的初始样本;在这种情况下,建议样本量为64;除此之外,还有一点好处。

图15:典型的一西格玛角噪声超过场强,与比值= 0
图15:典型的一西格玛角噪声超过场强,与比值= 0



图16:一个Sigma角度噪声与平均设置,300 g。
图16:一个Sigma角度噪声与平均设置,300 g。



本文件中包含的信息不构成Allegro对客户就本文件主题事项的任何陈述、保证、保证、担保或引诱。提供的信息并不能保证基于这些信息的过程是可靠的,或者Allegro已经探索了所有可能的故障模式。客户有责任对最终产品进行充分的合格测试,以确保其可靠性和满足所有设计要求。