close
当前位置: 北京赛车软件平刷王 > 物联网设计开发 > 技术文章 >

无论环境如何,都可获得高精度,多通道温度测量

尽管温度测量是许多应用的常见要求,但开发人员在确保高度准确的结果方面面临严峻的挑战??朔庑┨粽酵ǔ;岬贾律杓聘丛雍蜕杓浦芷谘映?,但新设备正在降低复杂性。
本文简要讨论与开发精确解决方案相关的温度测量要求和挑战。本文随后介绍了凌力尔特 LTC2986-1温度传感器,描述了它如何应对这些挑战,并展示了开发人员如何利用包括热电偶,RTD和热敏电阻在内的各种温度传感器在典型应用中利用这些功能。

温度测量要求和技术

在构建强大的温度测量系统时,设计人员利用各种传感器类型来满足其对成本,精度和温度范围的特定要求。在传感器类型中,热电偶通常用于恶劣环境,能够测量低至-265°C至1800°C以下的温度。
热电偶会产生一个电压,该电压是尖端与其冷端之间温差的函数 - 用于创建热电偶的两根电线的末端。因此,整体测量精度取决于精确测量热电偶电压和冷端。
由于塞贝克效应,热电偶会产生电压梯度,但其他常见的温度传感器(包括电阻式温度检测器(RTD),热敏电阻,甚至二极管)都需要激励电流来产生与温度相关的电压输出。作为电阻器件,RTD和热敏电阻还需要一个与激励电流源串联的精密检测电阻。检测电阻与电阻设备形成一个电阻网络,用于传感器两端电压的比例式测量。最后,对于每种类型的传感器,开发人员需要应用适当的方法,使用查找表或方程将测量结果转换为线性化温度数据。
除了处理传感器外,开发人员在确保温度测量系统正常运行时面临着多重挑战。温度传感器通常放置在暴露于工厂,商业环境,建筑物和家庭恶劣环境中的地方 - 无论应用何时需要测量空气或流体流动中的温度梯度。在工业应用中,传感器和测量系统输入之间的电缆长期暴露在电噪声,磨损和外部电压源下,从而可能损坏传感器及其测量系统。
工程师采用各种方法处理影响温度测量系统性能的各种因素。随着大量温度传感器需求的增长,传统方法通?;岬贾赂蟮纳杓聘丛佣?,从而增加部署和维护成本。凌力尔特LTC2986-1解决了这些挑战,能够以最小的开发成本从多个传感器提供精确的温度测量结果。

降低复杂性

旨在简化设计的凌力尔特LTC2986-1是一款多通道温度测量系统,内置支持大多数传感器类型,包括热电偶,热电阻,热敏电阻,二极管和有源模拟温度传感器。由于该器件集成了完整的信号路径,转换,线性化和其他功能,因此开发人员可以实现高度精确的温度测量设计,而温度传感器本身之外的附加元件却很少(图1)。尽管该系列的早期成员(如凌力尔特LTC2984)提供了更多的输入通道,但LTC2986-1提供了额外的工作模式,可提供独特的解决方案,以提高准确度,如下所述。
Linear Technology LTC2986-1的图解
图1:设计人员可以将各种温度传感器连接到凌力尔特LTC2986-1,LTC2986-1提供10个输入通道,可编程电流源,内置线性化表和故障检测功能。(图片来源:Linear Technology)
对于RTD,热敏电阻和二极管,器件会自动产生特定电平的激励电流,测量所得到的传感器电压,并生成°C或°F的线性化结果。LTC2986-1为大多数RTD和热敏电阻预先编程了转换和线性化数据。同样,该器件预配置几乎所有标准热电偶,并支持使用RTD,热敏电阻,二极管或有源模拟温度传感器进行冷端补偿。对于温度测量,器件自动解决将热电偶输出电压和冷端测量转换为有用温度读数所涉及的多项式方程。有关更多一般转换要求,
除了工业标准器件的数据外,该器件还可与定制RTD,热电偶,二极管,有源传感器和热敏电阻一起使用。对于自定义设备,开发人员使用包含多达64个数据点的查找表来加载内存,该数据点表示传感器输出值与温度的关系 对于定制热敏电阻,开发人员还可以直接向设备加载最多六个由热敏电阻制造商提供的Steinhart-Hart系数。与标准传感器的内置数据一样,该器件在转换过程中使用这些自定义系数和查找表进行最终温度插值以及软故障检测(图2)。
凌力尔特LTC2986-1图可以使??用开发人员创建的查找表
图2:凌力尔特LTC2986-1可以使用开发人员创建的自定义设备查找表,当输入值超出提供的输入数据范围时自动生成故障。(图片来源:Linear Technology)

