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

发布者:数据之翼最新更新时间:2016-09-21 来源: dzsc关键字:Cortex-M3  微控制器  热电偶  测量系统 手机看文章 扫描二维码
随时随地手机看文章
  器件连接/参考

  ADuCM360:基于Cortex-M3的微控制器,内置双通道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 Cortex-M3内核、126 KB闪存、8 KBSRAM和各种数字外设,例如UART、定时器、SPI和I2C接口。

  在该电路中,ADuCM360连接到一个T型热电偶和一个100 Ω铂电阻温度检测器(RTD)。RTD用于冷结补偿。低功耗Cortex-M3内核将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个校准点时的误差

  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.

闭环控制4 mA至20 mA的DAC输出

  图7. 闭环控制4 mA至20 mA的DAC输出

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

 用于调试的UART字符串

  图8. 用于调试的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.

 温度(°C)与输出电流(mA)的关系

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

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

温度(°C)与输出电流(mA)的关系

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

  热电偶测量测试

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

  使用两种方法来评估本电路的性能。首先使用连接到电路板的热电偶来测量冰桶的温度,然后测量沸水的温度。使用Wavetek 4808多功能校准仪来充分评估误差,如图11所示。这种模式下,校准仪代替热电偶作为电压源。为了评估T型热电偶的整个范围,利用校准仪设置T型热电偶?200°C至+350°C的正负温度范围之间52个点的等效热电偶电压(T型热电偶请参见ISE, Inc.的ITS-90表)。图6显示了测试结果。

用于在整个热电偶输出电压范围内校准和测试电路的设置

  图11. 用于在整个热电偶输出电压范围内校准和测试电路的设置

  RTD测量测试

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

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

RTD误差测量的测试设置

  图 12. RTD误差测量的测试设置

使用分段线性代码和ADC0测量结果进行RTD测量时的°C误差

  图13. 使用分段线性代码和ADC0测量结果进行RTD测量时的°C误差

  电流测量测试

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

关键字:Cortex-M3  微控制器  热电偶  测量系统 引用地址:基于Cortex-M3的微控制器热电偶测量系统

上一篇:基于ARM嵌入式技术的牙椅控制系统设计
下一篇:基于stm32的can总线彻底研究

推荐阅读最新更新时间:2024-03-16 15:10

