当前位置:首页 > 专题范文 > 公文范文 > PT100温度传感器在单片机项目化实训中的应用

PT100温度传感器在单片机项目化实训中的应用

发布时间:2022-10-24 09:40:04 来源:网友投稿

摘 要:根据项目化教学的需要,利用PT100温度传感器设计一款单片机数码温度显示器。文中主要论述了PT100温度传感器的测温原理、软硬件实现方法以及项目实训过程。(本文原刊于煤矿开采2014年5月)

关键词:PT100温度传感器;运算放大器;IAP15F2K60S2;在线仿真

温度计是现实生活中一重要实用物品,将该产品进行项目化教学设计可极大提高学生的学习积极性。可将其分解为数码管显示子项目、定时器中断应用子项目、串行通信子项目、AD模数转换子项目,并可扩展按键输入、报警输出子项目。该项目基本包含了单片机教学的主要内容:输入/输出口应用、中断、定时器、串行口、模数转换等。通过项目分解,使学生掌握单片的基本结构、原理、程序设计与应用系统开发过程。每次实训结束后,多数学生都甚至想出资并强烈要求把自已的实训作品带走。若将该项目进行产品化可进一步推进单片机教学向生产性实训靠拢。

PT100铂热电阻00C时其电阻值为100Ω,1000C时电阻值为138.5Ω,其电阻值随着温度的升高近似线性增大,其阻值随温度变化的计算公式为:

-200

图1 PT100温度阻值线性化

0≤t<850℃ Rt=R0(1+At+Bt2)

由上述公式可看出PT100阻值与温度的关系接近于抛物线。为了减化编程,本实例中将PT100电阻和温度线性化,如图1在程序中把温度区间分段,分段区间内其电阻值与温度近似成正比,得

T=K(Rt -100)=K Rt -100K=K Rt –B 式(1)

由图1知K=100/(138.5-100)≈2.5974

统过改变其比例系数K并减去一修正常数B使其更接近于实际温度。这比查PT100阻值-温度关系分度表要容易的多,精确度也可实现较高。

图2是PT100的放大电路,PT100热电阻电压采样采用电阻分压桥式电路,TL431是稳压二极管,通过电阻R1使电压稳定在2.5V,避免电源电压的波动影响采样电压的稳定。PT100在零度时的电阻为100Ω,与电阻R2串联分压送运算放大器正向输入端;R3和R4分压送运算放大器负向输入端;理论上零度时正负输入端压差为0,随着温度的升高,每升高一度,PT100阻值增加0.390C,流过PT100的电流为1mA,即温度每升高一度,前级运算放大器正负输入端压差升高0.39mV。运算放大器采用LM258单电源运放,工作电压为+5V,即满量程输出为0~5V,为了避免放大倍后超过5V限幅,限定运算放大器输出幅宽4V。已知流过PT100的电流为Ii(1mA),Pt100的阻值为Rt。PT100在5500C的阻值为297.49Ω,取整数值300Ω。设放大倍数为A,计算A值如下。

Ii*(Rt-100)*A<4

0.39*10-3(300-100)*A<4

A<51

即放大倍数应小于51,取50,可测量温度范围为00C ~5500C。

设运算放大器输入压差为Vi,输出电压为Vo,有

Vo=A*Vi=A*Ii*(Rt-100)

上式中A=50,Ii=1mA。得:

Vo=50*1*10-3*(Rt-100)=0.05(Rt-100) 式(2)

放大后的信号送单片机ADC0模数转换输入接口,通过8位AD转换将模拟电压Vo转换为数字量n。

Vo=V*n/256

已知单片机AD转换工作电压为5V,得:

Vo=5*n/256 式(3)

由式(2)和式(3)得

0.05(Rt-100) =5*n/256

Rt=100*n/256+100 式(4)

图2 PT100信号放大电路

由式(1)和式(4)可计算得出温度T。

若按上述规定温度测量范围为5500C,单片机AD采样用8位AD转换器,则其有效测量精度小于550/256,即测量精度大约20C。若要提高测理精度,可采用更高位AD转换器(比如12位AD转换器,有效测量精度550/4096,小于0.20C。),或缩小温度测量范围(00C ~500C),并增大运算器放大倍数。

IAP15F2K60S2单片机内部有一10位AD转换器。IAP15F2K60S2单片机不仅具有ISP/IAP在线编程功能,利用其内部的监控程序还可进行在线仿真,方便程序调试,又节省成本,特别适合教学。利用IAP15F2K60S2单片机的1.0模拟输入接口采集模拟信号,转换成数据信号后根据式(4)记算电阻值Rt,然后根据式(1)记算温度T。另外由于运算放大器和电阻误差的存在,根据实际温度将显示结果做微调。C3、C4是运算放大器LM258的电源滤波电容,C4是高频旁路电容,电容C6对运算放大器输出滤波。

考虑到ADC0809是单片机教学中常用模数转换接口芯片,项目中扩展了ADC0809接口芯片的应用,ADC0809芯片内部没有时钟电路, ADC0809的CLK为时钟输入端,其频率应小于640KHz,本实例中用单片机的定时器1产生一400KHz的时钟作为ADC0809的工作时钟。模拟输入使用通道IN0,转换后的数据输出到单片机的P0口。为了更好的理解ADC0809的模拟转换过程,在硬件和软件设计上没有采用总线方式,而是用单片机的三个I/O口分别产生地址锁存ALE/启动转换信号ST、转换结束判断信号EOC、允许转换结果输出信号OE。

图4 三极管符号及引脚图