增强的准确性和?;?/h2> 对于转换过程,该设备使用多个周期来提供更高的准确度。在正常操作中,器件在产生最终温度结果之前使用两个转换周期来补偿偏移误差和噪声??⑷嗽币部梢栽谌芷谀J较率褂酶闷骷?,以较慢的测量为代价提供了一些好处; 在三周期模式下约为251毫秒(ms),在两周期模式下约为167 ms。
在三周期模式下,器件可以通过在第一个周期中产生电流脉冲,然后进行正常的双周期转换过程来执行开路检测。如果设备在随后的转换周期内检测到大电压,它将设置一个状态位以报告硬故障,表明可能损坏热电偶或电缆。此外,该设备还能够报告来自开路的硬故障以外的多种不同的故障状况(图3)。
故障 错误类型 描述 输出结果
D31 传感器硬故障 开路或硬ADC或硬CJ -999°C或°F
D30 硬ADC超出范围 错误的ADC读数(可能是leage外部噪声事件) -999°C或°F
D29 CJ硬故障 冷接点传感器具有硬故障错误 -999°C或°F
D28 CJ软故障 柔软的 冷端传感器结果超出正常范围 怀疑阅读
D27 传感器过电压 柔软的 热电偶读数大于上限 怀疑阅读
D26 传感器欠压 柔软的 热电偶读数低于下限 怀疑阅读
D25 ADC超出范围 柔软的 ADC绝对输入电压超过±1.125×V REF / 2 怀疑阅读
D24 有效 N / A 结果有效(应为1)如果为0,则放弃结果 有效阅读
图3:凌力尔特LTC2986-1针对所有传感器读数生成硬故障和软故障,并为与热电偶传感器相关的冷端测量提供附加结果,如下所示。(图片来源:Linear Technology)
除了?;びτ贸绦蛎馐艽衅鞴收贤?,开发人员通常采用设计技术来?;げ饬肯低潮旧?。温度传感器通常用在恶劣的环境中。诸如热电偶之类的传感器通常是未屏蔽的,为测量系统的输入提供了易于接近的导电路径。即使使用RTD或热敏电阻等封装传感器,也会损坏电缆,导致引线可能短路至高电压或彼此接触。最后,即使是小心的操作人员和技术人员也会不小心做出不正确的电缆连接,特别是在设计用于不同传感器类型的通用硬件连接的应用中。
为了帮助?;げ饬肯低趁馐芄骨榭龅挠跋?,开发人员通常在测量系统的传感器和输入通道之间放置限流电阻。通常情况下,设计人员会增加电容来创建一个低通滤波器来衰减噪声源。这些滤波器可以延长建立时间,这在使用激励电流脉冲的方法中特别有问题,如前面所述的LTC2986-1转换过程。除了稳定时间引起的复杂情况外,使用?;さ缱杌嵊跋觳饬烤?。
LTC2986-1提供的功能和工作模式专为减轻?;さ缱璧拇渭恫焕跋於杓?。例如,为了对由于器件输入端的较大滤波器而导致的扩展建立时间进行计数,开发人员可以对器件的输入多路复用器切换时间进行额外延迟编程。该器件独特的激励电流模式可以对结果产生更大的影响,从而解决了与?;さ缱柘喙氐母蟮拇缱栉侍?。
尽管对于安全至关重要,但对于RTD或热敏电阻等任何电阻设备而言,?;さ缱栌绕涑晌侍?。在两端电阻器件中,当激励电流流过?;ぴ母郊哟缱枋?,添加?;さ缱杌嵊跋斓缪共饬?。由于传感器是电阻器,开发人员通常面临将传感器电阻与?;さ缱杓捌湟呦喙氐母郊哟缱璺挚奶粽?。
为了解决这个问题,工程师采用了3线RTD,利用RTD端子和额外导线之间的电阻来测量引线电阻。当然,这种方法需要仔细匹配引线长度和串联电阻以确保准确性。为避免匹配问题,更好的解决方案采用4线或开尔文传感,在每个端子上使用电阻(图4)。
传统4线RTD的示意图
图4:传统的4线RTD允许电流旁路用于?;げ饬客ǖ溃ù舜ξ狢H3和CH4)的串联电阻,因此通过这些通道的泄漏电流非常低,因此测量误差受到限制。(图片来源:Linear Technology)
在此配置中,电流沿着测量通道(CH3和CH4)上不包含串联?;さ缱璧穆肪叮ㄍ?中的CH1至CH5)。任何流经测量通道的电流都限制在器件漏电流。由于LTC2986-1的输入漏电流小于1纳安(nA),相关的测量误差通常远低于任何所需的分辨率水平。
但是,对于LTC2986-1,这种方法不限于4线RTD。工程师可以将器件配置为使用3线RTD,2线RTD和热敏电阻执行开尔文检测。
对于这些传感器类型中的每一种,LTC2986-1都提供独特的激励模式,使用相邻通道作为电流通路。为了实现这种模式,开发人员在每个传感器端子和独立的LTC2986-1输入之间连接一个额外的?;さ缱?。然后,通过简单地在LTC2986-1配置寄存器中设置一位并适当配置输入通道(图5),可以启用该额外的电流路径。与更传统的4线设备一样,激励电流避免了测量通道,相应地减少了测量误差。
Linear Technology LTC2986-1相邻通道的Digram
图5:开发人员可以将凌力尔特LTC2986-1配置为使用相邻通道作为激励电流路径,为2线RTD和热敏电阻提供开尔文检测的优势。(图片来源:Linear Technology)
无论设计人员是否使用这种替代激励模式,他们仍然需要遵循基本协议来设置LTC2986-1的传感器。为了实现传感器连接,他们需要分配通道并加载相关的存储器位置和传感器配置数据(图6)。该通道分配数据位于RAM中的连续位置,与设备的10个输入通道中的每一个通道都是一一对应的。RAM编程完成后,开发人员可以在设备的内置EEPROM中保存配置,以便在随后的掉电或休眠周期后进行恢复。
凌力尔特LTC2986-1通道分配数据??橥? height=
图6:要配置凌力尔特LTC2986-1,开发人员创建包含关联传感器详细信息的通道分配数据块。(图片来源:Linear Technology)
在存储器中的每个通道分配数据块内,开发人员定义传感器配置的详细信息,包括传感器类型,通道,传感器配置,激励电流以及标准或自定义转换信息的预定义值。图6显示了一个设备的存储器映射,图中左上角显示了PT-100 RTD(图7)。
与PT-100 RTD相关的存储器映射表
图7:通道分配数据包含每个传感器的配置细节 - 这里显示与PT-100 RTD相关的存储器映射,如图6左上方所示。(图片来源:Linear Technology)
在复杂的多传感器温度系统中为每个通道配置适当的存储器映射需要仔细关注每个细节。由于该设备内置了对各种传感器和传感器类型的支持,因此开发人员需要确保为其特定传感器选择正确的代码。配置错误可能会严重影响结果。
为了消除人工配置,凌力尔特提供了一个免费的Windows ®基于LTC2986演示软件程序,让开发人员能够使用下拉菜单与每个频道的可用选项指定配置??⑷嗽笨梢源友菔景寤騆TC2986-1数据表中显示的特定图表加载配置示例(图8)。
Linear Technology LTC2986演示软件的图片
图8:凌力尔特LTC2986演示软件简化了器件的使用,为相关硬件板和LTC2986-1数据表中的示例提供了预定义配置的下拉选择。(图片来源:Linear Technology)
例如,上图6中所示的两个4线RTD配置取自LTC2986-1数据表中的图22。从程序的配置下拉菜单中选择该数字可以为该配置生成相应的设置(图9)。
Linear Technology LTC2986演示软件的图片
图9:凌力尔特LTC2986演示软件可生成用于生成通道分配数据的详细配置。(图片来源:Linear Technology)
除了简化配置的创建之外,该程序还可以评估自定义配置以确保正确的分配。最重要的是,该程序可以生成一组相应的C语言头文件和软件程序,这些程序可以在凌力尔特的DC2026 Arduino兼容的Linduino One板上执行,而不需要进一步的操作。
例如,图9所示配置的C代码的生成会自动生成一个初始化例程,其中包含实现图7中所示的所需内存映射的软件分配。如清单1所示,生成的代码使用附带的定义常量来创建适当的通道分配语句(清单1)。
   .  .  .
