APP下载

基于四线制PT100的高精度温度采集系统①

2023-05-30张亚芳

关键词:阻值温度传感器电阻

张亚芳

(阜阳职业技术学院,安徽 阜阳 236000)

1 温度测量系统的方案设计

1.1 总体设计思路

本设计需要实现的温度测量是一种低延迟、高精度、鲁棒性好的温度测量,要实现这样的温度测量,满足负50摄氏度到正260摄氏度的全范围温度测量,常见的温度传感器不能满足本设计的温漂、精度、抗干扰等特性,这些温度传感器远远不能实现本设计的要求,故本设计选择了一款能够满足本设计精度要求和测量温度范围的温度传感器,它就是PT100。PT100具有良好的线性关系。传统数字温度传感器虽然具有一定的价格优势,但是对于这种对精度要求比较高、测量范围比较广的场合具有很大的局限性,所以本设计选择了PT100作为本设计的温度传感器,对测量单元进行温度测量。在单片机的选型上,本设计选用了现在行业领先的STM32单片机,显示器部分,本设计采用的是LCD12864显示单元,它可以同时显示多行的数字或者汉字,有128×64的最小显示单元[1]。本设计的整体系统框图如图1所示:

1.2 关键元件选型

对于温度采集传感器的选型,本设计选择的是PT100电阻。在PT100的多种接线方式中选择了四线制的接线方式,因为这种接线方式能够有效地考虑线阻,精度最高。采集电路采用差分放大器电路,一方面能够有效地滤除系统中的共模干扰、滤除环境磁场和板载干扰,提高采样稳定性,另外一方面能够调节PT100的采样区间,达到最优的放大效果,提高采样精度。控制核心采用现在主流的基于M4内核的STM32单片机,具有极高的性价比,性能稳定。显示系统采用的是串行LCD12864显示屏,它具有显示使用寿命长,价格低廉的特点。

图1 本设计的整体系统框图

2 系统硬件设计与实现

2.1 单片机最小系统

2.1.1 芯片资源介绍

对于单片机的认识,首先要看其设计构架,STM32采用的是ARM设计构架,现在新兴的ARM设计构架从低端的ARM0到高端的ARM11形成了全系列的应用功能需求。本设计采用的是M4系列单片机,可以通过倍频的功能最高达到72兆赫兹的工作频率,根据不同的用户需求,在M4内核中也有不同的引脚分配,从36引角到144引角不等,以满足不同用户对不同设备和不同场合的驱动需求。在存储空间上也有不同,主要分为三个档,分别为小容量、中容量和大容量。小容量的内存flash一般在128k左右,中容量一般在512k,大容量的一般在1000k。同时单片机具有丰富的I/O接口和ADC接口,ADC接口一般可达十多个,同时可以加载多路时钟线以及外部触发中断线,并且具有良好的低功耗性能,可以应对移动终端设备对于低功耗的需求,并且带有低频工作时钟晶振,以应对低功耗情况下的使用需求。

STM32单片机是一种独特的微处理器,是用来对数字信息进行数据处理的元器件,其工作原理是接受相应的信号,对数字信息进行数据运算,并把数据模拟输出。它具有可编程性,运行速度高达每秒数千万条控制指令。STM32单片机受到温度、湿度、光照等外部环境的因素非常小,具有较强的抗电磁干扰能力。

2.1.2 电源设计

本设计的LDO选用的是AMS1117,将USB输入的5伏电压转换成3.3伏电压为本设计系统提供电源。AMS1117采用的是SOT-223封装,有一个很大的散热引脚,可以有效的进行散热,因为这个散热引脚的存在,大大增加了芯片的过流能力,AMS1117瞬间最大过流能力达到一安电流。AMS1117中有很多系列,本设计选择的是AMS1117-3.3,这种芯片的输入电压最高可达到12伏,输出恒定3.3伏电压,这种电源芯片的稳压效果相对于DCDC的稳压,杂波少,符合传感器对电压精度以及纹波的要求。AMS1117的外围电路相对于DCDC来说较为简单,没有复杂的电感、二极管等,只需要滤波电容和储能电容即可。AMS1117有四个引脚,三号引脚为电源输入引脚;四号引脚为电源输出引脚,稳定输出3.3V电压;一号引脚为参考地引脚。C17,C18电容为100nF,主要起到滤除高频噪声的作用,C16,C19为10uF,主要用来滤除低频杂波和储能作用,同时稳定电压的跌落,为瞬时的大电流提供能量,增强电源的抗干扰能力。AMS1117电源系统原理图如图2所示:

2.1.3 复位电路

