概览

设计资源

设计与集成文件

  • 原理图
  • 物料清单
  • Gerber 文件
  • PADS 文件
  • 装配图
下载设计文件 1479 kB

评估硬件

产品型号带"Z"表示符合RoHS标准。评估此电路需要下列选中的电路板

  • EVAL-CN0300-EB1Z ($140.06) Complete Closed-Loop Precision Analog Microcontroller Thermocouple Measurement System with 4 mA to 20 mA Output
查询库存和在线购买

优势和特点

  • T型热电偶测量系统,可对4-20mA输出进行环路供电
  • 典型温度范围为-200 C至+400 C
  • 采用Cortex处理内核的单芯片解决方案
  • 冷结补偿

电路功能与优势

本电路在精密热电偶温度监控应用中使用 ADuCM360精密模拟微控制器,并相应地控制4 mA至20 mA的输出电流。 ADuCM360 集成双通道24位∑-△型模数转换器(ADC)、双通 道可编程电流源、12位数模转换器(DAC)、1.2 V内置基准电压源以及ARM Cortex-M3内核、126 KB闪存、8 KB SRAM和各种数字外设,例如UART、定时器、SPI和I2C接口。

在该电路中, ADuCM360连接到一个T型热电偶和一个100铂电阻温度检测器(RTD)。RTD用于冷结补偿。低功耗Cortex-M3内核将ADC读数转换为实际温度值。支持的T型温度范围是−200°C至+350°C,而此温度范围所对应的输出电流范围是4 mA至20 mA。

ADuCM360 as a Temperature Monitor Controller with a Thermocouple Interface
图1. 具有热电偶接口、用作温度监控器控制器的ADuCM360(原理示意图,未显示所有连接)

电路描述

本应用中用到ADuCM360的下列特性: 

  • 12位DAC输出及其灵活的片内输出缓冲器用于控制外部NPN晶体管BC548。通过控制此晶体管的VBE电压,可将经过47Ω负载电阻的电流设置为所需的值。
  • DAC为12位单调式,但其输出精度通常在3 LSB左右。此外,双极性晶体管引入了线性误差。为提高DAC输出的精度并消除失调和增益端点误差,ADC0会测量反馈电压,从而反映负载电阻(RLOAD)两端的电压。根据此ADC0读数,DAC输出将通过源代码纠正。这样就针对4 mA至20 mA的输出提供了±0.5°C的精度。
  • 24位Σ-Δ 型ADC内置PGA,在软件中为热电偶和RTD设置32的增益。ADC1在热电偶与RTD电压采样之间连续切换。
  • 可编程激励电流源驱动受控电流流过RTD。双通道电流源可在0μA至2 mA范围内以一定的阶跃进行配置。本例使用200μA设置,以便将RTD自热效应引起的误差降至低点。
  • ADuCM360中的ADC内置了1.2 V基准电压源。内部基准电压源精度高,适合测量热电偶电压。
  • ADuCM360中ADC的外部基准电压源。测量RTD电阻f时,我们采用比率式设置,将一个外部基准电阻(RREF)连接在外部VREF+和VREF−引脚上。由于该电路中的基准电压源为高阻抗,因此需要使能片内基准电压输入缓冲器。片内基准电压缓冲器意味着无需外部缓冲器即可将输入泄漏影响降至低点。
  • 偏置电压发生器(VBIAS)。VBIAS功能用于将热电偶共模电压设置为AVDD/2 (900 mV)。同样,这样便无需外部电阻,便可以设置热电偶共模电压。
  • ARM Cortex-M3内核。功能强大的32位ARM内核集成了126 KB闪存和8 KBSRAM存储器,用来运行用户代码,可配置和控制ADC,并利用ADC将热电偶和RTD输入转换为最终的温度值。它还可以利用来自AIN9电压电平的闭环反馈控制并持续监控DAC输出。出于额外调试目的,它还可以控制UART/USB接口上的通信。
  • UART用作与PC主机的通信接口。这用于对片内闪存进 行编程。它还可作为调试端口,用于校准DAC和ADC。
  • 两个外部开关用来强制该器件进入闪存引导模式。使SD处于低电平,同时切换RESET按钮, ADuCM360将进入引导模式,而不是正常的用户模式。在引导模式下,通过UART接口可以对内部闪存重新编程。
  • J1连接器是一个8引脚双列直插式连接器,与CN0300支持硬件随附的USB-SWD/UART板相连。配合J-Link-Lite板可对此应用电路板进行编程和调试。参见图3。

热电偶和RTD产生的信号均非常小,因此需要使用可编程增益放大器(PGA)来放大这些信号。

本应用使用的热电偶为T型(铜-康铜),其温度范围为−200°C至+350°C,灵敏度约为40ΩV/°C,这意味着ADC在双极性模式和32倍PGA增益设置下可以覆盖热电偶的整个温度范围。

RTD用于冷结补偿。本电路使用的RTD为100Ω铂RTD,型号为Enercorp PCS 1.1503.1。它采用0805表贴封装,温度变化率为0.385 Ω/°C。

