一种主动红外探测报警系统的设计

时间:2022-08-29 01:03:30

一种主动红外探测报警系统的设计

摘 要:介绍一种主动红外探测式智能报警系统的设计原理,给出该系统的软硬件设计方法,实现系统的现场报警远程监控的目的。该系统主要通过AT89C2051单片机编程发出PWM载波以控制红外光发射管TSAL6200的发射,同时接收来自接收模块HS0038A2的触发信号,以达到主动探测报警的目的。结合VC++网络编程,从而达到远程监控的目的。

关键词:红外光发射检测;单片机;串口通讯;VC++网络编程

中图分类号:TN215 文献标识码:B

文章编号:1004373X(2008)0314303

Design for an Initiative Infrared Detecting Alarming System

LI Junwei1,ZHAN Zhibiao2

(1.Yingtan Vocational Technical Institute,Yingtan,335001,China;puter & Engineering College,Wenzhou University,Wenzhou,325035,China)

Abstract:Active infrared detecting intelligent alarming system design principle is introduced,the system is the hardware and software design methods,realizes the scene alarming system remote monitoring purposes.The system primarily through the issue of programming AT89C2051 to control PWM carrier infrared light―emitting tube TSAL6200 the launch simultaneous reception from the receiver module HS0038A2 the trigger signal to achieve the initiative alarming purposes.VC++ network programming so as to reach remote monitoring purposes.

Keywords:infrared ray′s transmission detection;single chip computer;serial communication;VC++ network programming

随着生活水平的不断提高,人们对生活环境的要求也越来越高,对居住、出行的安全也非常重视。人们对价廉可靠方便的报警系统的需求也越来越大,本文介绍的主动红外探测报警系统是基于红外光发射、红外光检测、单片机控制语音报警、PC监控的完整系统,适合那些IT上班族对自家的远程监控。

1 主动红外探测报警系统的介绍

本系统属主动红外入侵探测类系统,主动式红外探测器是由发射、接收装置两部分组成。为降低成本,简化安装,系统底层由一片AT89C2051担任红外光发射和接收处理任务,其红外光发射器与红外光接收器均安装在同一PCB板中。众所周知,红外光是一种不可见的光波,他具有光的直线传播特性,红外光发射器发出红外光后,若遇阻碍物阻挡,将会产生红外光漫反射,当反射足够强时,红外光接收器能够接收并解调出该红外光信号。换言之,当红外光接收器接收到红外光发射器所发射的信号后,说明在有效探测区中有阻碍物存在。经实际测试,本系统有效探测区半径为2 m,适合安装在家居门窗外面,能有效探测异常物体的入侵。

主动红外探测报警的优点是显而易见的,因为红外光属于非可见光源,入侵者难以发觉与躲避,系统防御界线非常明确,当探测到有阻碍物时,红外光接收器将触发语音报警,并启动单片机串行发送程序,通过RS 232与PC串口相接,将报警信号传向PC,再由PC自动转发给异地的用户PC,从而实现真正的远程监控目的。

2 主动红外探测报警系统的整体设计

整个系统包括硬件设计及软件设计两大部分,其中硬件由上下位机组成,上位机是PC,下位机由红外光发射电路、红外光检测电路、单片机控制电路、语音报警电路、单片机―PC串口电路等部分组成,如图1所示,其中语音报警模块为可选组件,可根据需要自由选配;软件设计包括单片机下位机程序及PC机C/S监控程序两大部分,其中单片机程序主要负责红外光微波信号的产生、红外光接收中断信号的处理、报警信号的传输,PC机C/S监控程序主要负责报警信号的接收、异地传送处理等。下面重点叙述红外光发射接收解调的硬件和软件设计。

图1 主动红外探测式硬件设计框图

3 红外光发射、接收解调电路的设计

红外光通讯以红外光作为通讯载体,通过红外光在空中的传播来传输数据,从而实现无线传输,硬件部分主要由红外光发射器和红外光接收器来完成。在红外光发射器电路中,通过单片机软件编程,可以实现AT89C2051的P3.7输出38 kHz PWM红外光载波信号,然后经9013驱动红外光发射管TSAL6200[1]发射出红外光。图2是红外光接收电路,其中接收模块HS0038A2[2]专门负责接收由阻碍物反射回来的红外光载波,并解调输出报警中断信号到AT89C2051的INT0输入端,从而引发单片机INT0中断。

在PCB设计时,由于发射管TSAL6200与接收模块HS0038A2共处同一PCB,考虑到周围元器件的存在,接收模块极易接收到来自周围元器件漫反射的红外光,引起中断触发造成误报,为避免发射与接收之间的相互干扰,发射管与接收模块应尽量分开布置,并做好中间隔离,必要时还要为发射管和接收模块增加套管外壳,同时还要注意接收模块的光敏面应与发射管的发射面处于同一方向,保证能够探测有效区中的阻碍物反射。在调试时,以前方无阻碍物时不产生INT0中断信号为合格作为前提。

图2 红外光接收电路

4 红外光发射接收原理

在发送数据时,是用一系列待发送的二进制数据去调制38 kHz载波信号(如图3),经过调制的载波信号将通过红外光发射电路即AT89C2051的P3.7端口、9013及TSAL6200发射出去。接收模块HS0038A2负责接收并解调红外光信号,图3是经过解调后输入INT0的调制信号。要实现红外光波频率为38 kHz,并采用PWM脉宽调制方式发送[3],可以由单片机内部定时器编程实现。在本设计中,发射和接收共用一个单片机AT89C2051,一般情况下,单片机定时程序会不断地启动发射程序,当HS0038A2接收到有效红外光反射时,其输出信号作为报警信号将触发单片机的INT0中断。