复位电路的作用是实现在上电初期通过电平的变化,对单片机进行复位,实现系统初始化。单片机复位电路由电容和电阻以及按键组成。整体的上电过程中的电平变化会被单片机的复位引脚识别到,进而复位内部芯片,在特殊情况下本设计可以通过复位按键对程序复位,设计中经常遇到的程序跑飞或者程序工作不正常的异常现象,可以通过按下复位键让系统回归为初始状态重新工作。

图2 AMS1117电源系统原理图

2.1.4 晶振电路

晶振电路形象地来说就像是我们生活中的时钟一样,任何的操作都是以时钟作为基础的衡量单元。晶振电路主要是由石英晶体和起振电容组成的。石英晶体可以理解成一个弹簧,只要有电压进入其中,就会跟随一起反复来回震荡运动,并且这个运动的频率是固定的,这是由石英晶体的固有特性决定的,本设计选择的是8MHz的晶振,配合芯片内部的分频电路,可以实现72MHz的工作频率[2]。

2.2 四线制PT100高精度硬件电路

在温度的变化过程中,PT100温感探头的温度变化曲线是已知的,能够根据电阻的阻值得到相应的温度数值,PT100的温感探头的温度系数主要分为A,B,C三类,本设计采用精度最高的A类型探头,温度采样精度为0.15+0.002|t|。这个测量精度前面的0.15很容易理解,就是测量的固有误差,是电阻物理特性所决定的,后面的0.002|t|是测量温度所引起的变化误差,可以简单理解在高温和低温情况PT100的精度相对中间测量温度有所下降,例如在0℃时,通过计算采样精度为0.15℃;同理在100℃时,通过计算采样精度(0.15+0.002*100)=0.35℃。这个采样精度是传感器的自身误差,不能够通过电路设计进行优化去除,但是可以通过算法校准在特定的使用场合进行优化,以提高测量精度。PT100常见的接法电路主要分为三种,分别为二线制、三线制、四线制,二线制不考虑测量导线引入的导线电阻,所以一般适用于测量导线较短,测量精度要求不高的场合。三线制是现在工业设备中使用最为广泛的接线方式,这种设计必须要保证R1,R2,R3三根引线是材料、长度和粗细是一致的,这样就可以通过分别测量两个正端的电阻阻值,然后进行减法运算得到温感探头真实阻值[3]。四线制的PT100能够有效地降低导线电阻在测量过程中的误差,但是测量电路相对较为复杂,需要制作恒流源进行测量。

假设R1,R2,R3,R4是PT100的四根导线的电阻,当R3,R4接电流源的时候,则R1,R2接监控设备。监控设备可以认为是开路状态,当电流源电流恒定为I时,监控设备采集的电压为U,就可以通过R=U/I计算出电阻Re的阻值,进而对应真实的温度。

2.3 恒流源电路对于恒流源的设计

本设计巧用LM317内部基准电压VREF,实现电流源的产生。由于其LM317内部的芯片反馈机制,在LM317的输出引脚和电压反馈引脚之间的电压是恒定不变的,基本都是1.25V,因为个体差异会有少许偏差。通过测试得到LM317整体电流源精度可以达到0.1%的精度,能够满足采用所需的电流精度要求。

2.4 差分放大电路

差分放大器是利用放大器的对称电路,对于两个输入点的电压进行对比,从而计算出两个输入端之间的差异。本设计采用的放大器为广泛使用的LM358,能够对小信号进行多达一百倍的放大,因为本设计采集的PT100的原始信号不经过原点,所以不需要考虑放大器的零漂问题以及最小放大电压问题,并且本设计可以在软件上对参数进行局域校准,所以不需要过多关注系统的采样固有误差,但是采样对系统的稳定性要求较高,这直接决定了采样的精度高低。本设计的放大倍数为4倍。差分放大器电路如图3所示:

图3 差分放大器电路

应用虚断的概念,R3和R4形成一个分压电路。V+(运放的正输入端电压)等于V2 * R4 / (R3 + R4)。

应用虚短的概念,V-就等于V+。对V1,R1,R2一路列方程:

(V-- V1) / R1 = (Vout - V-) / R2

(1)

将V+ 的表达式代入V-

Vout * R1 = V2 * R4 / (R3 + R4) *

(R2 + R1) - V1 * R2

(2)

因为R1=R3,R2=R4,进一步整理,则得到最后的表达式为

Vout = (V2 - V1 )* (R2 / R1)

(3)

2.5 LCD12864显示屏部分

本设计的LCD12864显示模块有12个引脚,1到4引脚是用来给背景灯珠供电以及参考地的引脚,第五个引脚是显示屏的复位引脚,第六个是模式选择引脚,第七个是SPI通讯的数据通讯引脚,用来传输显示数据。第八个是SPI通讯的时钟通讯引脚,用来提供通讯的时钟基准。第九个是显示屏的整体供电引脚,本设计采用3.3伏供电,第11个是显示屏的片选引脚,旁边的C3电容用来降低高频奇次谐波。

