数字远程温度测量.docx
《数字远程温度测量.docx》由会员分享,可在线阅读,更多相关《数字远程温度测量.docx(21页珍藏版)》请在冰豆网上搜索。
数字远程温度测量
数字远程温度测量
专业班级:
电子1035班
学号:
20312221
姓 名:
蔡则亚
时间:
1月1日---1月12日
指导教师:
皇埔立群
2007年1月9日
1设计要求
■基本范围-50℃-150℃
■精度误差小于0.2℃
■LED数码直读显示
■可远距离测量温度
数字远程温度测量
摘要:
本设计根据课题要求,主控器单元是单片机AT89C51和V/F转换器AD654,选用完全符合测量温度范围要求且价格低廉的AD590作为温度传感器,信号的调理主要由失调电压很低、线性误差极小的高精度仪用放大器AD622(也可以用三个LM324组成的减法器)来完成。
具有温度数码显示(精确到0.1度),超出量程报警(红色LED管或用蜂鸣器)及自动断电等功能;也符合目前对工业现场参数远程监控的要求(用方波传数据,抗干扰强)!
经过各项实验测试,该系统的性能指标达到了任务书的基本要求!
该系统根据需要,稍加改造可方便地移植于对压力、液位、流量等方面的检测,其实就是换一个传感器就可以了!
关键词:
单片机,数字控制,温度远程测量,电压频率转换器,AD654,AT89C51,
1引言
该设计控制器使用单片机AT89C51,测温传感器使用AD654,用4位共阳极LED数码管实现温度显示,能准确达到以上要求。
2总体设计方案
2.1数字温度计设计方案论证
按照系统的设计功能要求,本时钟温度系统的设计应采用单片机软件系统实现,这样会减少元器件的数目及成本,用单片机的自动控制能力来控制时钟,数据的处理,温度的显示。
所以,我首先选择了ATMEL公司的单片机AT89C51,也可以用AT89C2051。
2.1.1方案一
由于本设计是测温电路,使用热敏电阻类器件作为感温器件(找了很多这样的器件,精度达不到要求),然后把变化的电压或电流采集下来,进行A/D转换器(如:
ADC0809)转换后,送到单片机进行数据处理,然后就可以将被测温度显示出来。
常用的热电阻材料有铂、铜、镍、铁等,它具有高温度系数、高电阻率、化学、物理性能稳定、良好的线性输出特性等,常用的热电阻如Pt100、Pt1000等。
这类器件的最大缺点是测温的范围太窄,一般只有-55~+125℃,而且温度的测量精度都不高,好的才±0.5℃,一般有±2℃左右,因此在高精度的场合不太满足用户的需要。
这种设计感温电路麻烦,数据准确度也不高,精度达不到要求,而且我对此了解不多,就放弃了。
2.1.2方案二
进而考虑到用温度传感器,刚开始时找到了LM92,是美国国家半导体公司近期生产的一种高精度数字温度传感器,内含12b温度A/D转换器,工作电压:
+2.7~+5.5V;测温范围:
-55~+150℃;精度:
±0.333℃(30℃时)。
精度达不到要求,没用它!
又找到AD公司生产的数字温度传感器AD741X系列内部包括一个温度传感器和一个10位A/D转换器,精度可达0.25℃,要不是精度不够,我就用了!
找了很多温度传感器,从多方面考虑,最后采用温度传感器AD590,价格廉价,精度高,但功能不是很强!
使用温度传感器,然后把变化的电压采集下来,进行V/F转换器AD654转换后,送到单片机进行数据处理,然后就可以将被测温度显示出来!
从以上两种方案,采用方案二,电路比较简单,可以达到要求(主要是精度),故采用了方案二。
2.2方案二的总体设计框图
温度计电路设计总体设计方框图如图1所示,主控制器件采用单片机AT89C51或AT89C2051,温度传感器采用AD590,用一个红色发光二极管(或蜂鸣器)显示超出量程,用4位LED数码管实现温度显示。
图1 总体设计方框图
2.2.1主控制器
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。
与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.2.2显示电路
显示电路采用4位共阳LED数码管,其中一个是显示负号或’1’的,由P1口控制;其他三个共阳LED数码管由P0口控制进行动态扫描显示!
2.2.3温度传感器
温度传感器AD590具有线性好、精度适中、灵敏度高、体积小、使用方便等优点,得到广泛应用。
AD590是美国模拟器件公司生产的单片集成电路温度传感器。
1流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数。
2NAD590的测温范围为-55℃~+150℃。
3AD590的电源电压范围为4V~30V。
电源电压可在4V~6V范围变化,电流变化1mA,相当于温度变化1K。
AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。
4输出电阻为710MW。
5精度高。
AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃。
AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合。
由于AD590精度高、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。
摄氏温度
AD590电流
经10KΩ电压
0℃
273.2uA
2.732V
10℃
283.2uA
2.832V
20℃
293.2uA
2.932V
30℃
303.2uA
3.032V
40℃
313.2uA
3.132V
50℃
323.2uA
3.232V
60℃
333.2uA
3.332V
100℃
373.2uA
3.732V
在设计测温电路时,首先应将电流转换成电压。
由于AD590为电流输出元件,它的温度每升高1K,电流就增加1μA。
当AD590的电流通过一个10kΩ的电阻时,这个电阻上的压降为10mV,即转换成10mV/K,为了使此电阻精确(0.1%),可用一个9.6kΩ的电阻与一个1kΩ电位器串联,然后通过调节电位器来获得精确的10kΩ。
2.3硬件电路的设计:
放大器的选择
放大器的选择好坏对提高测量精度也十分关键,根据相关资料查阅,在放大器电路精选中,一般在首级放大器有低噪声、低输入偏置电流、高共模抑制比等要求的大多采用自制的三运放结构,如下图所示,三运放中由A1、A2构成前级对称的同相、反相输入放大器,后级为差动放大器,在这个结构图中,要保证放大器高的性能,参数的对称性与一致性显得尤为重要,不仅包括外围的电阻元件R1与R2、R3与R4、R5与R6,还包括A1与A2放大器的一致性,因此,要自制高性能的放大器对器件要求相当高。
随着微电子技术的发展,市场上出现了专用的高性能的仪用放大器,它的内部
结构是三运放。
三运放结构的高性能放大器原理图
AD654介绍
AD654是美国模拟器件公司生产的一种低成本,8脚封装的电压频率(V/F)转换器。
它由低漂移输入放大器、精密振荡器系统和输出驱动级组成,使用时只需一个RC网络,即可构成应用电路。
AD654既可以使用单电源供电,也可使用双电源供电,且工作电压范围很宽。
输出为频率受控于输入电压的方波。
可用于信号源、信号调制、解调和A/D变换等。
主要技术性能
单电源供电电压:
4.5~36V
双电源供电电压:
5~18V
输出频率范围:
0~500kHz
线性误差:
0.06%(250kHz时)
输入阻抗:
250M
输入电压范围:
单电源0~Vs-4V
双电源-Vs~Vs-4V
静态电流:
2.0mA(Vs=30V时)
封装形式:
8DIP和8SOIC两种
内部电路结构及引脚排列如图1。
引脚说明
+VIN为输入放大器的同相输入引脚,当模拟输入为正电压时,从该引脚接入。
RT为输入放大器的反相输入引脚,接定时电阻。
CT为定时电容引脚,两个CT间接定时电容,与定时电阻一起确定输出频率。
FOUT为振荡信号输出引脚。
LOGICCOMMON为逻辑地引脚,AD654的逻辑电平可以取在-Vs与+Vs-4V之间。
+Vs,-Vs分别为正负电源引脚。
V/F变换器实际上是一个振荡频率随控制电压变化而变化的振荡电路。
其特点是有良好的精度、线性度和积分输入,且电路简单。
图2为微算是器与V/F变换器及温度传感器的接口电路。
其中V/F变换器采用AD公司的AD654。
通过调整,AD654可输出0~500kHz的脉冲串,将输出与单片机的定时器/计数器T1相连进行计数,并用定时器T0进行定时。
通过对所计的数进行计算与转换,便可得到传感器当前温度值。
七段显示译码器7448
七段显示译码器7448是一种与共阴极数字显示器配合使用的集成译码器,它的功能是将输入的4位二进制代码转换成显示器所需要的七个段信号a~g。
下表为它的逻辑功能表。
a~g为译码输出端。
另外,它还有3个控制端:
试灯输入端LT、灭零输入端RBI、特殊控制端BI/RBO。
其功能为:
(1)正常译码显示。
LT=1,BI/RBO=1时,对输入为十进制数l~15的二进制码(0001~1111)进行译码,产生对应的七段显示码。
(2)灭零。
当输入RBI=0,而输入为0的二进制码0000时,则译码器的a~g输出全0,使显示器全灭;只有当RBI=1时,才产生0的七段显示码。
所以RBI称为灭零输入端。
(3)试灯。
当LT=0时,无论输入怎样,a~g输出全1,数码管七段全亮。
由此可以检测显示器七个发光段的好坏。
LT称为试灯输入端。
(4)特殊控制端BI/RBO。
BI/RBO可以作输入端,也可以作输出端。
作输入使用时,如果BI=0时,不管其他输入端为何值,a~g均输出0,显示器全灭,。
因此BI称为灭灯输入端。
作输出端使用时,受控于RBI。
当RBI=0,输入为0的二进制码0000时,RBO=0,用以指示该片正处于灭零状态。
所以,RBO又称为灭零输出端。
将BI/RBO和RBI配合使用,可以实现多位数显示时的“无效0消隐”功能。
在多位十进制数码显示时,整数前和小数后的0是无意义的,称为“无效0”。
在图4.3.12所示的多位数码显示系统中,就可将无效0灭掉。
从图中可见,由于整数部分7448除最高位的RBI接0、最低位的RBI接1外,其余各位的RBI均接受高位的RBO
输出信号。
所以整数部分只有在高位是0,而且被熄灭时,低位才有灭零输入信号。
同理,小数部分除最高位的RBI接1、最低位的RBI接0外,其余各位均接受低位的RBO输出信号。
所以小数部分只有在低位是0、而且被熄灭时,高位才有灭零输入信号。
从而实现了多位十进制数码显示器的“无效0消隐”功能。
七段显示译码器7448的逻辑功能表
功能
(输入)
输入
输入/输出
输出
显示
字形
LTRBI
A3A2A1A0
BI/RBO
abcdefg
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
灭灯
灭零
试灯
11
1×
1×
1×
1×
1×
1×
1×
1×
1×
1×
1×
1×
1×
1×
1×
××
10
0×
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
××××
0000
××××
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1111110
0110000
1101101
1111001
0110011
1011011
0011111
1110000
1111111
1110011
0001101
0011001
0100011
1001011
0001111
0000000
0000000
0000000
1111111
七段LED显示器
七段LED显示器的工作原理:
七段LED显示器是有七个LED发光二极管按一定的图形排列组成。
七段LED显示器的各个二极管分别称为a,b,c,d,e,f,g段,有些七段显示器增加一个dp段表示小数点,也成为八段LED显示器。
七段LED显示器有两种结构:
共阴极七段LED显示器和共阳极七段LED显示器,如图10-11(b)(c)所示。
所有二极管的阴极接在一起的称为共阴极七段LED显示器;所有二极管的阳极接在一起的称为共阳极七段LED显示器。
共阴极七段LED显示器的各个二极管阳极接高电平“1”,公共阴极接低电平“0”时,则点亮各段;公共阴极接高电平“1”时,则熄灭各段。
共阴极七段LED显示器的各个二极管阳极接高电平“1”,公共阴极接低电平“0”时,则熄灭各段。
共阳极七段LED显示器工作时,其公共极接到高电平,LED的阴极则接到低电平。
LED显示器的驱动:
•
LED显示器的驱动
由于LED是电流发光器件,加到LED显示器上的段码首先应通过驱动电路,产生驱动LED发光所需的驱动电流。
驱动电路可以由三极管组成,也可以是其它具有驱动能力的集成电路,如MC1413,74LS07,74LS244等。
• LED的译码原理:
用专用芯片完成段译码的示意(共阳极)
为了将一个4位二进制数(可能为一个十六进制,也可能为一个BCD码)在一个LED上显示出来,就需要将4位二进制数译为LED的7位显示段码。
7447(即采用专用的带驱动器的LED段译码器)可以实现对BCD码的译码,但不能对大于9的BCD码进行译码。
7447有4个输入端,7个输出端。
使用时,只要将7447的输入端与主机系统输出端口的某4个数据位(也可以和存储器的某4位输出)相连,而7447的7位输出直接与LED的A——G相接,便可实现对1位BCD码的显示。
7448与7447原理相似!
2.4系统整体硬件电路
单片机AT89C51部分,它控制着数据显示、温度数据处理功能。
如下有采样和A/D转换之间的电路图,单片机接口电路,根据以上各功能模块得到应用电路总原理图。
3系统软件算法分析
系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。
用中断方式,而不是查询,大大的提高了AT89C51的效率!
3.1主程序
主程序的主要功能是负责温度的实时显示,温度测量每32.768ms测一次温度!
3.2T1中断程序框图:
3.3T0中断程序框图
3.4计算温度子程序
计算温度子程序进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如下.
4仿真结果
采样电路仿真结果:
5.程序清单:
ORG0000H
LJMPMAIN
ORG000BH
LJMPST0
ORG001BH
LJMPST1
ORG0030H
MAIN:
MOVSP,#70H
MOVTMOD,#60H;设定0模0,计1模1
MOVTH0,#63H
MOVTL0,#18H
MOVTH1,#05H
MOVTL1,#05H
SETBTR0
SETBTR1
MOVR5,#00H
MOVR6,#0AH
MOVR7,#00H
WAIT:
CJNER5,#00H,OUTR3
LJMPWAIT
OUTR3:
CJNER5,#01H,OUTR0
CLRP2.2
CLRP2.1;选中符号管
MOVP1,R3
OUTR3T:
CJNER5,#01H,OUTR0
LJMPOUTR3T
OUTR0:
CJNER5,#02H,OUTR1
CLRP2.2
MOVP0,R0
OUTR0T:
CJNER5,#02H,OUTR1
LJMPOUTR0T
OUTR1:
CJNER5,#03H,OUTR2
SETBP2.2
MOVP0,R1
OUTR1T:
CJNER5,#03H,OUTR2
LJMPOUTR1T
OUTR2:
CJNER5,#04H,OUTR2
CLRP2.2
MOVP0,R2
OUTR2T:
CJNER5,#04H,OUTWAIT
LJMPOUTR2T
OUTWAIT:
CJNER5,#00H,OUTR3
LJMPWAIT
ST1:
CLRTF1
PUSHPSW
INCR7
RETI
ST0:
CLRTF0
PUSHPSW
MOVA,R5
CJNEA,#00H,OUTSIGN
JNBTF1,MZDD
CLRTF1
INCR7
MZDD:
MOVR0,TL1
MOVTL1,#05H
MOVA,R7
MOVR7,#00H
CLRTR1;停止计数器1
LCALLCHLSHJ
MOVA,#0E0H
ADDA,R0
MOVR0,A
MOVA,#0D0H
ADDA,R1
MOVR1,A
MOVA,#0B0H
ADDA,R2
MOVR2,A
MOVR5,#01H
MOVTH0,#00H
MOVTL0,#00H
RETI
OUTSIGN:
CJNEA,#01H,OUTTEN
MOVR5,#02H
MOVTH0,#00H
MOVTL0,#00H
RETI
OUTTEN:
CJNEA,#02H,OUTGV
MOVR5,#03H
MOVTH0,#00H
MOVTL0,#00H
RETI
OUTGV:
CJNEA,#03H,OUTXSH
MOVR5,#04H
MOVTH0,#00H
MOVTL0,#00H
RETI
OUTXSH:
MOVR5,#00H
MOVTH0,#63H
MOVTL0,#18H
SETBTR1
MOVTL1,#05H
MOVTH1,#05H
RETI
CHLSHJ:
CJNEA,#00H,ONE
MOVR3,#01H
MOVA,#0FFH
CLRCY
SUBBA,R0
MOVB,R6
DIVAB
MOVR2,B
ADDA,#19H
MOVB,R6
DIVAB
MOVR1,B
MOVR0,A
RET
ONE:
CJNEA,#01H,TWO
MOVR3,#01H
MOVA,#0FFH
CLRCY
SUBBA,R0
MOVB,R6
DIVAB
MOVR2,B
MOVB,R6
DIVAB
MOVR1,B
MOVR0,A
RET
TWO:
CJNEA,#02H,THREE
MOVR3,#00H
MOVA,R0
CLRCY
SUBBA,#05H
MOVB,R6
DIVAB
MOVR2,B
MOVB,R6
DIVAB
MOVR1,B
MOVR0,A
RET
THREE:
CJNEA,#03H,FOUR
MOVR3,#00H
MOVA,R0
CLRCY
SUBBA,#05H
MOVB,R6
DIVAB
MOVR2,B
MOVB,R6
DIVAB
MOVR4,A
MOVB,A
ADDA,#05H
MOVR1,B
MOVA,R4
ADDA,#02H
MOVR0,A
RET
FOUR:
CJNEA,#04H,FIVE
MOVR3,#00H
MOVA,R0
CLRCY
SUBBA,#05H
MOVB,R6
DIVAB
MOVR2,B
MOVB,R6
DIVAB
MOVR1,B
ADDA,#05H
MOVR0,A
RET
FIVE:
CJNEA,#05H,SIX
MOVR3,#00H
MOVA,R0
CLRCY
SUBBA,#05H
MOVB,R6
DIVAB
MOVR2,B
MOVB,R6
DIVAB
MOVR4,A
MOVA,B
ADDA,#05H
MOVR1,A
MOVA,R4
MOVA,#07H
MOVR0,A
RET
SIX:
CJNEA,#06H,SEVEN
MOVR3,#06H
MOVA,R0
CLRCY
SUBBA,#05H
MOVB,R6
DIVAB
MOVR2,B
MOVB,R6
DIVAB
MOVR1,B
MOVR0,A
RET
SEVEN:
CJNEA,#07H,EIGHT
MOVR3,#06H
MOVA,R0
CLRCY
SUBBA,#05H
MOVB,R6
DIVAB
MOVR2,B
MOVB,R6
DIVAB
MOVR4,A
MOVA,B
ADDA,#05H
MOVR1,A
MOVA,R4
ADDA,#02H
MOVR0,A
RET
EIGHT:
SETBP2.0;?
?
?
?
?
RET
END
6.总结体会
通过此次课程设计的学习,使我感受最深的是实践与理论的相结合,也是对我们以前学的知识的总结和概括,使得我们在设计的过程中体会到了电子的重要性,体会到了我们所学的知识的用途和方向。
体会到了各个电子元件的使用方法。
在原理上这个设计不是很难,但是当我们真正的设计的时候就感觉到了,原来一个简单的电路设计都不是象我们想的那样,每个器件的选取都是要经过我们的深思熟练后才能设计出合理的电路。
不管做什么事情都要认真努力,这是我们的基本态度,也是以后走向社会的基本条件,这次的设计让我深深的感受到了这一点,只要有稍微的不小心,以前做的可能就全部的要重来。
一个不起眼的失误可能就是导致整个电路失败的原因,这点上我是深有体会的,每个芯片的连接加电源线和地线是必须要的,但是正是由于我的一