A1340、A1341和A1343传感器温度补偿
A1340、A1341和A1343传感器温度补偿
文/ Nevenka Kozomora, Jesse Lapomardo
亚博棋牌游戏快板微系统公司有限责任公司
简介
由于传感器的缺陷或磁系统的温度相关特性,传感器输出可以随温度变化。在传感器内部应用温度补偿的目的是使传感器的输出值与温度无关,只依赖于输入磁场强度。
实现
Allegro传感器允许客户通过使用传感器温度补偿系数来改变传感器对温度偏差的响应方式。这些系数是在图1所示的温度补偿块中实现的传感器温度算法的一部分。
温度补偿块的传递函数为:
V出(V) = SENS(ΔT一个)×V在(V) +偏移量(ΔT一个)(1)
其中T一个为环境温度,ΔT一个= T一个- 25°C。
的灵敏度温度补偿,标记为SENS(ΔTA),用于操纵温度对传感器应用于输入磁信号的增益的影响。灵敏度温度补偿描述为二阶多项式函数:
SENS(ΔT一个) =
(m%/°C) × ΔT一个(°C) +
(m%/°C2) × (ΔT一个)2(°c) + 1](2)
SENS(ΔT一个)在一定温度下T实际计算为:
(25°C时的SENS) /(记录的SENS @ T°C)(3)
用户可编程参数说明如下表所示:
表1灵敏度补偿输入变量参数 | 定义 | 单位 |
TC1_SENS | 一阶增益温度系数。系数应用于 灵敏度随温度变化的一阶项。 |
m % /°C |
TC2_SENS | 二阶增益温度系数。系数的应用 灵敏度随温度变化的二阶项。 |
m % /°C2 |
应用补偿系数,TC1_SENS和TC2_SENS,计算将导致应用于传感器输入信号的温度无关的增益。重要的是要记住这些参数有两组——一组用于补偿低于25°C的温度,另一组用于补偿高于25°C的温度。
的抵消温度补偿n,标记为OFFSET(ΔTA),用于改变传感器施加在输入磁信号上的偏移量的温度行为。OFFSET(ΔTA)的方程被描述为线性一阶函数:
抵消(ΔTA) =
TC1_OFFSET(毫克/°C)×ΔT一个(°C)×
DIV_SENS_COARSE (mV / G)(4)
抵消(ΔT一个)在一定温度下T实际计算为:
抵消(ΔT一个) = (offset @ 25°c) -
(记录偏移@ T°C)(5)
应用计算得到的系数TC1_OFFSET将产生与温度无关的偏移行为。
对于A1343设备,div_sens_rough参数不适用,因为温度补偿算法没有考虑该参数。
表2:偏移补偿输入变量
参数 | 定义 | 单位 |
TC1_OFFSET | 一阶偏移温度系数。应用于偏移量随温度变化的一阶项的系数。 | 毫克/°C |
DIV_SENS_COARSE | 不同磁范围的偏移补偿系数。它们分别随磁场的变化而变化。当量程为±500g时,系数值为1。例如,当量程为±300g时,系数值为3/5。 | mV / G |
计算灵敏度补偿
Allegro传感器通常与永磁体在特定的操作位置使用未知场强。因此,精确计算每高斯系统灵敏度是不可能的。然而,灵敏度可以根据设备位置来计算。
在下面的例子中,用户在移动范围内的两个不同点收集设备输出。位置1是-10度,位置2是+10度。
表3:设备输出示例
温度 (°C) |
带模拟输出的传感器 | PWM输出传感器 | 带SENT输出的传感器 | |||
传感器输出 @位置1 (V) |
传感器输出 @位置2 (V) |
传感器输出 @位置1 (% D) |
传感器输出 @位置2 (% D) |
传感器输出 @位置1 (LSB) |
传感器输出 @位置2 (LSB) |
|
-40年 | 0.354 | 4.548 | 8.0 | 91.9 | 139 | 3955 |
-20年 | 0.394 | 4.532 | 8.6 | 91.3 | 165 | 3929 |
0 | 0.435 | 4.514 | 9.2 | 90.8 | 191 | 3902 |
25 | 0.500 | 4.501 | 10 | 90 | 227 | 3867 |
50 | 0.546 | 4.481 | 10.7 | 89.4 | 257 | 3837 |
75 | 0.614 | 4.459 | 11.6 | 88.5 | 298 | 3796 |
One hundred. | 0.693 | 4.427 | 12.7 | 87.4 | 349 | 3746 |
125 | 0.790 | 4.393 | 14.1 | 86.1 | 408 | 3686 |
150 | 0.883 | 4.342 | 15.5 | 84.7 | 474 | 3621 |
整个温度范围内的灵敏度可计算为:
SENS = (V出@位置2 - V出@位置1)
/(职位2 -职位1)(6)
表4
温度 (°C) |
灵敏度 (V /°C) |
灵敏度 (% D /°C) |
灵敏度 (LSB /°C) |
-40年 |
0.210 | 4.19 | 190.78 |
- 20 | 0.207 | 4.14 | 188.23 |
0 | 0.204 | 4.08 | 185.55 |
25 | 0.200 | 4 | 182.00 |
50 | 0.197 | 3.93 | 179.00 |
75 | 0.192 | 3.84 | 174.90 |
One hundred. | 0.187 | 3.73 | 169.85 |
125 | 0.180 | 3.60 | 163.90 |
150 | 0.173 | 3.46 | 157.35 |
为了计算补偿函数SENS(ΔT一个)与ΔT一个值,对表4中记录的数据应用公式3。该方程有效地对25°C进行反向归一化。结果数据如下表所示(注意,温度值现在显示为ΔT一个值,表示偏离25°C):
表5:归一化反灵敏度与温度的对比
Δ助教 (°C) |
归一化的逆 灵敏度 |
|
(冷) | -65年 | 0.954 |
-45年 | 0.967 | |
-25年 | 0.981 | |
0 | 1.000 | |
(热) | 25 | 1.017 |
50 | 1.041 |
|
75 | 1.072 | |
One hundred. | 1.110 | |
125 | 1.157 |
表5的图形表示如图3所示:
由于Allegro传感器在冷热温度下的补偿具有不同的温度系数编码,因此将上述曲线分为两个区域。热点地区,来自ΔT一个0°C及以上时,用以下公式描述:SENS(ΔT一个) = 1.408 e-06x2+ 7.994E-04x + 1.000寒区,下方ΔT一个在x轴上的0°C,由公式SENS(ΔT一个) = 5.941 e-06x2+ 5.094E-04x + 1.000。
可编程系数现在可以从上面的方程计算。注意,要转换为m%,应该引入因子105。
表6:计算的温度补偿系数
系数 热 |
价值 | 系数 冷 |
价值 |
TC1_SENS_HOT (m % /°C) |
79.94 | TC1_SENS_CLD (m % /°C) |
50.94 |
TC2_SENS_HOT (m % /°C2) |
0.1408 | TC2_SENS_CLD (m % /°C2) |
0.5941 |
编程的灵敏度系数
温度调整的计算值可以直接在软件的“值”栏下输入,也可以用户手动计算代码,在“代码”栏下输入。
如果用户在“值”栏下输入所需的系数,那么软件将实际数字四舍五入到设备提供的最接近的离散值。例如,TC2_SENS_CLD被计算为0.5941 m%/°C2,但程序舍入到0.593 m%/°C2。该软件根据TC2_SENS_CLD值、该寄存器的步长以及值和代码之间的传递函数自动计算代码。
如果用户想要计算必要的代码,可以使用从数据表中提取的下表作为指导。所需值0.5941 m%/°C2除以0.00596 m%/°C2即典型的步长,从而得到所需的代码99。
计算偏移量补偿
在应用中,线性传感器经常在所有位置看到磁场,或者客户经常无法确定磁场在哪个位置将等于0。然而,读取两个应用位置的设备输出可以帮助确定所需的传感器灵敏度,然后帮助计算偏移为:(VOUT @位置2 -位置2 ×灵敏度)。如下表7所示:
表7:电压偏移过温
温度 (°C) |
抵消 (V) |
抵消 (%) |
抵消 (LSB) |
-40年 |
2.45 | 49.95 | 2047 |
-20年 | 2.46 | 49.96 | 2047 |
0 | 2.47 | 49.97 | 2047 |
25 | 2.5 | 50.00 | 2047 |
50 | 2.51 | 50.01 | 2047 |
75 | 2.53 | 50.04 | 2047 |
One hundred. | 2.56 | 50.06 | 2047 |
125 | 2.6 | 50.09 | 2047 |
150 | 2.61 | 50.11 | 2047 |
一旦得到每个温度下的偏移量,利用式5计算校正曲线。
从图7可以看出,对温度的偏移量可以计算为
抵消(ΔT一个= -0.0009 × Δt一个+ 0.0004。
记录的行为以mV/°C为单位,表示公式:
抵消(ΔT一个) = TC1_OFFSET (mG/°C) × ΔT一个(°C)
×DIV_SENS_COARSE (mV / G)。
常数项0.0004接近于零,因此可以忽略。0.0009的函数增益是TC1_OFFSET (mG/°C) × DIV_SENS_COARSE (mV/G)的乘积,因此需要将增益数除以DIV_SENS_COARSE (mV/G),这取决于所选的磁粗范围。如果选择的范围是250 G,那么参数DIV_SENS_COARSE (mV/G)的值为0.5。
表8:偏移系数值
补偿系数 | 价值 |
TC1_OFFSET (mG/°C)适用于+/-250 G范围 | 0.0009 / 0.5 = -0.002 |
编程的灵敏度系数
温度调整的计算值可以直接在软件的“值”栏下输入,也可以用户手动计算代码,在“代码”栏下输入。
如果用户想要计算必要的代码,可以使用从数据表中提取的下表作为指导