嵌入式
返回首页

利用MAX1452实现远端传感器补偿

2012-02-02 来源:21IC

引言

MAX1452是高性能、低成本信号调理器,它具有片内闪存、片内温度传感器和全模拟信号通路。各种工业和汽车传感器领域都采用了信号调理器,包括只限于对两个温度点进行补偿的应用。这种限制是出于成本、生产的考虑,并且无法将传感器和信号调理器保持在同一温度下。

MAX1452信号调理器支持两种补偿方法:

  1. 第一种方法在两个温度点之间进行线性外推处理(针对FSO和OFF DAC值),以相应的温度系数装入OFF和FSO查找表的每一单元,以纠正输入信号的TC偏差。在这种方法中,OTC和FSOTC DAC被设置为任一固定值(和补偿过程使用的数值一样)。在工作期间,随MAX1452温度的变化,以相应的系数来更新OFF和FSO DAC,从而补偿输入信号。
     
  2. 在第二种方法中,把OFF和FSO查找表当做一个DAC。利用随温度变化的电桥激励电压(VB)作为温度参数,该电压是OTC和FSOTC DAC的基准电压。根据补偿期间的测量结果,计算OFF、FSO、OTC和FSOTC DAC的值。当MAX1452和传感器无法保持同一温度时,必须采用这一方法。它也可以用于MAX1452和传感器温度相同的情况。

这两种方法应该产生相似的结果。如果正确实施,这些方法能够完全消除输入信号TC误差的线性分量,降低输出误差,只剩下输入信号TC误差的非线性分量。

MAX1452用户手册详细介绍了第一种方法,本应用笔记不再介绍。下面介绍通常被称为远端传感器补偿的第二种方法。

远端传感器补偿过程

下面介绍怎样补偿压力变送器,它采用了MAX1452和100KPaG PRT压力传感器。表1和图1至图3列出了补偿结果。变送器通过补偿来产生所需的0.5V失调电压[VOUT(PMIN)]和4.0V FSO电压[VOUT (PMAX) - VOUT (PMIN)]。因此,满量程压力检测输出电压[VOUT(PMAX)]应该是4.5V。补偿过程至少需要两个压力点(零和满量程)以及两个任意温度点(T1和T2,其中T2 > T1)。选择的T1和T2应该使数据点达到最佳线性拟和,以降低整个工作温度范围内的误差。

下面列出了补偿过程的主要步骤:

  1. 系数初始化
  2. FSO校准
  3. FSO和FSOTC补偿
  4. OTC补偿
  5. OFF补偿

系数初始化

在开始之前,必须设置PGA增益、IRO索引和DAC,以防止PGA输出在补偿过程中过载。这些数值取决于传感器特性,可以参考传感器数据资料,获得传感器特性。

选择PGA增益设置

对于典型的2.5V电桥激励电压(VB),以测得的传感器步长(VSOUT)来划分变送器的满量程输出电压(VFSODESIRED),计算所需的信号增益。然后,从MAX1452数据资料的PGA表中选择给出更大的PGAGAIN的PGAINDEX。

例如,2.5V激励0.0364V输出和4.0V VFSODESIRED的传感器需要110V/V的信号增益。根据数据资料的PGA表,选择PGA[3:0] = 0110,它对应于117V/V增益。

选择IRO索引

计算典型2.5V电桥激励电压时的传感器失调。然后,从MAX1452数据资料IRO表中,选择最接近IRO DAC输出的IROINDEX,但是它应该和传感器的失调反向。

例子:对于+30mV失调的传感器,选择IRO[2:0] = 011,符号位 = 0,对应于-27mV失调校准。

选择初始OTC DAC值

通常情况下,因为在以后补偿OTC,因此一开始可以把OTC DAC值设置为零。但是,具有较大失调TC误差的传感器可能需要先进行粗略的OTC调整,以防止输出在补偿期间出现饱和。对于失调TC误差大于满量程输出10%的传感器,建议采用不为零的OTC初始值。可以按下面的公式来计算初始OTC值:



其中,VB(T1) = 2.5V,利用传感器数据资料提供的传感器参数计算VSOUT(T1)、VSOUT(T2)和VB(T2)。

必须将OTC值写入到OTC DAC中,并相应地设置配置寄存器的OTC符号位。

FSO校准

