A1340、A1341和A1343传感器温度补偿
A1340、A1341和A1343传感器温度补偿
作者:Nevenka Kozomora和Jesse Lapomardo,
雷竞技竞猜下载Allegro微系统有限责任公司
介绍
由于传感器缺陷或磁性系统的温度相关特性,传感器输出会随温度变化。在传感器内部进行温度补偿的目的是使传感器的输出值不受温度的影响,而只受输入磁场强度的影响。
实施
Allegro传感器允许用户通过使用传感器温度补偿系数来改变传感器对温度偏差的响应方式。这些系数是在图1所示的温度补偿块中实现的传感器温度算法的一部分。
温度补偿块的传递函数如下所示:
五出去(五) =传感器(ΔTA)×伏在(五) +偏移量(ΔTA)(1)
其中TA是环境温度,ΔTA=TA–25摄氏度。
这个灵敏度温度补偿,标记为SENS(ΔTA),用于控制温度对传感器施加在输入磁场上的增益的影响信号。信号灵敏度温度补偿描述为二阶多项式函数:
传感器(ΔTA) =
[TC1_SENS(m%/°C)×ΔTA(摄氏度)+
TC2_传感器(m%/°C2)×ΔTA)2(°C)+1](2)
其中SENS(ΔTA)在某些温度下,T实际上计算为:
(25°C时的传感器)/(T°C时记录的传感器)(3)
用户可编程参数如下表所示:
表1:灵敏度补偿的输入变量参数 | 定义 | 单位 |
TC1传感器 | 一阶增益温度系数。应用于的系数 灵敏度的一阶项随温度变化。 |
米%/°C |
TC2传感器 | 二阶增益温度系数。应用系数 灵敏度随温度变化的二阶项。 |
米%/°C2 |
应用补偿系数TC1_SENS和TC2_SENS(如计算)将导致应用于传感器输入信号的与温度无关的增益。必须记住,这些参数有两组,一组用于补偿25℃以下的温度,另一组用于补偿25℃以上的温度。
这个偏置温度补偿n、 标记为偏移量(ΔTA),用于改变传感器应用于输入磁信号的偏移量的温度特性。偏移量(ΔTA)的方程描述为线性一阶函数:
偏移量(ΔTA)=
TC1_偏移量(mG/°C)×ΔTA(摄氏度)
分区传感器粗(mV/G)(4)
其中偏移量(ΔTA)在某些温度下,T实际上计算为:
偏移量(ΔTA)=(25°C时的偏移量)–
(T°C时记录的偏移量)(5)
应用计算的系数TC1_OFFSET将导致温度无关的偏移行为。
在A1343设备的情况下,参数DIV\u SENS\u rough不适用,因为温度补偿算法不考虑此参数。
表2:偏移补偿的输入变量
参数 | 定义 | 单位 |
TC1\U偏移 | 一阶偏置温度系数。应用于偏移量随温度变化的一阶项的系数。 | 毫克/摄氏度 |
分区传感器粗糙 | 不同磁区的偏移补偿系数。它分别随磁场的变化而变化。对于±500 G的值,它等于1。例如,如果场范围更改为±300 G,则系数值将为3/5。 | 毫伏/克 |
计算灵敏度补偿
Allegro传感器通常与特定操作位置的未知磁场强度的永磁体一起使用。因此,精确计算系统灵敏度每高斯是不可能的。但是,可以根据设备位置计算灵敏度。
在下面的示例中,用户在移动范围的两个不同点收集设备输出。位置1为–10度,位置2为+10度。
表3:设备输出示例
温度 (摄氏度) |
带模拟输出的传感器 | 带PWM输出的传感器 | 发送输出的传感器 | |||
传感器输出 @位置1 (五) |
传感器输出 @位置2 (五) |
传感器输出 @位置1 (%D) |
传感器输出 @位置2 (%D) |
传感器输出 @位置1 (最低有效位) |
传感器输出 @位置2 (最低有效位) |
|
–40 | 0.354 | 4.548 | 8 | 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 |
整个温度范围内的灵敏度可计算为:
传感器=(V出去@位置2–V出去@位置1)
/(位置2–位置1)(6)
表4
温度 (摄氏度) |
敏感 (V/°C) |
敏感 (%D/°C) |
敏感 (最低有效温度/°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 |
50 | 0.197 | 3.93 | 179 |
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 (摄氏度) |
归一化逆 敏感 |
|
(冷) | –65 | 0.954 |
–45 | 0.967 | |
–25 | 0.981 | |
0 | 1 | |
(热的) | 25 | 1.017 |
50 | 1.041 |
|
75 | 1.072 | |
100 | 1.110 | |
125 | 1.157 |
表5的图示如图3所示:
由于Allegro传感器在高温和低温下有不同的温度系数代码进行补偿,因此上述曲线分为两个区域。热区,从ΔTA0°C及以上时,用以下等式描述:SENS(ΔTA)=1.408E-06倍2+7.994E-04x+1.000。寒冷地区,ΔT以下Ax轴上0°C的温度由以下等式控制:SENS(ΔTA)=5.941E-06倍2+5.094E-04x+1.000。
可编程系数现在可以从上述方程计算出来。请注意,要转换为m%,应引入系数105。
表6:计算温度补偿系数
系数 热的 |
价值 | 系数 冷的 |
价值 |
TC1感热 (米%/°C) |
79.94 | TC1传感器CLD (米%/°C) |
50.94 |
TC2感热 (米%/°C2) |
0.1408 | TC2传感器CLD (米%/°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:过温电压偏移
温度 (摄氏度) |
抵消 (五) |
抵消 (%) |
抵消 (最低有效位) |
–40 |
2.45 | 49.95 | 2047 |
–20 | 2.46 | 49.96 | 2047 |
0 | 2.47 | 49.97 | 2047 |
25 | 2.5 | 50 | 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可以看出,温度偏移量可以计算为
偏移量(ΔTA)=–0.0009×ΔTA+ 0.0004.
记录的行为单位为mV/°C,表示公式:
偏移量(ΔTA)=TC1_偏移量(mG/°C)×ΔTA(摄氏度)
×DIV\u SENS\u粗(mV/G)。
常数项0.0004接近于零,因此可以忽略。0.0009的函数增益是TC1_OFFSET(mG/°C)×DIV_SENS_rough(mV/G)的乘积,因此有必要将增益数除以DIV_SENS_rough(mV/G),这取决于所选的磁粗范围。如果选择的范围为250 G,则参数DIV_SENS_rough(mV/G)的值为0.5。
表8:偏移系数值
偏移系数 | 价值 |
+/-250 G范围内的TC1_偏移量(mG/°C) | 0.0009 / 0.5 = –0.002 |
程序灵敏度系数
温度调整的计算值可以直接在软件的“值”栏下输入,或者用户可以手动计算代码并在“代码”栏下输入。
如果用户希望计算必要的代码,可使用从数据表中提取的下表作为指导