显示电路采用数码管动太扫描方式,目的在于加强对单片机基础知识的理解。进一步理解数码管静态显示和动态扫描原理及应用,掌握数码管动态扫描编程。并在项目中增加了按键调整电路,报警电路,串口通信。项目实例基本包含了51单片机主要知识点。为了减小AD采样期间电源波动,在AD转换期间应避免单片机I/O口的状态变化,项目中用定时器T0每定时1ms采样一次,并对10次采样值求和取平均进行数值滤波。

实训过程中最好让学生利用Protel工具软件独立绘制电路原理图和PCB制板图。制作数码管、DC电源等SCH元件库,设计原理图,制作数码管、DC电源等PCB元件库,设计PCB制板图,输出CAM文件。进一步理解元器件在原理图中引脚排列和实际封装中的对应关系。比如PNP型开关三极管在电路原理图(图4)中的三个引脚1脚(发射极E,接电源Vcc)、2脚(基极B,接1K电阻)、3脚(集电极C,接数码管阳极公共端)与其实际封装中的三个引脚的对应关系。进一步增强对电路中元器件工作原理的理解能力。

在PCB图设计中,尽可能要求学生手工步线,在手动步线过程中,对照原理图中各元器件的线路连接关系,进一步检查各导线间的连接关系及步线的正确性,加深对电路的理解与应用,为后序的软硬件调试打好坚实基础。

图5 主程序

图6 定时器T0中断服务

对于焊接实训教科书中比较详细,不再赘述。由于学生焊接的熟练程度和技术能力有限,错误在所难免。如果把一块板子上的所有元器件都焊接完成,再调试检查硬件线路比较困难。我们在实训中的做法是先焊接成功一个小系统,比如本例中先点亮一个数码管,或先点亮一个数码管中的一段,设计对应的数码管闪烁测试程序,此阶段可不要求数码管显示数字,仅是让单片机动起来。这不仅有利于检查硬件线路,还提高了同学们的软件编程能力,提高同学们的硬件排除能力,增强自信力。然后再焊接其他数码管,同样要求学生一边焊接,一边测试,不提倡学生一次焊接多个元器件,直到四个数码管全部闪烁显示。这时可要求学生编写0-9的数码显示测试程序,比如先显示0123,一秒后再显示4567,再隔一秒显示890.1带小数点显示等,到此阶段显示电路制作完成。第二阶段推荐先焊接ADC0809模数转换芯片,编写对应的单片机测试程序,将ADC0809的通道IN0接地或接电源,检查其数字输出,测试ADC0809是否正常工作。最后焊接PT100和LM258运算放大电路,编写程序,测试软硬件。

IAP15F2K60S2单片机具有在线仿真调试功能,与下载器连接仅需4根线:电源、TxD、RxD和地。通过stc-isp-15xx-v6.63软件设置IAP15F2K60S2单片机为仿真芯片,可进行单步、断点、执行到命令行等调试。stc-isp-15xx-v6.63程序代码下载器软件内部集成串口调试、波特率、定时器常数计算及程序自动生成工具,可大大简化了编程工作量,提高编程郊率。采用USB调试接口,不需要在电路板中增加max232电平转换接口即可实现串行化数据显示及发送。

主程序主要实现定时器T0、定时器T1、串行口的初始化,调用显示子程序和温度计算子程序。定时器T0用于控制AD采样的频率,如图6,每50ms中断1次,中断20次1秒,实现每隔1秒单片机进行一次AD模数转换,并将转换数据保存在AD采样结果数组。定时器T1用于产生400KHz时钟,由其时钟输出口P3.4送模数转换结口ADC0809,用作ADC0809的时钟。定时器T1应禁止中断。串行口主要用作程序调试时的数据显示。温度显示用4位数码管动态扫描实现,扫描频率50Hz。

图7 温度计算

温度计算主要包括两个方面内容,如图7,一是对AD转换结果进行数值滤波处理,二是将处理后的数据向温度值转换。由于干扰的存在,在采样过程中会出现采样信号的波动,为了减小干扰造成的测量误差,项目中设置采样10次求平均值的方法进行滤波。在进行数值滤波操作之后,正如开篇所述,要将AD结果转换为温度,常用两种方法,查表法和公式法。查表法占用存储空间,编程比较麻烦,实现精度也不高;公式法比较简单,只需要确定比例系数K和修正偏差B即可。

在上述项目的基础上也可拓展声光报警电路、按键输入电路等。该项目不仅涵盖了单片机教学的基本知识点,又可在项目实训过程中强化编程训练,掌握程序调试技巧。通过调试各个模块程序,由小到大、逐步增加,然后调试主程序,再将各部分连接进行综和调试,培养学生的程序调试能力。总结来说,项目教学法是以学生为中心,以真实项目为载体,以培养学生的实际操作技能为目标,在整个过程中边实践边学习。将被动学习变为主动探索学习,让学生在学习过程中发现问题、思考分析问题、解决问题,提高学生的学习主动性和动手操作能力。(本文原刊于煤矿开采2014年5月)

作者简介

本文作者胡建波,1994年7月山东工业大学毕业,工程硕士,长期从事嵌入式教学与实践操作,主要研究方向为微型计算机开发与应用。

推荐访问:单片机 实训 温度传感器 项目 PT100

版权所有:袖书文档网 2002-2024 未经授权禁止复制或建立镜像[袖书文档网]所有资源完全免费共享

Powered by 袖书文档网 © All Rights Reserved.。备案号:鲁ICP备20026461号-1