AVR单片机外部RAM访问
最近的一个项目中,体会了一下AVR单片机的外部RAM扩展,发文记录于此。 本文以ATMEGA64单片机为测试平台,外扩74HC573(资料上讲用AHC系列,但是我用HC系列在16M晶振下配置成最快速度访问并没有发现什么不妥,当然这是个不严谨的设计)以及62256芯片。 我采用的是GCC编译器,并且在项目中采用C++来编写程序,根据理论上来讲,只要外部存储器使能了并且配置完成,那么变量的地址分配完全可以交给编译器来做,但是前提是存储器使能及配置代码要在上电复位后最先得到执行,而采用C或者C++来编写程序,上电复位之后最先得到执行的代码是由编译器自动增加的启动代码以及构造函数代码。我不清楚如何让存储器使能及配置代码在上电复位后最先得到
[单片机]
基于STM32单片机的盆栽系统设计
一.系统设计 本次盆栽系统的设计使用STM32单片机作为控制中心,通过光敏模块检测光照强度,通过DHT11测量温湿度,通过土壤湿度传感器检测土壤湿度,检测到的数据通过LCD显示屏显示,当土壤湿度低于下限时,继电器控制灌溉,当土壤湿度高于上限时,继电器控制除湿,当温度低于阈值时,继电器控制加热,当光强低于阈值时,继电器控制补光。 图1 系统框图 二.硬件设计 本设计所采用的STM32F103C8T6是以Cortex-3为核心的单片机,它的功能是实现软件的执行,并对外部的器件、模块进行控制。该系统由LCD显示模块,温湿度检测模块,光敏电阻模块,湿度检测模块,继电器模块组成。 图2 硬件电路 三.软件设计 系统的软件实现过程中首
[单片机]
基于STM32<font color='red'>单片机</font>的盆栽系统设计
3.STC15W408AS单片机GPIO
一、GPIO口介绍   STC15W408AS单片机有14个I/O口。其所有I/O口均可由软件配置成4种类型。4种类型分别为:准双向口/弱上拉(标准8051输出模式)、推挽输出/强上拉、高阻输入(电流既不能流入也不能流出)或开漏输出功能。每个口由2个控制寄存器中的相应位控制每个引脚工作类型。STC15系列单片机的I/O口上电复位后为准双向口/弱上拉(传统8051的I/O口)模式。每个I/O口驱动能力均可达到20mA,但40-pin及40-pin以上单片机的整个芯片最大不要超过120mA,20-pin以上及32-pin以下(包括32-pin)单片机的整个芯片最大不要超过90mA。   P3口类似。 注意:   虽然每个I/O
[单片机]
3.STC15W408AS<font color='red'>单片机</font>GPIO
51单片机最方便的下载
正在检测目标单片机 ... 单片机型号: STC15W4K48S4 固件版本号: 7.3.1T 当前芯片的硬件选项为: . 下次冷启动后系统时钟源为内部IRC振荡器 . 内部振荡器的频率未调节 . 掉电唤醒定时器的频率: 37.133KHz . P3.2和P3.3与下次下载无关 . 上电复位时增加额外的复位延时 . 复位引脚用作普通I/O口 . 检测到低压时复位 . 低压检测门槛电压 : 2.63 V . 低压时不能进行EEPROM操作 . CPU-Core最高工作电压 : 2.78 V . 上电复位时,硬件不启动内部看门狗 . 上电自动启动内部看门狗时的预分频数为 : 256 . 空闲状态时看门狗定
[单片机]
51<font color='red'>单片机</font>最方便的下载
单片机D/A输出
D/A 是和 A/D 刚好反方向的,一个 8 位的 D/A,从 0~255,代表了 0~2.55V 的话,那么我们用单片机给第三个字节发送 100,D/A 引脚就会输出一个 1V 的电压,发送 200 就输出一个 2V 的电压,很简单,我们用一个简单的程序实现出来,并且通过上、下按键可以增大或减小输出幅度值,每次增加或减小 0.1V。如果有万用表的话,可以直接测试一下板子上AOUT 点的输出电压,观察它的变化。由于 PCF8591 的 DA 输出偏置误差最大是 50mv(由数据手册提供),所以我们用万用表测到的电压值和理论值之间的误差就应该在 50mV 以内。 /*****************************I2C
[单片机]
基于单片机技术的正弦波波形失真度控制
1 正弦波的失真度   设所生成的一个正弦波为A,其功率为P,它包含的谐波分量为A1,A2,……An,其相应的功率分别是P1,P2,……Pn,那么正弦波失真度r定义为:      我们研制的磁耦合非接触式温度传感器是靠正弦波进行非接触传递信号的,该正弦波的频率大小代表某一温度值,因此对正弦波发生器发出的正弦波的失真度有很高的要求。因为其谐波分量的存在(即便进行了滤波),还足以产生一个不存在的温度值,从而导致错误的测量和错误的控制。   正弦波的失真度可用“正弦波失真仪”来测量。 2 单片机正弦波发生器   采用查表方式的单片机正弦波发生器的工作原理如下:   (1)对正弦信号进行采样,设正弦波一个周期采样点数共N点。参见公
[单片机]
基于<font color='red'>单片机</font>技术的正弦波波形失真度控制
51单片机-按键部分(2)
程序功能:数码管前三位显示一个跑表,从000到999之间以1%秒速度运行,当按下一个独立键盘时跑表停止,松开手后跑表继续运行。(用定时器设计表)。按下第二个时计时开始,按下第三个是计数值清零。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 7
[单片机]
单片机设计经验总结(干扰抑制元件及抗干扰能力的主要手段)
1.降低外时钟频率 外时钟是高频的噪声源,除能引起对本应用系统的干扰之外,还可能产生对外界的干扰,以8051单片机为例 最短指令周期1μs时,外时钟是12MHz。而同样速度的Motorola 单片机系统时钟只需4MHz微控制器产生的最有影响的高频噪声大约是时钟频率的3倍 2.低噪声系列单片机 改进的技术将电源、地安排在两个相邻的引脚上,外部去耦电容在PCB设计上更容易安排 3.时钟监测电路、看门狗技术与低电压复位 时钟监控有效与省电指令STOP是一对矛盾。只能使用其中之一。 看门狗技术是监测应用程序中的一段定时中断低电压复位技术是监测单片机电源电压,当电压低于某一值时产生复位信号。由于单片机技术的发展,单片机本身对电源电压范围的要
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved