基于Cu50传感器的岩温测量系统的研制

2015-01-27 08:10陈平平张志坚
自动化与仪表 2015年6期
关键词:寄存器温度传感器高精度

陈平平 ,杨 雷,张志坚

(1.东莞理工学院 电子工程学院,东莞 523808;2.东莞理工学院 工程技术研究院,东莞 523808)

在大亚湾反应堆中微子实验中,因为整个实验装置处于地下100 m的花岗岩隧道中,随着春夏秋冬的季节变换和实验设备的废气废热排放,会使花岗岩岩体产生热胀冷缩[1]。为了防止岩体坍塌,需要精确测量其温度值,计算热胀冷缩系数,以便对岩体进行实时监测。本文提出了采用Cu50为温度传感器的分布式温度测量方案,实现5℃~40℃,准确度为±0.2℃的温度测量。而传统的使用铂电阻的温度测量系统[2-3],或是其他使用相同传感器的方案[4],使用类似参量转换测量法[5]、自身温度测量补偿法[6-7]和大数据线性拟合法[8-10]都因为成本高或是会增加电路设计的复杂性或是软件处理的复杂性,而不适合在实验站大规模布点和网络传输监控。文中提出了以STM32为处理核心,Cu50为温度传感器,采用自校正技术来进行高精度温度测量方法,实现了很好的测温效果,并在2013年成功应用于大亚湾反应堆中微子实验站中。

1 测量原理

由IEC584/751/1515标准可知,Cu50的阻值与温度的函数关系式为

式中:A=4.28899×10-3;B=-2.1300×10-7;C=1.22300×10-9。

通过Cu50的阻值与温度的函数关系式可知:如果能精确测量Cu50的电阻值,那么就能根据Cu50的阻值与温度的函数关系式计算此传感器相应的温度,进而实现精确的温度测量。

2 系统方案设计

本设计采用串联4线制的自校正技术,如图1所示。

图1 系统方案Fig.1 System scheme

10个测温电阻、2个已知标准电阻、1个恒流源和15 V的电源串联在一个回路中,恒流在各个电阻上产生的电压信号通过12路模拟选择器分别依次选择到信号放大调理电路中,并送入AD转换器电路,然后由微控器来进行数据采集实现电阻测量,最后根据Cu50的阻值与温度的函数计算出各测温电阻对应的温度值。

3 电路实现

电路结构由电源、信号调理电路、ADC转换电路、STM32控制器和DM9000A 5大部分组成。

电源为整个系统提供±15 V、5 V、3.3 V和2.5 V 5个电压电源,其中15 V用于恒流源,±15 V主要用于信号调理部分,5 V用于AD转换部分,3.3 V主要用于STM32控制核心和DM9000A的网络通信模块,2.5 V为AD转换和信号调理部分的参考基准源。采用隔离式DC-DC的电源,保证了各电源之间的相对独立性,特别是数字部分和模块部分之间,只是最后的共地处采用了0 Ω电阻共地,保证了系统的稳定性。

STM32控制器是整个系统的处理核心,控制整个系统的运行,包括控制4个ADG509F进行12路的信号选择放大,控制ADC进行电压读取,然后计算出每路温度传感器的温度值,最后通过DM9000A将数据网络化发送出去。控制器选用32位的ARM微控制器STM32F103,外接12 MHz的晶振,内部6倍频达72 MHz的处理频率能满足多通道温度采集和网络控制的处理速度需求。

信号处理部分由4个4路模拟选择器ADG509F和2个AD623组成,实现信号的分时选通放大和调理,为ADC输出适合其转换量程的信号,电路图如图2所示。