注意,基准电阻RREF必须为精密5.6 kΩ (±0.1%)电阻。

本电路必须构建在具有较大面积接地层的多层电路板(PCB)上。为实现优质性能,必须采用适当的布局、接地和去耦技术(请参考 指南MT-031——“实现数据转换器的接地并解开AGND和DGND的谜团”指南MT-101——“去耦技术”以及ADuCM360TCZ评估板布局)。

评估本电路所用的PCB如图2所示。

EVAL-CN0300-EB1Z Board Used for this Circuit
图2. 本电路所用的EVAL-CN0300-EB1Z板

 

EVAL-CN0300-EB1Z Board Connected to the Analog Devices J-Link OB Emulator
图3. 连接至USB-SWD/UART板和SEGGER J-Link-Lite板的EVAL-CN0300-EB1Z板

 

ADI公司J-Link OB仿真器(USB-SWD/UART-EMUZ)支持:

  • 当插入PC USB端口时,它也可用于连接PC上的COM端口(虚拟串行端口)。这是运行校准程序所需要的条件。
  • 提供用于ADuCM360的SW(串行线)调试和编程功能。
  • 该USB端口可用于通过基于UART的下载器对器件进行编程。代码说明
  • 图4显示了仿真器板的顶视图。J2连接器插入EVAL-CN0300-EB1Z板。J2连接器引脚排列如图5所示

Analog Devices J-Link OB Emulator Top View
图4. ADI公司J-Link OB仿真器顶视图

 

J2 Connector
图5. J2连接器

 

为了进行下载和调试,必须插入LK1、LK2、LK4和LK6。LK3和LK5用于通过UART进行通信。J-Link OB所需的软件包含在软件安装中。

请注意,J-Link OB仿真器取代了ADuCM360开发系统先前随附的J-Link Lite和相关接口板。

有关详细信息,请参见UG-457 - ADuCM360开发系统入门指南

用来测试电路的源代码链接在CN0300设计支持包中:http://www.analog.com/CN0300-DesignSupport。源代码使用示例代码随附的函数库。图6显示了利用Keil μVision4工具查看时项目所用的源文件列表。

Source Files Viewed in μVision4

图6. μVision4中看到的源文件


代码的校准部分

可调整编译器#define值(calibrateADC1和calibrateDAC),以使能或禁用ADC和DAC的校准程序。

要校准ADC或DAC,接口板(USB-SWD/UART)必须连接至J1和PC上的USB端口。可使用“超级终端”等COM端口查看程序来查看校准菜单并逐步执行校准程序。

校准ADC时,源代码会提示用户将零电平和满量程电压连接至AIN2和AIN3。注意,AIN2是正输入端。完成校准程序后,ADC1INTGN和ADC1OF寄存器的新校准值就会存储到内部闪存中。

校准DAC时,应通过精确的电流表连接VLOOP+输出端。DAC校准程序的第一部分校准DAC以设置4 mA输出,第二部分则校准DAC以设置20 mA输出。用于设置4 mA和20 mA输出的DAC代码会存储到闪存中。针对最终的4 mA和20 mA设置在AIN9处测得的电压也会记录下来并存储到闪存中。由于在AIN9处的电压与流经RLOOP的电流线性相关,因此这些值会用于计算DAC的调整因子。这种闭环方案意味着,可以使用片内24位Σ-型ADC进行微调而消除DAC和基于晶体管的电路上的所有线性误差。

UA RT配置为波特率9600、8数据位、无极性、无流量控制。如果本电路直接与PC相连,则可使用“超级终端”等通信端口查看程序来查看该程序发送给UA RT的结果,如图7所示。.

要输入校准程序所需的字符,请在查看终端中键入所需字符,然后ADuCM360 UA RT端口就会收到该字符。

Output of HyperTerminal when Calibrating the DAC
图7. 校准DAC时的“超级终端”输出

 

代码的温度测量部分

要获得温度读数,应测量热电偶和RTD的温度。RTD温度通过一个查找表转换为其等效热电偶电压(T型热电偶请参见ISE, Inc.的ITS-90表)。将这两个电压相加,便可得到热电偶电压的绝对值。

首先,测量热电偶两条线之间的电压(V1)。测量RTD电压并通过查找表转换为温度,然后再将此温度转换为其等效热电偶电压(V2)。然后,将V1和V2相加,以得出整体热电偶电压,接着将此值转换为最终的温度测量结果。

对热电偶而言,固定数量的电压所对应的温度会存储在一个数组中。其间的温度值利用相邻点的线性插值法计算。

图8显示了使用ADuCM360上的ADC1测量整个热电偶工作范围内的52个热电偶电压时获得的误差。最差情况的总误差小于1°C。

Error when Using Piecewise Linear Approximation
图8. 通过分段线性逼近法利用ADuCM360/ADuCM361所测52个校准点时的误差

 

RTD温度是运用查找表计算出来的,并且对RTD的运用方式与对热电偶一样。注意,描述RTD温度与电阻关系的多项式与描述热电偶的多项式不同。