void configure_channels()
{
  uint8_t channel_number;
  uint32_t channel_assignment_data;
 
  // ----- Channel 2: Assign Sense Resistor -----
  channel_assignment_data =
    SENSOR_TYPE__SENSE_RESISTOR |
    (uint32_t) 0x9C4000 << SENSE_RESISTOR_VALUE_LSB;            // sense resistor - value: 10000.
  assign_channel(CHIP_SELECT, 2, channel_assignment_data);
  // ----- Channel 4: Assign RTD PT-100 -----
  channel_assignment_data =
    SENSOR_TYPE__RTD_PT_100 |
    RTD_RSENSE_CHANNEL__2 |
    RTD_NUM_WIRES__4_WIRE |
    RTD_EXCITATION_MODE__ROTATION_SHARING |
    RTD_EXCITATION_CURRENT__100UA |
    RTD_STANDARD__ITS_90;
  assign_channel(CHIP_SELECT, 4, channel_assignment_data);
  // ----- Channel 7: Assign RTD PT-500 -----
  channel_assignment_data =
    SENSOR_TYPE__RTD_PT_500 |
    RTD_RSENSE_CHANNEL__2 |
    RTD_NUM_WIRES__4_WIRE |
    RTD_EXCITATION_MODE__NO_ROTATION_SHARING |
    RTD_EXCITATION_CURRENT__50UA |
    RTD_STANDARD__AMERICAN;
  assign_channel(CHIP_SELECT, 7, channel_assignment_data);
 
}
   .  .  .