图3 调制过的红外光发射信号及接收解调信号

为保证触发报警的灵敏度,系统检测阻碍反射的最短时间应控制在ms级,所以二进制调制信号周期不宜过大,本系统的二进制调制周期为1 200 μs,能满足红外探测灵敏度要求。

5 单片机程序设计

上面提到过本系统仅采用一块单片机,其红外光发射与接收任务均由一块单片机完成,这完全得益于灵活的软件编写。图4是单片机主程序流程图,其中单片机初始化程序将完成对定时器T0,T1,外部中断口以及串行口中断等初始化设置,然后进入对R6标志的检测,R6是红外光接收中断标志,当有红外光接收中断时,将启动INT0中断处理程序,INT0中断处理程序将关断定时发送程序,并修改中断标志R6为2,在结束INT0中断处理程序返回主程序后,主程序通过对R6值的检测,来判断是否有中断产生。如果R6值为2,将被判定有中断产生,然后恢复R6值为1,并启动语音报警和串口发送处理程序,最后经适当延时重新启动T0并进入主程序循环。如果主程序检测R6值不为2,则将继续检测R6。

图4 单片机主程序流程图

6 红外光发射程序设计

红外光发射程序是本系统单片机程序的关键程序,他的正确编写直接关系到接收模块HS0038A2是否能正确解调出红外光。AT89C2051定时器T0负责红外光发射,其软件编写必须根据HS0038A2的接收解调特性来编写,HS0038A2是个标准的红外光接收模块,环氧包装,带红外过滤器,抗干扰能力强,与TTL和CMOS兼容,适合与AT89C2051单片机直接相接,他能接收解调载波频率为38 kHz的红外光方波。所以编程的关键之一是要能够正确产生38 kHz的载波,二是用适当的二进制0和1去调制38 kHz载波[4],最终输出经调制过的38 kHz载波信号。我们可以利用单片机定时器的脉宽调制PWM特性来做,本系统T0设定为方式1,以便能重装初值,确保正确调制要求。T0定时中断程序控制发射600 μs 38 kHz载波红外光脉冲,要求一个载波周期约为1/38 kHz=26 μs,则在P3.7要输出600/26=23个高低电平,系统Fosc若以20 MHz计算,一个系统机器周期为12/20 MHz =0.6 μs,每个高电平或低电平需要执行26/(2*0.6)=22个机器周期,T0的计数初值由定时600 μs确定,TC=216-600/0.6=0FC18H,在T0计数期间,P3.7一直输出低电平。从调制角度上来说,T0中断时将发射由二进制1调制的载波,在T0定时计数时,将发射由二进制0调制的载波。因此T0定时发射程序编写如下:

T0: CLRTR0;Fosc=20 MHz

TIAO1:MOVR0,#23 ;载波600 μs需调用子程序23次

TIAO11:LCALLH;调用高低电平约44个机器周期子程序

DJNZR0,TIAO11;2个机器周期

T0EXIT:MOVTL0,#18H ;延时600 μs的时间常数

MOVTH0,#0FCH

SETBTR0

RETI

H:SETBP3.7 ;执行时P3.7仍为低电平,执行后为高,1个机器周期

H1:MOVR1,#10 ;1个机器周期

DJNZR1,$;20个机器周期

CLRP3.7;执行时P3.7仍为高电平,执行后为低,1 个

MOVR1,#9;1个

DJNZR1,$;18个

H2:RET;1个

当单片机系统Fosc为20 MHz时,为保证单片机与PC能可靠地进行串行通讯[5],定时器T1设定为方式2,定时初值定为0F5H,此时串口波特率为4 800 b/s。PC端串口通讯可基于VC++的MSComm控件编程,实践证明通讯良好,未出现误报情况。

7 其他设计

PC端对报警信号处理,我们可以通过VC++网络编程自行设计,报警信号送至服务器PC后[6],利用Internet网络将报警信号传送到异地的客户端PC。本系统还包括单片机控制、串口发送、语音播放、电源等其他软硬件设计,限于篇幅,在此就不一一介绍了。

8 结 语

上述设计方案已进入实际应用,整个系统小巧方便,抗干扰能力强,调试制作简单,性能可靠。考虑到系统方案的更新扩展,还可以利用手机短信模块,将报警信号直接发送到客户手机当中,以增加异地接收报警的可靠性,从而弥补Internet网络即时性差的缺点。

参考文献

[1]VISHY.TSAL6200 GaAs/GaAIAs IR Emitting Diode Specification[EB/OL].,1999.

[2]VISHY.HS0038A2 Photo Modules for PCM Remote Control Systems Specification[EB/OL].,2000.

[3]麦山,皮佑国.基于单片机的协议红外遥控系统[J].电子技术,1998(5):22―24.

[4]段萍.单片微机红外报警系统的研制[J].光电子技术与信息,2005,18(3):20―23.

[5]李辉.VC++串行通信编程方法研究[J].微处理机,2005,26(3):36―39.

[6]刘光蓉.运用Visual C++构建基于Socket的C/S模式通信[J].武汉工业学院学报,2004,23(3):29―31.

作者简介 李峻薇 女,1970年出生,湖南长沙人,工程师,学士。

占志彪 男,1966年出生,江西上饶人,实验师,学土。研究方向为人工智能。

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

上一篇:基于ICT切片图像的反求重构技术研究 下一篇:基于GSM技术的汽车防盗系统的设计