A1340、A1341 和 A1343 传感器温度补偿
下载 PDF 版
作者:Nevenka Kozomora,
Allegro MicroSystems, LLC
简介
由于传感器缺陷或磁性系统的温度相关特性,传感器输出可能因温度而变化。在传感器内施加温度补偿的目的是保持传感器的输出值与温度无关,而只取决于输入的磁场强度。
启用
借助 Allegro 传感器,客户可以通过使用传感器温度补偿系数来更改传感器对温度偏差的响应。这些系数为图 1 温度补偿模块所用传感器温度算法的一部分。

温度补偿模块的传递函数计算方程式如下:
VOUT (V) = SENS(ΔTA) × VIN (V) + OFFSET(ΔTA) (1)
,其中 TA 为 环境温度, ΔTA= TA – 25°C。
灵敏度温度补偿,标记为 SENS(ΔTA),用于量化在输入磁场信号上应用传感器的温度增益影响。灵敏度温度补偿用二阶多项函数式表达:
SENS(ΔTA) =
[TC1_SENS (m%/°C) × ΔTA (°C) +
TC2_SENS (m%/°C2) × (ΔTA)2 (°C) + 1 ] (2)
其中,在一定温度 T 下的 SENS(ΔTA),其实际计算方法为:
(SENS @ 25°C) / (记录 SENS @ T°C) (3)
用户可编程参数如下表所述:
表 1:灵敏度补偿的输入变量参数 | 定义 | 单位 |
TC1_SENS | 一阶增益温度系数。应用于 灵敏度随温度变化一阶项的系数。 |
m%/°C |
TC2_SENS | 二阶增益温度系数。应用于 灵敏度随温度变化二阶项的系数。 |
m%/°C2 |
使用计算得出的温度系数 TC1_SENS 和 TC2_SENS ,将得到应用于传感器输入信号的温度相关增益。需要牢记,共有两组参数:一组补偿 25°C 以下的温度,一组补偿 25°C 以上的温度。
偏移温度补偿,标记为 OFFSET(ΔTA),用于改变传感器作用于输入磁场信号的温度偏移行为。OFFSET(ΔTA) 的方程式用线性一阶函数表达:
OFFSET(ΔTA) =
TC1_OFFSET (mG/°C)× ΔTA (°C) ×
DIV_SENS_COARSE (mV/G) (4)
其中在一定温度 T 下的 OFFSET(ΔTA) ,其实际计算方法为:
OFFSET(ΔTA) = (OFFSET @ 25°C) –
(记录 OFFSET @ T°C) (5)
使用计算得出的系数 TC1_OFFSET 可以得到温度相关偏移行为。
若为 A1343 设备,参数 DIV_SENS_COARSE 则不可用,因为其温度补偿算法不使用此参数计算。
表 2:偏移补偿的输入变量
参数 | 定义 | 单位 |
TC1_OFFSET | 一阶偏移温度系数。应用于偏移随温度变化一阶项的系数。 | mG/°C |
DIV_SENS_COARSE | 不同磁性范围的偏移补偿系数它会随磁场改变而改变。磁场值为 ±500 G,偏移补偿系数为 1。例如,如果磁场范围变为 ±300 G,其系数值则为 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 |
100 | 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 = (VOUT @ 位置 2 – VOUT @ 位置 1)
/ (位置 2 – 位置 1) (6)
表 4
温度 (°C) |
灵敏度 (V/°C) |
灵敏度 (V/°C) |
灵敏度 (V/°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 |
100 | 0.187 | 3.73 | 169.85 |
125 | 0.180 | 3.60 | 163.90 |
150 | 0.173 | 3.46 | 157.35 |
为计算补偿函数 SENS(ΔTA) 与 ΔTA 的值,可使用表 4 录得数据套入方程式 3。该方程式有效表现出相对 25 °C 的反向标准化。所得数据如下表所列(注意:温度值现以 ΔTA值表示,代表相对于 25°C 的偏差):
表 5:标准反向灵敏度与温度
ΔTA (°C) |
标准反向 灵敏度 |
|
(低温) | –65 | 0.954 |
–45 | 0.967 | |
–25 | 0.981 | |
0 | 1.000 | |
(高温) | 25 | 1.017 |
50 | 1.041 |
|
75 | 1.072 | |
100 | 1.110 | |
125 | 1.157 |
图 3 中给出了表 5 的图解示意图。

鉴于 Allegro 传感器在高温和低温时有不同的补偿温度系数编码,以上曲线划分为两个区域:高温区, 0°C 及以上的 ΔTA,用以下方程式表示:SENS(ΔTA) = 1.408E-06x2 + 7.994E-04x + 1.000.低温区,X 坐标轴上 0°C 以下的 ΔTA ,用以下方程式表示:SENS(ΔTA) = 5.941E-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 |
可编程灵敏度系数
温度调整的计算值可在 “Value” 栏下直接输入软件,用户也可手动计算编码,然后输入“Code”栏。
如果用户将所得系数输入 ”Value“ 栏下,软件即会四舍五入取整设备提供的最接近离散值的实际数字。比如,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 |
100 | 2.56 | 50.06 | 2047 |
125 | 2.6 | 50.09 | 2047 |
150 | 2.61 | 50.11 | 2047 |
一旦获得各温度上的偏移值,即可使用方程式 5 计算补偿曲线。

从图 7 可以得出,温度相关的偏移可如下计算:
OFFSET(ΔTA) = –0.0009 × ΔTA + 0.0004.
记录行为以 mV/°C 为单位,表达公式为:
OFFSET(ΔTA) = TC1_OFFSET (mG/°C) × ΔTA (°C)
× DIV_SENS_COARSE (mV/G).
常数项 0.0004 接近于零,可忽略不计。函数增益 0.0009 是 TC1_OFFSET (mG/°C) × DIV_SENS_COARSE (mV/G) 的乘积,所以有必要用增益数字除以 DIV_SENS_COARSE (mV/G),而除数取决于所选磁场粗测范围。若所选范围为 250G,那么参数 DIV_SENS_COARSE (mV/G) 的值则为 0.5。
表 8:偏移系数值
偏移系数 | 值 |
TC1_OFFSET(mG/°C),适用于 +/-250G 范围 | 0.0009 / 0.5 = –0.002 |
可编程灵敏度系数
温度调整的计算值可在 “Value” 栏下直接输入软件,用户也可手动计算编码,然后输入“Code”栏。

如果用户需要计算所需编码,可参考下表(从数据表中提取)。