// -------------- Run the LTC2986 -------------------------------------
 
void loop()
{
  measure_channel(CHIP_SELECT, 4, TEMPERATURE);      // Ch 4: RTD PT-100
  measure_channel(CHIP_SELECT, 7, TEMPERATURE);      // Ch 7: RTD PT-500
}
清单1:由凌力尔特LTC2986演示软件程序生成的代码自动生成通道分配语句,包括对应于图7所示存储器映射的通道4分配。(代码来源:Linear Technology)
无论是使用Linduino平台还是其他硬件,生成的代码集都可以演示与使用LTC2986-1相关的关键设计模式。例如,清单1中的代码片段说明了数据收集的基本循环。通过检查生成的代码,开发人员可以检查涉及设备使用情况的详细操作。例如,清单1中所示的顶级函数x measure_channel调用访问设备寄存器以启动转换,等待完成并读取结果(清单2)的较低级别的例程。在这种情况下,生成的程序只是将结果打印到控制台,但开发人员可以轻松修改其应用程序的代码。
// *****************
// Measure channel
// *****************
void measure_channel(uint8_t chip_select, uint8_t channel_number, uint8_t channel_output)
{
    convert_channel(chip_select, channel_number);
    get_result(chip_select, channel_number, channel_output);
}
 
 
void convert_channel(uint8_t chip_select, uint8_t channel_number)
{
  // Start conversion
  transfer_byte(chip_select, WRITE_TO_RAM, COMMAND_STATUS_REGISTER, CONVERSION_CONTROL_BYTE | channel_number);
 
  wait_for_process_to_finish(chip_select);
}
 
   . . .
 
