简洁实用的全自动烘手器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简洁实用的全自动烘手器
现在很多宾馆和饭店等公共场合都安装了自动烘手器,它能够在不需要手接触的情况下将手烘干,使用方便,杜绝接触性细菌感染。家庭要是能装上一个也是很实用的,不过笔者发现市面上的一些产品大都是采用普通数字器件例如:NE555,NE567,CD4069等构成。其电路经过发射,接收,放大,整形,控制五个过程。自制的话,电路安装调试都不太方便,功能也是单一。为此,笔者设计了以下由单片机控制的电路(见图1),
图一
再配合常用的电吹风就能轻松制作出一台自动烘手器。其除了具有以上功能外还伴有闪烁灯和清脆的音响提示功能。
单片机采用内部带看门狗定时器的ATMEL 89S51,采用12MHZ的晶振。D1是电视机遥控器上的红外线发射头,G1是红外一体化接收头(带屏蔽盒),由于内部带接收,放大,整形,故简化了电路的复杂度和提高了可靠性。BEEP是交流蜂铃器或8欧小喇叭,JZ用5V/6V大于5A的继电器,CZ1,CZ2是普通的2孔电源插座。
工作原理:机器上电,初始化I/O口,主程序调用声光子程序发出声光提示。通过对内部定时器T0编程使单片机每隔50ms输出一小段500kHz左右的方波,由于单片机的低电平驱动能力有20mA故可以直接驱动D1发射红外线。D1和G1距离5个厘米并排安装。当有物体(比如人的手)接近D1和G1,一部分红外光会经物体反射到G1上,G1的2脚电平由高跳变到低。此时,外部中断INT0检测到低电平引发CPU中断,进入中断服务程序,关闭中断,然后在程序中打开灯(D1),音响提示(BEEP)和继电器,此时电吹风吹出热风。又让INT0口作为I/O口不断的定期检测此口的电平,一旦该口回到高电平,则关闭继电器,中断还回,又使系统处于待机状态。注意期间要进行一定的延时,目的是能防止因人的手会不断晃动导致G1输出断续的信号而使继电器跳动,也能给人足够的反映时间。本程序设置为3秒很好的解决了可能的抖动现象。100uf 电容C2起蓄能的作用,由于播放音响提示是采用振荡方式,占用时间较长而每次退出中断都要关闭继电器,继电器会明显的跳动,影响了使用和缩短了继电器寿命,C2能够大大延长继电器吸合时间以避开不该有的跳动。XL是限流电阻,防止电容突然充电损坏I/O口。
安装和程序调试:由于电路简单只要元件焊接无误一般都能成功,要注意的是一体化接收头最好用屏蔽的以躲避外界光源干扰,还需要用一个普通插座照图二接好。A,B端分别接在CZ2上,其中电容C的作用是防止接通吹风一瞬间产生的尖峰脉冲干扰。电吹风安装在一个类似篮圈用铁丝弯制而成的支架上,电路板固定在支架下(有探头的一面朝下),最后把吹风筒插进铁圈里,把电吹风电源线插进插座就完成了。对于程序调试:关键是接收灵敏度的调节,由于采用了一体化接收头其接收灵敏度已经固定,故只能调节发射频率。通常38kHz是一体化接收头最敏感的频率,而通常感应距离能达到6米以上,远大于我们需要的感应距离,这就是为什么要用500kHz左右的频率来驱动红外二级管了。通过反复调节T0定时器中断程序中的p1.0口电平变化时间来改变发射频率,感应距离最后确定在15厘米~20厘米为佳。注:为了保证效果,电吹风要求大于1000W并且已经设置为热风挡,该自动烘手器已在笔者家里使用一年多,性能稳定可靠!
图二
附1:源程序(WA VE v2.90 intel汇编编译器通过)
(作者:莫恒)
;*******design for auto clean macine 2003-8-11 am 9:00-pm 2:00********* fire equ p1.0 ;红外发射口
jdq equ p1.2 ;继电器控制口
beep equ p1.3
lamp equ p1.1
pduan equ p3.2 ;int0 口
org 0000h
jmp main
org 0003h
jmp int_0
org 000bh
jmp t0_0
org 0030h
MAIN:
mov p1,#0ffh ;出始化I/O口
mov tmod,#01h
mov th0,#03ch
mov tl0,#0b0h
setb ea
setb ex0
setb et0
setb tr0
setb pduan ;p3.2设置为输入状态
acall music1
start:
jmp start
t0_0: clr tr0
clr fire ;产生一小段500k方波,可以通过插入NOP来改变频率;nop
setb fire
;nop
clr fire
;nop
setb fire ;
;nop
mov th0,#03ch
mov tl0,#0b0h
setb tr0
reti
int_0:
clr ex0
acall music ;音乐
clr jdq ;开热风机
clr lamp ;开指示灯
wait: acall delay ;延时
jnb pduan,wait ;防止继电器跳动
setb jdq ;关继电器
setb ex0
reti
music:MOV R0,#059H ;beep! beep!beep! S6: ACALL DELAY3
CLR BEEP
ACALL DELAY3
SETB BEEP
DJNZ R0,S6
ACALL DELAY5
THIR: MOV R0,#059H
S7: ACALL DELAY3
CLR BEEP
ACALL DELAY3
SETB BEEP
DJNZ R0,S7
acall delay5
THI: MOV R0,#059H
S8: ACALL DELAY3
CLR BEEP
ACALL DELAY3
SETB BEEP
DJNZ R0,S8
ret
music1:MOV R0,#0b9H ;beep !beep!
S9: ACALL DELAY3
CLR BEEP
ACALL DELAY3
SETB BEEP
DJNZ R0,S9
ACALL DELAY5