新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于Cortex-M3的微控制器热电偶测量系统

基于Cortex-M3的微控制器热电偶测量系统

作者:时间:2013-01-15来源:网络收藏

 器件连接/参考

本文引用地址:http://www.eepw.com.cn/article/192859.htm

  ADuCM360:基于3的,内置双通道24位Σ-Δ型ADC

  ADP1720-3.3:低压差线性稳压器

  评估和设计支持

  电路评估板

  CN-0300评估板(EVAL-CN0300-EB1Z)包含USB-SWD/UART和SEGGER J-Link Lite电路板

  设计和集成文件

  原理图、布局文件、物料清单、ADuCM360源代码

  电路功能与优势

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

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

  该电路为测量提供了完整的解决方案,所需外部元件极少,并且可针对高达28 V的环路电压采用环路供电。

具有热电偶接口、用作温度监控器控制器的ADuCM360

  图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电阻时,我们采用比率式设置,将一个外部基准电阻(RREF)连接在外部VREF+和VREF?引脚上。由于该电路中的基准电压源为高阻抗,因此需要使能片内基准电压输入缓冲器。片内基准电压缓冲器意味着无需外部缓冲器即可将输入泄漏影响降至最低。

  偏置电压发生器(VBIAS)。VBIAS功能用于将热电偶共模电压设置为AVDD/2 (900 mV)。同样,这样便无需外部电阻,便可以设置热电偶共模电压。

  ARM Cortex-M3内核。功能强大的32位ARM内核集成了126 KB闪存和8 KB SRAM存储器,用来运行用户代码,可配置和控制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板

  图2. 本电路所用的EVAL-CN0300-EB1Z板

连接至USB-SWD/UART板和SEGGER J-Link-Lite板的EVAL-CN0300-EB1Z板

  图3. 连接至USB-SWD/UART板和SEGGER J-Link-Lite板的EVAL-CN0300-EB1Z板

  代码的校准部分

  图3显示了USB-SWD/UART板。此板用作PC USB端口的接口板。该USB端口可用于通过基于UART的下载器对器件进行编程。它也可用于连接PC上的COM端口(虚拟串行端口)。这是运行校准程序所需要的条件。

  J-Link-Lite插入USB-SWD/UART板的20引脚连接器中。J-Link-Lite提供代码调试和编程支持。它通过另一个USB连接器连接至PC.

  代码说明

  用于测试本电路的源代码可从ADuCM360产品页面下载(zip压缩文件)。源代码使用示例代码随附的函数库。图4显示了利用Keil μVision4工具查看时项目中所用的源文件列表。

μVision4中查看的源文件

  图4. μ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和基于晶体管的电路上的所有线性误差。

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

使用“超级终端”等通信端口查看程序来查看该程序发送给UART的结果

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

  5. 校准DAC时的“超级终端”输出

  代码的温度测量部分

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

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

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

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

通过分段线性逼近法利用ADuCM360/ADuCM361所测52个校准点时的误差

  图6. 通过分段线性逼近法利用ADuCM360/ADuCM361所测52个校准点时的误差


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