热释电人体感应红外报警器设计制作Word格式文档下载.docx
《热释电人体感应红外报警器设计制作Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《热释电人体感应红外报警器设计制作Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。
它能以非接触形式检测出人体辐射的红外线能量的变化,并将其转换成电压信号输出。
将这个电压信号加以放大,便可驱动各种控制电路,如作电源开关控制、防盗防火报警、自动览测等,人体辐射的红外线中心波长为9~10--um,而探测元件的波长灵敏度在0.2~20--um范围内几乎稳定不变。
在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为7~10--um,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器,本传感器是整个系统的关键,只有本传感器才能感应到人体红外线。
如图3-2所示。
图3-2热释感应传感器
2.2.1.3菲涅耳透镜
菲涅耳透镜片相当于热释感应传感器的“眼镜”,它和人的眼睛一样的作用,配用得当与否直接影响到使用的功效,配用不当产生错误的动作,致使用户或者开发者对其失去信心。
它的作用是有效的将探测到空间的红外线集中到传感器上,菲涅耳透镜根据性能要求不同,具有不同的焦距(感应距离),从而产生不同的监控视场,视场越多,控制越严密。
如图3-3所示为菲涅耳透镜模型图。
图3-3菲涅耳透镜
2.2.1.4BISS0001芯片简介
BISS0001是一款传感信号处理集成电路,只要热释感应器把红外线接收到信号传输到BISS0001里进行信号处理,它本身静态电流极小,工作电压在3V—5V之间,当工作电压为5V时输出的驱动电流为10MA。
配以热释电红外传感器和少量外围元器件即可构成被动式热释电红外传感器,广泛用于安防,自控等一些领域,它是有16个管脚组成的一种集成块。
如图3-4所示为BISS000集成芯片的内部框图,管脚功能说明如表1所示。
图3-4BISS0001内部框图
引脚
名称
I/O
功能说明
1
A
I
可重复触发和不可重复触发选择端。
当A为“1”时,允许重复触发;
反之,不可重复触发
2
VO
O
控制信号输出端。
由VS的上跳前沿触发,使Vo输出从低电平跳变到高电平时视为有效触发。
在输出延迟时间Tx之外和无VS的上跳变时,Vo保持低电平状态。
3
RR1
--
输出延迟时间Tx的调节端
4
RC1
5
RC2
触发封锁时间Ti的调节端
6
RR2
7
VSS
工作电源负端,一般接0V
8
VRF
参考电压及复位输入端。
通常接VCC,当接“0”时可使定时器复位
9
VC
触发禁止端。
当Vc>VR时允许触发(VR≈0.2VDD)
10
IB
运算放大器偏置电流设置端,经RB接VSS端,RB取值为1M左右。
11
VCC
工作电源正端,范围为3~5V
12
2OUT
第二级运算放大器的输出端
13
2IN-
第二级运算放大器的反相输入端
14
1IN+
第一级运算放大器的同相输入端
15
1IN-
第一级运算放大器的反相输入端
16
1OUT
第一级运算放大器的输出端
表1:
管脚说明图
由图可见BISS0001由运算放大器、电压比较器和状态控制器、延迟时间定时器、封锁时间定时器即参考电压等构成的数模混合专用集成电路。
可广泛应用于多种传感器和延时控制器。
首先,根据实际需要,利用运算放大器OP1组成传感信号预处理电路,将信号放大。
然后耦合给运算放大器OP2,再进行第二级放大,同时将直流电位抬高为VM(≈0.5VDD)后,将输出信号V2送到由比较器COP1和COP2组成的双向鉴幅器,检出有效触发信号Vs。
由于VH≈0.7VDD、VL≈0.3VDD,所以,当VDD=5V时,可有效抑制±
1V的噪声干扰,提高系统的可靠性。
COP3是一个条件比较器。
当输入电压Vc>VR时,COP3输出为高电平,进入延时周期。
当A端接“0”电平时,在Tx时间内任何V2的变化都被忽略,直至Tx时间结束,即所谓不可重复触发工作方式。
当Tx时间结束时,Vo下跳回低电平,同时启动封锁时间定时器而进入封锁周期Ti。
在Ti时间内,任何V2的变化都不能使Vo跳变为有效状态(高电平),可有效抑制负载切换过程中产生的各种干扰。
而可重复触发工作方式下的波形在Vc=“0”、A=“0”期间,信号Vs不能触发Vo为有效状态。
在Vc=“1”、A=“1”时,Vs可重复触发Vo为有效状态,并可促使Vo在Tx周期内一直保持有效状态。
在Tx时间内,只要Vs发生上跳变,则Vo将从Vs上跳变时刻起继续延长一个Tx周期;
若Vs保持为“1”状态,则Vo一直保持有效状态;
若Vs保持为“0”状态,则在Tx周期结束后Vo恢复为无效状态,并且,同样在封锁时间Ti时间内,任何Vs的变化都不能触发Vo为有效状态。
2.2.1.5信号采集处理模块
图3-5信号处理模块
本电路是将人体辐射的红外线转变为电信号。
热释红外感应2脚输入到前置放大器OP1进行放大,然后由C4耦合给运算放大器OP2进行第二级放大。
再经过电压比较器COP1和COP2构成双向鉴幅器处理后,检出有效触发信号去启动延时时间定时器输出信号在经过R3进入单片机部分进行处理。
延时周期可通过R12来调节输出,在延时时间内只要Vs发生上跳变,Vo就会从Vs上跳变时刻起继续延长一个周期,而电路中的电容为了能够更好的控制了芯片内的定时器,若Vs一直保持为高电平,这样就可以通过P10传输到单片机内进行下一步处理。
而根据不同的距离要求来调节R13,最大可以调节到7米左右。
图中BISS0001中1脚用跳线连连接住一个接高电平后,在延时时间段内如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才将高电平变为低电平,本电路设计就是可触发方式。
2.3单片机部分
2.3.1STC89C52单片机简介
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
这一模块以单片机为中心把程序代码烧进去然后外围接上复位电路、振荡电路、键盘控制、LED显示电路、报警电路等子模块。
2.3.2单片机最小系统
要使单片机工作起来最基本的电路构成为单片机最小系统如图3-7所示。
图3-7信号处理模块
单片机最小系统包括单片机、复位电路、时钟电路构成。
STC89C52单片机的工作电压范围:
4V-5.5V,所以通常给单片机外界5V直流电源。
连接方式为单片机中的40脚VCC接正极5V,而20脚VSS接电源地端。
复位电路就是确定单片机的工作起始状态,完成单片机的启动过程。
单片机接通电源时产生复位信号,完成单片机启动确定单片机起始工作状态。
当单片机系统在运行中,受到外界环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。
一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后,在RESET端持续给出2个机器周期的高电平时就可以完成复位操作。
本设计采用的是外部手动按键复位电路,需要接上上拉电阻来提高输出高电平的值。
时钟电路好比单片机的心脏,它控制着单片机的工作节奏。
时钟电路就是振荡电路,是向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。
XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器。
如采用外部时钟源驱动器件,XTAL2应不接。
因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us。
2.3.3按键控制电路
本电路的设计就是为了控制电路中布防和紧急状态下不同的工作形式,当按下布防按键后,30秒后进入监控状态,当有人靠近时,热释红外感应到信号,传回给单片机,单片机马上进行报警。
当遇到特殊紧急情况时,可按下紧急报警键,蜂鸣器进行报警。
如图3-8所示。
图3-8按键部分
2.3.4指示灯和报警电路
在单片机的I/O里会输出高低电平,在P20、P21和P22分别接上LED指示灯而P23接上蜂鸣器而蜂鸣器外接个8550的三极管起到开关作用,当三极管达到饱和状态下就驱动了蜂鸣器工作了。
图3-9指示灯和报警电路
2.4软件的程序实现
主程序工作流程图
按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图所示:
图3-10主程序工作流程图
2.5报警判断程序
来的脉冲信号后,表示有人闯入监控区,从而经过单片机内部程序处理后,驱动声光报警电路开始报警,持续报警,然后程序开始循环工作,
/******************红外报警处理**********************/
voidhongwai_dis()
{
if(flag_alarm==1)//报警
{
red=~red;
//红灯报警
beep=~beep;
//蜂鸣器报警
}
if(flag_bufang_en==1)//准备开始布防
green=~green;
//绿灯闪
if(flag_bufang==1)//确认布防
green=0;
//如果延时布防成功绿灯长亮
if(hw==1)//红外有输出
{
flag_alarm=1;
}
}
}
三.制作与调试
3.1制作过程
(略)
3.2硬件调试及调试中遇到的问题
第一步为目测,单片机应用系统电路全部手工焊接在洞洞板上,因此对每一个焊点都要进行仔细的检查。
检查它是否有虚焊、是否有毛剌等。
第二步为万用表测试,先用万用表复核目测中认为可疑的连线或接点,查看它们的通断状态是否与设计规定相符,再检查各种电源线与地线之间是否有短路现象。
第三步为加电检查。
当系统加电时,首先检查所有插座或器件引脚的电源端是否有符合要求的电压值,接地端电压值是否接近零,接固定电平的引脚端是否电平正确。
第四步是联机检查。
在对硬件电路调试过程中,还遇到了不少问题,第一次把所有的元件都焊上去后,都准备调试了,才发现正负电源的插针离得太近了,不容易接电源,本不该犯的错误,这些都是由于自己的粗心大意造成的,所以说,做任何事情都必需经过“三思而后行”,来不得半点的马虎,否则浪费了时间和精力
四.价格
热释电部分约15元
报警器部分约20元
工具及其他(包括电烙铁万用表等)50元
附件一:
报警器部分原理图
热释电部分原理图
附件二:
实物图
附件三:
程序源代码
#include<
reg52.h>
//调用单片机头文件
#defineucharunsignedchar//无符号字符型宏定义变量范围0~255
#defineuintunsignedint//无符号整型宏定义变量范围0~65535
#definekey_ioP1
ucharkey_can;
//红外热释电平时为0有输出为1
sbitbeep=P2^3;
//蜂鸣器定义
sbitred=P2^2;
//红色发光二极管定义
sbitgreen=P2^1;
//绿色发光二极管定义
sbityellow=P2^0;
//黄色发光二极管定义
sbithw=P1^3;
//红外热释传感器定义
bitflag_300ms=0;
/****************独立按键处理函数************************/
voidkey()
staticucharkey_new=0,key_old=0,key_value=0;
if(key_new==0)//按键松开
if((key_io&
0x07)==0x07)
key_value++;
else
key_value=0;
if(key_value>
=5)//按键松开松手检测
key_new=1;
//按键松开后进入等待按键状态
else
0x07)!
=0x07)//按键按下
key_value=0;
=5)//按键按下消抖
key_new=0;
//按键松开后进入等待松开按键状态
key_can=20;
if((key_new==0)&
&
(key_old==1))
switch(key_io&
0x07)
case0x06:
key_can=1;
break;
//得到按键值
case0x05:
key_can=2;
case0x03:
key_can=3;
}
key_old=key_new;
/*************定时器0初始化程序***************/
voidtime_init()
EA=1;
//开总中断
TMOD=0X01;
//定时器0工作方式1
ET0=1;
//开定时器0中断
TR0=1;
//允许定时器0定时
ucharflag_alarm;
//报警标志位
ucharflag_bufang;
//布防标志位
ucharflag_bufang_en;
//布防标志位使能
uintflag_value;
//用做定时器的变量
/******************对应不同按键处理**********************/
voidkey_with()
if(key_can==1)//按键紧急报警
flag_alarm=1;
//报警标志位;
if(key_can==2)//布防按键
flag_bufang_en=1;
if(key_can==3)//取消报警把变量清零
flag_alarm=0;
flag_bufang=0;
flag_bufang_en=0;
flag_value=0;
P2=0xff;
/******************主程序**********************/
voidmain()
time_init();
while
(1)
key();
yellow=~hw;
//红外热释电指示灯有输出就亮黄灯
if(key_can<
10)
key_with();
//按键设置函数
if(flag_300ms==1)
flag_300ms=0;
hongwai_dis();
//红外报警函数
}
/*************定时器0中断服务程序***************/
voidtime0_int()interrupt1
{
staticuintvalue;
TH0=0x3c;
TL0=0xb0;
//50ms
value++;
if(value%6==0)
flag_300ms=1;
if(flag_bufang_en==1)
flag_value++;
if(flag_value>
=600)//30秒
flag_bufang=1;
flag_bufang_en=0;
flag_value=0;
操作说明
本设计系统是红外热释电人体感应报警器,当按下布防键30秒钟后系统会进入布防状态,只要一有人进入传感器的范围系统会马上报警蜂鸣器会叫、红色发光二极管会闪烁。
报警方式:
红色发光二极管闪烁,蜂鸣器报警。
操作说明:
1.紧急报警键:
按下紧急报警键,系统会马上报警。
2.布防键:
按下布防键绿色发光二极管会闪烁,说明系统准备开始布防,30秒钟后绿色发光二管会长亮,说明系统进入布防状态了,只要一有人进入传感器的范围内系统马上就会报警。
3.取消键:
按下取消键可取消当前报警。
4.红色发光二极管:
当有报警时此发光二极管长亮,否则熄灭。
5.绿色发光二极管:
用做布防状态指示灯。
6.黄色发光二极管:
用做传感器指示,当传感器有信号输出,此灯会亮,否则熄灭。