按照以下步骤确定初始FSO DAC值:

  1. 将FSOTC DAC设置为任意值,例如0。
  2. 传感器加载PMIN。PMIN代表最小压力。
     
  3. 调整FSO DAC,直到电桥激励电压接近2.5V。
     
  4. 测量电桥激励电压(VB)。
     
  5. 调整OFF DAC,将PGAOUT电压设置为0.5V。
     
  6. 测量PGAOUT,VOUT(PMIN)。
     
  7. 传感器加载PMAX。PMAX代表最大压力。
     
  8. 测量PGAOUT,VOUT(PMAX)。
     
  9. 按照下面的公式计算VBIDEAL:



    如果VBIDEAL超出允许范围[1.5V至(VDD - 0.5V)],重新调整PGAGAIN设置。如果VBIDEAL过低,在第一步中减小PGAGAIN,然后返回第二步。如果VBIDEAL过高,在第一步中增大PGAGAIN,然后返回第二步。注意,在整个操作范围内,须满足1.5V < VB < (VDD - 0.5V)的范围限制。因此,必须为VB随温度变化留有足够的裕量。
  10. 通过调整FSO DAC设置VBIDEAL。
     
  11. 重新调整OFF DAC,直到PGAOUT达到0.5V。

FSO和FSOTC补偿

可以通过四个步骤来确定FSO和FSOTC系数。在第一步中,确定在T1产生VBIDEAL的两对FSO和FSOTC值。在第二步中,确定在T2产生VBIDEAL的两对FSO和FSOTC值。在第三步,把在T1和T2测得的FSO和FSOTC值代入相应的公式中,计算补偿FSO和FSOTC,理论上,这些值将产生适用于任意温度的VBIDEAL。在第四步中,调整FSO DAC,以微调满量程输出。

  1. T1的理想电桥电压,VBIDEAL(T1)

      A. 把温度设置为T1,使电桥电压有足够的吸收时间,稳定在0.1mV/min以内。

      B. 传感器加载PMIN。

      C. 测量电桥激励电压(VB)。

      D. 测量PGAOUT,VOUT(PMIN)。

      E. 传感器加载PMAX。

      F. 测量PGAOUT,VOUT(PMAX)。

      G. 利用公式2计算VBIDEAL(T1)。

      H. 通过调整FSO DAC设置VBIDEAL。

      I. 重新测量VOUT(PMAX)和VOUT(PMIN),验证已经达到了合适的VFSODESIRED电平。如果没有,从B开始,重新进行所有步骤。

      J. 把当前的FSO和FSOTC值分别记为FSO1(T1)和FSOTC1(T1)。

      K. FSO DAC数值增加(或减小) 5000个计数值。

      L. 调整FSOTC DAC值,直到VB = VBIDEAL(T1)。

      M. 把当前的FSO和FSOTC值分别记为FSO2(T1)和FSOTC2(T1)。

      N. 传感器加载PMIN。

      O. 读取输出电压,并记录为VOUT(T1)。后面的OTC补偿将用到该数值。

      P. 读取VB,并记录为VB(T1)。该数值应该和VBIDEAL(T1)相同,后面的OTC补偿需要。
  2. T2的理想电桥电压,VBIDEAL(T2)

      A. 把温度设置为T2,使电桥电压有足够的吸收时间,稳定在0.1mV/min以内。

      B. 传感器加载PMIN。

      C. 读取输出电压,并记录为VOUT(T2)。后面的OTC补偿将用到该数值。

      D. 读取VB,并记录为VB(T2)。

      E. 通过和上面相同的步骤确定VBIDEAL(T2)值。

      F. 通过和上面相同的步骤确定FSO1(T2)和FSOTC1(T2)值。

      G. 通过和上面相同的步骤确定FSO2(T1)和FSOTC2(T2)值。

      H. 传感器加载PMIN。
  3. 计算FSO和FSOTC系数。

      A. T1处的FSO和FSOTC曲线/函数:



      B. T2处的FSO和FSOTC曲线/函数:



      C. 最终的FSO系数:



      D. 最终的FSOTC系数:


     
  4. 将计算的FSO和FSOTC值装载到FSO和FSOTC DAC中,如果需要,调整FSO DAC,直到电桥激励电压等于VBIDEAL(T2)。

这就完成了FSO和FSOTC补偿。在这一点,变送器的FSO输出必须等于VFSODESIRED电平。

OTC补偿

由于已经收集到了计算最终OTC值所需的全部信息,可使用下式计算:



其中:
NewOTC是最终OTC系数;
CurrentOTC是OTC DAC中的当前值;
VOUT(T1)和VB(T1)是T1的最后一次测量值;
VOUT(T2)和VB(T2)是T2吸收后的第一次测量值。

把NewOTC值写入OTC DAC,并相应的在配置寄存器中设置OTC DAC符号位。

OFF补偿

在这一点,传感器还应该保持在温度T2和压力PMIN。通过调整OFF DAC,完成T2或者T1的最终失调调整,如果需要,调整OFF DAC符号位,直到VOUT等于所需要的失调电压(在这一例子中是0.5V)。

