智能化温度仪器设计Word文件下载.docx
《智能化温度仪器设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《智能化温度仪器设计Word文件下载.docx(22页珍藏版)》请在冰点文库上搜索。
10-7/℃。
铂电阻一般是三线制,其中一端接一根引线另一端接二根引线,主要为远距离测量消除引线电阻对桥臂的影响(近距离可用二线制,导线电阻忽略不计。
)。
实际测量时将铂电阻随温度变化的阻值通过电桥转换成电压的变化量输出,再经放大器放大成需要的电压信号。
AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。
本次设计就是利用铂电阻的温度特性设计温度传感器,将铂电阻接入电桥电路,再经差动放大电路放大成0~5V的电压信号。
采用ADC0809将电压信号转换成数字信号送入单片机AT89C52,单片机进行标度变换,输出相应的温度并送入四位八段数码显示管动态显示。
此外,利用软件实现平均滤波和非线性补偿,以减小测量误差。
一、总体设计方案
1.1设计方案论证
根据铂电阻的温度特性,将铂电阻接入电桥电路,再把电桥电路输出的微弱的电压信号送到前置放大电路处理,由A/D转换器把模拟电压信号转换成数字信号,并送入单片机中。
单片机接收到该测量数字信号后,调用存放在存储器中的程序对其进行各种智能化处理,如进行非线性补偿、平均滤波、各种进制的转换等,最后得出在允许误差范围内的测量温度值,并由4位LED显示器动态显示测得的温度值。
根据原理,前端电路可以设计成一级放大、二级放大和三级放大。
三、二级放大设计的方法可以将每一级的放大倍数设计成个位数,但是系统随着放大器个数的增加而不稳定。
一级放大器设计方法输出稳定,设计简单,但是放大倍数比较大,可能导致放大饱和。
最终通过搭电路试验确定,采用一级放大系统比较稳定。
1.2方案的总体设计框图
整体电路设计方框图如下图:
图1
二、元器件选择与说明
2.1温度传感器
温度传感器选用线性度较好的铂电阻PT100,将铂电阻接入电桥使用。
铂电阻是将0.05~0.07mm的铂丝绕在线圈骨架上封装在玻璃或陶瓷管等保护管内构成。
它的电阻Rt与温度t的关系为:
Ro系温度为0℃时的电阻值。
热响应时间是在阶跃温度作用下,热电阻的输出变化值相当于阶跃变化的50%时,所需的时间,用τ0.5来表示。
铂电阻的分度表(-40℃至90℃)如下所示:
-40
-30
-20
-10
84.27
88.22
92.16
96.09
100.00
83.87
87.83
91.77
95.69
99.61
83.48
87.43
91.37
95.30
99.22
83.08
87.04
90.98
94.91
98.83
82.69
86.64
90.59
94.52
98.44
82.29
86.25
90.19
94.12
98.04
81.89
85.85
89.80
93.73
97.65
81.50
85.46
89.40
93.34
97.26
81.10
85.06
89.01
92.95
96.87
80.70
84.67
88.62
92.55
96.48
10
20
30
40
103.90
107.79
111.67
115.54
100.39
104.29
108.18
112.06
115.93
100.78
104.68
108.57
112.45
116.31
101.17
105.07
108.96
112.83
116.70
101.56
105.46
109.35
113.22
117.08
101.95
105.85
109.73
113.61
117.47
102.34
106.24
110.12
114.00
117.86
102.73
106.63
110.51
114.38
118.24
103.12
107.02
110.90
114.77
118.63
103.51
107.40
111.29
115.15
119.01
50
60
70
80
90
119.40
123.24
127.08
130.90
134.71
119.78
123.63
127.46
131.28
135.09
120.17
124.01
127.84
131.66
135.47
120.55
124.39
128.22
132.04
135.85
120.94
124.78
128.61
132.42
136.23
121.32
125.16
128.99
132.80
136.61
121.71
125.54
129.37
133.18
136.99
122.09
125.93
129.75
133.57
137.37
122.47
126.31
130.13
133.95
137.75
122.86
126.69
130.52
134.33
138.13
表1
2.2ADC0809模数转换器
本次设计采用的是ADC0809进行模数转换。
ADC0809(图2)是八位逐次逼近式CMOS单片A/D转换器。
以下介绍各引脚的功能:
ADDA,ADDB,ADDC:
地址选择信号。
ALE:
地址锁存允许信号,高电平有效,上升沿将ADDA,ADDB,ADDC锁存,若ALE一直接高电平,则多路模拟开关中的某一路就成为直通方式,一直接通。
图2
START:
启动转换信号,高电平有效,上升沿清除A/D转换电路中的逐次逼近寄存器,下降沿启动内部控制逻辑,开始转换。
常将STAR与ALE短接,由同一脉冲信号进行控制。
EOC:
转换结束信号,START的下降沿启动转换后,经过一定的延迟,EOC由高变低,在转换结束时,再低变高。
OE:
输出允许信号,高电平有效时,使三态缓冲器脱离三态,将转换后的数字量送至外部数据总线(D0~D7)。
Vref+,Vref-:
参考电压正端和副端,它们是内部八位A/D转换电路中电阻网络两端所需外加的参考电压端。
D0~D7:
外部数据输入总线,与CPU的数据总线相连。
IN0~IN7:
模拟电压输入端,根据需要输入电压可以加到一路或若干路,也可以全加,但转换时每次只选择一路进行。
CLOCK:
时钟信号输入端
Vcc:
电源电压输入端,接+5V。
GND:
接地端。
图3
2.3AT89C52单片机
本次设计采用的单片机是AT89C52(图3),其引脚功能如下所述。
P0口:
p0口是一组8位漏极开型双向I/O口。
作为输出口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据线复用,在访问期间激活内部上拉电阻。
P1口:
P1是一个带内部上拉电阻的的8位双向I/O口,P1的输入缓冲级可驱动四个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口。
P1.0和P1.1还可以分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。
P2口:
P2是一个带内部上拉电阻的的8位双向I/O口,P2的输入缓冲级可驱动四个TTL逻辑门电路。
在访问外部程序存储器或16位地址的数据存储器时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器时,P2口送出P2锁存器的内容。
P3口:
P3口是一组带有拉电阻的8位双向I/O口。
P2的输入缓冲级可驱动四个TTL逻辑门电路。
Vcc为电源正端,Vss为接地。
Vcc接典型值5V
RST:
复位引脚,输入高电平使89C52复位,返回低电平退出复位。
/VP:
运行方式时,
为程序存储器选择信号,
接地时CPU总是从外部存储器中取指令,
接高电平时CPU可以从内部或外部取指令;
flash编程方式时,该引脚为编程电源输入端VP(+5V或12V)。
:
外部程序存储器读选通信号,CPU从外部存储器取指令时,从
引脚输出读选通信号(负脉冲)。
运行方式时,ALE为外部存储器低八位地址锁存信号,flash编程方式时,该引脚为编程脉冲输入端。
X1,X2:
内部振荡器电路(反相放大器)的输入端和输出端,外接晶振电路。
P0,P1,P2:
八位输入输出口。
RXD,TXD:
串口输入输出。
,
外部中断0,1的输入线。
T0,T1:
定时器T0,T1外部计数脉冲输入线。
外部数据存储器写,读脉冲输出线。
2.4运算放大器
图4
本次设计采用的运算放大器是LM324N。
LM324N为四运放集成电路(图4),采用14脚双列直插塑料封装。
内部有四个运算放大器,有相位补偿电路。
电路功耗很小,LM324N工作电压范围宽,可用正电源3~30V,或正负双电源±
1.5V~±
15V工作。
它的输入电压可低到地电位,而输出电压范围为O~Vcc。
它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互单独。
每一组运算放大器可用如图所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。
两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;
Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。
2.5LED数码显示管
设计选用七段LED数码管(图6),这种数码管是利用7个LED(发光二极管)外加一个小数点的LED组合而成的显示设备,可以显示0~9等10个数字和小数点。
这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);
共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点)。
设计采用共阳极数码管,如图7所示。
图中的8个LED分别与上面那个图中的A~DP各段相对应,通过控制各个LED的亮灭来显示数字。
图6图7
实际的数码管的引脚排列.对于单个数码管来说,从它的正面看进去,左下角那个脚为1脚,以逆时针方向依次为1~10脚,左上角那个脚便是10脚了,上面两个图中的数字分别与这10个管脚一一对应。
3脚和8脚是连通的,这两个都是公共脚。
2.67805稳压管
因为设计的单元电路需要稳定的5V电压作为电源,所以选用三端稳压集成电路7805(图8),以便输出需要的电压。
7805这种三端稳压用的集成电路只有三条引脚输出,
分别是输入端、接地端和输出端。
它的样子象是普通的三极管,TO-220的标准封装,也有9013样子的TO-92封装。
用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜,所以电子制作中经常采用。
图9
三.电路设计
3.1电源电路
根据芯片资料,稳压管7805输入输出与地之间应当接0.33微法和0.11皮法的电容,但由于器件的限制,实际电路中直接用9V电池的正极作为稳压管7805的输入,电池负极接地,实测输出电压为5.01V,符合要求。
实际的电源电路如图9所示。
图10
3.2晶振电路
图11
AT89C52等COMS型单片机内部有一个可控的反相器,引脚XTAL1,XTAL2为反相放大器的输入端和输出端,在XTAL1,XTAL2上外接晶振和电容便组成振荡器。
设计时电容C1,C2选用27皮法。
振荡器的频率主要取决于晶振的频率,设计选用的晶振频率为12MHz。
晶振电路如图10所示。
3.3上电复位电路
在RST引脚上输入2个机器周期以上的高电平,机器便进入复位状态,此时ALE、PSEN、P0、P1、P2、P3输出高电平,RST上输入返回低电平以后,便退出复位状态开始工作。
上电复位电路如图11所示。
图12
3.4前端信号测量电路
Ub
电桥电路如图12所示。
其中R1、R2为1千欧的电阻。
Rpt为温度传感器,传感器在100摄氏度时的理论接入阻值为92.16欧,实际电路的R3的接入阻值为90欧。
RT即为铂电阻PT100,其电阻值随温度的变化而变化,具体见铂电阻分度表。
电桥输出电压U。
的表达式如下:
差动放大电路如图13所示。
因为ADC0809需要输入的模拟量最大值为5V,因此需要将电桥电路输出的电压通过差动放大电路放大到或接近5V。
通过计算差动放大电路需要放大约33倍。
四、软件设计
4.1.主程序
1、接口标定
EOCBITP2.0
STABITP2.1
CLKBITP2.2
OEBITP2.3
ALEBITP2.4
2、主程序
主程序流程图
主程序代码:
ORG0
LJMPMAIN
ORG000BH
CPLCLK
RETI
MAIN:
MOVTMOD,#02H
MOVTH0,#56
MOVTL0,#56
SETBEA
SETBET0
SETBTR0
CLRA
MOV29H,A
MOV30H,A;
30H转换电压整数位
MOV31H,A;
31H转换电压小数位
MOV32H,A;
32H电压转换数据
CLRALE
NOP
SETBALE
LOOP:
CLRSTA
SETBSTA
CLRSTA,
LOP1:
ACALLDISP
JNBEOC,LOP1
MOVA,P0
MOV32H,A
ACALLCHAN
SJMPLOOP
2:
判断A/D转换完成程序
ACALLDISP;
延时等待
JNBEOC,LOP1;
等待转换结束
3:
平均值子程序:
(1)流程图
(2)程序
AVERAGE:
MOVR0,#40H
MOVA,#00H
MOVR3,#00H
MOVR2,#00H
CLRC
L:
MOVA,R2
ADDCA,@R0
MOVR2,A;
低8位送到R2
MOVA,R3
ADDCA,#00H
MOVR3,A;
高8位送到R3
INCR0
CJNER0,#4AH,L
;
求平均值(R3R2)/10
MOVB,#25
MULAB
MOVR4,A
MOVA,R3
MOVB,#6
MOVB,#10
DIVAB
MOVR3,A
MOVA,R2
ADDA,R3
ADDA,R4
MOVAVR,A
RET
4、数据转换程序
CHAN:
MOVA,32H
SUBBA,#50H
LW:
JCLO
MOVR2,#0FFH
CH:
MOVA,32H
MOVB,#4
DIVAB
MOV30H,A
MOVA,B
MOVB,#3
MULAB
MOV31H,A
MOVA,30H
MOVB,#10
RET
LO:
MOVB,#50H
XCHA,B
SUBBA,B
ADDA,B
MOVR2,#0BFH
JMPCH
显示子程序:
DISP:
MOVDPTR,#TAB
MOVA,29H
LOOP3:
DECA
LOOP4:
MOVCA,@A+DPTR
MOVP1,#02H
MOVP3,A
ACALLDELY
MOVCA,@A+DPTR
CLRACC.7
MOVP1,#04H
MOVA,31H
MOVP1,#08H
MOVP1,#01H
MOVP3,R2
LOOP2:
JMPLOOP4
延时子程序
DELY:
MOVR6,#10
DEL1:
MOVR7,#250
DJNZR7,$
DJNZR6,DEL1
五.课程设计心得体会
通过这次课程设计,我们对现代仪器的设计过程有了更为清晰的认识,尤其锻炼了我们的动手能力,解决实际困难的能力和团队合作能力。
感谢给予我们宝贵意见的#老师以及其两位研究生,他们耐心的指导使得我们能够顺利完成本次温度仪器的课程设计。
除此以外,还要感谢齐心协力、配合默契的小组成员和给予我们帮助与支持的非小组成员的各位同学。
六.参考文献
[1]侯玉宝,陈忠平,李成群等《基于Proteus的51系列单片机设计与仿真》北京工业出版社.2008
[2]张友德,赵志荣,涂时亮,《单片机原理》,《应用与实验(第五版)》上海复旦大学出版社.2006
[3]赵德安等,《单片机原理与应用》北京机械出版社.2005
[4]朱玉玺,崔入春,祁小磊等,《计算机控制技术》,北京电子工业出版社.2008
[5]赵茂春《智能仪器原理及应用(第三版)》,北京电子工业出版社.2009
[6]浦昭邦,王宝长,《测控仪器设计(第二版)》北京机械工业出版社.2009