这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 高校专区 » 毕业设计专区 » 基于无线射频的超声波导航小车系统设计

共1条 1/1 1 跳转至

基于无线射频的超声波导航小车系统设计

专家
2013-01-22 17:41:38     打赏

作者:内蒙古科技大学 李凯 张宁
指导教师:郭宇

  产品简介

  1开发背景
  当今汽车行业发展迅速,私家车越来越普及,无线控制汽车,可以大大减轻司机的工作程度,实现智能化,本作品用NRF24L01射频收发来实现小车的遥控;超声波可以精确的测试出与前方或后方物体之间短距离的变化实时显示到液晶屏上,在大多数汽车没有防撞击预警的情况下可以用本作品实现汽车的撞击、摩擦预警。
  2结构说明
  根据系统的设计要求,做品主要分为2个子系统,11个模块具体如下图所示:其中单片机最小模块是同一型号的,无线射频收发模块是同一型号的。  

 

  (1) 主控模块:主控模块采用比赛所要求的IAP15F2K61S2为核心的单片机来控制。IAP15F2K61S2是增强型8051单片机,1T,单时钟/机器周期,速度比普通的快8051快8-12倍。
  (2) 测温模块:采用主控上自带测温模块,配置温度传感器DS18B20,收集温度参数。
  (3) 测距模块:采用US-100超声波传感器,US-100超声波测距模块0-4米非接触测距功能,静电功耗低于2mA,自带温度传感器对测距结果进行校正,内带看门狗,工作稳定可靠。
  (4) 报警模块:利用主控上的蜂鸣器模块,打开串口P2.2,输入低电平,即可触发蜂鸣器,发出报警声。
  (5) 上位机模块:利用C++编写的MFC程序,通过串口与单片机建立连接,把波特率、以及各种控制数据发送给串口。
  (6) 最小单片机系统:主要由STC89C52RC来控制,拥有灵巧的8 位CPU 和在系统可编程Flash。在本作品中,主要用于和上位、NRF24L01的数据传输。
  (7) 无线射频收发模块:本作品中无线射频模块采用NRF24L01无线收发模块,数据包每次可传输1~32Byte的数据,通过导入单片机的程序,来控制它的收发状态。
  (8) 驱动模块:采用一片LM293芯片来驱动两个直流电机。通过控制输入串口电压的高低,来控制驱动的输出电平的高低,控制直流电机的转动方向。
  3功能与使用说明
  硬件具体功能与使用如下图1所示  

 

  功能及使用说明:本作品可以实现基本的测距、测温功能,通过LCD1602液晶来显示出来。其中测距、测温模块可以移植到其他的地点与产所,如停车场,停车位和一些对温度有要求的场所。通过测距来导航小车,当距离小于安全距离时,就会报警,pc端就可以通过上位机来控制小车的转向与停止,实现了远距离无线遥控的功能。
  软件上位机具体功能与使用如下图2所示:  

 

  功能及使用说明:上位机右半部分是小车的控制模块有启动、停止、前进、后退、左转、右转,当硬件电路接上电源之后就可以点击相应的按钮实现其所指示的动作。

  平台选型说明

  平台1选型为宏晶公司的MCU为IAP15F2K61S2的单片机, IAP15F2K61S2是宏晶公司最新STC15系列增强型8051单片机,配置40引脚,1T,单时钟/机器周期,速度比普通的快8051快8-12倍。61K字节片内FLASH程序存储器,擦写次数10万次以上。共8通道10位高速ADC,速度可达30万次/秒,3路PWM还可当3路D/A使用。内部高精度R/C时钟,内部时钟从5MHZ-35MHZ可选,相当于普通的8051的60MHZ-420MHZ。内部高可靠复位,8级可选复位门槛电压,彻底省掉外部复位电路,单片机上自带温度检测、报警、液晶显示电路,能实现本作品的测温、报警、液晶显示功能。实物如图3:  

 

  平台2 的选型是一个模块化的最小单片机系统,实物图如图4、电路原理图如图5所示  

 

  本模块采用STC89C52RC单片机,起振电路采用11.0592MH晶振,波特率9600,能和NRF24L01模块成功对接,实时通信,能大大降低丢包率和发送成功率。还包括复位电路和led电路、USB电路。

  设计说明

  1设计要求
  (1) 液晶显示部分对比度适中,背光亮度适中,显示的内容清晰稳定,做到节能的、有效的、实时的显示测得的距离和温度。
  (2) 小车驱动部分线路简单,所用驱动芯片为一个LM293,驱动小车时,指示灯点亮,小车前部和后部的提示灯也会点亮,既美观有能起到提示小车动作作用。
  (3) 上位机外观整洁,美观,各按钮对应函数完善完整,点击即可实现无线遥控。
  (4) 主控部分引脚接线整洁,易于操作。
  2主要硬件电路部分
  2.1无线NRF24L01射频收发模块
  (1)NRF24L01基本信息
  NRF24L01是NORDIC公司最近生产的一款无线通信芯片,采用FSK调制内部集成NORDIC直接的Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信。无线通信速度可达2M(bps)。工作在2.4~2.5GHZ频段世界通用ISM频段(不受管制的频段)的单片无限收发器芯片,通信距离可达300米。
  其实物图如图6所示、NRF24L01功能框图如图8、原理图如图9所示  


 

  如图所示,从单片机控制的角度来看,我们只需关注上图右面的六个控制盒数据型号,分别为CSN、SCK、MISO、MOSI、IPQ、CE。
  CSN:芯片的片选线,CSN为低电平芯片工作。
  SCK:芯片控制的时钟线(SPI时钟),
  MISO:芯片控制数据线(Master input slave output)。
  MOSI:芯片控制数据线(Master output slave input)。
  IRQ:中断信号。无线通信过程中MCU主要通过IPQ与NRF24L01进行通信。
  CE:芯片的模式控制线。在CSN为低的情况下,CE协同NRF24L01的CONFIG寄存器共同决定NRF24L01的状态。
  (2)工作模式
  收发模式:在 Enhanced ShockBurstTM 收发模式下, NRF24L01 自动处理字头和 CRC 校验码。在接收数据时,自动把字头和 CRC 校验码移去。在发送数据时,自动加上字头和 CRC 校验码,在发送模式下,置 CE 为高,至少 10us ,将时发送过程完成后。
  Enhanced ShockBurstTM 发射流程:(编程相关)
  1. 把接收机的地址和要发送的数据按时序送入NRF24L01 ;
  2. 配置 CONFIG 寄存器,使之进入发送模式。
  3. 微控制器把 CE 置高(至少 10us ),激发 NRF24L01 进行 Enhanced ShockBurstTM 发射;
  4.NRF24L01 的 Enhanced ShockBurstTM 发射 (1) 给射频前端供电; (2)射频数据打包 ( 加字头、 CRC 校验码 ) ; (3) 高速发射数据包; (4)发射完成, NRF24L01 进入空闲状态。
  (3)Enhanced ShockBurstT M接收流程
  1. 配置本机地址和要接收的数据包大小;
  2. 配置 CONFIG寄存器,使之进入接收模式,把 CE 置高。
  3. 130us 后, NRF24L01 进入监视状态,等待数据包的到来;
  4. 当接收到正确的数据包 ( 正确的地址和 CRC 校验码 ) , NRF2401 自动把字头、地址和 CRC 校验位移去;
  5. NRF24L01 通过把 STATUS 寄存器的 RX_DR 置位 (STATUS 一般引起微控制器中断 ) 通知微控制器;
  6. 微控制器把数据从 NewMsg_RF2401 读出 ;
  7 所有数据读取完毕后,可以清除 STATUS 寄存器。 NRF2401 可以进入四种主要的模式之一。  

 

  工作模式由 PWR_UP(寄存器一位)、 PRIM_RX(寄存器一位)和 CE 决定。
  对NRF24L01的固件编程的基本思路如下:
  1.置CSN为低,使能芯片,配置芯片各个参数。
  2.如果是Tx模式,填充TxFIFO。
  3.配置完成后,通过CE与CONFIG中的PWR-UP与PRIM-RX参数确定24L01要切换的状态,
  Tx Mode:PWR-UP=1;PRIM-RX=0;CE=1;Rx Mode:PWR-UP=1;PRIM-RX=1;CE=1;
  4.IRQ引脚会在以下三种情况变低:
  Tx FIFO发完并且收到ACK
  Rx FIFO收到数据
  达到最大重发次数
  将IRQ接到外部中断输入引脚,通过中断程序进行处理。
  (4)配置NRF24L01模块
  NRF2401 的所有配置工作都是通过 SPI 完成,共有30字节的配置字。我们设置 NRF24L01 工作于 Enhanced ShockBurstTM 收发模式,这种工作模式下,系统的程序编制会更加简单,并且稳定性也会更高,ShockBurstTM 的配置字使 NRF24L01 能够处理射频(RF)协议,在配置完成后,在 NRF24L01 工作的过程中,只需改变其最低一个字节中的内容,以实现接收模式和发送模式之间切换。ShockBurstTM 的配置字可以分为以下四个部分:
  数据宽度:声明射频数据包中数据占用的位数。这使得 NRF24能够区分接收数据包中的数据和 CRC 校验码;
  地址宽度:声明射频数据包中地址占用的位数。这使得 NRF24能够区分地址和数据;
  地址:接收数据的地址,有通道 0 到通道 5 的地址;
  CRC :使 NRF24L01 能够生成 CRC 校验码和解码。
  当使用 NRF24L01 片内的 CRC 技术时,要确保在配置字(如下图11)(CONFEN_CRC)中 CRC 校验被使能,并且发送和接收使用相同的协议。  

 

  2.2超声波收发模块
  US-100超声波测距模块可实现2cm~4.5m的非接触测距功能,拥有2.4~5.5V的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠。实物图12如下所示  

 

  从左到右依次编号1,2,3,4,5。它们的定义如下:
  1号Pin:接VCC电源(供电范围2.4V~5.5V)。
  2号Pin:当为UART模式时,接外部电路UART的TX端;当为电平触发模式时,接外部电路的Trig端。
  3号Pin:当为UART模式时,接外部电路UART的RX端;当为电平触发模式时,接外部电路的Echo端。
  4号Pin:接外部电路的地。
  5号Pin:接外部电路的地。
  电平触发测距工作原理,电平触发测距的时序如图13 所示只需要在Trig/TX管脚输入一个10US以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX管脚输出。在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过Echo端输出一高电平,可根据此高电平的持续时间来计算距离值。即距离值为:(高电平时间*340m/s)/2。  

 

  2.3温度采集模块
  DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
  (1)DS18B20的引脚介绍
  TO-92封装的DS18B20的引脚排列见图14,其引脚功能描述。  

 

  1 地信号
  2 数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。
  3 VDD,可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。
  (2)DS18B20的使用方法
  由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。
  DS18B20的复位时序  

 

  DS18B20的读时序,对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。  

 

  DS18B20的写时序,对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。  

 

  2.4驱动模块  

 

  本电路用一块LM293来控制输入输出,可以驱动两个微型直流电机,电路有钳位二极管、保护电容,具备正反转功能,本电路正反转和调速都非常方便,IN1、IN2同电平,驱动1停止,异电平两种组合对应正反转,IN3、IN4用于驱动驱动2。  

 

  3系统软件设计
  3.1上位机系统
  界面如图2
  编程过程:1.建立项目 ;
  2.在项目中插入MSComm控件 ;
  3.利用ClassWizard定义CMSComm类控制变量 ;
  4.在对话框中添加控件 ;
  5.添加串口事件消息处理函数OnComm() ;
  6.打开和设置串口参数 ;
  7.发送数据 。
  3.2单片机程序  

 

  子程序1主要起到超声波测距、温度采集、危险报警的作用,给系统上电后,芯片复位初始化,即可显示各项数据。
  子程序2如图21:  

 

  子程序2主要用于无线射频信号的收发,接收从pc端端口传来的指令,并发送给无线发送模块;接收从无线接收模块接传来的数据处理、判断,并给驱动指令,控制小车的方向。

  产品特色

  1实用性
  本作品实用性强,价格便宜,显示数据敏捷快速,延迟为ms级,与汽车运行一致,可以安装在汽车上,做简单的距离指示仪,也可以安装在停车场、停车位做指示牌,指示车辆停靠的位置距离大小。能很好的防碰撞,防追尾。

  2创新性
  现在汽车上大部分没有安装距离过近指示报警系统,汽车发生追尾擦车事故很常见,用这个简单的系统即可在4m范围内提供一个很有效的距离能精确到CM级的数据。再者此系统价格便宜,使用方便,此电路设计精巧,模块化可用,超声波测距模块和测温模块、无线上位模块改一下程序都可以分开使用,测距模块可以单独使用到停车厂,测温模块可以使用到车间等一些需要温度监控的地方,无线模块可以使用到一些危险工作场所做一些无线远程遥控,用途广泛。

系统演示视频:http://v.eepw.com.cn/video/play/id/2592




关键词: 基于     无线     射频     超声波     导航     小车     系统     设计         

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]