自动烘手器毕业设计.docx
《自动烘手器毕业设计.docx》由会员分享,可在线阅读,更多相关《自动烘手器毕业设计.docx(54页珍藏版)》请在冰豆网上搜索。
自动烘手器毕业设计
摘要
本设计从现代化计算机控制技术入手,利用单片机的强大智能功能,通过完整的软件与硬件的结合,模拟了自动烘手器控制系统。
本作品是由红外感应模块、单片机模块和数码管显示模块三部分组成,采用一体化反射型光电探测器RPR220作为感应,并将此信号引入单片机,通过单片机控制从而触发继电器,启动烘手器,由DS18B20来测量环境的温度,来控制单片机,吹出的是热风还是冷风。
本报告详细阐述了此项目的基本设计思路和原理,以及在整个制作过程中出现的问题,作品的调试和改变,并相应附有必要的原理图和模块电路。
整个工作过程的控制思想有软件编程来实现,从而完成对整个工作过程的控制。
通过系统模拟实验与下载调试表明:
该系统设计合理,自动化程度高,实验过程时间短,工作稳定可靠,基本满足了设计的相关要求。
关键词:
单片机;温度传感器;驱动芯片;红外感应;
Abstract
Thisdesignfromthecomputercontroltechnologyofmodernizationofthemicrocontrollerpowerfulintelligentfunction,throughfullythecombinationofhardwareandsoftware,simulatestheautomatichanddryercontrolsystem.
Thisworkisbyinfraredsensormodules,asinglechipmicrocomputermoduleanddigitaltubedisplaymodulethreecomponents,adoptsintegrationreflectivephotodetectorRPR220asinduction,andthesignalintoasingle-chipmicrocomputer,throughthesingle-chipmicrocomputercontrolrelay,whichtriggersstart-uphanddryer,byDS18B20tomeasuretheenvironmentaltemperature,tocontrolthemicrocontroller,blowoutishotorcold.Thisreportexplainsindetailtheobjectivebasicdesignmethodandprinciple,andtheentireproductionprocesstotheproblems,andworksofdebuggingandchange,andcorrespondingwiththenecessaryprinciplechartandmodulecircuit.Thewholeprocesscontrolthoughthavesoftwareprogrammingrealize,thuscompletingthewholeprocesscontrol.Throughthesystemsimulationanddownloaddebuggingshowsthatthesystemdesignisreasonable,ahighdegreeofautomation,experimentalprocesstimeisshort,stableandreliable,basictosatisfythedesignrequirements.
Keywords:
SCM,Temperaturesensors;Drivechip;Inductive;
1系统总体设计
1.1引言
自动干手器是一种高档卫生洁具,广泛应用于宾馆酒店、机场车站、体育场馆等公共场所的洗手间。
其工作原理只是采用一种红外线控制的电子开关,当有人手伸过来时,红外线开关将电热吹风机自动打开,人离开时又自动将吹风机关闭。
成品的自动干手器将红外线控制开关和电热吹风机制作为一体,根据这个基本原理,我们自制了自动烘手器,该红外线自动干手器电路由单片机,红外线发射器、红外线接收放大器和开关控制器组成。
随着自动干手器广泛推广和自动控制应用的普及,红外线自动干手器设计课题有着更深远的意义
单片机作为整个控制系统的核心,其性能好坏对整个系统起着至关重要的作用。
早期的单片机8031,89c51等,大多采用紫外线擦除或需要专用的烧录器,在实验调试仿真时比较麻烦,且存储容量低,做大型的控制程序时,需要外接扩展存储器,造价和电路设计上都不划算,因此不宜使用。
当前比较先进的ARM嵌入式芯片,存储容量大,运算速度快,智能度强大,外围引脚丰富,稳定性高,是比较合适的选择。
但由于其价格昂贵,使烘手器的成本大大增加,不适合大众消费。
而当前应用比较广泛的AT89S51单片机及其同类单片机,有智能度高,外围电路成熟,成本低且存储容量可以满足要求,使用比较方便。
所以无论从价格,还是功能上考虑,都是比较合适的选择。
1.2系统的硬件选择及功能设计
在硬件选择上为了有利于购买和实验方便,根据当前市场上各种处理器的性价比,本设计选择AT89S51单片机,温度检测采用DS18B20温度传感器,人体感应采用一体化反射型光电探测器RPR220,红外线接受放大器采用电压比较器LM393;对电机的驱动采用ULN2003,它可满足由单片机输出端口直接控制驱动,这与单片机个管脚上电就输出高电平有点冲突,但考虑到其价格低廉,控制简单,在这里仍然用它,只需在其前段加一电平转换即可。
各器件的具体用法将在下文一一说明。
功能上:
当温度传感器DS18B20采集到环境温度在25°以上时,环境温度比较高,这时候由单片机控制ULN2003驱动电机旋转来模拟风扇,吹出冷风;当温度传感器DS18B20采集到环境温度在25°以下时,这时候环境温度比较底,这时候由单片机控制ULN2003驱动电机旋转来模拟风扇吹风,并且控制继电器闭合绿灯亮模拟加热丝加热,这时候就会吹出热风,来烘干手。
是
否
图1-1烘手器的基本工作流程图
对温度传感器的启用与控制需要严格的时间限制,这部分程序的编写是复杂而繁琐的。
这些部分是一个连贯的过程,又有着不确定时间,时间要求比较严格。
因此,实现起来不太容易,这正是整个程序核心。
整个程序调试过程中,这部分出现的问题最多。
对问题的排除是,整体改过后,在逐步调试,一点一点添加功能模块,最终得到实现。
软件编程语言采用C语言。
2硬件电路的设计
2.1控制电路硬件简述
一个完整的控制系统,单纯依靠一块单片机是远远不够的。
它必须与外围电路元件相互搭配,共同完成任务。
本设计用到的外围电路有:
温度检测电路,驱动电路,LED显示电路,人体感应电路,放大电路等。
要是个部分电路能在一起稳定的工作,就要让它们衔接的很匹配,如各部分电路对电压、电流的要求等都要合理的设计。
下面是对各部分硬件电路的介绍。
如图2-1所示。
图2-1硬件流程图
2.2单片机的简介
单片微型计算机(SingleChipMicrocomputer)简称单片机,是指集成在一块芯片上的计算机,它具有结构简单、控制功能强、可靠性高、体积小、价格低、等优点。
单片机技术作为计算机技术的一个重要分支,广泛地应用于工业控制、智能化仪器仪表、家用电器、电子玩具等各领域。
尽管单片机种类很多,但无论是从世界范围还是从全国范围来看,使用最为广泛的应属MCS-51系列单片机。
其生产厂家有:
Intel公司、Atmel公司、Philips公司等。
本设计采用Atmel公司的AT89S51,其它厂家单片机这里不再多说,以下是对AT89S51的介绍。
Atmel公司生产的AT89S51单片机是一种低功耗/低电压、高性能的8位单片机,内部除CPU外,还包括128B的内部用户数据存储器RAM,4KB的内部用户程序存储器,4个8位并行可编程I/0口,2个16位计数/定时器,5个中断源,2个优先级别,1个可编程的串行通信口。
以下是对各部分的具体介绍:
内部介绍:
(1)中央处理器又称CPU,是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
(2)数据存储器又称RAM,S51(AT89S51)内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型数据。
并具有64KB外部数据存储器寻址空间。
(3)程序存储器又称ROM,S51共有4KB的掩膜ROM,用于存放用户程序,原始数据或表格。
并具有64KB外部程序存储器寻址空间。
(4)定时/计数器,S51有两个16位的可编程定时/计数器,称为定时器0(T0)和定时器1(T1)。
T0有专用寄存器TH0和TL0组成,T10有专用寄存器TH1和TL1组成。
并且可编程定时/计数器的工作方式、定时时间、计数值、启动、中断请求等都可以由程序设定。
(5)中断系统,S51的中断功能较强,可满足控制应用的需要。
共有5个中断源,即两个外中断、两个定时/计数器中断和一个串行中断,并具有两个优先级别的选择。
(6)时钟电路,S51内部有时钟电路,但石英晶体和微调电容需外接。
用于产生整个单片机运行的脉冲时序,系统允许的晶振频率一般位6MHz和12MHz,在应用精度要求较高的场合一般选用11.0592MHz,可以使定时器/计数器更精确。
以上是从S51单片机的内部介绍,下面再从外部看其结构。
如图2-2所示。
图2-2S51的外部结构
外部介绍:
有外部结构图我们可以看到,S51单片机有40个管脚。
正电源和地线两根,外置石英振荡器的时钟线两根,一个复位端RESET,/EA,ALE,/PSEN三根线,P0-P3共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
(1)主电源引脚Vcc和Vss
Vcc(40脚):
主电源接+5V
Vss(20脚):
接地
(2)时钟电路引脚XTAL1和XTAL2:
接外部晶体振荡器的引线端。
当使用芯片内部时钟时,两引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
这两个引脚连接的电路成为时钟电路,用来产生单片机正常工作时所需要的时钟脉冲信号。
(3)控制信号RST/Vpd、ALE/(/PROG)、/PSEN和(/EA)/Vpp
RST/Vpd(9脚):
复位端。
高电平有效,保持在2个机器周期宽度以上,使单片机复位,用于完成单片机的复位初始化操作。
在进行单片机应用系统设计时,这个引脚一定要连接相应的电路,即复位电路。
该引脚有复用功能,Vpd为备用电源输入端,防止主电源掉电。
ALE/(/PROG)(30脚):
地址锁存信号端。
访问片外存贮器时,ALE作低八位地址的锁存控制信号。
平时不访问片外存贮器时,该端以六分之一的时钟振荡频率固定输出脉冲。
ALE端负载驱动能力为8个LSTTL门。
该引脚有复用功能,为片内程序存贮器编程(固化)的编程脉冲输入。
/PSEN(29脚):
片外程序存贮器读选通信号端。
负载能力为8LSTTL门。
(/EA)/Vpp(31脚):
/EA端接高电平时,CPU取指令从片内程序存贮器自动顺延至片外程序存贮器。
/EA端接低电平时,CPU仅从片外程序存贮器取指令。
该引脚有复用功能,Vpp为片内程序存贮器编程时的编程电压。
(4)输入/输出引脚P0、P1、P2和P3口
P0.0~P0.7(39~32脚):
访问片外存贮器时作为低八位地址线和八位数据线(复用)。
负载能力为8个LSTTL门。
P1.0~P1.7(1~8脚):
8位准双向I/O口。
负载能力为3个LSTTL门。
P2.0~P2.7(21~28脚):
访问片外存贮器时作为高八位地址线。
P3.0~P3.7(10~17脚):
8位准双向I/O口。
负载能力为3个LSTTL门。
另外还有专门的第二功能。
P3口的第二功能是
P3.0(10脚):
RXD(串行口输入端)
P3.1(11脚):
TXD(串行口输出端)
P3.2(12脚):
/INT0(外部中断0输入端)
P3.3(13脚):
/INT1(外部中断1输入端)
P3.4(14脚):
T0(定时器/计数器0外部输入端)
P3.5(15脚):
T1(定时器/计数器1外部输入端)
P3.6(16脚):
/WR(片外数据存贮器写选通信号输出端)
P3.7(17脚):
/RD(片外数据存贮器读选通信号输出端)
89S51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。
80C51单片机的时钟产生方法有两种。
内部时钟方式和外部时钟方式。
本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。
本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。
振荡晶体可在1.2MHZ到12MHZ之间选择。
电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在20pF到100pF之间取值,但在60pF到70pF时振荡器有较高的频率稳定性。
所以本设计中,振荡晶体选择6MHZ,电容选择65pF。
在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。
为了提高温度稳定性,应采用NPO电容。
89S51的复位是由外部的复位电路来实现的。
复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
复位电路通常采用上电自动复位和按钮复位两种方式。
最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。
只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
时钟频率用12MHZ时C取10uF,R取10KΩ。
除了上电复位外,有时还需要按键手动复位。
本设计就是用的按键手动复位。
按键手动复位有电平方式和脉冲方式两种。
其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。
时钟频率选用12时,C取10uF
下图是单片机工作的最小模块,如图2-3所示。
图2-3单片机最小工作模块
2.3电机驱动电路
本设计选用的驱动芯片是ULN2003,它具有价格便宜、原理简单易使用、工作稳定性高。
以下将对其进行详细介绍。
ULN2003的外部结构如图2-4所示。
图2-4ULN2003的外部结构
从ULN2003外部结构图上,可以很轻松的看出各管脚的功能,这足以说明它的使用相当简单。
它有一个接电源引脚,一个接地引脚,六路输入对应着六路输出。
ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。
其特点是:
①ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
②ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。
③ULN2003采用DIP—16或SOP—16塑料封装。
由于其接口可以与多种元件直接连用,且封装常规已购买、驱动电流大使用方便等特点。
因此常被用在数字电路及大电流高电压的灯、继电器、打印机锤和其它类似负载电路的接口处。
也是本设计比较理想的驱动芯片。
图2-5内部构造图
图2-6工作原理图
由其内部构造图和原理图可知,该芯片是高电平有效、集电极输出的开关元件。
这里画出原理图供大家参考一下,其原理不再多说,只要懂得它的用法即可。
下图是ULN2003在电路中的用法,如图2-7所示。
图2-7驱动电路
2.4温度传感器控制电路
温度传感器的选择
温度传感器有很多种,如热电偶温度传感器、铂电阻温度传感器、红外温度传感器、数字温度传感器等。
为了便于实验,并且自己有实物,本设计采用数字温度传感器DS18B20。
DS18B20的简介
DS18B20是美国DALLAS半导体器件公司推出的单总线数字化智能集成温度传感器。
单总线(1-Wire)是DALLAS公司的一项专有技术,它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的,具有节省I/O口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。
DS18B20的特点及内部构造
特点如下:
①采用独特的单总线接口方式,即只有一根信号线与控制器相连,实现数据的双向通信,不需要外部元件;
②测量结果直接输出数字温度信号,以单总线串行传送给控制器,同时可传送CRC校验码,具有极强的抗干扰纠错能力;
③支持多点组网功能,多个DS18B20可以并联在唯一的三根线上,实现组网多点测量;
④适应电压范围宽3.0-5.5V,不需要备份电源、可用数据线供电,温度测量范围为-55℃~125℃,-10℃~85℃时测量精度为±0.5℃;
⑤通过编程可实现9~12位的数字值读数方式,对应的可分辨温度分别为0.5℃,0.25℃,0.125℃,0.0625℃,实现高精度测温;
⑥负压特性。
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
图2-8DS18B20外部结构框图
封装图及内部构造,如下图所示。
图2-10DS18B20的封装
引脚功能如下:
NC:
空引脚,悬空不使用;
VDD:
可选电源脚,电源电压范围3~5.5V。
工作于寄生电源时,此引脚应接地;
I/O:
数据输入/输出脚,漏极开路,常态下高电平。
DS18B20采用3脚TO-92封装或8脚SOIC及CSP封装方式。
图2-8所示为DS18B20的内部结构框图,它主要包括寄生电源、温度传感器、64位光刻ROM及单总线接口、存放中间数据的高速暂存器(内含便笺式RAM)、存储与控制逻辑、用于存储用户设定的温度上下限值的TH和TL触发器、结构寄存器、8位循环冗余校验码(CRC)发生器等八部分。
64位ROM的结构如图2-11所示,开始8位是产品类型的编号;接着是每个器件唯一的序号,共48位;最后8位是前面56位的CRC检验码,这也是多个DS18B20可采用单线进行通信的原因。
非易失性温度报警触发器TH、TL,可以通过编程写入用户报警上下线数据。
图2-1164位ROM示意图
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EEPROM。
高速暂存RAM的结构位9字节的存储器,结构如图2-12所示。
前两个字节包括测得温度的信息。
3、4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5字节为配置寄存器,其内容用于确定温度值的数字转换频率,DS18B20工作时按此寄存器中的分辨率将温度转换成相应精度的数值。
该字节各位的定义如图2-13,其低5位一直为1;TM是测试模式位,用于设置DS18B20在工作模式还是在检测模式,在DS18B20出厂时,该位被设置为0,用户不要去改动;R1和R2决定温度转换的精度位数,即用来设置分辨率,其定义方法见表a。
表aDS18B20分辨率的定义
R1
R0
分辨率
转换时间/ms
0
0
9位
93.75
0
1
10位
187.5
1
0
11位
375
1
1
12位
750
由表a可见,DS18B20温度转换的时间比较长,而且设定的分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全1.第9字节是前面8字节的CRC码,可以用来检验数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在暂存RAM的第1、2字节中。
单片机可以通过单线接口读出该数据。
的数据时低位在前,高位在后,数据格式以0.0625℃/LSB形式表示。
表b温度值格式
23
22
21
20
2-1
2-2
2-3
2-4
S
S
S
S
S
26
25
24
低字节
高字节
表b中,S表示符号位。
当S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当S=1时,表示测得的温度值为负值,要先将补码变成原码,在计算十进制值。
表c是部分温度值对应的二进制温度表示数据。
表cDS18B20温度与表示值对应表
温度/℃
二进制
十六进制
+125
0000011111010000
07D0H
+85
0000010101010000
0550H
+25.0625
0000000110010001
0191H
+10.125
0000000010100010
00A2H
+0.5
0000000000001000
0008H
0
0000000000000000
0000H
-0.5
1111111111111000
FFF8H
-10.125
1111111101011110
FF5EH
-25.0625
1111111001101111
FF6FH
-55
1111110010010000
FC90H
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容对照,若T>TH或T因此,可以用多个DS18B20同时测得温度并进行报警搜索。
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。
主机根据ROM的前56位来计算CRC值,并与存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
关于DS18B20的工作原理这里就不再多说,有感兴趣的可以查阅相关手册。
DS18B20的编程指令
DS18B20的指令有:
读ROM(33H),匹配ROM(55H),跳过ROM(CCH),搜索ROM(F0H),报警搜索(ECH),稳定转换(44H),度暂存器(BEH),写暂存器(4EH),复制暂存器(48H),重调E2PROM(B8H),读供电方式(B4H)。
关于这些指令,这里也不再一一介绍,只把本设计用到的用法说一下。
CCH-跳过ROM指令。
忽略64位ROM地址,直接向DS18B20发温度变换命令,适用于一个从机工作。
44H-温度转换指令。
启动DS18B20进行温度转换,12位转换时最长为750ms(9位93.75ms)。
结果存入内部9字节的RAM中。
BEH-读暂存器指令。
读内部RAM中9字节的温度数据。
如图2-14所示,是DS18B20在电路中的接发,本设计采用的是单独电源供电方式,下面将介绍其工作时序,有工作时序图可以很清楚的知道该这样控制DS18B20。
图2-1