4个ADG509F中,前3个为12路的前级选择输入端,后1个为后级选择端,共同实现12选1的功能。ADG509F为4路双通道模拟选择器,采用±15 V供电,并在电源输入脚附近配置了10 μF的钽电容和0.1 μF去耦电容。共有12路的输入端,分别是10个Pt100温度传感器和2个标准电阻;6个 控制输 入 端 口 EN0、EN1、EN2、EN3、A0 和 A1。EN0、EN1、EN2、EN3 起使能和片选作用, 而 A0 和A1是地址选择输入引脚。输出端DA和BD分别串接510 Ω的电阻和0.1 μF的电容到地,同时并接一个0.1 μF的电容为了滤除共模干扰和差模干扰。10个Pt100温度传感器和2个标准电阻都串联在一个由TL431设计5 mA的恒流电流中,因为需要测量的温度范围为5℃~40℃,那么2个标准电阻和10个温度传感器电阻都在100~120 Ω以内,即在5 mA的恒流中产生的压降为0.5 V~0.6 V。即最后一个ADG509F输出的信号大小为0.5 V~0.6 V。为了保证高精度的转换,需要进行放大处理,由AD623放大5倍,变为2.5 V~3.0 V,但此信号超出了AD转换器的转换量程,所以还需要将2.5 V~3.0 V的信号进行进一步的调理,即将此信号减去2.5 V变为0.00~0.50 V再进行4.8倍的放大,变为0.0~2.4 V的信号,此信号送入0~2.5 V量程的AD7715实现模数转换,将能实现最大量程的高精度转换。

图2 信号处理电路图Fig.2 Signal processing circuit diagram

图3 网络接口图Fig.3 Network interface diagram

如图3所示,网络连接模块选用DM9000A网络接口芯片,将需要发送的数据按协议封装好后发送给DM9000A,由DM9000A根据网络情况将数据包进行再次封装后发送到网络中,并通过RJ45接收从网络上发送来的数据,将数据初步解析后保存在缓存中,然后向控制器发出中断信号,由控制器来完成对数据的读取。

DM9000A有8位和16位2种总线模式,由DM9000A的EECS引脚(pin21)决定,接高电平为8位模式,接低电平为16位模式,且总线模式还以通过ISR寄存器的Bit[7]进行检测。本设计采用16位的总线模式,即EECS引脚接地,数据线SD0~SD15直接与STM32F103 PB口的PB0~PB15连接,DM9000A的片选信号CS、IO读信号线IOR、写信号线IOW分别与 STM32F103的 PA0、PA1、PA4相连;中断输出脚INT接STM32F103的PA5,同时PA5口配置为外部中断输入且是下降沿触发。数据或命令识别信号线CMD和外部复位控制线PWRST分别接PA6和PA7。CMD为低电平时读写命令操作,为高电平时读写数据操作,PWRST为低电平有效,一般用于系统初次上电后,控制器对DM9000进行复位初始化。外部网络接口采用HR911105,HR911105是由中山市汉仁电子生产的带隔离变压器的RJ45接口,其内部集成了1∶1的隔离变压器、LED指示灯和共模、差模抑制电路,起信号耦合、电气隔离、阻抗匹配、抑制干扰的作用,实现带电插拔和防雷的功能。

ADC电路主要由AD7715组成,用AD7715自带SPI接口直接与STM32F103的SPI接口相连,同时RESET复位引脚、CS片选信号和DRDY转换状态信号接STM32F103的GPIO口。因为采用了2.5 V的参考电压输入,所以只能对应0~2.5 V的信号量程。虽然AD7715支持双极性差分输入,因为前端的放大是单极性输出,所以设计中将AIN(-)引脚接地,只是AIN(+)引脚接输入信号,即为单极性输入。同时串接了510 Ω的电阻和0.1 μF的电容到地来滤除差模干扰,两输入脚间再并接了0.1 μF的电容来滤除差模干扰。外接2.4576 MHz的时钟晶振,可实现自启动转换。模拟电源和数字电源隔离独立,并采用了光电隔离器件ADUM5404来实现SPI接口的隔离,同时在用RC滤波网络连接电源引脚以提高电源的稳定性,实现高精度转换,提高了系统的抗干扰性和稳定性。

4 软件设计

整个温度测量系统都由STM32F103来实现控制。主要有3大部分,一是系统控制,包括上电开机后的系统初始化和键盘显示的控制等等。第二个是温度的采集与计算,主要是通过控制ADG509F选择各个电阻的电压,然后用AD7715进行电压的采集,最后计算出温度值。第三个部分是网络接口驱动DM9000A实现数据的网络化传输。程序流程如图4所示。

图4 程序流程图Fig.4 Program flow chart

4.1 初始化

系统上电开机后进行初始化。首先是控制器STM32F103的初始化,如内部寄存器清零,中断标志和外部IO口状态复位等,然后是4个ADG509F,控制它们处于待机状态,等待下次采样的控制,接着是AD7715,最后是DM9000A的初始化。

4.2 AD7715的电压采集