3 系统软件实现

3.1 软件总体设计

本设计根据功能要求进行了软件逻辑的设计,实现了本设计所要的功能。在系统上电后,首先要进行系统的初始化,然后对ADC进行初始化,配置本设计的温度传感器输入的端口,复用单片机的ADC口,本设计选择的是PA7,单片机ADC1转换器的第七个通道,同时设置采样频率等参数。然后读取PT100与高精度低温漂电阻之间的电流乘以电阻之后的电压值,送到单片机的ADC引脚进行模数转换。为了保证转换的精度和滤除系统转化过程中存在的系统误差,本设计采用转换100次,将ADC转换值进行累加处理,然后求平均值的方案,本设计的循环转换函数会判断是否达到100次转换,如果没有达到,记录本次转化的数值并进行累加,接下来进行下一次的ADC转换,当达到100次转换时,结束ADC采集转换并求取100次转换的平均值。获得ADC转换值后,通过计算得到电阻阻值的高低差异,然后通过PT100的公式计算得到对应的温度数值,最后通过单片机和LCD12864之间的SPI串行线将数据发送到显示屏显示。

3.2 PT100高精度电阻软件设计

PT100温度传感器的软件流程方案,首先本设计要对单片机的模数转换资源口进行分配,设置转换频率,采样周期等参数,然后温度采样电阻分压过后得到的电压数值被单片机采集,并且转化为ADC采样数值,这个ADC采样数值并不能反应温度的真实数值,所以需要先将这个ADC采样数值转换成电阻数值,然后再通过PT100的电阻与温度之间的对应关系进行公式的计算,得到温度数值。

3.3 LCD12864显示屏软件设计

本设计的显示屏采用的是SPI串口通讯,共有四根线。一根是数据输入线,这根数据输入线是单片机发送数据到LCD12864显示屏的显示数据,显示数据遵循通讯数据格式。一根是数据输出线,SPI是双向的数据通讯,有来有回,通讯速率可以达到10M/s,比IIC通讯速率提高了好几倍[7]。一根是通讯时钟线,通讯时钟线的作用是为两个设备之间的数字通讯提供一个时间基准。一根是片选信号线,就是单片机选择是否和这个芯片进行通讯。因为本设计的显示屏只有数据输入,没有数据输出,所以本设计的SPI通讯线中只有三根线,少了一根数据输出通讯线。

4 PT100铂热电阻算法与调试

PT100铂热电阻通过它的阻值变化与温度之间的关系,得出了一个比例系数,这个比例系数A=0.00390802;B=-0.000000580;C=0.0000000000042735,PT100在0到100度之间具有很好的线性关系,线性关系图如图4所示:

图4 PT100线性关系图

根据韦达公式求得阻值的换算公式:

t=(sqrt((A*R0)2-4*B*R0*(R0-Rt))-

A*R0)2/B/R0

(4)

但是这种线性的计算方式适用于采样精度要求不高的场合,常见的两线制的PT100设备多采用这种计算方式。对于本设计的四线制PT100采集系统,对于硬件的设计采用差分放大,有效减少了误差干扰,对于软件的算法,本设计采用查表法。查表法相对于公式计算法准确度更高,因为PT100传感器采集的温度与自身电阻之间的关系也不是绝对的线性关系,查表法能够根据每个传感器的采集差异进行有效的校准,提高采样精度[5]。PT100单个采样真值表如图5所示:

图5 PT100单个采样真值表

通过实际的测量可以测量出恒流源输出的电流为0.042毫安,进而可以得出温度传感器的电阻阻值,因为差分放大器采用的是1:4的放大倍率,整体放大倍数为4倍,假设通过STM32F401采集的adc的值为3000,通过公式计算的方式会存在系统误差,如果采用温度人员对其进行调整的方式,通过查表法查询出3000所对应的区间所在范围为33数组和34数组之间,两个数据之间相差的温度为1℃,因为在这个极小的温度区间内,认为其是为线性的,可以通过计算得到温度值为30.5度[6]。

猜你喜欢

阻值温度传感器电阻
四线制阻值检测电路实验研究
电阻大小谁做主
励磁线圈对插入式电磁流量计的影响
温度传感器DS18B20在温度计设计中的应用
一种高性能CMOS温度传感器
低电阻碳膜板制作及其阻值的优化
巧测电阻
对一道电学实验题的思考
XTR105电流变送器在温度传感器中的应用
电阻焊