智能台灯
摘要:设计制作了一种智能台灯,主要是以 BISS0001 和单片机组成的红外传感控制电路。
其特点是在有人时且外界光强较弱时能自动开灯,无人时关灯,节约能源;且能纠正坐姿,
防止近视。
关键词:节能;纠正坐姿;BISS0001
一、引言:台灯已是千家万户的必需生活用品,经常由于忘记关灯而造成巨大的能源浪费。
当夜晚来临时,人们又摸黑去开灯,非常不方便。在这里设计了以人体红外辐射(波长为
9.5um)传感控制电路。当人体在台灯的范围内且环境光强较弱时,自动感应开灯;当人体
太靠近桌面时,台灯自动感应,警告纠正坐姿,若在一定时间内未离开桌面则自动熄灭。
当人离开时则自动关灯,达到节约能源的目的。
二、系统组成及电路设计:
1. 系统组成部分
热释电红外传感器 1
热释电红外传感器 2
光敏电阻
信号
处理
电路
80C51
提醒电路
灯光控制电路
图一 系统结构图
本系统组成如图一所示,主要由三部分组成:
1) 传感器及信号处理部分:检测人体辐射红外信号及光强信号经过处理后变成可处理的
数字信号
2) 以 80C51 组成的中央处理单元:处理信号并发出控制命令
3) 提醒电路及灯光控制电路 :给出提醒信号并根据 80C51 给出的命令控制灯光
整个系统是以 80C51 控制下工作的。其工作过程为:当环境光比较强时,光敏电阻阻
1
值比较小,信号处理电路检测到低电平信号,禁止热释电红外传感器工作,省去了 80C51
处理过程。当环境光比较弱时,光敏电阻阻值变大,信号处理电路接收到高电平,从而启
动热释电红外传感器工作。热释电红外传感器 1 探测比较远的距离,当人体进入到传感器
1 的控测范围内且光强较弱时,信号检测电路处理信号,并向单片机发送一个中断,80C51
启动灯光控制电路,使灯慢慢变亮。当环境光比校弱时,且人体过于靠近桌面,热释电红
外传感器 2 检测到信号,同时了在热释电红外传感器 1 的控测范围内,信号处理电路同时
向 80C51 发送信号,80C51 处理信号根据优先级顺序,屏蔽掉热释电红外传感器 1 的信号,
启动延时电路,发出警报使人离开,若在设定的时间内未离开桌面,则启动灯光控制电路,
使灯慢慢熄灭。当人体离开热释电红外传感器 2 的控测范围且在热释电红外传感器 1 的控
测范围内时,灯光又慢慢变亮。
2. 电路设计部分
图二
传感器组成的信号检测及处理部分
图二是由红热释电红外传感器、光敏电阻、BISS0001 组成的信号检测及处理电路。红
热释电红外传感器只对波长为 10μm(人体辐射红外线波长)左右的红外辐射敏感,所以
除人体以外的其他物体不会引发探头动作。探头内包含两个互相串联或并联的热释电元,
而且制成的两个电极化方向正好相反,环境背景辐射对两个热释元件几乎具有相同的作用,
使其产生释电效应相互抵消,于是探测器无信号输出。一旦人侵入探测区域内,人体红外
辐射通过部分镜面聚焦,并被热释电元接收,但是两片热释电元接收到的热量不同,热释
电也不同,不能抵消,于是输出检测信号。 BISS0001 是由运算放大器、电压比较器、状态
控制器、延迟时间定时器以及封锁时间定时器等构成的数模混合专用集成电路。当外界光
强较强时,光敏电阻阻值很小,BISS0001 检测到低电平,从而封锁 14 脚,禁止传感器 infare1
的信号。当外界光强较弱时,光敏电阻阻值很大,BISS0001 检测到低电平,开启 14 脚;infare1
检测到人体信号时,产生微弱的信号输出,经 R5、R1005、R4、C1、C6、C7 组成的信号
放大滤波电路。R1000、R1001、C1000 和 C1001 组成的延时电路。信号经处理后从 2 脚输
出。
2
图三
单片机控制电路
图三是由单片机组成的报警及灯光控制电路。当外部无任何中断时,80C51 控制
74LS138 的使能控制端,使后面电路不工作。当有中断一产生时,80C51 启动 74LS138,
向 P0 脚低 4 位发送信号,控制灯慢慢亮。当中断 1 和中断 0 同时产生时,80C51 屏蔽掉中
断 1,启动 74LS138 向 P0 脚低四位发送数据,使灯光慢慢变暗。这里采用 74LS138 控制
DC832 可以节省 80C51 的管脚,有利于扩展,以便于控制多盏灯。由于采有 DC0832 可以
有效地使灯实现阶梯形的变化。
3. 程序框图:
开始
程序初始化
开启所有中断
中断返回入口
结束
3
中断 1
中断入口
R=0
发送数据
中断 0
中断入口
调用延时程序 TIME1
R=7
调用延时程序 TIME0
R+1
发送数据
R-1
调用延时程序 TIME0
R=7?
中断返回
R=0?
中断返回
图四
程序框图
程序框图如图四所示,程序开始后,对程序进行初始化。向 P0 脚写入低电平,开启所
有中断,启动计数器。当中断 1 来时,进入中断 1,设置 R0 为 0,调用延时程序 TIME0(延
时 10ms),判断 R0 是否等于 7,若不是,则加 1,继续发送数据进入循环,直至 R=7,即
实现的是灯慢慢变亮的一个过程。当中断 0 和中断 1 同时产生时,根据优先级,屏蔽掉中
断 1,开启中断 0。调用延时程序 TIME0(延时 1 分钟),查询中断 0 控制位;防止人体不小
心到达热释电探测器的探测范围内,采用延时程序来排除干扰,防止误判。若为 0,则返
回主程序;若为 1,则向 P0 高四位发送数据,使灯保持原来最亮状态,调用延时程序 TIME1,
判断 R0 是否等于 0,若是则中断返回,若不是,则 R0 减 1,继续循环,直至 R0 等到于 0,
此程序的目的是实现灯慢慢变暗。
三、实验结果:
本系统的主要设计思想来源于生活。台灯是一般家庭的生活必需品,但由于经常忘记
关灯而造成巨大的能源浪费。全球这么多台灯,估算一下,消耗能源可观。另一个是作为
一个必需品,当然要使生活变得更方便,省去了黑暗中开灯的麻烦,并且可以纠正坐姿。
本系统在实验室进行了实物实验。热释电红外探测器 1 的距离是 4m 左右(距离可调),主
要是因为般来说是门离书桌的距离;以便黑暗中时人一到门口则启动,省去了开灯的麻烦,
用户可以根据自己的实际情况进行距离调节。热释电红外探测器 1 的距离是 10cm 左右(距
离可调),主要考虑是当学习时,有时坐姿不正,引起身体离桌面太近,容易引起近视,此
时台灯发出警告,提醒注意,若在设定的时间内未离开,则强制熄灭。有时人学习累了,
趴在桌子上睡觉,而忘了关灯,这时系统就会检测到,从而启动延时程序,一段时间过后,
台灯就会自动熄灭。
本系统的主要技术难点在于对人体红外信号的采集及处理。由于采用的是热释电红外
传感器,当人体进入其感应范围时,传感器就会产生几 mV 信号,然后通过以 BISS0001
4
为中心的信号处理电路,对信号进行二次放大,并滤波,以防止外界的信号产生干扰。信
号经过 BISS0001 后从而转化为数字信号输出,便于用单片机进处理。
本系统制作的主要设计源泉来源于生活,因此创新之处也在于处理生活中一些比较常
见的问题。以专门感应人体红外信号的热释电红外传感器为基础,以 BISS0001 信号处理电
路,利用单片机进行处理,以达到便于控制的目的。当房间亮度不够时,且有人在附近时,
台灯便会自动点亮,省去了黑暗中摸开关的麻烦;当学习时由于靠桌面太近,造成坐姿不
正,系统就会提示,以纠正坐姿,防止近视;当学习太累了时,趴在桌子上睡会儿时,台
灯就会自动熄灭;当无人在时,系统也会使台灯自动熄灭,以达到节省能源的目的。除了
硬件部分采用防干扰技术外,在软件中也采用了防干扰技术,当中断 0 产生时,并不立即
执行,而是对其进行延时,防止由于不小心而进入到探测器 2 的范围内,以免产生误判。
虽然本系统以达到了使生活方便的目的,但是电路还是不够简单。因为当有多个热释
电红外传感器时,就需要相应的信号检测电路。改进之处在于用一个信号处理电路同时控
制多个传感器。还有一个不足之处在台灯开启时,产生的光强容易干扰光敏电阻对环境光
强的判别,引起误判,现在的处理方法是传感器部分与控制部分单独分开放置。
参考文献:
1) 胡学海主编 单片机原理及应用系统设计
2) 赵继文主编 传感器与应用电路设计
3) 黄继昌主编 电子元器件应用手册
电子工业出版社 北京
科学出版社
北京
人民邮电出版社 北京
2005 年 8 月
2002 年
2004 年
实验心得:
本系统的设计思想来源于生活,所以所具有的功能也是为生活的方便而设置的。因此
就产生了制作智能台灯的想法。首先在与老师的商讨下,对项目进行了认证,确定了项目
的可行性,列出了项目的主要难点及可能出现的问题,确定了以后的制作重点。接下来进
行构思,列出大体的框架图。然后根据框架图用 PROTEL 画出电路原理图。
在对电路原理图进行了严谨的认证后,便开始了焊接电路。由于主要对象是人,因此
采用热释电红外传感器,此传感器是专门用于接收人体产生的 10um 左右的信号,相应的
利用 BISS0001 处理其所产生的信号并转化为可处理的数字信号。在焊接的过程中发现若用
到两个光敏电阻,则可能使单片机产生误判。因此将两个光敏电阻合到一块,不仅简化了
电路,还提高了系统的稳定性。当信号检测及处理部分完成后,便开始试检,以确定电路
焊接正确与否。在对电路进行调试的过程中,必须排除外界的干扰,尤其是附近热源的红
外线干扰。首先将 BISS0001 设置成不可重复触发方式,比较长延迟时间,以便得到稳定的
输出信号,并把接收光电池的引脚接成高电平,使 BISS0001 认为一直处于黑暗之中,便于
观测。在运行时,当人远离时,BISS0001 输出低电平,符合要求;但是在人靠近后信号出
现不规则的变化。利用示波器对 BISS0001 的各个管脚进行测量,发现信来源的主要不稳定
因于传感器,因此,在目前没有更好的更换下,只好采用目前的热释电传感器。
接下来做的是数字电路部分,主要 80C51、74LS138、LM324、DAC0832 组成。数字
电路部分比较简单,焊接完成后,编写一个新程序,对各个端口进行扫描,从而显示数字
电路是可行的。
在对电路部分进行了初步的检测后,解决了比较主要的问题;因此依据硬件编写相应
的程序,经过 KEIL 软件仿真后,语法上无错误,各个端口的数据正是所需要的,最后是
将软件烧到单片机中,然后运行整个系统。
通过本次实验,熟悉了电路的开发和制作及论文的编著写。在实验中也遇不少难题,
但通过各种方法进行了解决。
5
附录:
源程序:
ORG 0000H
AJMP
MAIN
ORG 0003H
AJMP DET1
ORG 0013H
AJMP DET0
ORG 0050H
;远探测器
;近探测器
MAIN:
MOV
P0, #00000001B
;置初始值 DET0,DET1 可重复触发,灯灭
MOV TMOD,
#00000010B
;方式 2,8 位自动重装计数器
MOV TCON,
#00010000B
;开启计数器 T0
MOV IE, #10000111B
;开启所有中断
SJMP $
;灯慢慢变亮
DET1:
MOV P0, #00000001B
CALL TIME0
;灯亮度延时 10ms
MOV P0, #00000011B
CALL TIME0
MOV P0, #00000101B
CALL TIME0
MOV P0, #00000111B
CALL TIME0
MOV P0, #00001001B
CALL TIME0
MOV P0, #00001011B
CALL TIME0
MOV P0, #00001101B
CALL TIME0
MOV P0, #00001111B
CALL TIME1
RETI
;灯慢慢熄灭
DET0:
CALL TIME1
;延时 1 分钟
MOV TCON,
A
ANL A,
#1
JZ
LOOP
MOV P0, #00001111B
CALL TIME0
MOV P0, #00001101B
CALL TIME0
MOV P0, #00001011B
CALL TIME0
MOV P0, #00001001B
6
CALL TIME0
MOV P0, #00000111B
CALL TIME0
MOV P0, #00000101B
CALL TIME0
MOV P0, #00000011B
CALL TIME0
MOV P0, #00000001B
RETI
LOOP:
ret
;延时 10ms
TIME0:
SETB TR0
MOV R0, #250
MOV R1, #20
D_1: DJNZ R0, D_1
MOV R0, #250
DJNZ R1, D_1
CLR TR0
RET
;延时 1 分钟
TIME1:
SETB TR0
MOV R0, #250
MOV R1, #200
MOV R2, #60
D_2 :
DJNZ R0, D_2
MOV R1, #200
DJNZ R1, D_2
MOV R2, #60
DJNZ R2, D_2
CLR TR0
RET
END
7