基于MSP430单片机的无线距离报警系统.doc_第1页
基于MSP430单片机的无线距离报警系统.doc_第2页
基于MSP430单片机的无线距离报警系统.doc_第3页
基于MSP430单片机的无线距离报警系统.doc_第4页
基于MSP430单片机的无线距离报警系统.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Hefei University 2015年合肥学院课程设计项目报告项目名称:无线距离报警作者姓名:指导教师: 完成时间:2015/1/7无线距离报警摘要 本无线距离报警是以MSP430F1232超低功耗单片机作为主控核心和无线通信模块nRF2401的各个功能模块及其特性。系统主要实现了无线距离报警即当从机离开主机一定距离后主机会自动报警,并且在报警发生后可有用户通过按键对报警状态进行清除,另外从机还预设了内线的掉线检测,即主从机在正常通信的状态下,从机会实时将自身的一根内线信号上传给主机并伴有灯光报警提示。分析了数据发送和接收的工作原理以及实现本系统所要解决的关键问题最后通过实物验证了系统的性能。 关键词:单片机MSP430、NRF24L2401、无线通信 、报警 Wirelessalarm distanceABSTRACT Thewirelessalarm distanceisMSP430F1232 ultra low power microcontrollerasthe main controlcore ofeach function moduleand wireless communication modulenRF2401 and its characteristics.The system mainly implements thewirelessalarm distanceiswhen the hostcertain distance from themachineafter the departure ofthe host will automatically alarm,andalarmoccursincanthe user through thebutton on thealarmstate isclear,also from themachinealso presupposes thedisconnectiondetectioninside,namelythe master-slavecommunicationinnormalstate,the opportunitywill beareal timefromthe insidesignalupload theirto the hostand accompanied bylightalarm.Analysis of thedata sending and receivingthe work principle and thekey problems ofimplementation of thesystem to solvethe finalperformance of the system is validatedbyreal.Keyword: MCU MSP430,NRF24L2401,wireless communication,alarm 目 录目 录II第一章 引言- 1 -第二章 方案设计- 1 -2.1系统实现的主要功能路- 1 -2.2总体方案- 2 -2.2.1方案论证与比较- 2 -第三章 系统硬件与软件设计- 4 -3.1 部分单元电路设计- 4 -3.2 软件设计- 9 -4.1测试仪器- 10 -4.2测试及性能分析- 11 -第五章 结论- 12 -参考文献- 13 -附 电路原理图和PCB版图及主从机部分代码- 14 -系统总体原理图- 14 -系统PCB版图- 14 - 主从机部分代码. . .- 14 - I第一章 引言随着电子信息技术和计算机网络技术的发展人们的生活水平越来越高而报警系统作为现代防盗系统的一个重要组成部分其性能的好坏直接关系到人们日常生活的安全。把无线网络技术应用到报警系统中通过实时采集周围的环境信息再通过无线的方式将信息传输给控制中心能够弥补有线设备的缺陷具有价廉、可靠性高等优点。 本设计中我们根据无线网络技术的特点设计了一种基于MSP430F1232超低功耗单片机和无线通信模块nRF2401的无线距离报警器。该系统通过从机向主机不间断的发送信号当从机离开主机能够接受的范围时母机会自动进行声光报警。第二章 方案设计2.1系统实现的主要功能本设计是基于MSP430F1232超低功耗单片机和无线通信模块nRF2401的无线距离报警器。其实现的主要功能有 1、当从机/主机在接受范围内时从机/主机的发光二极管会正常发光显示已经接收到从机/主机发来的信号。 2、当从机/主机离开超出了从机/主机所能接收到的范围时从机/主机立即报警并且发光二极管会闪烁。 3、在报警发生后可有用户通过按键对报警状态进行清除。 4、从机还预设了内线的掉线检测,即主从机在正常通信的状态下,从机 会实时将自身的一根内线信号上传给主机并伴有灯光报警提示。2.2总体方案 本系统制作的是一个无线距离传输报警器系统主要由单片机、无线发送和接受模块、电源模块、按键控制模块、声光报警模块组成。系统总体框图如下图1所示USB接口电源模块(输入5V)各级稳压模块 输出+3.3V)声光报警模块 按键模块MSP430F1232主控模块 无线收发模块 (NRF2401) 图2.2 方案设计总体框图2.2.1方案论证与比较n 控制器部分方案的选择与论证 方案一:单片机STM32Cortex-M3超级单片机完成对其他各部分控制。方案二:采用单片机89C51作为控制部分。方案三:采用MSP430超低功耗单片机作为控制部分。方案论证:方案一所使用的STM32-cortexM3是一款高速、低功耗、性价比高的超级单片机,其内部具有强大的存储能力,在一定程度上不必考虑代码的冗余且能实现各种复杂的控制功能,该芯片是贴片封装且管教分布较为密集会给后期硬件的设计带来不便,方案二采用AT89C51单片机,可在开发环境及代码编写上相对来说较为简单,源于51内核的单片机是基础教程且网上资源相当丰富基本可以涵盖多数控制操作,但功耗比较大、数据传输速率低。方案三采用MSP430单片机,具有超低功耗且运行速度介于方案一、二之间,再有其指令系统较上述两种最少,故具有相当高的抗干扰能力,给整个系统的稳定提供了基础。所以本系统采用MSP430F1232作为主控芯片。 n 无线收发模块选择与论证 方案一:由RC电路和三极管等分立元件组成多谐振荡器。其电路优点是简单、廉价,但电路工作频率单一,虽然可以通过调节RC参数改变电路频率,但实现起来比较困难,识别能力有限,因此难以有效地进行ID识别。 方案二:采用集成芯片M7216。M7216是一款低电压遥控编码芯片,内码共有20位元100万组(2的20次方),降低使用中编码重复的机率;低工作电压。其缺点是译码部分需要利用可编程逻辑器件,系统实现起来较为复杂。 方案三:采用挪威的Nordic研发的的一种型号的无线模块(nRF2401AG),其工作频率范围为2.4GHz,具有更高的传输速度,是新型的无线传输模块。其也具有价格低廉的优点,在现在的一些无线传输系统中应用中比较广泛。其工作电压为1.93.6V低电压,是一种低功耗的传输模块。 根据无线防盗报警器的实际要求,需要尽量做到电路简单、功耗低,ID可识别,因此我们选择方案三。n 工作电源选择与论证 方案一:采用两节7号电池供电。方案二:采用USB标准接口供电。 由于本设计处于试用调试阶段,采用单独的电池供电不利于开发阶段的调试(公地问题,USB下载问题),而采用方案二的优点在于:将系统的USB下载和供电问题合二为一,介于当前移动电源较为普及故将后期的作品验收预的电源供电问题带来方便。 第三章 系统硬件与软件设计3.1 部分单元电路设计n 单片机主控电路图本系统的的控制部分主要是通过MSP430F1232超低功耗单片机进行控制,该单片机片速度可达8MIPS、极高的抗干扰能力、易操作等特点。该单片机的最小系统电路图如图3.1所示。图3.1 单片机的最小系统电路图n 按键模块电路以及按键功能的详述 按键模块电路图如图3.2所示。按SW1键 系统出现声光报警时,取消/选择蜂鸣报警音 按SW2键 系统预设备用按键 图3.2 按键模块电路图n 声光报警电路及其分析 本模块设计三个发光二极管及一个蜂鸣器;单片机可直接驱动放光二极管的亮灭,但对于大负载的蜂鸣器需额外加入驱动电路故采用NPN(8050)加以间接控制。系统采用三个发光管向用户提示主从机的三种不同工作状态(蜂鸣器报警属于其中一类);工作状态一:主从机通信正常,二:主机或从机掉线(伴有蜂鸣报警),三:从机内线断开与否提示(此种状态下是在系统处于状态一工作的前提下进行),可用于采集各类传感器接入并将参量实时传送与主机。 图3.3声光报警电路电路图n 无线收发模块及其电路分析 nRF24L01模块工作在2.4GHz2.5GHz的ISM 频段的单片无线收发器芯片。无线收发器包括:频率发生器、增强型“SchockBurst”模式控制器、功率放大器、晶体振荡器、调制器和解调器。输出功率频道选择和协议的设置可以通过SPI 接口进行设置。几乎可以连接到各种单片机芯片,并完成无线数据传送工作。极低的电流消耗:当工作在发射模式下发射功率为0dBm 时电流消耗为11.3mA ,接收模式时为12.3mA,掉电模式和待机模式下电流消耗更低。 图3.4无线收发模块接口n USB接口电源及其电路分析 该模块分为两个部分USB接口电路及后级稳压电路;USB接口电路分为两个作用USB供电、代码下载(电阻TEST1、TEST就是起到跳线选择的目的)。后级稳压电路将USB提供的+5V电压降至+3.3V为整个系统供电(这里选择RT9193原因有三:一其封装相比AM1117拥有更小的尺寸以减小PCB的尺寸,二,整个系统的两大核心芯片(单片机,无线模块)都是超低功耗的理念设计故不需要搭载大功率的稳压片,三,贴片RT9193相比其他3.3V输出的稳压片拥有更高的转换效率);其外围电路配置参考RT9193数据手册。 图3.5 USB接口电源电路3.2 软件设计本设计软件模块采用C语言编写程序,分别对主机和从机进行编程下载,根据本设计任务要求,两个模块的程序流程图如下:上电上电单片机初始化单片机初始化nRF24L01初始化配置子程序nRF24L01初始化配置子程序nRF24L01激发为接收模式nRF24L01激发为发射模式数据发射成功启动声光报警 接收成功?nRF24L01激发为接收模式 NO nRF24L01激发为发射模式YES 接收成功? 内线断开 ? NO YES 启动声光报警 NO 置位短线标志位 主机 从机 第四章 系统测试及误差分析4.1测试仪器1. 数字万用表:一台2. 示波器:一台3. 单片机仿真下载器:一台4. 电脑:一台4.2测试及性能分析系统硬件方案完成后,各模块焊接、检测完毕后,连线无误,再逐步对各模块进行测试。指标测试:1、当从机/主机在接受范围内时从机/主机的发光二极管会正常发光显示已经接收到从机/主机发来的信号。 2、当从机/主机离开超出了从机/主机所能接收到的范围时从机/主机立即报警并且发光二极管会闪烁。 3、在报警发生后可有用户通过按键对报警状态进行清除。 4、从机还预设了内线的掉线检测,即主从机在正常通信的状态下,从机 会实时将自身的一根内线信号上传给主机并伴有灯光报警提示。下面列出部分测试结果: 功能1完成。实际实现的效果是:当主机和从机在通信正常的情况下,主从机系统板上的蓝色LED发出阶段性闪烁。 功能2完成。实际实现的效果是:当主机或从机其中一个处于掉线的情况下(相对距离太远、掉电),主从机系统板上的绿色LED发出光并伴有蜂鸣器鸣叫。 功能3完成。实际实现的效果是:当主从机系统板上的绿色LED发出光并伴有蜂鸣器鸣叫时,通过按压一次系统板上的按键蜂鸣啸叫会立即停止但绿色LED发光正常。 功能4完成。实际实现的效果是: 从机通过板上开关来模拟掉线状态,开关一个方向为高电平另一个为低电平,从机将此信号实时传送给主机,本系统定义当开关拨在低电平状态下视为掉线,此时主机/从机上的红色LED点亮标志从机内线断开。第五章 结论 本系统以MSP430F1232超低功耗单片机作为主控核心和无线通信模块(nRF2401)报警系统,该系统实用性强,可适合用于家庭防盗等。它具有如下功能:(1)主从模块掉线报警功能(2)撤报功能(3)主机同步跟踪从机接入的传感器的变化参量(4)报警功能。发送电路和接收电路的采用两块相同PCB系统板, 本次设计的硬件与调试工作是先后步进行的,即先进行PCB硬件的设计,待硬件焊接完成后,进入软件编程,代码编写分为主从两个部分,各个部分子程序均采用模块化编写;以便后续的代码的调试检错。在发射接收程序的编写,程序写入芯片以后有时没有按照自己设想的状态实现,就更次改写入,在几次下来问题解决的同时,自己的思路和视野也开阔!由于时间问题,该系统需要进一步完善,即接收机与用户的通讯或者反馈,功能是让用户清楚你已经接收到他发送的的信息,可以耐心等待你的处理。该设计已经通过调试,基本实现了设计所要求的任务。 参考文献1 林涛数字电子技术清华大学出版社20062 秦龙单片机C语言应用程序设计电子工业出版社20063 王增福稳定电源使用电路选编电子工业出版社20034 沈建华MSP430系列16位超低功耗单片机原理与实践北京航空航天大学出版社20085 林涛模拟电子技术基础重庆大学出版社2001附 电路原理图系统总体原理图附图1系统PCB版图 部分代码 主机代码#include msp430F1232.h#include Define.hunsigned int counter=0,Timer=20;unsigned int Break_Timer;unsigned char Startup_flag=0,i; unsigned char Bell_flag =0;unsigned char Bell_sp=0; #pragma vector=TIMERA0_VECTOR_interrupt void TimerAINT(void) if(Startup_flag) BELL_0; LED2_1; counter+; if(counter30) Startup_flag=0; counter=0; else Break_Timer+; if(Break_Timer100) Break_Timer=100; LED2_0; if(!Bell_flag) BELL_1; else BELL_0; main() WDTCTL = WDTPW + WDTHOLD; /禁止看门狗 LED_IO_set(); BELL_IO_set(); KEY_IO_set(); RF24L01_IO_set(); InitSys(); init_NRF24L01() ; InitTimerA();/定时器 A 初始化 LED1_1;LED3_1;LED2_1; BELL_0; /delay_ms(300) ; LED2_0; BELL_1;delay_ms(300) ; BELL_0;LED2_1; while(1) Scan_KEY_Code();/扫描按键值 及 处理 SetRX_Mode(); if(nRF24L01_RxPacket(RxBuf) /接收数据 if(RxBuf4=0x29) Bell_sp=1; LED3_0; else LED3_1; if(RxBuf1=0x29) Startup_flag=1; Break_Timer=0; TxBuf1 = 0x29;/发送完后将TxBuf1设定成0xFF,以作状态恢复 TxBuf2 = 0x55; for(i=10;i0;i-) /重复发送 防止丢失 nRF24L01_TxPacket(TxBuf);/ 当有按键后,不同按键发送不同数据 SPI_RW_Reg(WRITE_REG+STATUS,0XFF); delay_ms(50) ; TxBuf1 = 0xff;/发送完后将TxBuf1设定成0xFF,以作状态恢复 TxBuf2 = 0xff; 从机代码#include msp430F1232.h#include Define.hunsigned int counter=0,Timer=0;unsigned int Break_Timer;unsigned char Startup_flag=0,i;unsigned char Bell_flag=0;unsigned char Bell_tab=0;#pragma vector=TIMERA0_VECTOR_interrupt void TimerAINT(void) Timer+; if(Startup_flag) BELL_0; LED2_1; counter+; if(counter25) Startup_flag=0; counter=0; else Break_Timer+; if(Break_Timer140) Break_Timer=140; LED2_0; if(!Bell_flag) BELL_1; else BELL_0; main() WDTCTL = WDTPW + WDTHOLD; /禁止看门狗 L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论