基于PT100传感器的单片机温度检测系统.docx
- 文档编号:26540709
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:19
- 大小:196.23KB
基于PT100传感器的单片机温度检测系统.docx
《基于PT100传感器的单片机温度检测系统.docx》由会员分享,可在线阅读,更多相关《基于PT100传感器的单片机温度检测系统.docx(19页珍藏版)》请在冰豆网上搜索。
基于PT100传感器的单片机温度检测系统
大连民族学院机电信息工程学院
自动化系
检测技术课程设计报告
题目:
基于PT100的热电阻温度检测系统设计
专业:
测控技术与仪器
班级:
测控092班
学生姓名:
韦魏刘宝琪
指导教师:
谢春利
设计完成日期:
2012年6月29日
1设计任务
1.1任务要求
给定温度传感器(热电阻、热敏电阻等)和单片机最小系统,学习使用单片机最小系统,设计温度测量电路和模拟量输入通道,完成相关的软件设计并实现温度测量显示。
1.2任务内容
通过传感器对温度进行检测,设计的检测电路将其转换成相应的电压值,又通过过程通道,A/D模数转换器将传感器的电压值的模拟信号转换为数字信号,然后所转换的数字量接到单片机89C52的P0口,最后单片机对接入的数字信号做出反应,显示出温度值。
2系统方案设计
2.1总系统方案
该电阻温度检测系统由三部分组成:
温度检测与处理,模数转换,温度显示。
2.1.1温度检测与处理
电阻式温度计是利用物质在温度变化时本身电阻也随着发生变化的特性来测量温度的。
当被测介质中有温度阶梯存在时,所测得温度是感温元件所在范围介质中的平均温度。
尽管导体或半导体材料的电阻值对温度的变化都有一定的依赖关系,但适用于制作温度检测元件的并不多。
由电阻温度传感器检测的信号不稳定,进入测量电路的除了传感器输出的测量信号外,往往还有各种噪声。
而传感器的输出信号一般又很微弱,为了将测量信号从含有噪声的信号中分离出来我采用了仪用放大器AD623进行信号放大及低通滤波,将噪声去除。
2.1.2模数转换
A/D转换器的作用就是把模拟量转换成数字量,以便于单片机进行处理。
电阻温度计将测量温度以电信号的形式传递给ADC0809(逐次比较型),将电压信号转换成单片机可接收的数字信号。
2.1.3温度显示
这部分模块由四位八段共阳极的数码管组成,段选部分直接与单片机相连。
2.2系统方案图
系统方案图如图1.1所示。
图2.1系统方案图
3硬件设计
3.1温度检测模块的设计
3.1.1PT100温度传感器简介
①测量范围:
-200℃~+850℃;
②允许偏差值
℃:
A级
,B级
;
③响应时间<30s;
④最小置入深度:
热电阻的最小置入深度≥200mm;
⑤允通电流≤5mA。
另外,PT100温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点。
鉑热电阻的线性较好,在0~100摄氏度之间变化时,最大非线性偏差小于0.5摄氏度。
鉑热电阻阻值与温度关系为:
①-200℃<t<0℃时,
;
②0℃≤t≤850℃时,
;
式中,A=0.00390802;B=-0.000000580;C=0.0000000000042735。
可见PT100在常温0~100摄氏度之间变化时线性度非常好,其阻值表达式可近似简化为:
,当温度变化1℃,PT100阻值近似变化0.39
。
3.1.2温度检测及信号处理电路
热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的。
通常将其放在电桥的桥臂上,温度变化时,热电阻两端的电压信号被送到仪器放大器AD623的输入端,经过仪器放大器放大后的电压输出送给A/D转换芯片,从而把热电阻的阻值转换成数字量。
AD623是一款集成式单电源仪表放大器,采用3V至12V电源供电时提供轨到轨输出摆幅。
它可以通过单一增益设置电阻进行编程,并遵照8引脚工业标准引脚排列配置,赋予用户出众的灵活性。
不接外部电阻时,AD623采用单位增益配置(G=1);连接外部电阻时,AD623可通过编程实现最高增益1000。
AD623具有优异的交流共模抑制比(CMRR),并且随着增益提高而增大,因此可确保误差极小。
由于CMRR在最高200Hz时仍然保持稳定,因此线路噪声和线路谐波均得到抑制。
AD623具有宽输入共模范围,可以放大共模电压低于地电压150mV的信号。
虽然AD623设计针对单电源供电进行了优化,但采用双电源(±2.5V至±6.0V)供电时,AD623仍能提供出色的性能。
温度检测电路图如3-1所示。
图3.1温度检测电路图
3.2模数转换
3.2.1ADC0809简介
本次设计模数转换部分用ADC0809。
ADC0809是8位逐次逼近型A/D转换器。
它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图3)。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
ADC0809的内部逻辑结构如图3.2所示。
图3.2ADC0809的内部逻辑结构
ADC0809工作方式:
(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。
(2)初始化时,使ST和OE信号全为低电平。
(3)送要转换的哪一通道的地址到A,B,C端口上。
(4)在ST端给出一个至少有100ns宽的正脉冲信号。
(5)是否转换完毕,我们根据EOC信号来判断。
(6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
其引脚结构如图3.3所示
图3.3AD0809引脚图
3.2.2模数转换电路图
模拟转换原理图3.4所示。
图3.4模拟转换原理图
3.3LED显示电路的设计
在单片机应用系统中,如果需要显示的内容只有数码和某些字母,使用LED数码管是一种较好的选择。
LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。
3.3.1LED数码管编码
LED数码管是由发光二极管作为显示字段的数码型显示器件。
图3.5(a)所示为0.5英尺LED数码管的外形和引脚图,其中七只发光二极管分别对应a~g笔段构成“
”字形另一只发光二极管dp作为小数点。
因此这种LED显示器称为七段数码管或八段数码管。
图3.5led数码管
LED数码管按电路中的连接方式可以分为共阴极和共阳极两大类,如图3.5(b)所示。
共阳型是将各段发光二极管的正极连在一起,作为公共端COM,公共端COM接高电平,a~g、dp各笔段通过限流电阻接控制端。
某笔段控制端低电平时,该笔段发光,高电平时不发光。
控制这几段笔段发光,就能显示出某个数码或字符。
共阴型是将各数码发光二极管的负极连在一起,作为公共端COM接地,某笔段通过限流电阻接高电平时发光。
3.3.2LED数码管显示方式选择
LED数码管显示电路在单片机应用系统中可分为静态显示方式和动态显示方式。
本设计选动态显示方式。
LED数码管显示电路如图3.6所示。
图3.6LED数码管显示电路
4软件设计
4.1程序设计语言的选用
本设计采用C51高级语言编写,因为其提供了库函数包含许多标准子程序,具有较强的数据处理能力,关键字及控制转移方式更接近人的思维方式,且本身并不依赖于机器硬件系统,移植方便。
4.2软件程序的设计
4.2.1总体程序流程
程序主要由主程序和子程序两部分构成。
主程序主要实现系统的初始化,A/D转换,显示数据。
系统的初始化包括寄存器的初始化(控制寄存器、堆栈、中断寄存器等),通信的初始化(串口的初始化,ADC0809的初始化,通信缓冲区的初始化),LED显示的初始化,输出端口的初始化,采集、累计数据的初始化。
显示数据包括数据转换(主要实现将各类参数、测量数据、计算累计值等转换成LED显示所需的数据类型)和显示屏的刷新
子程序主要由温度信号采集程序组成。
主程序流程图如图4.1所示。
图4.1主程序流程图
4.2.2温度信号采集处理
单片机通过写信号使START有效,启动AD转换,AD转换结束后,ADC0809通过INT0向CPU发出转换结束信号,引起CPU中断,可在中断程序中读取AD转换的结果。
分别对8路模拟信号轮流采集一次,转换结果依次存放在片外数据RAM中。
AD转换子程序流程图如图4.2所示。
图4.2AD转换子程序流程图
由ADC00809进行标度变换后,信号送给单片机显示,显示部分由一个四位数码管,单片机及其最小系统构成。
四位数码管的显示原理都相同,因此列出其中一个的程序流程图即可:
显示程序流程图如图4.3所示。
图4.3显示程序流程图
5系统调试
整个温度检测系统由测控电路、放大电路,数模转换电路以及显示部分构成,其中显示部分用的是单片机学习板,所以电路的设计主要是测控、信号放大、数模转换的部分。
1.测控电路
为了消除线电阻,采用的是两线制接法的桥式电路。
根据桥式电路原理,电路中的电阻应采用热电阻传感器在0℃时的阻值,为100Ω。
为了能达到测试的目的,所以在桥式电路中应该接入传感器的位置,放入一个100Ω的可调电阻,并使之与两个100Ω的色环电阻串联。
这样,可调的阻值范围可以从50Ω到150Ω,这个范围大于传感器在0℃到100℃的阻值,进而达到在调试过程中模拟传感器变化的目的。
2.放大电路
由桥式电路的两个桥臂分别接入AD623仪用放大器的两个输入引脚2和3,1脚和8脚接入可调电阻,为了调节放大倍数。
7脚与VCC相连,4脚接GND,引脚5接入参考电压。
接法是用一个可调电阻,电阻的中间管脚与引脚5相连,电阻的两端分别接VCC和GND。
为了保护芯片,所以进入芯片的电流应该越小越好,换言之,可调电阻的阻值越大越好。
我们使用的是一个10K可调电阻,使用的参考电压为3V,接入的阻值为2.5KΩ,那么电流的大小是2mA,不会烧坏芯片。
3.AD通道
23、24、25脚接地,给低电平信号。
信号由IN0输入。
经数模转换,信号从D0~D7送入单片机P1.0~P1.7。
4.调试
把测控电路和放大电路连接起来组合调试。
把测控电路的可调电阻调整为100Ω,那么两桥臂的阻值相等,输出的电压都是2.5V,压差为0,那么AD623的输出也为0。
调节测控部分的可调电阻、AD623的两个可调电阻,仪用放大器的输出都会呈线性变化,如果出现这样的现象,那么说明电路是正确的。
在实际的焊接过程中,并没有这么顺利。
桥式电路的输出电压是正确的,可是电路连入放大部分的时候,不管怎样调节电阻,输出都是呈饱和状态,不管接入参考电压与否。
这个问题到最后也没查出原因,只好把这两部分电路重新焊接了一遍。
焊接后的电路,现象正确。
、
把AD623的输出电压接到ADC0809,并接入显示电路,设计一个显示程序,把AD623输出的电压显示到数码管上。
显示的结果是正确的,但如果调节焊接电路的可调电阻,数码管的显示不会更新,检查电路后,发现其中一个管脚焊接断开了,把断开部分用焊锡接上以后,电路的调试通过,换上铂热电阻。
与温度传感器连接通电后,可以实现测量温度的基本功能,通过led显示读出温度值,但是由于理论与实际并不能完全对应,测出的温度值有很大误差,经过调试分析,将放大倍数等稍作修改,可以控制其偏差在2度以内,并不影响正常的指标分析,可以说精度还算高。
最后调试完毕后的硬件显示温度图如图5.1所示。
图5.1温度显示电路图
结论
本课题以STC89C52单片机系统为核心,对单点的温度进行实时检测。
采用模拟温度传感器PT100对温度进行检测;采用模数转换器ADC0809进行A/D转换把温度信号调解转换为电压信号与STC89C52单片机接口设置LED八段数码管实时显示温度值。
本设计包括温度传感器、A/D转换模块、数据传输模块、温度显示模块四个部分。
在设计过程中,遇到了许多问题,如设计初始阶段目的不明,思绪混乱,经过认真思考和老师的指导,才使自己思路明确,抓住重点,不懂就问,在很短的时间内系统有序的完成。
大学三年多的时间都是在学习测控与仪器方面的专业知识,并未真正的应用和实习。
虽然在上个学期有单片机课程设计练习,积累了一定的知识,并融合到具体的实物当中。
但是经过这次检测技术课程设计,我接触到了更多平时没有接触到的仪器设备、元器件以及相关的使用调试经验,发现了自己很多不足之处。
我还体会到了所学理论知识的重要性:
知识掌握得越多,设计的就更全面、更顺利、更好。
了解进行一项相对比较大型的设计所必不可少的几个阶段。
课程设计能够从理论设计和工程实践相结合、巩固基础知识与培养创新意识相结合、个人作用和集体协作相结合等方面全面的培养学生的全面素质。
我经过这次系统的课程设计,熟悉了对一项课题进行研究、设计和实验的详细过程。
这些在我将来的工作和学习当中都会用很大的帮助。
学回来怎样查阅资料和利用工具书。
平时课堂上所学的知识大多比较陈旧,作为测控技术专业的学生,由于专业特点自己要更积极查阅当前最新电子信息资料。
一个人不可能什么都学过,什么都强,因此,当你在设计过程中需要用一些不曾学过的东西时,就要去有针对性的查找资料,然后加以吸收利用,以提高自己的应用能力,而且还能增长自己见识,补充最新的专业知识。
与队友的合作更是一件快乐的事情,只有彼此都付出,彼此都努力维护才能将作品做的更加完美。
而团队合作也是当今社会最提倡的。
虽然课程设计结束了,也留下了很多遗憾,因为由于时间的紧缺和许多课业的繁忙,并没有做到最好,但是,最起码我们没有放弃,它是我们的骄傲!
相信以后我们会以更加积极地态度对待我们的学习、对待我们的生活。
参考文献
[1]胡汉才.单片机原理及其接口技术[M].北京:
清华大学出版社,1996,274-279
[2]沙占友,王彦朋,孟志永.单片机外围电路设计[M].电子工业出版社,2003,135-137,222-226
[3]童诗白,华成英.模拟电子技术基础[M].北京:
北京高等教育出社,2001,312-330,387-391,408-411,446-451
[4]黄继昌,张海贵,郭继忠.实用单元电路及其应用[M].人民邮电出社,2002
[5]谢宜仁.单片机实用技术问答[M].人民邮电出版社,2003
[6]张福学.传感器应用及其电路精选[M].北京:
北京电子工业出版社,1991
[7]余载泉,李玉和.PROTEL实战演练[J].2000,7-115-08613-3
[8]何立民.单片机应用系统设计[M].北京:
北京航空航天大学出版社,1994
[9]何立民.单片机高级教材[M].北京:
航空航天大学出版社,2000
[10]康光华.电子技术基础(模拟部分)[M].北京:
高等教育出版社,2000
[11]胡宴如.电子技术基础(模拟部分)[M].北京:
中国电力出版社,2001
[12]马净,李晓光,宁伟.常用温度传感器的原理及发展[J].中国仪器仪表,2004,24(6):
1-2
[13]王红萍.铂电阻温度传感器测温研究[J].抚顺石油学院学报,2003,23
(2):
17-19
[14]Leoj.scanlon:
“AssemblyLanguageprogrammingwiththeIBMPCAT”BradyCommunicaYionCompany.Inc,1986:
39-57.
[15]DonnaN.Tabler:
“IBMPCAssemblylanguage”JohnWiley&Sons.Inc,1985:
86-98.
[16]
附录A系统总电路图
附录B元件清单
元件清单表
元件清单
序号
名称
封装
型号
数量
1
芯片(仪用放大器)
DIP8
AD623
1
2
芯片插座
DIP8
1
3
色环电阻
100Ω
5
4
可调电阻
100Ω
1
5
可调电阻
10kΩ
2
6
芯片(AD转换)
DIP28
ADC0809
1
7
芯片插座
DIP28
1
8
排针
PIN40
1
9
排母
PIN40
1
10
杜邦线
PIN40
1
附录C系统源程序
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitst=P3^4;
sbitoe=P3^6;
sbiteoc=P3^5;
sbitCLK=P3^3;
//sbitdian=P0^7;
uchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示段码值0123456789
voiddisplay(intdat);//显示程序
voiddelaynms(uintx);//nms延时程序
intad0809();
voidint_adc();//以上几个语句,都是在定义函数
voiddelaynms(uintx)
{
uchari;
while(x-->0)
{
for(i=0;i<125;i++)
{;}}}
voiddisplay(intdat)
{
P0=tab[dat/1000];//P0模除1000
P2=0x00;//送1位显示
delaynms
(2);//延时
P0=tab[dat/100%10];//模除1000后,模除100
P2=0x01;//送给2位显示
delaynms
(2);//延时
P0=tab[dat/10%10];//模除100后,模除10
P2=0x02;//送给3位显示
delaynms
(2);//延时
P0=tab[dat%10];//模除10后,除10,要余数
P2=0x03;//送第4位显示
delaynms
(2);//延时
}
intad0809()
{
intadat;
oe=0;//以下三条指令为起动AD0809
st=0;
st=1;
st=0;
//delaynms
(1);
while(!
eoc);//等待转换结束
oe=1;//取出读得的数据
adat=P1;//送相关通道数组
adat=adat*19.531;
adat=(adat-3000)/1000.0*39;//这是一个算法,得出的结果即为当时的温度值
oe=0;//关闭oe,等待下一轮读数
return(adat);//返回,循环
}
voidint_adc()//ADC0809芯片的初始化
{
TMOD=0X02;
TH0=0Xd0;
TL0=0Xd0;
IE=0X82;
TR0=1;
}
voidmain()
{
intaa;
int_adc();
while
(1)
{
aa=ad0809();//调AD0809启动子程序
display(aa);//调显示
}
}
voidTimer0_INT()interrupt1//ADC0809芯片时钟信号
{
CLK=!
CLK;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PT100 传感器 单片机 温度 检测 系统