AD7715的电压采集过程是对其内部4个寄存器的读写过程,具体的操作过程如下:首先是AD7715使能复位引脚,使AD7715复位到写通信寄存器的状态,然后是写通信寄存器设置下一个操作的寄存器为数据寄存器,最后是读取数据寄存器,读完16位的数据后,即完成一轮电压采集。接着是选择下一个采集通道,并开始新一轮的电压采集。

4.3 DM9000A的网络数据处理

DM9000A的网络数据处理分网络数据接收和网络数据发送两部分。DM9000A接收到网络数据包时会产生中断请求,主控制器在响应其中断后就开始清空接收缓冲区,然后在DM9000A内存地址0C00H~3FFFH段读取以太网数据包,因为以太网数据包长度是在一定范围内可变的,所以要先在接收到数据帧头时,就逐步剥离,挑出首部先是判断地址是否符合,然后是判断数据帧的类型以便正确读取完整的数据包。读取完以太网数据包后就开始进行校验,如果校验错误,即把数据包丢弃,如果校验正确,则把有效数据部分剥离出来,并提交给主程序进行网络数据包处理。网络数据发送的实现较为简单,只要在发送数据前对数据按网络协议进行封包处理,然后将封包后的数据写入到DM9000A的0000H~0BFFH地址段,并把数据包大小写入到TXPLH和TXPLL寄存器中,最后将TCR的bit0设置为1即可。芯片会自动将数据发送到网络上去。

5 系统测试与分析

系统研制完成后为了校验其测温性能,采用了稳定性为±0.005℃,分辨率为0.001℃的高精度计量炉Fluke9170来进行校验。校验时把10个测温电阻都放置在计量炉内,这样既能进行测温性能的校验还能检测该系统多通道测量的一致性。测量结果如表1所示。

表1 温度校准测量数据Tab.1 Measurement data of temperature calibration

6 结语

该岩体温度测量系统已成功应用于大亚湾中微子实验站,设计中采用自校正技术的测量电路,实现了高精度的岩温测量系统的设计,使整个温度测量系统满足准确度为±0.2℃,分辨率为0.1℃的设计需求。通过福禄克的Fluke9170高精度计量炉来计量和在大亚湾反应堆中微子实验的实际应用效果表明,该系统工作稳定可靠,测量准确度高,具有一定的推广应用价值。

[1]曹俊.大亚湾与江门中微子实验[J].中国科学:物理学 力学 天文学,2014,44(10):1025-1040.

[2]张修太,胡雪惠,翟亚芳,等.基于PT100的高精度温度采集系统设计与实验研究[J].传感技术学报,2010,23(6):812-815.

[3]陈桂生,付志勇,赵晶,等.低成本提高工业铂热电阻检定结果可信度方法研究[J].中国测试,2015,41(1):24-28.

[4]张志坚,杨雷.基于Cu50的温度精确测量系统[J].计算机测量与控制,2014,22(5),1355-1356.

[5]沈峘,李舜酩,周华鹏,等.高精度铂电阻温度测量新方法[J].压电与声光,2010,32(5):187-191.

[6]陆阳,韩江洪,魏臻,等.铂电阻测温系统温度补偿方法[J].仪器仪表学报,2000,21(3):37-39,44.

[7]程建华,罗立成,王鑫哲.高精度温度测量系统的测温补偿算法研究[J].传感器与微系统,2010,29(11):36-39.

[8]王小华,何怡刚.铂电子PT100特性数学模型[J].传感器技术,2003,22(10):33-34.

[9]朱杰,郭涛.一种Pt100温度传感器的动态热响应模型[J].传感技术学报,2013,26(1):73-77.

[10]刘宇琦,樊丁,彭凯.Pt100热敏电阻传感器的数字仿真模块设计[J].科学技术与工程,2013,13(22):283-287.

猜你喜欢
寄存器温度传感器高精度
气象用温度传感器检定结果的测量不确定度评定与应用
使用冗余测量修正动态温场测量结果
Lite寄存器模型的设计与实现
温度传感器DS18B20在温度计设计中的应用
二进制翻译中动静结合的寄存器分配优化方法
基于Niosll高精度超声波流量计的研究
高精度PWM式DAC开发与设计
高精度PWM式DAC开发与设计
XTR105电流变送器在温度传感器中的应用
移位寄存器及算术运算应用