毕业设计.docx
- 文档编号:12102935
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:17
- 大小:175.57KB
毕业设计.docx
《毕业设计.docx》由会员分享,可在线阅读,更多相关《毕业设计.docx(17页珍藏版)》请在冰点文库上搜索。
毕业设计
国家职业资格全省(或市)统一鉴定
维修电工论文
(国家职业资格
级)
论文题目:
恒温箱单片机恒温控制
姓名:
身份证号:
准考证号:
所在省市:
江苏省盐城市
所在单位:
江苏盐城技师学院
恒温箱单片机恒温控制
胡威
江苏省盐城技师学院
【摘要】本文主要介绍了一种基于AT89C51单片机为基础在温度系统的应用,并且说明了构成温度系统的基本原理、硬件组成及相应的软件设计。
该装置可实现对恒温箱内部温度的测量,并能根据设定值对内部温度进行调节,温度过高或过低都将进行相应处理,以达到恒温的目的。
【关键词】AT89C51单片机、温度、A/D转换器
单片机随着电子技术和微型计算机的迅速发展而发展,单片机具有体积小,功能强、性价比高等优点,所以在微机测量和控制技术得到了迅速的发展和广泛的应用。
单片机在温度控制方面的应用,具有控制简单方便,测量范围广,精度较高等优点。
针对对温度极其敏感的一些恒温箱,为达到对其温度的良好控制,该系统从实用的角度以AT89C51为核心设计了一套智能控制温度系统。
以AT89C51单片机系统为核心来对温度进行实时控制。
各从机(检测单元)能独立完成各自功能,并根据主控机的指令对温度进行定时采集和时刻检测。
主控机负责控制指令的发送,以控制各个从机的温度采集,收集测量数据,并对测量结果(包括已存档数据)进行显示、处理和存储。
主控机与各从机之间也能够相互联系、相互协调,从而达到系统整体化、和谐的效果。
实践证明,本系统运行情况良好且经济可靠。
一、系统构成
针对以上情况,本系统以AT89C51单片机为核心,组成一个集温度的采集、处理、显示、自动控制为一身的闭环控制系统,其原理框图见图1。
图中硬件组成主要由以下几部分组成:
单片机信息处理、温度采集、信号转换、显示、报警、信号处理及存储部分。
整个系统硬件部分包括温度检测系统、A/D转换、信号处理系统、单片机、I/O设备、控制执行系统等。
图1温度系统控制原理框图
二、硬件电路设计
1、传感器选择
常用的温度检测元件主要有热电偶、热电阻、热敏电阻等。
热电偶主要是利用两种不同金属的热电效应,产生接触电势随温度变化而变化,从而达到测温的目的。
测量准确,价格适中测温范围宽,线性度较好。
但其输出电压受冷端温度影响,需要进行冷端温度补偿,使电路变得复杂,在本题中并非最佳方案。
热敏电阻由金属氧化物或半导体材料制成,灵敏度高、热惰性小、寿命长、价格便宜。
但其测量的稳定性和线性度差,需要进行查表线性拟合,大大浪费控制器的资源,因此不能选用。
热电阻是利用金属的电阻率随温度变化而变化的特性,将温度量转化成电阻量。
其优点是准确度高,稳定性高,性能可靠,热惯性小、复现性好,价格适中。
但电阻值与温度是非线性关系,Pt100热电阻,温度越高非线性误差越大,本题目要求温控范围是0℃~59℃,温度较低。
当进行增益调整时,还可以使此误差降低一倍,因此在本题中可以选用Pt100热电阻,并可近似将其电阻值与温度看作线性关系。
热敏电阻的连接如图2。
图2热敏电阻的连接
在该系统中温度范围设定在0℃~59℃,但经A/D转换后的采样值为对应于该温度的电压值,因此本系统的标变换公式为:
热敏电阻与R8并联的总电阻:
R=Rt*R8/(Rt+R8)
R与R7串联电路中R的分压值:
V=R/(R+R7)*5
5v被分为256等份,则每份的电压值:
△=5/256
输入的模拟电压8位量化后的数字量:
D=V/△
例如:
热敏电阻在温度30℃时的阻值为40.4017kΩ,则根据上述—方法计算出的电压数字量为152,(注意在计算中R7用实测阻值19.6kΩ代入进行计算)。
这样计算后该系统中温度0℃~59℃,见表1。
表1热敏电阻分度表及经A/D转换后的电压数字量
温度(℃)
热敏电阻阻值(KΩ)
转换后的电压数字量
0
161.608
194
1
153.6308
193
2
146.0833
192
3
138.9435
191
4
132.1901
190
5
125.8025
189
6
119.7608
188
7
114.046
189
8
108.6397
186
9
103.5243
185
10
98.6833
184
11
94.1006
182
12
89.7613
181
13
85.6511
180
14
81.7564
178
15
78.0646
177
16
74.5637
175
17
71.2425
174
18
68.0903
173
19
65.0972
171
20
62.254
169
21
59.5519
168
22
56.9829
166
23
54.5392
165
24
52.2138
163
25
50
161
26
47.8916
159
27
45.8829
158
28
43.9683
156
29
42.1428
154
30
40.4017
152
31
38.74.5
150
32
37.1552
149
33
35.6418
147
34
34.1967
145
35
32.8164
143
36
31.4979
141
37
30.238
139
38
29.0339
137
39
27.883
135
40
26.7828
133
41
25.7308
131
42
24.725
129
43
23.763
127
44
22.843
125
45
21.9629
123
46
21.1211
121
47
20.3158
118
48
19.5453
116
49
18.8082
114
50
18.1028
112
51
17.4241
110
52
16.7787
108
53
16.1643
106
54
15.5788
104
55
15.0199
102
56
14.4861
100
57
13.9754
99
58
13.4866
97
59
12.565686
95
2、A/D转换电路
本文通过采用ADC0809转换器将模拟(温度)信号转换成电压数字量,ADC0809是一种8路模拟输入8位并行数字输出的逐次逼近式A/DZ转换器。
8路模拟信号分时采集,片内有8路模拟接通开关,以及相应的通道选择锁存用译码电路,其转换时间为100us左右。
ADC0809与单片机的连接如图3所示。
图3ADC0809与单片机的连接
(1)为使整个系统的运行更加完善,本设计中采用动态显示方式驱动3个数码管,分别显示温度的百位、十位和个位。
数码管采用共阴极,由于AT89C51单片机每个I/O的电流只有1—2mA。
所以在位码和段码都加上了同相驱动器。
数码管与单片机连接如图4所示。
图4数码管与单片机连接
(2)为提高系统的抗干扰能力,在原有硬件的基础上设计了电源检测、报警等电路以促进整个系统的功能更加完善。
(3)报警电路
在微型计算机控制系统中,为了安全生产,对于一些重要的参数或系统部位,都设有紧急状态报警系统,以便提醒操作人员注意,或采取紧急措施。
其方法就是把计算机采集的数据进行处理,然后与系统设定参数上下限给定值进行比较,如果高于上限值(或低于下限值)则进行报警,否则就作为采样的正常值,进行显示和控制。
本设计采用峰鸣音报警电路。
峰鸣音报警接口电路的设计只需购买市场中的压电式蜂鸣器,然后通过单片机的1根I/O输入输出口线经驱动器驱动蜂鸣音发声。
压电式蜂鸣器约需10mA的驱动电流。
在图5中,P3.2接晶体管基极输入端。
当P3.2输出高电平“1”时,晶体管导通,压电蜂鸣器两端获得约+5V电压而鸣叫,当P3.2输出低电平“0”时,三极管截止,蜂鸣器停止发声。
一个简单的使用三极管驱动的峰鸣音报警电路如图5所示。
图5三极管驱动的峰鸣音报警电路
(4)为使掉电后已设定的参数不至于丢掉,本系统采用AT89C51单片机串行P1.6和P1.7口与24C02进行掉电前的参数存储。
24C02和AT89C51的典型接口电路如下:
图624C02和AT89C51的接口电路
3、温度越限控
该系统利用集成温度传感器实现对温度的采集,然后信号通过运算放大器、保持器和A/D转换器将模拟量变为数字量送入单片机进行处理。
我们预先从键盘输入一个温度范围(上限报警值和下限报警值、上限值、上限复位值、下限值、下限复位值),通过温度采集系统检测出环境的温度,由数字显示电路显示出当时的温度,当温度高于上限值时,系统将起动制冷设备,把温度降下来,根据采样温度值与下限值的差值占上限与下限之间的差值的百分比,起动相应的制冷设备,当温度低于上限复位值时,制冷设备停止工作。
当温度低于下限值时,与高于上限值的控制方法相同。
当温度高于或低于报警的上下限值时,报警器发声,提醒工作人员此时温度太高或太低,以做出相应的措施。
因此我们要求的温度不是一个点,而是一个范围,因此我们设定了一个温度点,在此温度点的上下限附近设定一个回差带,如果跨过这个回差带,报警系统将会发出安全警告,从而保证了人生安全和财产安全。
温度越限控制示意图如图7所示。
图7温度越限控制示意图
4、温度控制器电路原理图设计
按以上任务分析及相关知识设计出的温度控制器电路原理图如图8所示。
图8温度控制硬件电路设计图
三、软件设计
本系统主要采用模块化结构设计,具体由一个主程序,6个子程序组成。
6个子程序为定时/计数器0中断服务程序、温度采集、A/D转换、温度计算、信号处理、十进制转换、数码管显示等子程序组成。
主程序进行初始化操作,主要进行定时/计数器的初始化。
这里给出主程序流程图见图9所示。
图9主程序流程图
在该软件中,晶体振荡器频率为6MHz,T0定时时间为100ms,T0工作方式1,则T0的初值为:
X=(最大计数值M—定时时间t/机械周期Tm)=65536—100ms/2us=15536=3CB0H。
分析得到源程序如下:
ORG0000H
LJMPMAIN;跳转到主程序
ORG000BH
LJMPT0INT;跳转到T0中断服务程序
主程序
ORG0100H
MAIN:
MOVR1,#10;T0100ms定时溢出计数寄存器R1赋初值10
MOVP1,#0FFH;所有指示灯灭
MOVSP,#60H;堆栈指针赋初值60H
MOVTMOD,#01H;T0定时、方式1、软启动
MOVTL0,#0B0H;T0赋初值
MOVTH0,#3CH
MOVIE,#82H;开放T0中断
SETBTR0;启动T0
SJMP$
1、定时/计数器0中断服务程序,目的是定时采样,为了消除数码管温度显示时的闪烁现象,可以根据实际温度变化率进行采样时间调整,每当定时时间到时,调用温度采样及A/D转换子程序WCZH,得到一个温度样本,并转换为数字量,传给89C51单片机,然后进行温度计算WDJS,信号处理XHCL,十进制转换SJZH,温度数码管显示WDXS。
其T0中断服务程序流程图见图10所示。
图10T0中断服务程序流程图
温度采样及模数转换子程序
ORG0300H
MOVDPTR,#0F0FFH;选通ADC0809通道0
MOVA,#00H
MOVX@DPTR,A;启动A/D转换器
TQ:
JNBP3.3,TQ;判断数据是否结束,否则等待
MOVXA,@DPTR;读取转换后数据
MOV20H,A;数据存与20H单元
RET
温度计算子程序
ORG0400H
MOVR2,#01H;R2为数据表的索引值寄存器
MOVDPTR,#TAB;温度数据表首地址
LOOP:
MOVA,R2;索引值送A
MOVCA,@A+DPTR;查表取出某一温度的数字电压值
CJNEA,20H,K1;与当前温度的电压值比较
DECR2;等于当前温度数字电压值,则查表
MOVA,R2;取出该温度值作为当前温度值
MOVCA,@A+DPTR
LJMPK3
K1:
JNCK2;大于当前温度的数字电压值,则继续
;取下一个温度的数字电压值进行比较
DECR2;小于当前温度的数字电压值,则查表
;取出前一个温度值作为当前温度值
DECR2
DECR2
MOVA,R2
MOVCA,@A+DPTR
LJMPK3
K2:
INCR2
INCR2
LJMPLOOP
K3:
MOV21H,A
RET
TAB:
DB0,194,1,193,2,192,3,191,4,190
DB5,189,6,188,7,187,8,186,9,185
DB10,184,11,182,12,181,13,180,14,178
DB15,177,16,175,17,174,18,173,19,171
DB20,169,21,168,22,166,23,165,24,163
DB25,161,26,159,27,158,28,156,29,154
DB30,152,31,150,32,149,33,147,34,145
DB35,143,36,141,37,139,38,137,39,135
DB40,133,41,131,42,129,43,127,44,125
DB45,123,46,121,47,118,48,116,49,114
DB50,112,51,110,52,108,53,106,54,104
DB55,102,56,100,57,99,58,97,59,95
信号处理子程序
ORG0500H
MOVA,21H;取出当前温度值
CJNEA,#45J1;与上限温度值45比较
LJMPLP
J1:
JNCLP1;若高于上限温度,则输出驱动信号,
;同时高于上限温度警告指示灯点亮
CJNEA,#20,J2;与下限温度20℃比较
LJMPLP
J2:
JCLP2;若低于下限温度,则输出驱动信号
;时点亮低于下限温度警告指示灯
JMPLP
LP1:
CLRP1.0
SETBP1.1
CLRP1.2
SETBP1.3
LJMPOVER
LP2:
SETBP1.0
SETBP1.1
SETBP1.2
CLRP1.3
LJMPOVER
LP:
CLRP1.1;下限温度与上限温度之间,则驱动信号保持前面状态,同时正常指示灯点亮
SETBP1.2
SETBP1.3
OVER:
RET
十进制转换子程序
ORG0600H;将存于21H单元中的温度转换成BCD码,百位存于32H单元,十位存于31H单元,个位存于30H单元。
MOVA,21H
MOVB,#100
DIVAB
MOV32H,A
MOVA,B
MOVB,#10
DIVAB
MOV31H,A
MOV30H,B
RET
数码管显示子程序
ORG0700H
MOVR3,#03;将存于32H单元、31H单元、30H单元中的温度BCD码查转换为七段码
MOVR0,#30H;通过串行通信方式0输出驱动三个数码管,显示当前温度
MOVDPTR,#TAB1
TQ1:
MOVA,@R0
MOVCA,@A+DPTR
MOVSBUF,A
DD:
JNBTI,DD
CLRTI
INCR0
DJNZR3,TQ1
RET
TAB1:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,O7H,7FH,6FH
;七段码数据表
四、结束语
整个系统的设计以单片机为核心,实现对温度的采样、处理及控制。
本系统运行稳定、工作精度高,且通过键盘可以方便地进行参数修改,真正达到对温度的智能控制。
当今科技发展迅速,单片机嵌入式开发有着光明的前景。
由于单片机经济实用、开发简便,因而在工业控制、农业自动化、家电智能化等领域占据了广泛的市场。
本文介绍的系统设计有一定的实用性,但该系统在设计过程中仍有很多漏洞。
还需要在智能化方面加以改进。
特别是语音告警、节省功耗,提高稳定度等方面。
参考文献
1、李秀忠主编,单片机应用技术,中国劳动社会保障出版社,2006
2、楼然苗、李光飞编注51系列单片机设计实例北京航空航天大学出版社,2003
3、张迎新编著单片机原理及应用北京电子工业出版社,2004
4、睢丙东、魏泽鼎等编著单片机应用技术与实例北京电子工业出版社,2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计