有关线性化和实现RTD优质性能的详细信息,请参考应用笔记AN-0970“利用ADuC706x微控制器实现RTD接口和线性化”


代码的温度至电流输出部分

测得最终温度后,将DAC输出电压设置为适当的值,以便在RLOOP上产生所需的电流。输入温度范围应该是−200°C至+350°C。代码针对−200°C和+350°C设置的输出电流分别是4 mA和20 mA。代码实施的是闭环方案,如图7所示,其中AIN9上的反馈电压通过ADC0测量,然后此值用于补偿DAC输出设置。FineTuneDAC(void)函数执行此项校正。

为获得更佳结果,应在开始该电路的性能测试前校准DAC。

Closed-Loop Control 4 mA to 20 mA DAC Output
图9. 闭环控制4 mA至20 mA的DAC输出

 

出于调试目的,以下字符串会在正常工作期间发送至UART(见图10)。

UART Strings Used for Debug
图10. 用于调试的UART字符串

常见变化

对于标准UART至RS-232接口,可以用 ADM3202等器件代替FT232R收发器,前者需采用3 V电源供电。对于更宽的温度范围,可以使用不同的热电偶,例如J型热电偶。为使冷结补偿误差较小,可以让一个热敏电阻与实际的冷结接触,而不是将其放在PCB上。

针对冷结温度测量,可以用一个外部数字温度传感器来代替RTD和外部基准电阻。例如, ADT7410 可以通过I2C接口连接到ADuCM360

有关冷结补偿的更多详情,请参考ADI公司的《传感器信号调理》第7章“温度传感器”。

如果USB连接器与本电路之间需要隔离,则必须增加 ADuM3160/ADuM4160 隔离器件。

电路评估与测试

电流输出测量

DAC和外部电压电流转换器电路性能测试全都一起完成。

一个电流表与VLOOP+连接串联,如图1所示。所用的电流表为HP 34401A。执行初始校准和使用VDAC输出的闭环控制时的电路性能导致DAC输出电路报告的温度值为0.5°C。借助24位ADC,DAC和外部晶体管电路的非线性误差可以调零。因为温度是一个变化较慢的输入参数,所以此闭环方案非常适合这种应用。图9显示了未采用闭环控制(ADC0没有用于补偿DAC输出)时的理想DAC输出(蓝色)和实际DAC输出。未采用闭环控制时的误差可能会大于10°C。

Temperature in °C vs. Current Out in mA
图11. 温度(°C)与输出电流(mA)的关系(蓝色 = 理想值,开环操作:未补偿DAC输出)

 

图12显示了按推荐方式采用闭环控制时的相同信息。误差非常微小,与理想值相差不到0.5°C。

Temperature in °C vs. Current out in mA
图12. 温度(°C)与输出电流(mA)的关系(蓝色 = 理想值,闭环操作:通过ADC0测量补偿DAC输出)

 

热电偶测量测试

基本测试设置如图11所示。热电偶连接至J2。

使用两种方法来评估本电路的性能。首先使用连接到电路板的热电偶来测量冰桶的温度,然后测量沸水的温度。

使用Wavetek 4808多功能校准仪来充分评估误差,如图11所示。这种模式下,校准仪代替热电偶作为电压源。为了评估T型热电偶的整个范围,利用校准仪设置T型热电偶−200°C至+350°C的正负温度范围之间52个点的等效热电偶电压(T型热电偶请参见ISE, Inc.的ITS-90表)。图6显示了测试结果。

进行性能检查并使用CN-0300电路正常运行时,请确保从 EVAL-CN0300-EB1Z 板上拔出J-Link OB仿真器 — 只有编程、校准和调试EVAL-CN0300-EB1Z板时才使用J-Link OB。

Test Setup Used to Calibrate and Test the Circuit Over Full Thermocouple Output Voltage Range
图13. 用于在整个热电偶输出电压范围内校准和测试电路的设置

 

RTD测量测试

为了评估RTD电路和线性化源代码,以精确的可调电阻源代替了电路板上的RTD。所用的仪器是1433-Z十进制电阻。RTD值的范围是90Ω 140Ω ,代表−25°C至+114°C的RTD温度范围。

图14显示了RTD测量的测试设置电路,图15则显示了RTD测试的误差结果。

Test Setup for Measuring RTD Error
图14. RTD误差测量的测试设置

 

Error in °C of RTD Measurement Using Piecewise Linearization Code and ADC0 Measurements
图15. 使用分段线性代码和ADC0测量结果进行RTD测量时的°C误差

 

电流测量测试

正常工作时,整个电路的功耗通常为2.25 mA。保持在复位状态时,整个电路的功耗不到600μA。

进行性能检查并使用CN-0300电路正常运行时,请确保从EVAL-CN0300-EB1Z板上拔出J-Link OB仿真器——只有编程、校准和调试EVAL-CN0300-EB1Z板时才使用J-Link OB。

有关 ADuCM360功耗数据的更多信息,请参阅 应用笔记AN-1111