本科毕业设计(论文)中期报告课题名称:基于ZigBee的灾报警系统设计学院(系):年级专业:学生姓名:指导教师:完成日期:1一、毕设进展情况照毕业设计进度要求及开题报告中的要求,现已将完成及未完成的内容做一整体汇报如下。已完成内容:1、传感器的选择及相关电路设计温度传感器采用达拉斯公司生产的温度传感器DS18B20,DS18B20可使温度信号直接转换成串行数字信号供微处理器处理,而且微处理器可通过一根数据线对DS18B20进行读写操作,DS18B20的测量温度范围为-55°C~+125°C,在-10~+85°C范围内精度为±0.5°C,分辨率0.0625,测量范围广,灵敏度高,体积小,外围电路简单,特别适合火灾温度检测。烟雾传感器采用MQ-2型烟雾传感器,MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。MQ-2型传感器可检测多种可燃性气体,对天然气、液化石油气等烟雾有很高的灵敏度,尤其对烷类烟雾更为敏感,其检测可燃气体与烟雾的范围是100-10000ppm,是一款适合多种应用的低成本传感器。其电路图如图1-1。图1-1MQ-2烟雾传感器电路图22、Z-Stack的学习Z-Stack是ZigBee协议的具体实现形式,通俗点来理解就是ZigBee协议和用户之间的一个接口,我们需要通过协议栈来使用这个协议,进而实现无线数据收发。ZigBee的协议分为两部分,IEEE802.15.4定义了物理层和介质访问层技术规范;ZigBee联盟定义了网络层、应用程序支持子层、应用层技术规范。ZigBee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供API(应用层),我们可以直接调用。Z-Stack采用操作系统的思想来构建,采用事件轮循机制,当各层初始化之后,系统进入低功耗模式,当事件发生时,唤醒系统,开始进入中断处理事件,结束后继续进入低功耗模式。如果同时有几个事件发生,判断优先级,逐次处理事件。这种软件构架可以极大地降级系统的功耗。整个Z-Stack的主要工作流程,大致分为系统启动,驱动初始化,OSAL初始化和启动,进入任务轮循几个阶段。OSAL实现了一个易用的操作系统平台,通过时间片轮转函数实现任务调度,提供多任务处理机制。我们可以调用OSAL提供的相关API进行多任务编程,将自己的应用程序作为一个独立的任务来实现。关中断初始化HAL、MAC、boardI/O口、NVFLASH、StackRAM等分配64位长地址初始化OSAL开中断设置TIMEROSAL任务轮询主循环有事件发生?比较优先级调用事件处理程序是否结束否是是否相对高相对低开始图1-2Z-Stack系统运行流程图33、温度及烟雾程序的调试DS18B20温度传感器的数据线引脚与CC2530开发板的普通数字I/O口P0_6相连,3.3V电压供电。烟雾传感器的数字接口与CC2530开发板的P2_0相连,5V电压供电。终端节点将采集到的温度烟雾信号经过CC2530芯片处理无线传输到协调器节点,并通过串口调试助手在PC机上显示,此部分程序已经调试完成,能成功显示终端节点温度值和有无烟雾情况。其工作流程图如下。开始设备初始化接受入网请求分配短地址短地址分配发送入网响应子节点加入到网络接受节点发送来的信息通过串口在PC上显示节点加入失败,进入休眠已满成功失败图1-3协调器工作软件流程图4开始设备初始化发送入网请求进入低功耗状态成功入网?触发温度采集?采集温度并处理发送数据YNYN图1-4终端节点工作软件流程图4、硬件设计目前已经完成CC2530单片机和传感器模块的原理图和PCB板的设计,设计软件采用AltiumDesignersummer09,通过自己动手设计,对CC2530单片机有了更深入的了解。CC2530采用6mm×6mm的QFN40封装,该芯片除了包括RF收发器外,还集成了加强型805lMCU、256KB的Flash内存、8KB的RAM。CC2530工作在2.4GHz频段,采用低电压(2.0~3.7V)供电,且功耗很低,接收数据时为24mA,发送数据时为29mA、最大传送速率为250kb/s。CC2530的外围元件数目很少,CC2530无线单片机在待机时的电流消耗仅0.2uA,在32KHz晶体时钟下运行时的电流消耗小于1uA。极高的接收灵敏度和抗干扰性能。未完成内容:1、烟雾传感器软件调试烟雾的检测电路已完成,但烟雾浓度显示的程序尚未调试好,MQ-2烟雾传感器输出的模拟电压值需A/D转换成数字量,再通过电压、电阻之间的关系转化成烟雾的浓度,但目前还没找到确切的转化关系,终端节点采集到此浓度后无线发送到协调器节点,再通过串口传输到上位机。52、上位机界面设计本系统要通过上位机界面,实现火灾报警。当温度和烟雾的值超出所设定的阈值时,上位机提示报警,当出现紧急情况需要楼内人员紧急撤离时,通过上位机紧急报警按钮向终端节点发送命令,终端节点指示灯闪烁,提示人员撤离。此过程主要是通过LabVIEW设计上位机界面,同时对终端节点进行控制,此过程尚未完成。二、毕设实施方案本系统采用树形网络拓扑。整个网络由三部分组成,包括ZigBee终端设备即传感器节点、路由器、网络协调器,ZigBee终端设备负责收集探测到的报警信息,并将报警信息以ZigBee无线通信方式发送到终端设备的路由器(即父设备),再由路由器转发到网络协调器。基于ZigBee技术的智能型火灾报警系统提高了管理系统中数据的可靠性,对每个终端节点所监控的区域内发生的火灾险情能及时判断并通过无线网络通知管理人员。图2-1无线传输网络6终端节点由电源模块,温度传感器DS18B20,烟雾传感器MQ-2,CC2530开发板,报警按钮和指示灯组成。实现现场数据的采集,向上发送至路由器节点,最终数据会汇聚到协调器。DS18B20为单总线数据传输,通过串行的方式将数据传输到CC2530芯片。MQ-2烟雾传感器的数字接口与CC2530的普通I/O口相连传输数字信号。采集的信号经过MCU处理,进行数据的整合和封装,通过RF射频前端以电磁波的形式传输出去。协调器节点具有处理能力、存储能力和通信能力。主要功能是对ZigBee无线网络中的各个子节点进行管理,将上位机监控中心下达的监控信息通过ZigBee网络发送到需要测控的子节点,同时接收各个子节点发来的状态、采集数据等信息,并通过串口上传至监控中心主机进行数据处理和保存。图2-2终端节点硬件连接框图三、遇到的困难和问题,及相应的解决方案1、单片机程序编写Z-Stake协议栈是可以说是一个小型的操作系统,学起来相对困难,除了对Z-Stake协议栈理论的学习外,主要是对程序的理解,它分为APP、HAL、MAC、NWK、MT、OSAL、ZMAIN、ZDO、TOOL等几层,需要对每层7的功能,及如何实现其功能和调用进行学习。通过查阅相关书籍,从网上观看相关视频、从论坛里学习交流,对Z-Stake有了基本了解,能运用其编写相关程序。2、CC2530开发板的原理图及PCB的绘制这段时间主要是自学AltiumDesigner软件,通过查阅CC2530数据手册,阅读单片机相关知识,学习AltiumDesigner软件应用,完成了原理图及PCB的设计。其中遇到了不少问题,但通过认真的阅读相关书籍后,都一一解决,对点偏激知识的领悟提高了一个层次,提高了自己的动手能力和自学能力。四、毕业时间进度安排5月13日—5月19日,烟雾传感器、按钮及指示灯程序的调试;5月20日—6月9日,学习LabVIEW软件,完成上位机机界面的设计,实现上位机对终端节点的反馈控制及程序调试;6月10日—6月23日,撰写论文;6月24日—6月30日,完成论文终稿,准备答辩。五、毕业论文时间进度安排6月10日—6月14日,完成引言、摘要、第一章;6月15日—6月20日,完成论文剩余部分的撰写工作,完成论文初稿;6月21日—6月23日,按要求对论文格式修改。六、意见及建议毕业指导教师能够对学生编写论文过程中遇到的问题及时给与指导和讲解,帮助学生按照进度完成目标。希望老师能够按照论文中的问题及时对学生进行提问,帮助形成更好的解决方案,更进一步思考。6月10日—6月14日,完成引言、摘要、第一章;6月15日—6月20日,完成论文剩余部分的撰写工作,完成论文初稿;6月21日—6月23日,按要求对论文格式修改。