陈 剑,吴桂峰
(扬州大学电气与能源动力工程学院,江苏 扬州 225000)
在工业生产中,温度是一种非常重要的参数,大多数设备的安全、稳定运行都离不开对其温度的测量。随着时代的发展,用户对温度变送器的测量精度、重复性、稳定性要求也越来越高,传统温度变送器已无法满足其需求[1],随着电子技术的不断发展,一种围绕微处理器,结合先进数字化技术的新型智能温度变送器应运而生。本文介绍了一种基于STM32F103 的智能温度变送器设计方案,其能实现高精度的数据测量(相对误差小于0.2%)、4~20mA 环路电流输出、HART 通信[2]及组态调试等功能。
智能温度变送器的总体硬件电路设计框图如图1 所示,主要包含电源模块、硬件看门狗、LCD 屏、按键、AD 采样模块、数字隔离模块、微处理器、V/I 环路电流输出模块和HART 通信模块。
图1 智能温度变送器硬件设计框图
当所测介质温度发生变化时,变送器外接热电偶或热电阻的阻值会发生相应的变化,从而引起测量电压的变化。电压信号经过滤波到A/D 转换器,转换后数据经过数字隔离后被MCU 读取,MCU 对这些数据进行处理,经过非线性校正、温度补偿、零点跟踪校正[3],再转换成对应的测量温度在LCD 屏上显示,同时通过D/A 芯片输出对应的4~20mA电流信号到总线,并且将AD5700 产生的幅值为0.5mA 的正弦波信号叠加到总线上,实现双向数字通信。
AD7794 是一款适合应用在高精度测量中,且具有低功耗、低噪声、完整模拟前端特性的模数转换芯片,其内置PGA、基准电压源、时钟和激励电流,从而大大简化了热电偶(热电阻)测量系统的设计。AD7794 拥有六对差分信号输入端,本文设计的温度变送器将其端口最大化利用,可实现对热电偶、热电阻两种信号的测量,同时对于热电阻的测量可实现三线式、四线式配置切换,AD7794 与STM32F103 之间可通过SPI 总线进行通信。
2.1.1 热电偶测量
AD7794 提供一种集成式热电偶解决方案,可以通过软件配置调用该方案,外部只需将热电偶接在差分输入口,再加一些简单的RC 滤波器来满足EMC 要求即可。如图2 所示,热电偶的冷结补偿可通过一个热电阻(PT100)和一个精密电阻(5.1k 10PPM)实现。
图2 带冷结补偿的热电偶测温模块
在芯片外围构建一种比率式架构,将AD7794 芯片的16 脚配置成210μA 恒流源输出,给热电阻PT100 和5.1kΩ精密电阻供电,并且把精密电阻上的压降作为基准电压。通过测量热电阻上的压降求得其阻值,查找热电阻温度对照表得环境温度,来进行冷结补偿[4]。
将AD7794 的数据输出频率配置为16.7Hz,通过软件设定,每读取8 个热电偶转换结果就读取1 个热电阻转换结果,所得数据经校正、补偿后,热电偶测得温度等于:温度=热电偶温度+冷结温度。
AD7794 的转换结果由STM32F103 进行处理,将所得的最终温度显示在LCD 屏上。
2.1.2 热电阻测量
热电阻由纯净材料(如铂、镍或铜)制成,随温度变化而改变的电阻值是可预测的。本文采用的热电阻测温法是基于欧姆定律的定流测压法,如图3 所示,将AD7794 的15脚配置为恒流源输出,为了防止自发热,降低电流路径上的漏电流对测量精度的影响,该脚的电流被配置为210μA 的小电流。测得热电阻上的压降,由于是由同一个电流驱动的,所以将测量值折合为参考电阻两端的电压可消除电流源中的误差。
图3 热电阻测温模块
通常将热电阻测量接线配置为三线式或四线式,以最大程度减少引线电阻效应[5]。本文设计通过ADG719BRTZ实现恒流源通道切换,配合适当的外围电路达到支持三线式、四线式热电阻配置选择的目的。
通过对ADG719BRTZ 的1 脚控制信号的配置(低电平时S1 导通,S2 关断;高电平时S1 关断,S2 导通),实现恒流源的通道切换。当使用三线式配置测量温度时,外接的RTD需按图4 所示,将热电阻一端的一根线与通道2 连接,另一端的两根线分别与通道3 以及精密电阻相连。
图4 三线式RTD 外接图
通过软件配置IC7 的S1 导通,IC8 的S2 导通,将AD7794 的两个恒流输出端都配置为210μA(设为IEXC),分别供给通道2、3,两路电流都流向精密电阻,设AD7794 输入端AIN1(+)的电压为V1,AIN1(-)的电压为V2,则有:VRTD=V1-V2=RRTD*IEXC。
当使用四线式配置测量时,外接的RTD 需按图5 所示连接。
图5 四线式RTD 外接图
由于四线式配置对引线电阻不敏感,得VRTD=RRTD*IEXC。
信号输出模块包括两部分,一个是4~20mA 的环路电流输出,另一个是HART 信号输出。前者采用AD5421,这是一款16 位高精度、低成本的DAC,具有灵活的SPI 兼容型串行接口,能够以30MHz 速率工作,可以和常用的微处理器简单相连,接受数字信号产生环路电流[6],而且该芯片还可以和标准HART 协议通信电路结合使用。后者采用低功耗HART 调制解调器AD5700,其符合HART 的物理层要求,是业界功耗最低、尺寸最小的HART 半双工调制解调器[7]。AD5700 集成了滤波、信号侦查、基准电压源、调制解调和信号生成功能,其无需外部缓冲就能够提供很强的输出驱动能力,因此外围电路简单易用。两者组成的信号输出模块如图6 所示。
图6 信号输出模块
软件的编写是在Keil 5 MDK 上用C 语言完成的,程序主要包括A/D 采集、定时器中断、V/I 输出、LCD 显示初始化、SPI 串行总线配置、UART 串口传输[8]配置等。首先执行系统初始化,然后读取EEPROM 中的配置信息,将测得的传感器电阻值转换为相应的电信号,最终转换为温度信号。最后将所得温度信号显示在LCD 屏上,同时将温度信号转换为4~20mA 标准电流并叠加HART 信号传送到总线。系统软件流程图如图7 所示。
图7 系统软件流程图
本文设计了一款基于STM32F103 的智能温度变送器,其具有检测精度高、工作稳定可靠、支持HART 通讯等优点。同时适用于多种热电阻、热电偶的温度检测,可以灵活地在三线式、四线式接线间切换,系统整体设计符合预期,具有广阔的市场前景。