英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料
基于ARM的高精度温度测量系统的开发
YiXianjun,Liu Cuimei
武汉理工大学电气与信息工程学院
中国人民解放军武汉大学693号
430073
电邮:xjuny@163.com
摘要:本文介绍了采用ARM处理器LM3S1138作为控制核心的高精度温度测量系统。在温度测量电路中,传感器Pt100的电流驱动电路和A/D转换电路采用相同的参考电压,使得A/D转换结果仅取决于铂电阻随温度的变化值Delta;,而不会受到传感器恒流驱动电流稳定性的影响和A/D转换器的参考电压精度,该设计方法有效地提高了系统硬件的采样精度。在测量误差的软件校准中,采用最小二乘法拟合“采样值-温度”曲线与各种温度段的测量数据相关,它抵消了铂电阻信号从铂电阻到A/D转换之间的各种中间环节发生的偏差。在温度测量过程中,ARM处理器进行实时计算,根据A/D采样值得到最终温度测量结果,并结合拟合的多项式。 实际测量结果表明,系统温度偏差小于0.05℃。
关键词:ARM,高精度测量,温度检测电路,最小二乘法,曲线拟合。
1.引言
温度是工业生产中非常重要的参数之一,温度检测和控制的准确性会影响生产状态和产品质量。因此,在许多工业领域中,它们对温度测量和控制的准确性有很高的要求。在化学工业的组合苏打工艺生产技术中,外冷却器液体的进出口温差需要固定值,低于或高于固定值都会产生显着的负面影响。显然,较高的温度测量精度可以保证温差控制精度。针对这种情况,系统采用ARM处理器作为控制核心,采用铂电阻作为温度元件,对温度信号进行检测。虽然Pt100具有高精度,高稳定性等优点,但是在以Pt100为检测元件的温度测量系统中,如果想要进一步提高测量精度,则存在一些实际困难。首先,关于硬件电路,除了能够检测和放大信号的微小变化外,它还必须能够补偿电路组件工作期间由零点调整电路、偏置电路Etc和温度漂移等电路引起的精度误差。同时,对后期铂电阻的信号调理电路有很高的要求。另一方面,在温度测量系统的设计中,一般以某些规格的温度元件为对象,但在铂电阻温度测量元件的批量生产中,相同规格的产品误差是控制在一定范围内的(如A级铂电阻Ptl00A,0℃时电阻允许偏差为plusmn;0.060Omega;),生产中忽略了相同规格的各种检测元件的差异,使得温度测量系统的测试结果在标称允许偏差范围内变得不确定,因此温度测量精度的提高受到限制。
基于此,在介绍了温度测量系统的电路结构后,给出了一个能满足高精度测量需求的硬件信号检测电路,然后针对特定的铂电阻,使用测量数据,结合曲线拟合分析方法,可得到应用于各温度段的d-t温度测量多项式(d为A/D样本值,t为温度)。以d&t为参数的拟合方法可以抵消Pt100A温度测量中铂电阻与A/D转换信号之间各个中间环节的偏差,使系统的温度测量更加准确。
2.系统硬件设计
2.1系统硬件原理图
温度测量系统采用LM3S1138作为控制核心。 LM3S1138是第一款基于ARM -M3内核的处理器,该处理器具有32位数据处理能力,其内部集成了可编程系统定时器(SysTick),系统时钟可以倍频至高达200MHz,足以满足在线需求(实时)计算温度误差软件补偿的需要。同时,它包含大量片上外设:8个通用I / O端口(GPIO)PORTA-PORTG,3个异步通信端口(UARTO-UART2),2个I2C总线接口(I2C0、12C1),32位定时器和A / D转换器等,为连接其他外部电路带来了极大的便利。
温度测量系统的硬件原理图如图1所示。温度测量部分由信号放大单元、滤波电路、A/D转换和基于传感器的恒流源驱动电路组成;采用嵌入式ST7920控制器的LCD模块作为信息显示器(基于LM3S1138的I/O端口软件模拟SPI总线与LCD模块连接);使用独立型键盘设置系统参数; RS-232转换器电路与PC通信,通过Modbus协议交换数据,可以通过PC实现温度测量系统的监控。
图1 温度测量系统硬件原理图
2.2温度测量电路和分析
温度测量电路主要由恒流源电路、信号放大、有源滤波和A/D转换电路组成,具体电路如图2所示。
双运算放大器构成一个恒流源电路,如图2所示,通过的电流是/,即驱动电流Pt100A是:
/(1)
图2 温度测量电路
精密运算放大器OP77构成信号放大单元,为了消除铂电阻引线电阻r的影响,Pt100A采用三线制连接。取R0 =100.00Omega;(即Ptl00A在0℃时的电阻),电路的放大是对应于Delta;的电压信号,当铂电阻Delta;取0℃作为参考点时,是随温度变化的电阻。当R2= R3gt; gt;R0时,放大后的输出电压为:
(2)
其中,K是放大器增益。
MAX7403为高阶低通有源滤波器,传输频段信号增益为0dB,对应于频率的信号增益高于衰减-80dB的截止频率。由于温度是变化较慢的信号,所以将滤波器的截止频率设置在38Hz左右,可以有效滤除系统电源引起的50Hz电力线干扰。
MAX1169是16位串行A/D转换器。它使用I2C总线连接ARM处理器LM3S1138,LM3S1138用于控制A/D转换和读取数据。由于通带内的预滤波器电路的信号增益没有衰减,因此A/D器件的输入电压Vi是放大器单元的输出电压Uo。由于A / D器件也采用(恒流源电路)作为参考电压,A/D转换结果d与ADC输入模拟信号Uo之间的关系如下所示:
(3)
其中,n表示A/D转换器的位。
通过表达式(2)、(3)和(4)可以获得:
(4)
显然,当放大单元增益K和电阻值恒定时,A/D转换结果仅取决于铂电阻随温度变化的变化值,并且不受传感器恒流驱动稳定性和A/D转换器的参考电压精度的影响。传感器Ptl00A和A/D转换电路的电流驱动电路采用同一个参考电压,这种方法有效地提高了电阻变化的检测精度。
3.“样本值-温度”曲线拟合和温度测量计算
通过表达式(4)可以得到更高的的检测精度。然而,在实际应用中,足够理想的温度测量精度不能通过表达式(4)得到,有很多原因,比如R和t之间的关系不是线性的,运算放大器零点调整电路和偏置电路的误差、滤波器的衰减、温度漂移和A/D的非线性等等。为了抵消Pt100A温度测量中A/D转换的各种中间环节引起的偏差,在曲线拟合过程中,得到A/D转换的采样值d与温度t之间的关系,即为铂电阻进行后级信号调理电路和A/D转换电路整体补偿。由于考虑了信号调理电路的误差,这种拟合d-t曲线的方法可以获得比拟合铂电阻R(r)曲线更高的温度测量精度。在获得d-t曲线后,如果可以读取采样结果d,则可以通过在线计算获得温度值。
3.1原始数据的获取和预处理
硬件设计用于获取用于拟合“样本值-温度”曲线的原始数据。将恒温槽作为温度场,在同一温度点进行10次连续采样,得到S1~S10的采样结果,并将采样结果S1~S10作为一组数据记录。在测量原始数据之后,可以对测量数据进行数字滤波处理,排除每个采样点处的十个数据的最大值和最小值,并将剩余的八个数据的平均值作为最终样本值d,因此,在该数据点处,获得一组数据(di,ti)。在实验中测量了0-96℃切片中的980多组数据(在采样点约为0.1℃)。因为它涉及更多的数据点,为了便于表达,选择一个简短的部分来描述。 28℃~38℃的部分测量数据如表1所示。
表1 28℃~38℃的部分测量数据
实际温度 ti(℃) |
29.05 |
29.22 |
29.40 |
29.55 |
29.70 |
hellip; |
37.71 |
37.80 |
37.92 |
采样数值di(℃) |
14006 |
14087 |
14177 |
14242 |
14313 |
hellip; |
18235 |
18287 |
18342 |
3.2实现曲线拟合
为了逼近温度测量电路的真实曲线,将获得的拟合曲线的方法应用于整个温度测量范围,即使用多项式在每个约10℃进行拟合。拟合多项式具有以下形式:
(5)
其中,、、 ......是将获得的系数。
为了获得更准确的表达式,使用三次多项式来拟合数据进行处理。使用最小二乘法确定拟合曲线的多项式系数、、、。
测量结果di的数据值在表1中非常大,如果使用di作为基本数据进行拟合,这将降低精度,因此,在拟合之前对di数据进行归一化[8],归一化表达式为:
(6)
然后在归一化后拟合温度和样本值以获得拟合多项式。
如果min(d)= 13944,则max(d)= 18371,在28℃~38℃范围内,标准化后的dirsquo;与温度ti之间的拟合函数为:
t(drsquo;)= 0.0112 0.0216 2.6183d#39; 33.6232(7)
在0℃-96℃的温度范围内,通过拟合得到各范围的多项式系数,如表2所示。
表2 0℃-96℃的温度范围内多项式系数
温度范围 (℃) |
多项式系数 |
|||
0-8 |
0.0793 |
0.1253 |
1.6177 |
5.2886 |
8-18 |
0.0153 |
-0.0065 |
2.7708 |
13.1427 |
18-28 |
-0.0614 |
-0.0210 |
4.2962 |
22.3705 |
28-38 |
0.0112 |
0.0216 |
2.6183 |
33.6232 |
38-48 |
-0.0041 |
-0.0201 |
1.4811 |
40.2555 |
48-58 |
0.0259 |
-0.0440 |
2.7380 |
52.8597 |
58-68 |
-0.0136 |
-0.0398 |
2.9963 |
63.0458 |
68-78 |
0.0133 |
-0.0268 |
2.9008 |
72.9766 |
78-88 |
-0.0291 |
0.0009 |
2.9861 |
83.0177 |
88-96 |
0.0204 |
-0.0181 |
2.2986 |
92.1288 |
3.3在线计算温度测量结果
ARM处理器LM3S1138具有32位计算精度和足够高的工作频率,足以满足温度测量结果和速度的在线计算精度要求。采样值di由A/D转换器得到,选择相应的多项式系数,实时计算测量温度。例如,如果采样值为[13944,18371]间隔(采样间隔对应于28℃~38℃温度段),则可以通过表达式(6)和(7)获得测量对象的准确温度值。类似地,可以通过A/D转换器获得采样值di,计算得其他温度区间的精度测量结果。
4.测量精度和误差的分析
各
全文共10381字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[659]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。