家用防盗报警器电路设计与调试(共22页).doc
精选优质文档-倾情为你奉上高频电子线路课程设计报告设计题目:家用防盗报警器电路设计与调试院 系: 航海学院班 级: 姓 名:王建军、祁文涛、张松涛、田雨、朱金龙 2014年 10月 10 日 西北工业大学课程设计任务书 姓名:(手签)院系:航海学院电子通信工程系班号: 专业: 电子信息工程任务起止日期:2014年09 月 日止 2014年10 月 10 日课程设计题目:家用防盗报警器电路设计与调试课程设计要求:1查阅资料,画出电路原理框图,详细的电路原理图。2元器件的采购清单,安装,调试,记录测试结果。完成工作描述: 我们小组设计实现了家用防盗报警器电路,利用热释电红外传感器探测人体辐射的红外信号,经过信号的放大处理电路,输出高低电平至51单片机,单片机据此,作出相应判断,控制LED灯闪,蜂鸣器报警。 另外在实现系统基本功能的基础上,我们小组增加了红外遥控模块,拓展了系统功能,进一步提高系统的实用性。 工作计划及安排:第一周,查阅搜集资料,画出电路原理图,元器件的采购,电路的安装。第二周,电路的调试,测试,编译系统控制程序,写出课程设计报告。 指导教师签字: 年 月 日目 录1.课程设计目的通过本课程设计,掌握基本的模拟、数字电路的构成与调试方法,单片机在智能电子系统中的应用,单片机程序的编译,调试等等,将课堂理论与工程实践结合起来。2.题目描述和要求2.1课题分析随着社会的不断进步和科学技术、经济的不断发展,人们生活水平得到很大的提高,对私有财产的保护意识在不断的增强,因而对防盗措施提出了新的要求。本设计就是为了满足现代住宅防盗的需要而设计的家用防盗报警器系统。就目前市面上装备主要有压力触发式防盗报警器、开关电子防盗报警器和压力遮光触发式防盗报警器等各种报警器,但这几种比较常见的报警器都存在一些缺点。而本设计中所使用的红外线是不可见光,有很强的隐蔽性和保密性,因此在防盗、警戒等安保装置中得到了广泛的应用。这种热释电红外传感器能以非接触形式检测出人体辐射的红外线,并将其转变为电压信号,同时,热释电红外传感器既可用于防盗报警装置,也可用于制动控制、接近开关、遥测等领域。2.2要求和原理AT89C51单片机是美国Atmel公司生产低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(EPROM)和128 bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash 存储单元,功能强大。AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。2.2.1 红外传感器这种能够发射红外线和接受红外线的器件称为红外线传感器。红外线传感器根据其机理不同分为两大类。一类为主动型红外线传感器,一类为被动型红外线传感器。本论文采用的是主动型红外线传感器,它也叫做热探测传感器。这类传感器可用来直接接受目标物体发射的红外线并将其装换为电压信号输出,它不需要红外线发射传感器。热释电红外传感器的工作原理:自发极化的铁电体平时靠捕捉大气中的浮游电荷保持平衡状态。当受到红外辐射后,其内部温度会升高,介质内部的极化状态便随之降低,它的表面电荷浓度也降低了。这也就相当于“释放”了一部分电荷,这种现象称为电介质的热释电效应。将释放出的电荷通过放大器放大后就成了一种控制信号,利用这一原理制成的红外传感器称为热释电红外传感器。2.2.2热释电红外传感器热释电红外传感器由传感探测5元、干涉滤波片和场效应管匹配器三部分组成。按照探测元的数目来分,热释电红外传感器有单元、双元和四元等几种,用于人体探测的红外传感器采用双元或四元式结构。按照热释电红外传感器的用途分,有以下几种:用于测量温度的传感器,它的工作波长为120um;用于火焰的探测的传感器,它的工作波长为4.35±0.15um;用于人体探测的传感器,它的工作波长为715um。将高热电材料制成一定厚度的薄片并在其两面镀上金属电极,然后加电进行极化,这样便制成了热释电探测元。2.2.3菲涅尔透镜菲涅尔透镜是人体热释电红外传感器不可缺少的6组成部分,其作用有二:一是将人体辐射的红外线聚焦到热释电红外元上7;二是产生交替变化的红外辐射高灵敏区和盲区,以适应热释电探测元要求不断变化的要求。菲涅尔透镜一般用塑料制造,先将塑料加工成薄镜片8,然后对镜片进行棱状或梳状处理,使镜片成为高灵敏区和盲区交替出现的透镜。在使用时,将热释电传感器安装于透镜的焦点区,这样当有人在镜前移动时,其辐射的红外线就会通过透镜形成高灵敏区和盲区交替出现的红外辐射并传到传感器的探测元上,使探测元产生时弱时强的或时有时无的电脉冲信号9,并通过阻抗变换器的变换由输出端输出。图1菲涅尔透镜的外形和视场图菲涅尔透镜的主要技术指标有:外形尺寸,根据传感器和探测需要来设计和产生不同尺寸的透镜。水平视角和垂直视角,它表明透镜的可监视范围。焦距,它表明镜片与传感器的安装距离。2.3.4 红外传感器的应用热释电红外传感器可在入侵警报器、移动侦测器10、自动照明以及自动门控制等方面的设计电路中应用。3.硬件系统设计3.1硬件系统原理框图本设计包括硬件和软件设计两个部分。模块划分为数据采集、报警等子模块。电路结构可划分为:热释电红外传感器、报警器、单片机控制电路、LED控制电路及相关的控制管理软件组成。用户终端完成信息采集、处理、数据传送、功能设定、本地报警等功能。就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。单片机应用系统也是有硬件和软件组成。硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。单片机应用系统的研制过程包括总体设计、硬件设计、软件设计等几个阶段。从设计的要求来分析该设计须包含如下结构:热释电红外传感探头电路、报警电路、单片机、复位电路及相关的控制管理软件组成;它们之间的构成框图如图3总体设计框图所示: 图2 总体设计框图3.2 系统分模块介绍3.2.1 热释电红外传感器原理本设计所用的热释感器就采用这种双探测元的结构。其工作电路原理及设计电路如图4所示, 在VCC电源端利用C1和R2来稳定工作电压,同样输出端也多加了稳压元件稳定信号。当检测到人体移动信号时,电荷信号经过FET放大后,经过C2,R1的稳压后使输出变为高电位,再经过NPN的转化,输出OUT为低电平。 图3 热释电红外传感器原理图 3.2.2 发光二极管报警电路的设计由2个发光二极管接上电阻后连上单片的P1.0和P1.4引脚,外接VCC,当单片机的RXD引脚被置低电平后,发光二极管被点亮,P1.0引脚上的灯作为系统工作状态指示灯,P1.4引脚上的灯起报警闪烁作用。图4所示为发光二极管报警电路。 图4 发光二极管报警电路图 3.2.3 声音报警电路的设计如下图所示,用一个Speaker和三极管、电阻接到单片机的P0.3引脚上,构成声音报警电路,如图5示为声音报警电路。 图5 声音报警电路图3.2.4 时钟电路的设计XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us5。如图6所示为时钟电路。 图6 时钟电路图3.2.5 红外遥控电路的设计为了进一步提高系统的智能化,实用化,我们小组在实现家用防盗报警器最基本功能的基础上增加了红外遥控模块,实现了在一定距离范围内无线遥控报警器的功能。为了缩短开发周期我们选用了目前通用的遥控接收头HX1838和通用红外遥控器,如下图示:图7通用简易遥控器 图8红外遥控原理框图 3.2.5 复位电路的设计复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后, 在RESET端持续给出2个机器周期的高电平时就可以完成复位操作6。例如使用晶振频率为12MHz时,则复位信号持续时间应不小于2us7。本设计采用的是外部手动按键复位电路。如图7示为复位电路。 图9 复位电路图 3.2.6 系统整体硬件电路分析可知在本设计中要用到如下模块:51单片机 AT89C51、由热释电红外传感器组成的检测模块、由LED组成的发光二极管报警模块、由蜂鸣器组成的声音报警模块等一些单片机外围应用模块,以及单片机的自动复位电路和晶振电路等。在Protues软件中没有红外传感器模块,所以本设计是用程序加以实现的。本设计中用的是被动型红外传感器。本文设计的题目是基于单片机的家庭防盗报警系统。本系统的工作原理是当有人进入红外传感器的检测范围,红外传感器把检测到的信号输入单片机。单片机通过红外传感器输入的高低电平去控制报警电路,以来通知主人有人进入,从而起到防盗的目的。据此设计总体硬件电路如下所示:图10系统硬件电路4.系统软件设计4.1主程序流程图主函数中主要完成系统的初始化,并根据在中断子程序INT1中设置的FLAG标志位,结合热释电红外传感器检测到的信号启动声光报警器。如下图所示。图11 程序流程图4.2中断子程序设计中断子程序INT1中主要完成对红外遥控信号的接收解码,以及设置FLAG标志位,以供主程序进行调用和判断。如下图所示:收到中断信号执行相应解码算法计算出键值设置FLAG标志位图12中断子程序流程图5.电路的调试及实验数据的测试5.1所用仪器仪表表1仪器名称数量直流电压源1台万用表1台示波器1台电烙铁1台 keil C51软件1台 Proteus软件1台5.2测试步骤及内容5.2.1 软件仿真本设计通过利用Proteus仿真,将所编写的程序用Keil软件编译,添加到单片机中,进行仿真调试。下面给出了系统仿真的电路图和仿真波形。图13 仿真电路图图14 系统仿真波形图本设计所要求达到的目标是在接收到红外传感器输入的高电平信号时,图中的灯D2闪烁,同时蜂鸣器发出滴滴的报警声,分析知上图中周期方波可以达到系统要求。5.2.2 硬件电路检测调试步骤1.调试前不加电源的检查对照电路图和实际线路检查连线是否正确,包括错接、少接、多接等;用万用表电阻档检查焊接和接插是否良好:元器件引脚之间有无短路,连接处有无接触不良,二极管、三极管、集成电路和电解电容的极性是否正确;电源供电包括极性、信号源连线是否正确;电源对地是否存在短路(万用表测量电阻)。经过上述检查,我们发现我们所设计的电路存在错接和连接处不良接触的问题,经过细心的检查后,解决了上述的一些电路上的问题。2.静态检测与调试断开信号源,把经过准确测量的电源接入电路,用万用表电压档检测电源电压,观察有无异常现象:如冒烟、异常气味、手摸元器件发烫,电源短路等,如果发现气场情况,立即切断电源,排除故障;我们的电路在此项测试中如无异常情况,接着我们又分别测量各关键点直流电压,如静态工作点、放大电路输入、输出端直流电压等是否在正常工作状态下,结果又个别电路不符,经过调整电路元器件参数、更换元器件,使电路最终工作在核实的工作状态;3.动态监测与调试动态调试时在静态调试的基础上进行的,调试的方法在电路的输入端加上所需的信号源,并循着信号的注射逐级监测各有关点的波形、参数和性能指标是否满足设计要求,如必要,要对电路参数做进一步调整。发现问题,要设法找出原因,排除故障,继续进行。5.2.3 系统软件调试系统软件开发基于keil51软件平台,采用C51程序语言,进行了大量的编译调试工作。下图给出编译结果图图15 软件编译调试程序的下载基于STC_ISP下载器,如下图所示:图16 程序下载烧写6.实验现象分析6.1 系统工作现象本系统在接通电源初始化之后,可以看到绿色LED指示灯常亮,红色报警灯和黄色状态灯熄灭,系统处于待机状态。在按下遥控器按钮“1”后,系统进入值守状态,此时如果周围有人活动产生热红外信号,则可以看到系统报警灯闪亮,蜂鸣器发出报警声。报警灯和蜂鸣器在工作一段时间之后,如果周围再无人活动,则自动恢复到值守状态,如果此时再按下遥控器按钮“2”,则系统进入待机状态,此时将不进行报警工作。6.2系统功能分析 本系统采用热释电红外传感器,可探测范围<=8米,可基本满足家用报警器的性能要求,通过声光双重报警,对警情的监控非常有效。同时增加的红外遥控模块,可以方便的设置系统的工作状态,避免误报,错报情况的发生,可控性好,人机交互性强。7.课程设计总结为期两周的课程设计不经意间就结束了,回想这两周以来的种种,我感受很深。我们小组选择的题目是家用防盗报警器设计,之所以选择这个题目,是因为我们们认为这个题目实用而且很有趣。在查阅大量相关资料的基础上我们确定了以AT89C51单片机为工作处理器核心,外接热释电红传感器,进行信号的探测,通过单片机对信号的判断,控制LED灯和蜂鸣器声光报警的总体初步技术方案。之后我们开始在电脑上设计仿真电路,参考相关资料我们很快设计出了初步的硬件电路,但由于Proteus软件中没有热释电红外传感器模块,因此在仿真过程中我们用高电平输出代替传感器输入信号,在仿真中取得了成功。完成仿真验证后,我们开始焊接硬件电路,很快就焊接完成。之后我们立即着手系统软件的设计,采用C51语言进行单片机编程,一切顺利。但是当我们将系统的软硬件联调的时候,问题开始多了起来,系统功能和预先设想的相去甚远,热释电红外传感器输出引脚始终处于低电平,似乎无法检测到热红外信号,我们判断可能是传感器运用不当,为此我们查阅了大量关于热释电红外传感器的资料,对电路的焊接质量进行了仔细的检测,并用示波器对传感器输出波形进行了分析,结果一切正常。于是我们转而分析我们的程序,可是程序似乎也没有问题,我们陷入了短暂的迷茫,但我们没有沮丧,经过反复的比对实验,终于发现了程序中读写引脚的方式有误,之所以久久难以发现的根源在于我们对单片机读写基本概念的混淆,教训颇深。这个问题解决之后,后面的工作相对顺利了一些。在9月30日的时候我们初步完成了家用报警器系统,系统可以检测到8米范围内的人员活动并发出报警信号。但这远远不够,由于课设时间相对宽裕,我们开始着手对我们的系统功能进行进一步升级,受到汽车报警器电子钥匙的启发,我们决定给系统增加无线控制模块,以实现更方便的控制,同时避免系统产生误判。红外遥控对我们来说又是一个完全陌生的领域,在初步了解了其工作原理和编解码方式的基础上,我们选购了HX1838一体化红外接收头和通用简易红外遥控器。硬件电路连接相对简单,程序的升级是问题的关键。事实和我们设想的一样,即便是我们采用了网上现成的红外遥控解码程序,问题依然很多,怎样和传感器连用,如何对不同按键产生不同动作,这些问题困扰我们很久。一步步的尝试,反复的烧写,验证,甚至更换元器件,虽然不易,但我们始终没有放弃,终于在10月9日下午的时候,完成了预期功能,实现了遥控控制。经历过困难的磨砺,此刻的成功分外甜蜜,看着我们心血的结晶,心里由衷高兴。这次课设我不光从知识上收获了很多,整个过程锻炼了我的学习能力,让我学会了如何快速的学习和掌握一个相对陌生领域的知识,如何系统的考虑问题,面对问题时该以怎样的角度去思考,等。同时我要感谢整个过程中老师,同学对我们的指导和帮助,谢谢你们。程序附录#include <reg52.h> /包含51单片机相关的头文件#define uint unsigned int /重定义无符号整数类型#define uchar unsigned char /重定义无符号字符类型uchar code LedShowData=0x03,0x9F,0x25,0x0D,0x99, /定义数码管显示数据 0x49,0x41,0x1F,0x01,0x19;/0,1,2,3,4,5,6,7,8,9uchar code RecvData=0x07,0x0A,0x1B,0x1F,0x0C,0x0D,0x0E,0x00,0x0F,0x19;uchar IRCOM7;/*完成基本数据变量定义*/sbit IRIN=P33; /yaokongsbit fmq=P03; /扬声器sbit ztd=P10;/黄灯sbit bjd=P14;/红灯sbit cgq=P22; /红外 char flag = 0;uint cot=0; /定义红外接收端口/*完成红外接收端口的定义*/#define ShowPort P2 /定义数码管显示端口/extern void Contro(uchar zt) ;void delayms(unsigned char x) /0.14mS延时程序 unsigned char i; /定义临时变量 while(x-) /延时时间循环 for (i = 0; i<13; i+) /14mS延时 /void delay(uchar x) uchar t; while(x-) for(t=0;t<120;t+);/void Delay() /定义延时子程序 uint DelayTime=30000; /定义延时时间变量 while(DelayTime-); /开始进行延时循环 return; /子程序返回void IR_IN() interrupt 2 using 0 /定义INT2外部中断函数 unsigned char j,k,N=0; /定义临时接收变量 EX1 = 0; /关闭外部中断,防止再有信号到达 delayms(15); /延时时间,进行红外消抖 if (IRIN=1) /判断红外信号是否消失 EX1 =1; /外部中断开 return; /返回 while (!IRIN) /等IR变为高电平,跳过9ms的前导低电平信号。 delayms(1); /延时等待 for (j=0;j<4;j+) /采集红外遥控器数据 for (k=0;k<8;k+) /分次采集8位数据 while (IRIN) /等 IR 变为低电平,跳过4.5ms的前导高电平信号。 delayms(1); /延时等待 while (!IRIN) /等 IR 变为高电平 delayms(1); /延时等待 while (IRIN) /计算IR高电平时长 delayms(1); /延时等待 N+; /计数器加加 if (N>=30) /判断计数器累加值 EX1=1; /打开外部中断功能 return; /返回 IRCOMj=IRCOMj >> 1; /进行数据位移操作并自动补零 if (N>=8) /判断数据长度 IRCOMj = IRCOMj | 0x80; /数据最高位补1 N=0; /清零位数计录器 if (IRCOM2!=IRCOM3) /判断地址码是否相同 EX1=1; /打开外部中断 return; /返回 for(j=0;j<10;j+) /循环进行键码解析 if(IRCOM2=RecvDataj) /进行键位对应 P2=LedShowDataj; /数码管显示相应数码 switch(IRCOM2) case 0x0A: ztd=0; flag = 1; break; case 0x1B: ztd=1; flag = 2; break; EX1 = 1; /外部中断开 void main(void) /主程序入口 bjd=1; ztd=1; EX1=1; /同意开启外部中断1 IT1=1; /设定外部中断1为低边缘触发类型 EA=1; /总中断开启 ShowPort=LedShowData0; /数码管显示数字0while(1)if(flag = 1) ztd=0; cot = P2&0X04; if(cot!=0) fmq=fmq;bjd=bjd; delay(130); else ztd=1;fmq=1;bjd=1; 参考书目1 谢嘉奎,电子线路,高等教育出版社,2010年,5月2 彭伟, 单片机C语言 程序设计实例100例,电子工业出版社,2012年,10月3 孙肖子,模拟电子技术基础,高等教育出版社,2012年,12月4 姚彦茹,热释电红外传感器在防盗系统中的应用J,信息技术,2007,(05).专心-专注-专业