毕业设计(论文):新型消防车的研究_第1页
毕业设计(论文):新型消防车的研究_第2页
毕业设计(论文):新型消防车的研究_第3页
毕业设计(论文):新型消防车的研究_第4页
毕业设计(论文):新型消防车的研究_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1 引言1.1问题的提出国家相关部门统计资料显示,我国的消防车保有量约为2.3万辆,近年新增和更新消防车近3000辆。但我国的消防车车型结构不尽合理,特种车比例过低,水罐消防车约占总量的70,而特种车(除水罐、干粉、泡沫以外的车辆)仅占10,且车型较老。有专家预测:目前,我国消防车市场,从总体上看正处于一个高增长的阶段。在未来的5年之内,这种增长的势头一直不会减弱。每年平均增长量会维持在2000台左右。一方面我国的消防车有待更新,市场前景看好;另一方面国内消防车生产厂家却在产量小、效益少的低谷中徘徊不前。现有消防车只是将少数人接救到车顶的平台处,或者从车壁上的云梯下到地面,这种传统的解救方式有两大缺点,首先平台空间有限,不足以容纳太多的逃生人员,当遇到着火楼层逃生人员多时,解救速度太慢,势必会拖延时间,造成原本可以避免的伤亡。再者消防车高空作业,逃生人员通过云梯向下攀爬,可能产生晕厥现象,不仅逃生速度慢而且安全系数小。但遇到弱势群体时,比如老人,妇孺,残疾人等请况,会给营救工作带来很大困难。经过改装后的消防车可以有效的解决上述问题,皮带传动装置和可升降逃生电梯的应用,不仅解决救生空间的问题,而且提高了增强了消防车的救援速度。因此设计了新型消防车系统。1.2课题研究的意义本作品设计出了一种新型的消防车,在现有消防车的基础上,设计缓冲装置以增加消防车的救援功能。具体如下:1 营救部分采用皮带传送和电梯装置。皮带上固定营救箱,并箱内安装有保险带;电梯装置类似吊篮装置,竖直上升和下降,加快了营救人员的速度,同时电梯门设计巧妙,通过一个简易阀门实现电梯的闭合和打开,大大的提高了工作效率。2 消防车上安装有摄像头,在一些特定场所消防人员难以进入到事故现场,在消防车上安装摄像头,不仅可以实时监测事故现场的状况,而且可以通过无线模块实现对消防车的远程控制。 2 系统概述2.1 系统功能要求1 设计并制作消防车的车体结构、车轮的制作、电机的选择安装等;2 设计并制作可完成人机交互工作的控制电路板;3 消防车上安装有摄像头,在一些特定场所消防人员难以进入到事故现场,不仅可以实时监测事故现场的状况,而且可以通过无线模块实现对消防车的远程控制。4 设计控制板的程序。2.2 系统组成经过分析系统功能的要求,可以将各部分功能分别由硬件完成,或硬件与软件共同完成。硬件部分应该包含:底盘电机控制电路,转盘电机和升降电机控制电路,键盘输入电路,电源电路。图2-1 系统组成软件部分应该实现:键盘按键的捕捉识别,底盘电机的控制,转盘电机和升降电机的控制,无线数据发送与接收,电脑视频数据的显示,得出系统的框图如图2-1所示。3 方案论证3.1控制器的方案论证与选择 方案1:采用可编程逻辑器件CPLD作为控制器。CPLD可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用及经济的角度考虑我们放弃了此方案。方案2:采用凌阳公司的16位单片机,它是16位控制器,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点。处理速度高,尤其适用于语音处理和识别等领域。但是当凌阳单片机在语音处理和辨识时,由于其占用的CPU资源较多而使得处理其它任务的速度和能力降低。方案3:采用Atmel公司的ATmaga16单片机作为主控制器。ATmaga16是一个低功耗,高性能的8位单片机,片内含16k空间的可反复擦些100,000次的Flash只读存储器,具有1Kbytes的随机存取数据存储器(RAM),32个IO口,2个8位可编程定时计数器,1个16位可编程定时计数器,四通道PWM,内置8路10 位ADC。且maga系列的单片机可以在线编程、调试,方便地实现程序的下载与整机的调试。从各个角度考虑,方案3的可行性高。3.2 无线通讯芯片的选择方案1:nRF905功能特点:nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压为1.93.6V,32引脚QSON封装(55mm),工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650us。nRF905支持多点间通信,最高传输速率可达100Kb/s,有125个频道可供选择,可满足多频及跳频需要,主要工作参数大都可通过芯片状态字由用户根据需要自行配置,只需少量外围元件便可组成射频收发电路。nRF905没有复杂的通信协议,它完全对用户透明,同种产品之间可以自由通信。所以nRF905是业界体积最小、功耗最少、外围元件最少的低成本射频系统级芯片之一。此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。nRF905适用于无线数据通信、无线报警及安全系统、无线开锁、无线监测、家庭自动化和玩具等诸多领域。方案2:也可选用nRF2401以及其他收发芯片,但它们有的需要外围元件过多,有的协议复杂,不易实现,有的费用较高,增加了成本,有的传输距离较短。根据以上两种方案的比较,因此在本电路设计时采用的是nRF905芯片。4 系统硬件设计4.1单片机电路4.1.1 AVR单片机内部结构AVR单片机内部资源非常丰富,集成了各种常用的外围设备,主要由以下部分组成:l 16K字节擦写寿命 10000 次的系统内可编程Flashl 具有独立锁定位的可选Boot 代码区l 片上Boot 程序实现系统内编程l 可同时读写操作的512字节擦写寿命100000 次的EEPROMl 1K字节的片内SRAMl 可以对锁定位进行编程以实现用户程序的加密l JTAG接口,标准的边界扫描功能支持扩展的片内调试功能l 通过JTAG 接口实现对Flash、EEPROM、熔丝位和锁定位的编程l 两个具有独立预分频器和比较器功能的8 位定时器/ 计数器l 一个具有预分频器、比较功能和捕捉功能的16 位定时器/ 计数器l 具有独立振荡器的实时计数器RTCl 四通道PWMl 8路10 位ADCl 2个具有可编程增益(1x, 10x, 或200x)的差分通道l 面向字节的两线接口IICl 两个可编程的串行USARTl 可工作于主机/ 从机模式的SPI 串行接口l 具有独立片内振荡器的可编程看门狗定时器TWIl 片内模拟比较器l 上电复位以及可编程的掉电检测BODl 片内经过标定的RC 振荡器l 片内/ 片外中断源l 6种睡眠模式: 空闲、ADC 噪声抑制、省电、掉电、Standby 模式l 32 个可编程的I/O 口AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。AVR的ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许程序存储器通过ISP 串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。 通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机,为本系统的应用提供了灵活的解决方案。图4-1 单片机内部结构4.1.2 AVR单片机引脚功能图4-2 AVR单片机引脚功能图4-2是AVR单片机DIP封装的引脚图,以下是各引脚功能说明。VCC 数字电路的电源GND 地端口A(PA7.PA0) 端口A 做为A/D 转换器的模拟输入端。端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。端口B(PB7.PB0) 端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。端口B 也可以用做其他不同的特殊功能。端口C(PC7.PC0) 端口C 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚 PC5(TDI)、 PC3(TMS)与 PC2(TCK)的上拉电阻被激活。端口C 也可以用做其他不同的特殊功能。端口D(PD7.PD0) 端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D 处于高阻状态。端口D 也可以用做其他不同的特殊功能。RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。门限时间见P36Table 15。持续时间小于门限间的脉冲不能保证可靠复位。XTAL1 反向振荡放大器与片内时钟操作电路的输入端。XTAL2 反向振荡放大器的输出端。AVCC AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。AREF A/D 的模拟基准输入引脚。4.1.3 AVR单片机最小系统电路 图4-3 AVR单片机最小系统电路图4-3是AVR单片机最小系统电路图,图中U1是AVR单片机,是整个系统的核心控制单元,R1和C1组成单片机的复位电路,晶振XTAL,和C1,C2是单片机时钟源的辅助电路。AVR单片机的外围电路非常简单,使系统更加的简单,提高可靠性,降低故障率。复位电路是为了保证单片机在正式运行程序之前,将内部各个功能寄存器的状态回复到初始状态,以保证单片机按照程序设计者的意图运行。R1与C1构成RC电路,在系统上电后,单片机复位端电压渐渐升高,当电压升高到复位端RESET门限电压0.9V时,单片机完成复位,在系统断电后,C1通过复位引脚内部电路放电,在下一次上电时又可以进行复位过程。由于刚上电时,电路中的电容,电感的存在,电路电源的稳定需要一定时间才能使单片机正常可靠运行,所以复位时间长对系统的可靠性有利。电路中R1选10k,C1选10uF,复位时间在10MS以上,可以可靠的对单片机进行复位。R1,C1应该靠近单片机,与单片机的连线短些,可以减少因为周围干扰一起的错误复位动作。使用外部晶振速度快,频率稳定,抗干扰强,适合在周围用电环境复杂,系统可靠性要求高的电路中。晶振XTAL,和C1,C2与单片机内部时钟源电路一起组成8M的时钟频率,供给单片机内部使用,单片机的熔丝配置中应该选择使用外部晶振选项。晶振,校正电容C2,C3,与单片机的连线应该越短越好,且周围不要有大电流回路,尽量不要在晶振底部走线,晶振的金属外壳要与地相连,可以提高时钟电路的稳定性和可靠性。4.2 电源电路 图4-4 系统电源电路原理由于电机的驱动电路需要24V的工作电压,而单片机、L298电机驱动芯片、光电耦合器等工作电压需要5V,所以变压器的24V输出需要经过稳压模块稳定到单片机的工作电压范围。考虑到电机驱动电路必须和单片机分开供电,这样可以避免电机电路对单片机电路的干扰所以采取对单片机单独供电,步进电机和直流电机桥臂共用一个24V电源。其系统电源电路原理如上图4-4所示。 4.2.1 电源电路的结构 由变压器出来的交流信号经过桥式整流和电容滤波之后送给LM7805,稳压5V输出,它的输出单独供给单片机。在三端稳压管的输入输出端与地之间连接大容量的滤波电容,使滤掉纹波的效果更好,输出的直流电压更稳定。接小容量高频电容以抑制芯片自激,输出引脚端连接高频电容以减小高频噪声,使单片机工作在一个良好的电源环境中,提高系统稳定性。4.2.2 电源芯片引脚功能电源电路主要运用到7805稳压芯片,该系列芯片技术成熟,所需的外围器件少,性价比高,运用的非常广泛,其内部原理图如图4-5所示。图4-5 7805内部原理图图4-6为7805的引脚图INPUT 电源输入端,最大可达35VGROUND 电源地OUTPUT +8V输出端图4-6 7805的引脚图4.3无线通讯模块nRF905nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压为1.93.6V,32引脚QSON封装(55mm),工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650us。nRF905支持多点间通信,最高传输速率可达100Kb/s,有125个频道可供选择,可满足多频及跳频需要,主要工作参数大都可通过芯片状态字由用户根据需要自行配置,只需少量外围元件便可组成射频收发电路。nRF905没有复杂的通信协议,它完全对用户透明,同种产品之间可以自由通信。所以nRF905是业界体积最小、功耗最少、外围元件最少的低成本射频系统级芯片之一。此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。nRF905适用于无线数据通信、无线报警及安全系统、无线开锁、无线监测、家庭自动化和玩具等诸多领域。下面介绍nRF905的功能特性、芯片结构、引脚定义和工作模式。4.3.1 功能特性1. GFSK调制收发合一。2. ShockBurst收发模式特适用于低功耗应用。3. 多频道应用兼容ETSI/FCC,频道切换时间小于650us。4. 最大输出功率10dBm可调,接收灵敏度高达-100dBm。5. 载波监听功能有效防止RF传输碰撞。6. 成功收发数据包信号提示。7. 接收数据包自动地址匹配。8. 发送数据包自动重传。9. 自动生成数据包报头及CRC校验码。10. 数据传输速率高达100kbps。11. 16脚双排接口,可直接与TTL/COMS模式MCU引脚连接。12. 接口协议:同步串行SPI接口(可用单片机IO模拟)。4.3.2 芯片结构nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器,曼彻斯特编码/解码由片内硬件完成,无需用户对数据进行曼彻斯特编码,因此使用非常方便。它的结构框图如下图4-7所示:图4-7 nRF905芯片结构框图4.3.3 引脚定义表4-1 nRF905引脚定义管脚 名称 描述1 GND 电源地 2 VCC 系统电源 3 TRX_CE 使能芯片接收和发送 4 TXEN 收发状态选择:TXEN=1 发射状态; TXEN=0 接收状态 5 uPCLK 系统时钟分频输出 6 PWR_UP 工作状态控制:PWR=1 正常工作状态; PWR=0 待机微功耗状态 7 GND 电源地 8 GND 电源地 9 AM 地址匹配 10 CD 载波监听 11 MISO SPI输出,MCU由此口从RF芯片读入数据 12 DR 接收或发送就绪 13 SCK SPI时钟 14 MOSI SPI输入,MCU由此口向RF芯片写入数据 15 GND 电源地 16 CSN SPI使能,低激活 4.3.4 工作模式nRF905有两种工作模式和两种节能模式。两种工作模式分别是ShockBurstTM接收模式和ShockBurstTM发送模式,两种节能模式分别是关机模式和空闲模式。nRF905的工作模式由TRX_CE、TX_EN和PWR_UP三个引脚决定,详见下表4-2所示:表4-2 nRF905工作模式PWR_UPTRX_CETX_EN工作模式0关机模式10空闲模式110射频接收模式111射频发送模式 ShockBurstTM模式:与射频数据包有关的高速信号处理都在nRF905片内进行,数据速率由微控制器配置的SPI接口决定,数据在微控制器中低速处理,但在nRF905中高速发送,因此中间有很长时间的空闲,这很有利于节能。由于nRF905工作于ShockBurstTM模式,因此使用低速的微控制器也能得到很高的射频数据发射速率。在ShockBurstTM接收模式下,当一个包含正确地址和数据的数据包被接收到后,地址匹配(AM)和数据准备好(DR)两引脚通知微控制器。在ShockBurstTM发送模式,nRF905自动产生字头和CRC校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。由以上分析可知,nRF905的ShockBurstTM收发模式有利于节约存储器和微控制器资源,同时也减小了编写程序的时间。下面具体详细分析nRF905的发送流程和接收流程。1 发送流程典型的nRF905发送流程分以下几步:A.当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给nRF905,SPI接口的速率在通信协议和器件配置时确定;B.微控制器置高TRX_CE和TX_EN,激发nRF905的ShockBurstTM发送模式;C.nRF905的ShockBurstTM发送:射频寄存器自动开启;数据打包(加字头和CRC校验码);发送数据包;当数据发送完成,数据准备好引脚被置高;D.AUTO_RETRAN被置高,nRF905不断重发,直到TRX_CE被置低;E.当TRX_CE被置低,nRF905发送过程完成,自动进入空闲模式。ShockBurstTM工作模式保证,一旦发送数据的过程开始,无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完。只有在前一个数据包被发送完毕,nRF905才能接受下一个发送数据包。2 接收流程A.当TRX_CE为高、TX_EN为低时,nRF905进入ShockBurstTM接收模式;B.650us后,nRF905不断监测,等待接收数据;C.当nRF905检测到同一频段的载波时,载波检测引脚被置高;D.当接收到一个相匹配的地址,地址匹配引脚被置高;E.当一个正确的数据包接收完毕,nRF905自动移去字头、地址和CRC校验位,然后把数据准备好引脚置高;F.微控制器把TRX_CE置低,nRF905进入空闲模式;G.微控制器通过SPI口,以一定的速率把数据移到微控制器内;H.当所有的数据接收完毕,nRF905把数据准备好引脚和地址匹配引脚置低;I.nRF905此时可以进入ShockBurstTM接收模式、ShockBurstTM发送模式或关机模式。当正在接收一个数据包时,TRX_CE或TX_EN引脚的状态发生改变,nRF905立即把其工作模式改变,数据包则丢失。当微处理器接到地址匹配引脚的信号之后,其就知道nRF905正在接收数据包,其可以决定是让nRF905继续接收该数据包还是进入另一个工作模式。3 节能模式nRF905的节能模式包括关机模式和节能模式。在关机模式,nRF905的工作电流最小,一般为2.5uA。进入关机模式后,nRF905保持配置字中的内容,但不会接收或发送任何数据。空闲模式有利于减小工作电流,其从空闲模式到发送模式或接收模式的启动时间也比较短。在空闲模式下,nRF905内部的部分晶体振荡器处于工作状态。nRF905在空闲模式下的工作电流跟外部晶体振荡器的频率有关。4.4 直流电机驱动芯片L298NL298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。其管脚图和实物图分别如图4-8和图4-9所示,管脚功能如表4-3所示。 图4-8 L298N管脚图图4-9 L298N实物图 管脚符 号功 能115SENSING ASENSING B此两端与地连接电流检测电阻,并向驱动芯片反馈检测到的信号23OUT 1OUT 2此两脚是全桥式驱动器A的两个输出端,用来连接负载4Vs电机驱动电源输入端57IN 1IN2输入标准的TTL逻辑电平信号,用来控制全桥式驱动器A的开关611ENABLE AENABLE B使能控制端.输入标准TTL逻辑电平信号;低电平时全桥式驱动器禁止工作。8GND接地端,芯片本身的散热片与8脚相通9Vss逻辑控制部分的电源输人端口1012IN 3IN 4输入标准的TTL逻辑电平信号,用来控制全桥式驱动器B的开关1314OUT 3OUT 4此两脚是全桥式驱动器B的两个输出端,用来连接负载表4-3 L298N管脚功能图4-10 直流电机驱动电路4.5 步进电机驱动器步进电机的驱动采用专用的驱动电路模块,使用模块电路可以加快产品开发速度,使系统结构简单,稳定,可靠。且单片机只需2个接口就可以完成步进电机的方向和步进控制。所选用的驱动器型号为森创公司的SH-20403,它的主要参数如下:l 10V40V直流供电l H桥双极恒相流驱动l 最大3A的8种输出电流可选l 最大 64细分的7种细分模式可选l 输入信号光电隔离l 标准共阳单脉冲接口l 脱机保持功能5 系统的软件设计软件部分主要完成对键盘的分析及无线数据的发送与接收,来控制消防车救援。包括底盘电机(步进电机)的正反向、转盘的转动(直流电机)和救援箱体的升降等功能。5.1直流电机控制子程序直流电机控制子程序完成电机的救援箱体的升降工程,其执行流程如图5-1所示。图5-1 直流电机控制流程图5.2键盘子程序键盘程序完成键盘的扫描,除抖动,键码保存的功能,其执行流程如图5-2所示。图5-2键盘识别流程图5.3 无线通讯模块驱动程序5.3.1 器件配置所有配置字都是通过SPI接口送给nRF905。SIP接口的工作方式可通过SPI指令进行设置。当nRF905处于空闲模式或关机模式时,SPI接口可以保持在工作状态。1 SPI接口配置SPI接口由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器5个寄存器组成。状态寄存器包含数据准备好引脚状态信息和地址匹配引脚状态信息;射频配置寄存器包含收发器配置信息,如频率和输出功能等;发送地址寄存器包含接收机的地址和数据的字节数;发送数据寄存器包含待发送的数据包的信息,如字节数等;接收数据寄存器包含要接收的数据的字节数等信息。2 射频配置射频寄存器的各位的长度是固定的。然而,在ShockBurstTM收发过程中,TX_PAYLOAD、RX_PAYLOAD、TX_ADDRESS和RX_ADDRESS 4个寄存器使用字节数由配置字决定。nRF905进入关机模式或空闲模式时,寄存器中的内容保持不变。5.3.2 程序流程图 图5-3 nRF905数据发送流程图典型ShockBurst TX:1. 当应用MCU有遥控数据节点时,接收节点的地址(TX-address)和有效数据(TX-payload)通过SPI接口传送给nRF905。应用协议或MCU设置接口速度。2. MCU设置TRX_CE,TX_EN为高来激活nRF905 ShockBurst传输。3. nRF905 ShockBurst:无线系统自动上电数据包完成(加加导码和CRC校验码)数据包发送(100kbps,GFSK,曼切斯特编码)。4. 如果AUTO_RETRAN被设置为高,nRF905将连续地发送数据包,直到TRX_CE被设置为低。5. 当TRX_CE被设置为低时,nRF905结束数据传传输并将自己设置成standby模式。ShockBurst工作模式确保一个传输包发送开始后,总是能够完成,不管在发送过程中TRX_CE,TX_EN如何被设置。当发送结束后,新的模式被激活。图5-4 nRF905数据接收流程图典型ShockBurst RX:1 通过设置TRX_CE高,TX_EN低来选择ShockBurst RX模式。2 650us以后,nRF905监测控制的信息。3 当nFR905发现和接收频率相同的载波时,载波检测CD被置高。4 当nFR905 接收导有效的地址时,地址匹配AM被置高。5 当nFR905 接收到有效的数据包(CRC校验正确)时,nFR905去掉前导码,地址和CRC位,数据准备就绪DR被置高。6 MCU设置TRX_CE低,进入standby模式(低电流模式)。7 MCU可以以合适的速率通过SPI接口读出有效数据。8 当所有的有效数据被读出后,nFR905将AM和DR置低。9 nFR905 将准备进入ShockBurst RX,ShockBurst TX或Powerdown模式。5.4步进电机控制子程序步进电机控制子程序完成电机方向控制,步数控制,其执行流程如图5-5所示。图5-5 步进电机控制流程图5.5主程序流程图主程序完成各模块程序的调度,其中消防车主控制程序最关键,其执行流程如下图5-6所示。图5-6 主程序6 系统调试按下电源开关,按下发射控制端的“前进”按钮,新型消防车会执行前进的动作,一直按着,消防车一直前进,松开按钮,消防车停止;按下“后退”的按钮,新型消防车会执行后进的动作,一直按着,消防车一直后进,松开按钮,消防车停止;按下“左转”的按钮,新型消防车会执行左转的动作,一直按着,消防车一直左转,松开按钮,消防车停止;按下“右转”的按钮,新型消防车会执行右转的动作,一直按着,消防车一直右转,松开按钮,消防车停止。按下地盘“顺时针转动”的按钮,消防车的地盘会执行顺时转动的动作,一直按着,消防车的地盘一直顺时针转,松开按钮,地盘停止转动;按下地盘“逆时针转动”的按钮,消防车的地盘会执行逆时针转动的动作,一直按着,消防车的地盘一直顺时针转动,松开按钮,地盘停止转动。按下吊篮“上升”的按钮,消防车会执行上升的动作,一直按着,吊篮一直上升,直到到达最高点,松开按钮,吊篮停止上升;按下吊篮“下降”的按钮,新型消防车会执行下降的动作,一直按着,消防车一直下降,直到安全下降到地面,松开按钮,吊篮停止下降。按下皮带传送“上升”的按钮,传动带会一直执行上升的动作;按下皮带传送“停止”的按钮,传送带会执行停止的动作。结 论经过各项功能的调试,不断的修正,系统以达到良好效果,各项指标均已达到目标要求,1 该系统结构简单,成本低,控制精确,操作简单。2 该系统最后通过实际使用,系统稳定,没有出现程序跑乱的现象,符合其最终的标准。3 系统的某些指标已超过了设计要求,达到了良好效果。这次毕业设计,从开始设计到设计的完成,现场调试,都让我感觉收获挺多,这不仅是理论上的升华,还有实践中的锻炼。在系统调试过程中,由于每个电路板出现的问题都不一样,因此,做完这个毕业设计后,不仅提高了我的独立分析问题能力,而且还加强了实际解决问题的能力。参考文献1 童诗白主编.模拟电子技术基础.北京:高等教育出版社,1998.2 陈国呈.PWM调速技术.北京:机械工业出版社,1999. 3 刘瑞新,赵全利等.单片机原理及应用教程.北京:机械工业出版社,2003. 4 梅丽风,王艳秋等.单片机原理及接口技术.北京:清华大学出版社,2004.5 李广弟,朱月秀等.单片机基础.北京:北京航空航天大学出版社,2001.6 徐爱钧.8051单片机实践教程,北京:电子工业出版社,2001年7 康华光,邹寿彬.电子技术基础(数字部分),北京:高等教育出版社,20038 吴国经.单片机应用技术,北京:中国电力出版社,20049 吴运昌.模拟集成电路原理与应用.广东:华南理工大学出版社,2001.10 吴金戎.8051单片机实践与应用.北京:清华大学出版社,2002.11 李序葆,赵永健.电力电子器件及其应用.北京:机械工业出版社,2003.12 王志良.电力电子新器件及其应用技术.北京:国防工业出版社,1995. 13石东海.单片机数据通信技术从入门到精通.西安电子科技大学出版社,2001:201202.14杨波等.移动IP和自组网的集成.计算机系统应用,2004年6月:125145.15无线龙.无线通信和无线网络的入门与实战.成都:成都无线龙通讯科技有限公司,2005:99121.16Ray S, Carrathers J.B, Starobinski D. RTS/CTS induced congestion in ad hoc wireless LANSJ, Wireless Communications and Networking, 2003:635641.17Shugong Xu, Tarek Saadow i. Does IEEE 802.11 MAC Potocol Work Well in Multihop Wireless Ad Hoc NetworksJ. IEEE Communications Magazine June 2001, 39(6) : 130137.18H. Frey. “Scalable Geographic Routing Algorithms for Wireless Ad Hoc Networks,” IEEE Network Mag., July/Aug. 2004:1822附录1:原理图附录2:程序源代码:#include #include /可以嵌套#include /不可嵌套,执行时总中断被关闭#include UART16.h#define SCK_1 PORTB|= _BV(1)#define SCK_0 PORTB&=_BV(1)#define RCK_1 PORTB|= _BV(0)#define RCK_0 PORTB&=_BV(0)#define SER_1 PORTB|= _BV(2)#define SER_0 PORTB&=_BV(2)#define CLK_1 PORTA|= _BV(0)#define CLK_0 PORTA&=_BV(0)#define DIN_1 PORTA|= _BV(1)#define DIN_0 PORTA&=_BV(1)#define CS_1 PORTA|= _BV(2)#define CS_0 PORTA&=_BV(2)/*-*/uint zg16=0x8000,0x4000,0x2000,0x1000,0x0800,0x0400,0x0200,0x0100,0x0080,0x0040,0x0020,0x0010,0x0008,0x0004,0x0002,0x0001; uin zd16=0x7fff,0xbfff,0xdfff,0xefff,0xf7ff,0xfbff,0xfdff,0xfeff,0xff7f,0xffbf,0xffdf,0xffef,0xfff7,0xfffb,0xfffd,0xfffe; /模拟板吸合uint dfs4=0x0000,0x0000,0x0000,0x0000;/缓存的数据,带发送的/*-*/uchar cs=0,ss=0;/中断函数中的次数/*-*/void delay(uint n) uint i,j; for(i=0;in;i+) for(j=0;j1000;j+) ; void TLC5618(uchar nn) uchar i=0; uint dm; dm=js2*16; /dm|=0x1000; dm|=0x9000; DDRA|=_BV(1)|_BV(2)|_BV(3)|_BV(4)|_BV(5)|_BV(0); PORTA=0xff; switch(nn) case 0x01: PORTA=0xc3; break; case 0x03: PORTA=0xe3; break; case 0X05: PORTA=0xd3; break; case 0X07: PORTA=0xf3; break; case 0X09: PORTA=0xcb; break; case 0X0b: PORTA=0xeb; break; case 0X0d: PORTA=0xdb; break; case 0X0f: PORTA=0xfb; break; / put128_c(0x55);/返回个标志位 for(i=0;i16;i+) CLK_1;if(dm&0x8000) DIN_1;else DIN_0;CLK_0; asm(nop); dm=dm1; for(i=0;i16;i+)/因为有缓冲器,所以必须推移16位数据 CLK_1;DIN_0;CLK_0; asm(nop); /*-除模拟电压-*/ void clear_5618(uchar nn) uchar i=0; uint dm; /dm=js2*16; /dm|=0x1000; dm=0x9000; DDRA|=_BV(1)|_BV(2)|_BV(3)|_BV(4)|_BV(5)|_BV(0); PORTA=0xff; switch(nn) case 0x01: PORTA=0xc3; break; case 0x03: PORTA=0xe3; break; case 0X05: PORTA=0xd3; break; case 0X07: PORTA=0xf3; break; case 0X09: PORTA=0xcb; break; case 0X0b: PORTA=0xeb; bre

温馨提示

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

评论

0/150

提交评论