void wait_for_process_to_finish(uint8_t chip_select)
{
  uint8_t process_finished = 0;
  uint8_t data;
  while (process_finished == 0)
  {
    data = transfer_byte(chip_select, READ_FROM_RAM, COMMAND_STATUS_REGISTER, 0);
    process_finished  = data & 0x40;
  }
}
 
 
// *********************************
// Get results
// *********************************
void get_result(uint8_t chip_select, uint8_t channel_number, uint8_t channel_output)
{
  uint32_t raw_data;
  uint8_t fault_data;
  uint16_t start_address = get_start_address(CONVERSION_RESULT_MEMORY_BASE, channel_number);
  uint32_t raw_conversion_result;
 
  raw_data = transfer_four_bytes(chip_select, READ_FROM_RAM, start_address, 0);
 
  Serial.print(F("\nChannel "));
  Serial.println(channel_number);
 
  // 24 LSB's are conversion result
  raw_conversion_result = raw_data & 0xFFFFFF;
  print_conversion_result(raw_conversion_result, channel_output);
 
  // If you're interested in the raw voltage or resistance, use the following
  if (channel_output != VOLTAGE)
  {
    read_voltage_or_resistance_results(chip_select, channel_number);
  }
 
  // 8 MSB's show the fault data
  fault_data = raw_data >> 24;
  print_fault_data(fault_data);
}
清单2:凌力尔特LTC2986演示软件生成Linduino就绪代码,其中包括支持例程,如此代码段所示,用于执行对设备通道的低级访问。(代码来源:Linear Technology)
与软件一起,开发人员可以使用凌力尔特DC2608A套件快速开始LTC2986-1硬件开发。DC2618套件旨在与Linduino一起使用,包括一个包含LTC2986-1以及面包板的演示板。该套件与LTC2986演示软件结合使用,为快速开发温度感测应用提供了一个平台。

结论

通常需要在恶劣的环境下工作,温度测量系统为开发人员提出了广泛的挑战,包括?;せ坪筒饬烤戎涞某逋?。通过使用LTC2986-1和相关的开发工具,工程师现在可以快速实施能够安全,准确地进行温度测量的系统。

(责任编辑:ioter)

用户喜欢...

RTD温度测量系统对ADC的要求

北京赛车软件平刷王 www.64tda.net 有多种类型的温度传感器可以用于温度测量系统。具体使用何种温度传感器,取决于所测量的温度范围和所需的精度。温度测量系统的精度取决于传感器以及传感器所接口的模数转换器(ADC)的...


ADI ADuCM360 14位4-20mA热电偶温度测量系统解决方案

ADI公司的ADuCM360是全集成的3.9 kSPS, 24位数据采集系统,包括有两个高性能多路Sigma-Delta (Σ-Δ) ADC,一个32位ARM Cortex-M3处...


[原创] Linear LTC2983精密数字温度测量系统方案

Linear公司的LTC2983是多个传感器高精度数字温度测量系统,测量精度℃或°F,精度0.1℃ ,分辨率0.001℃,单电源2.85V-5.25V工作...


[原创] Linear LTC2983多传感器高精度数字温度测量系统方案

Linear公司的LTC2983能测量各种温度传感器并以数字输出,分辨率0.001℃,精度0.1℃,可以测量2/3/4线RTD,温度调节器和二极管...


[原创] ADI AD7124-824位Σ-Δ型ADC解决方案

ADI公司的AD7124-8是高精度24位Σ-Δ型ADC,提供8个差分输入或15个单端或伪差分输入,采用2.7 V至3.6 V单模拟电源或1.8 V双电源...


近年来悄悄走红的非接触红外温度测量是怎么一回事?

随着生活水平的不断提高,人们逐渐开始关注个人的身体健康。近年来出现了大量的健康医疗设备。如最近比较热门的非接触式的红外温度测量,被大量使用在额温枪、耳温枪、手机、智能充...


[原创] Maxim MAX31865高精度温度传感器参考设计

Maxim公司的MAX31865是电阻/数字转换器,温度分辨率0.03125NC,总测量精度0.5NC(满刻度的0.05%),和2/3/4线传感器连接兼容,SPI兼容...


一款高精度的单芯片温度测量参考方案——ADI EVAL-ADuCM360QSPZ开发套件评测

你是否有过带小孩去医院看病的经历?相信除了打针、挂水,量体温也是小孩非常闹腾、不愿配合的一件事,尤其是...


RTD比率式温度测量的模拟前端设计考虑

许多系统设计人员使用Σ-Δ型ADC和RTD(电阻式温度检测器)进行温度测量,但实现ADC数据手册中规定的高性能时有困难...


[原创] Linear LTC2986多传感器高精度数字温度测量系统解决方案

Linear公司的LTC2986是带EEPROM的多传感器高精度数字温度测量系统,℃或 °F数字输出,精度为0.1℃,分辨率为0.001℃,单电源...


288| 607| 410| 269| 208| 105| 636| 144| 516| 143|