基于RDC的高精度智能温度测量系统设计
2015-05-10田海军
田海军,张 鋆,王 健,张 鑫
(1.东北电力大学 自动化工程学院,吉林 132012;2.国电南瑞(北京)控制系统有限公司 开发部,北京 100193)
0 引言
温度测量,在工业、医疗、军事等方面具有重要意义。温度测量分为接触式测量和非接触式测量[1]。目前电厂等工业现场中大都采用热电偶和热电阻作为温度传感器,然后通过仪表测量热电偶的电势值或热电阻的电阻值,再结合相应的分度表,通过查表的方式,得到温度测量值。这种方法十分不方便,降低了现场人员的工作效率。随着集成电路快速发展,出现了三线制和四线制的热电阻恒流源测量方法[2],减小了引线电阻对温度测量的影响。但是这种电路中需要自己搭建恒流源电路和调理电路[3,4],不但引入了寄生电阻,而且降低了稳定性和精度。工业上常用的HART接口形式为两线制。两线制即环路供电方式,对整机的功耗有很高的要求,静态功耗必须小于3.4mA[5]。为了解决上述问题,采用基于电阻数字转换的方法,进行电阻的高精度测量,然后对测量结果进行数据分析和拟合,得到实时温度,最后通过三线制DA转换芯片输出4mA~20mA工业标准信号。温度变送器实现了无功耗限制的三线制HART协议,通过HART手持器或者上位机,可以方便的实现温度测量系统上下限修改和变送器校准等功能。
1 总体设计
高精度智能温度测量系统由电源系统、温度传感器、高精度电阻测量电路、STM32F103C8T6单片机、故障处理单元、4mA~20mA输出、HART协议通信单元。智能温度测量系总体设计框图如图1所示。
图1 智能温度测量系统总体设计框图
电源系统采用B2405-3W芯片和AMS1117-3.3V芯片,将24V电压转换成3.3V电压,为各个芯片提供供电电压。系统带有自检功能,系统初始化或者通过HART手持器可以进入自检程序,检测到系统发生故障时,对应的故障指示灯亮起,蜂鸣器报警提示现场人员。温度传感器将温度信号转换成PT1000对应的电阻值,高精度电阻测量电路完成电阻值的精准测量。STM32单片机通过SPI接口通讯方式读取电阻值,经过数据处理之后,得到实时的温度值。然后经16位高精度DA转换器AD5420转换成连续的4mA~20mA电流信号。温度测量系统支持HART协议,由于HART手持器价格昂贵,本文采用USB-HART调制解调器和上位机软件,实现对温度测量系统的校准、参数访问和组态。
2 硬件设计
2.1 温度传感器设计
温度传感器结构如图2所示。
图2 温度传感器结构
温度传感器采用德国贺利氏薄膜铂电阻PT1000芯片,为了使芯片受热均匀,在芯片周围填充了进口的导热硅脂,芯片两引脚采用银焊技术与纯银的导线的连接,大大降低了引线电阻的同时,可以承受高温,为了使两根引线绝缘,将其置于双孔的陶瓷套管中,外壳采用316不锈钢材质,有很好的耐腐蚀性能,PCB电路板置于防水的接线盒中,采用接线端子与引线连接,便于安装和拆卸。传感器带有固定螺纹和法兰,便于传感器安装。
2.2 高精度电阻测量电路设计
高精度电阻测量电路采用德国ACAM公司的PCaP01芯片,带有标准固件03.01.02,支持温度测量。利用该芯片和PT1000测量温度,精度可以达到0.005k。PCap01芯片电容测量单元原理图如图3所示。
图3 PCap01芯片电阻测量原理
PCap01芯片电阻测量原理如图3所示:PCap01芯片基于电容充放电原理测量电阻[6]。芯片内部集成了RC充放电电路,为了使电容充分充电,电容充放电周期的设置十分重要,通过配置和参数寄存器可以设置为140us或280us,本文设置为280us。
PT1000被测电阻和基准电阻连接在同一个33Pf的充放电电容上,芯片提供了两个基准电阻可供选择,内部的多晶硅电阻和外部参考电阻,基准电阻必须具有接近0的温度漂移系数,芯片内部的多晶硅电阻阻值大小为1KΩ,温度漂移系数为-1.1ppm/K。高精度的TDC时间数字转换单元可以把电容放电时间准确的记录下来,精度可以达到2us。根据公式:
式中TN为被测电阻放电时间,Tref为参考电阻放电时间,Rref为参考电阻值,RN为被测电阻值。然后通过DSP数字处理器处理,根据放电时间的比值可以求得电阻比率,并存储在结果寄存器中。STM32单片机通过SPI通信接口读取测量结果[7]。
根据补偿公式可以得到对应的温度:
其中R_Ratio为电阻比率。
由于采用单芯片温度测量方案,避免了搭建传统的恒流源电路和调理电路,提高了电路的稳定性和精度,而且由于被测电阻和基准电阻连接在同一个充放电电容上,克服了温度漂移对电阻测量的影响,实现了电阻的高精度测量。
2.3 HART通讯单元设计
HART协议是在4mA~20mA模拟信号上叠加数字信号,实现模拟信号和数字信号的同时传输,是一种从模拟信号像数字信号过渡的一种通讯协议[8],可以兼容4mA~20mA的传统工业信号,被工业界广泛采用。工业上常用的HART接口形式为两线制和三线制[9]。两线制即环路供电方式,对整机的功耗有很高的要求,静态功耗必须小于3.4mA。必须采用专用的单片机和芯片,对于市面上常规的单片机和芯片不能满足要求。本文采用三线制方式,克服了两线制方式对功耗要求限制。
HART通讯单元采用ADI公司的AD5420和AD5700-1芯片,AD5420为三线制的16位高精度4mA~20mA转换芯片,外部不需要MOSFET管,提高了电路的稳定性,AD5700-1为市面上尺寸最小的HART调制解调芯片,内部集成了振荡器,不再需要外部晶振,进一步节省了布板空间。
HART通信单元电路如图4所示。
系统采用24V电源供电,A V D D引脚与+2 4 V相连,AD5420的LATCH、SCLK、SDIN、SDO引脚,分别于STM32单片机的PB2-PB5相连,采用IO模拟SPI方式与单片机进行通讯。DVCC_SELECT引脚连接到GND,采用外部3.3V电源给AD5420供电。CAP1引脚接4.7nF的滤波电容,CAP2引脚悬空,为了是系统的电源稳定,都采用了10uF和0.1uF的电容进行滤波,工业现场情况恶劣,为了防止浪涌电压,AVDD引脚和IOUT引脚接有稳压管。+24V、GND、IOUT构成4mA~20mA三线制接法。
AD5700-1芯片的REF引脚通过1uF电容连接到GND,采用外部3.3V电源供电,REF_EN引脚接高电平,使能内部基准电压源,REF引脚输出1.5V,R6和R11分压为HART信号提供偏置电压。RST引脚与单片机的PA12引脚相连,通过编程输出高低电平来控制AD5700-1芯片处于调制或解调模式。TXD引脚和RXD引脚分别与STM32单片机的USART1引脚PA9(发送)和PA10(接收)对应连接。通过XTAL_EN、CLK_CFG1连接到3.3V,CLK_CFG0连接到GND,使能内部晶振。FILTER_SEL引脚接GND,需要采用外部带通滤波器,C13、C14、R9配合AD5420内部电路,组成>10khz和<500HZ的带通滤波器,将HART信号从4mA~20mA信号中提取出来。为了满足工业现场的要求,需要将AD5700-1与环路电源隔离开,电路需要串联限流电阻R9。经过AD5700-1芯片调制后的HART信号,通过HARTOUT引脚经过R7、C8衰减之后,耦合到AD5420芯片的RSET引脚。RSET需要连接高精度低温漂电阻R3。
图4 HART通信单元电路
3 软件设计
软件设计分为两个部分,一部分是温度测量程序设计,另一部分是HART协议通信程序设计。
图5 温度测量程序流程图
温度测量程序流程图如图5所示,首先对系统进行初始化,首先对STM32单片机进行初始化,包括初始化IO外设,设置SPI1和USART1通讯参数、配置独立看门狗等。然后初始化PCap01芯片,通过SPI通讯方式,向PCap01芯片发送复位信号,使PCap01芯片复位一次,然后设置配置寄存器参数,选择内部多晶硅电阻作为基准电阻,并设置充放电周期为280us。通过模拟SPI的方式设置AD5420控制寄存器参数,使其工作方式为4mA~20mA。然后进入自检程序(也可以通过HART手持器触发自检程序),单片机向PCap01芯片发送测量电阻命令,完成一次电阻测量,并将结果读出。进而向AD5420数据寄存器中写入数值,并读出比较。如果不能读出电阻测量结果,或者写入AD5420数据寄存器的数值和读出的不一致,对应的故障指示灯亮起,蜂鸣器报警,并将错误码存储在FLASH中,供HART手持器或者上位机读取。如果自检通过,读取存储在FLASH中的系统参数,包括量程上下限和校准数据、前导码个数等,完成系统参数初始化之后,进入温度测量程序,STM32将PCap01芯片测得的PT1000与基准电阻的比率,经过数据处理得到实时的温度之后,转化为16位的数字量,传输给AD5420输出4mA~20mA电流信号。
图6 HART协议通信程序流程图
HART协议通信程序流程图如图6所示,完成了HART协议数据链路层、应用层以及层间接口的程序设计,实现了HART信号的接收、解析、响应和发送。首先初始化USART1通讯参数,1位起始位,8位数据位,1位停止位,1位奇校验位,波特率位1200bps/s,并开启USART1接收中断,PA12引脚设置为高电平,使AD5700-1芯片处于接收状态[10]。当AD5700-1芯片接收到HART信号,将其解调成0、1数字信号,然后通过USART1传送给单片机,单片机接收到数据后,进入串口接收中断,接收命令帧。进而对除前导码之外的命令帧进行横向奇校验,与接收到的校验码进行比对,如果一致,则按照HART协议的通信帧格式,解析命令帧,根据相应的命令请求生成应答帧,然后将PA12引脚设置为低电平,使AD5700-1芯片处于发送HART信号状态,单片机通过USART1将应答帧传送给AD5700-1芯片,经AD5700-1芯片调制成FSK信号之后加载到4mA~20mA环路中。当发送完成之后,再次进入接收状态,等待下一条命令。
4 实验与结果分析
采用CRJ系列智能热工自动检定系统对温度测量系统进行校验。CRJ系列智能热工自动检定系统由主控箱、微机系统、HTS-300A标准油槽、冰点器以及测量导线和通讯导线组成。HTS-300A标准油槽一种高精度自控式温度计检定装置,微机系统实时显示油槽的控温曲线、温度数值、以及检定时间等参数。参照《JJG 229-2010工业铂、铜热电阻检定规程》,首先进行油槽温场测试,测试步骤详见说明书,此处不再赘述,测得油槽的温度均匀度为0.005℃。然后进行重复性测试,在冰点器和油槽中分别测试0℃、100℃两个检点。重复检测5次,每个点每次操作约为60分钟,当油槽温度波动0.04℃/30min时,记录 智能温度测量系统所测温度,并用仿真器读出电阻率,换算成对应电阻值。测量结果如表1所示。
根据公式:
求得Δα分别为-6.0×10-7、-5.6×10-7、-1.2×10-7、-4.1×10-7、-5.8×10-7,满足Δα为±6×10-6范围的规定, 满足工业标准,最大测量误差仅为0.006℃。
表1 温度测量结果
在4mA~20mA电流环路中,串入300Ω左右的通信电阻,将USB-HART调制解调器的两个无极性测试钩,勾在电阻两端,通过上位机软件和和智能温度测量系统通信,完成HART通信测试,结果表明HART通信单元实现了量程上下限调整,温度传感器校准和对温度值、电阻等变量的实时监测等功能。
5 结论
该智能温度测量系统,采用基于电阻数字转换的方法,实现了电阻的高精度测量,不需要恒流源芯片和调理电路,实现了电路的微型化,带有自检功能并支持HART协议,实现了智能化。符合工业标准,可用于大量程比智能温度变送器、超声波热量表等设计中。
[1] 张玉东.超低功耗智能便携式温度测量仪的研究[D].上海:华东师范大学,2010.
[2] 李殊骁,郝赤,龚兰芳,等.高精度三线制热电阻检测方法研究[J].仪器仪表学报,2008,(1):135-139.
[3] 张修太,胡雪惠,翟亚芳,等.基于PT100的高精度温度采集系统设计与实验研究[J].传感技术学报,2010,(6):812-815.
[4] 谭长森.基于PT100型铂热电阻的测温装置设计[J].工矿自动化,2012,(3):89-91.
[5] 崔龙.基于HART总线的气体报警仪的硬件实现[D].杭州: 杭州电子科技大学,2014.
[6] 田海军,张鋆,张鑫.基于PCap01的智能多段式电容汽包水位计设计[J].制造业自动化,2015,(5):126-128.
[7] 邓国荣.基于STM32 SPI接口的M25P80 FLASH的驱动设计与实现[J].机电信息,2013,(6):144-145.
[8] 孔祥伟,周杏鹏.基于HART协议的智能压力变送器的设计与实现[J].仪表技术与传感器,2010,(2):15-17.
[9] 廖玮.基于HART协议的智能定位阀控制系统的研制和开发[D].天津:天津大学,2009.
[10] 姜祥真,陈俊杰,操永波.HART主机数据链路层的实现[J].自动化仪表,2010,31(6):1-4.