基于51单片机设计的宿舍智能防火防盗报警系统
0 引言
现如今在学校的寝室里,学生贵重物品被盗、由于学生过失而引起着火等事故时有发生,这些都是一直以来困扰着学生、学工以及学校保卫处的“大问题”。传统的防范措施存在很大的弊端,比如当事故发生时,防护铁门、铁栏杆就会成为主人逃生的最大障碍。而采用智能防火防盗报警系统,便能很好地解决此类问题了。但是市场上防火防盗系统价格对大学生来讲过高,本系统便是针对大学宿舍,从低成本的角度来设计制作的。
1 系统组成及工作原理
本系统通过一个监控室和两个宿舍来模拟,通过RS 485总线来实现通信。考虑到现实中监控室要能监控整栋宿舍楼,因此采用功能强大的ARM7芯片LPC2103作为主机控制芯片,从机采用价格低廉的51系列单片机作为控制芯片。宿舍中采用热释电传感器对人体进行检测,烟雾传感器实现烟火检测,红外传感器实现对宿舍进出人员数量的检测,主机通过RS 485总线对从机实时监控,当有异常出现时,宿舍和监控室的报警装置会同时响起,只有本宿舍成员在本宿舍通过输入从机的密码才可解除报警状态。系统的详细结构图如图1所示。
2 硬件电路设计及相关理论分析
防火防盗智能报警系统硬件主要由七大部分组成:主机部分处理器电路,从机部分处理器电路,传感器检测电路部分,声光报警电路,RS 485总线接口电路,键盘接口电路及显示电路。
2.1 传感器检测及声光报警电路
传感器模块由热释电传感器、烟雾传感器MQ211和红外传感器组成。
烟雾传感器的内部电阻是随着烟雾的浓度的变化而变化,因此要将其转化为变化的电压信号,在此通过电压比较器LM339和几个相应的分压电阻构成,具体电路设计如图2所示。在通电状态下测得传感器的内阻是130 kΩ左右,在烟雾较浓时内阻为6 kΩ左右,在无烟时比较器的负端输入为2.5 V左右,正端为1.2 V左右,有烟雾时负端为2.5 V,正端为3~5 V,此电路能很好地实现电平的转换。热释电红外传感器采用RE200B和信号处理元件BISS0001及少量外接元件组成,电路如图3所示。
红外传感器电路由红外发射二极管及1838B组成,用单片机来检测两个传感器低电平的先后顺序来判断人的进出情况。其原理如图4所示。声光报警模块由蜂鸣器、(红,绿)发光二极管和NPN型三极管驱动电路组成,具体电路图如图5所示。
2.2 RS 485通信电路
本模块采用用于RS 485与RS 422通信的低功耗、限摆率收发器MAX485。MAX485的驱动器摆率不受限制,可以实现最高2.5 Mb/s的传输速率。
3 软件程序设计
该系统软件部分主要完成了系统及各个模块初始化、警情信号检测(火警/盗情)、系统设置、RS 485总线协议及声光报警的程序设计。具体的程序流程图如图6,图7所示。
4 通信协议
在RS 485总线通信系统中,由于供电、空间噪声以及传输路径等因素的影响,数据传播过程中很容易受到干扰或者信号衰减,造成通信失败,因而需要设计一种传输协议,保证在这种不可靠的物理链路上建立起可靠的数据连接。本系统中,数据采集器与监控室主机是一个简单的多点对一点通信。
4.1 波特率设置及通信方式的选择
考虑到RS 485总线自身的特点并兼顾到数据通信的速度和稳定性,波特率选择2 400 b/s,这样可以传输更远的距离。由于通信是多对一的关系,串口选择工作方式3。
4.2 数据校验方式的确定
使用RS 485总线通信技术传输数据时,很容易遇上干扰,使传输数据发生改变,从而导致传输错误。考虑到系统的实际要求,本设计采用8位的CRC(循环冗余校验)校验方式。
CRC校验和的计算是一种循环计算。从数学角度看,CRC校验和是用生成多项式(算法规则)去除一个多项式(由数据块表示),CRC校验为相除后所得的余项。CRC校验是对要传送的一个数据块附加一些校验位,这些校验位(CRC校验位)由该数据块算出,并随同数据块一并传送。在接收端,对收到的数据块重新按规定的算法计算CRC校验和,从而可以判别数据传输过程是否出错。
4.3 通信数据的编码
为保证数据传输的可靠性和准确性,本设计采用的数据帧格式如表1所示。其中,前2个字节为起始同步信号,地址码占用1个字节(0~255),用它来标示不同床位号;待发数据包括:烟雾传感器信号(1 B)、红外传感器信号(1 B)、热释电传感器信号(1 B)和采集时间(7 B);校验码为8位的CRC校验码。传输顺序为:烟雾传感器信号、红外传感器信号、热释电传感器信号(高位在前,低位在后)、采集时间(依次为:秒、分、小时、日、月、年);当发送应答命令时,待发数据为2 B的0xCC或者0xBB。
4.4 RS 485的通信协议
本系统的RS 485总线通信采用轮询的方法。主机向RS
- 关于RTX51 TINY的分析与探讨(05-30)
- 浅析8051模块化编程技巧(05-28)
- 基于DSP和单片机通信的液晶显示设计方案(07-20)
- 锁相环控制及初始化简析(08-27)
- 基于MSP430自动胀管控制器的研究(09-07)
- 嵌入式C实现延时程序的不同变量的区别(03-01)