现在完成了传感器补偿!

验证传感器补偿

把变送器置于各种温度和压力点下,来验证补偿效果,校验PGAOUT。

实例

下面的数据展示了上面详细阐述的过程的效果。采用了100KpaG测量传感器(序列号:NPH-8-100GH),其输出补偿为PMIN = 0,PMAX = 100KpaG,T1 = -40°C和T2 = +125°C。目标输出电压为PGAOUT(PMIN) = 0.5V,PGAOUT(PMAX) = 4.5V。在补偿过程完成时,补偿后的变送器为T = -40°C,0°C,+25°C,+75°C和+125°C。两点温度补偿完全消除了传感器误差的线性部分。补偿后变送器的总误差和未补偿传感器误差的非线性分量大致相当。

表1列出了未补偿和补偿后变送器的测量输出和计算误差。未补偿传感器的误差有两种形式:总误差(TE)和非线性误差(NE)。TE由TC误差的线性和非线性组成(以25°C间隔为参考)。NE是总误差减去所计算误差的线性分量,误差是指和通过数据两个端点的直线的偏差(端点直线拟和)。表1中的数据在图1至图3中以曲线的形式表示。图1所示是未补偿传感器的总误差;图2是未补偿传感器误差的非线性分量;图3是变送器补偿后的总误差。数据表明两点补偿过程完全消除了传感器的线性分量,变送器补偿后的TE和未补偿传感器的非线性分量大致相当。

表1. 未补偿传感器和补偿后的变送器数据

Temp
(°C)
Uncompensated Sensor
(PMIN = 0; PMAX = 100KPaG; VB = 5V)
Compensated Transducer
(PMIN = 0; PMAX = 100KPaG; VDD = 5V)
Offset (mV) FSO (mV) Total Error
(% FSO, Referenced at +25°C)
Nonlinear Error
(% FSO, End-Point Fit)
Offset (V) FSO (V) Total Error
(% FSO, End-Point Fit)
Offset FSO Offset FSO Offset FSO
-40 -4.2 97.7 -5.3 9.9 0.0 0.0 0.496 4.006 -0.1 0.2
0 -1.0 89.3 -1.5 3.8 1.5 -1.8 0.553 3.933 1.3 -1.7
+25 0.3 84.8 0.0 0.0 1.6 -2.0 0.565 3.930 1.6 -1.8
+75 2.5 76.6 2.6 -7.1 1.3 -1.5 0.552 3.957 1.3 -1.1
+125 3.8 69.2 4.1 -14.3 0.0 0.0 0.500 4.001 0.0 0.0

在这个例子中,对极端温度点进行了补偿,对测量的数据进行了端点直线拟和,以便清楚地演示两点温度补偿的效果。极端温度点并不是传感器补偿最佳点,因为误差会偏向一侧(理论上,幅度加倍)。在应用中,需要凭经验选择最佳温度补偿点,这样,变送器误差均匀分布在0%误差线附近。一般情况下,满量程的25%和75% (中点)温度点将给出最佳误差分布。如果在这个例子中选择了最佳补偿温度点,那么,误差分布大约在表1所示误差一侧的±½ (以0%误差线为中心)。


图1. 未补偿传感器总误差—结合了一阶和二阶误差


图2. 未补偿传感器的二阶误差,是图1中数据端点直线的偏差。


图3. 变送器补偿后的误差。这是系数补偿后的总误差。两点温度补偿只能纠正误差的线性部分。

结论

  1. 本应用笔记旨在作为一个实例来演示远端传感器补偿过程,介绍手动操作实现补偿的方法。MAX1452用户手册介绍了更适合自动补偿的其他方法,该手册包含在评估板软件工具中,可以从Maxim网站下载。
     
  2. 为充分发挥MAX1452的功能,需要进行两次补偿。第一次是确定OTC和FSOTC系数,以有效地校正TC误差的线性分量,如本文档所述。第二次是多点温度补偿,以正确的系数填充OFF和FSO查找表,抵消剩余的非线性TC误差。MAX1452用户手册介绍了多点温度补偿过程。
     
  3. 在生产环境中,能够以标称值装载OTC和FSOTC DAC,只进行一次多点温度补偿,以充分利用MAX1452的功能。之所以这样,是因为类似传感器的TC特性(例如,灵敏度和失调等)非常相似。在代表性的样片上进行两点补偿就可以确定标称OTC和FSOTC (以及PGAGAIN和IRO)值。
  4. 在本应用笔记中,MAX1452可以作为一种产品选择。但是,该过程也适用于MAX1455,因为这两种产品只有很小的差别。
进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 红外线探测报警器

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 基于ICL296的大电流开关稳压器电源电路

    相关电子头条文章