基于NRF9E5射频无线遥控系统的设计

最新更新时间:2008-08-18来源: 中国电子网关键字:遥控系统  射频模块  CRC校验  SCK  外部中断  李娜英  位移控制  无线传输 手机看文章 扫描二维码
随时随地手机看文章

  摘 要 介绍了一种基于8051内核的无线射频传输芯片nRF9E5,采用该芯片制作了扑翼微型飞行器的遥控系统,对遥控系统的收发装置进行了硬件设计,并对设计出的硬件系统进行了软件编程和系统的调试,实验表明,该系统具有成本少、功耗低、尺寸小的特点,能以较高质量在100~150米范围内进行信号的无线传输。

  关键词 扑翼微型飞行器 遥控系统 射频 nRF9E5

  1 [1]

  现在和未来的飞行机器人[1-3]设计方向是期望机器人是小巧的、手提的、随身携带,可以像昆虫一样超低空飞行,能够灵活地完成侦察和搜索任务。多年来以军事用途为背景的无人飞行器(UAV—Unmanned Aerial Vehicle)研究一直十分活跃,这些无人飞行器通过地面基站遥控导航,或者通过自身的智能控制算法,来实现其自身的任务规划与航迹生成,完成预定的飞行任务。仿生MAV是整个飞行任务的载体,仿生MAV性能的优劣影响整个飞行系统的性能,目前仿生微飞行器有采用压电驱动、人造肌肉驱动、形状记忆合金(SMA)驱动以及电磁微马达驱动,但目前能够实现扑翼飞行的是采用微马达的驱动方式,其他的驱动形式仅仅属于概念性的设计,从实用的角度来讲,采用电磁微马达的驱动方式更为成熟。仿生微型飞行器采用高能电池供电,通过电磁微马达驱动扑翼,通过形状记忆合金(SMA)来控制仿生微飞行器的运动模态,通过微型传感器来检测仿生微飞行器的位置和姿态,通过微处理芯片对输入信号进行检测,并通过输出去控制相应的执行机构,仿生微飞行器通过射频传输模块建立和地面控制基站的数据链路。

  2遥控系统的结构设计

  扑翼微型飞行器的遥控系统主要是为了调节飞行器的扑动频率以及飞行器尾翼的升降、左右摆动;至于飞行器的视频采集、姿态控制及位移控制,目前对其设计还不太现实,因为扑翼微型飞行器还不能实现自主飞行,如果控制系统过于复杂,则不可避免地增大飞行器重量,这些因素不利于飞行器的飞行。整个遥控系统包括两个部分,一部分为系统的发射部分,其主要任务是发送控制命令,通过计算机把控制命令经计算机的串口和射频模块发送出去,完成命令的生成和传输,即通过计算机发送控制命令,传递给nRF9E5芯片,芯片通过射频端发射出去;另一部分为扑翼微型飞行器自身的控制器,这部分的作用是接收地面的控制指令,经控制器来调整微马达的转速,进而来控制扑翼的拍打频率,即把接受到的控制命令传递给nRF9E5芯片,然后由nRF9E5芯片输出PWM脉宽,进而来调整电压输出,从而来控制直流微马达的转速。

  nRF9E5[4]采用QFN封装,其尺寸大小为55mm,图1所示为nRF9E5的引脚分配与封装。其中P0口和P1口与8051的对应端口相同,这两个端口是采用CMOS驱动的双向IO口,其方向可通过_DIR和_ALT寄存器的设置来选择端口的功能和数据传输的方向。P0口通过P0_ALT和P0_DIR进行设置,当P0_ALT的对应位为1时,则P0.n具有UART、外部中断、定时器输入或脉宽调制输出功能,其方向由P0_DIR的对应位来确定;P1口的4个引脚MISO、MOSI、EECSN、SCK作为系统上电后EEPROM和系统进行通讯的接口,EECSN为片选信号,SCK为存储器的时钟信号,MOSI、MISO分别为串行数据的输入和输出信号。P1口的控制寄存器分别为SPI_CTRL、P1_ALT、P1_DIR,当SPI_CTRL=1时,P1口作SPI口使用,当SPI_CTRL=0时,P1作通用IO口,XC1和XC2分别为系统时钟的输入和输出,ANT1和ANI2为系统射频信号的接口,AIN0~AIN3为模拟信号的输入端口。遥控系统的结构布局如图2所示。

  

  

  地面射频遥控装置的命令发射端的电路原理图如图3所示,J1为9针的D型插座,连接计算机的串口,控制命令由串口传出,串口连接MAX3232芯片,该芯片为电平转换电路,其主要目的是把计算机15V的高电平转换为MCU可以接受的0~3V的CMOS电平,J1

  

  图3 地面射频遥控装置的命令发射端的电路原理图

  

  插座中引出的引脚为2、3、5分别对应与TXD、RXD、GND,经MAX3232转换后连接nRF9E5的P01、P02,P01和P02分别设置为第二功能的RXD、TXD;25AA320为Microchip公司的串行程序存储器,MCU的运行指令先烧写到此芯片中,当系统上电复位后,程序代码被下载到nRF9E5的内存中;ANT1、ANT2为nRF9E5的射频输出端,射频传输协议集成在射频模块内。

  

  图4 扑翼驱动装置接收端的电路原理图

  

  图4为扑翼驱动装置接收端的电路原理图,该电路图中与nRF9E5相连的串行程序存储器、晶振电路、射频传输电路部分与图3的电路相同,不同的是P0口的P02、P03连接在三极管的基极上(其中一个作备用),P04、P06连接两个发光二极管;三极管采用BE431,三极管的主要作用是为了把MCU输出的PWM放大,增大其输出功率,微马达连接在JP1的5、6引脚或者7、8引脚;LED1、LED2为状态指示灯,用来模拟尾舵的摆动和升降;LM1117为电源管理模块,其作用是为了把4~6V的不稳定电压转换为3.3V的稳定电压,为nRF9E5和其它用电模块提供稳定的供电电源。

  

  

  图5 命令发射端程序流程

  

  图6 数据接收端程序流程

  

  3系统的程序设计

  当遥控系统的硬件设计完成之后,软件成为沟通各个硬件部分的灵魂和血脉,遥控系统的软件程序设计主要涉及PC与nRF9E5的串行通讯,nRF9E5芯片的射频传输与接收,PWM的脉宽输出等内容,图5所示为遥控系统命令发射端程序流程,首先系统初始化,定义P0口功能、定时器初值(串行通讯的波特率)、SPI控制寄存器的初始化、RF控制寄存器初始化等,nRF9E5的串口能接收来自PC的命令,使接收的命令能顺利传出。nRF9E5的射频传输模块的功能和nRF905芯片的功能完全相同,将所有高速射频协议集成在芯片内部,和微控制器相连的部分只是采用简单的SPI接口,使得在编程时对数据的接收和发送变得异常简单,在ShockburstTMRX模式下,当地址接收正确,有效信号接收完毕后由AM和DR通知MCU,在ShockburstTMTX模式下,nRF905自动生成CRC校验,当数据发送完后由DR通知MCU。

  当有数据要发送时,MCU通过SPI接口将接收阶段的地址和有效数据写入nRF905,MCU通过设置TRX_CE、TX_EN为高来激活nRF905 Shockburst进行传输,nRF905在进行数据传输时,首先完成射频无线传输系统的自动上电,然后对数据包加前缀和进行CRC校验,进而来完成数据包的发送,当发送完毕后,设置数据就绪(DR)信号为高,可以继续进行数据的发送;如若AUTO_RETRAN设置为高,则nRF905不断的进行数据发送直至TRX_CE为低。

  当有数据需要接收时,nRF9E5的射频模块进入数据接收状态,当nRF905检测到频率相同的载波时,寄存器中的载波检测(CD)信号变高,当nRF905检测到的有效地址与自动地址匹配时,寄存器中的地址匹配(AM)信号变高,当nRF905接收到的数据包(通过CRC校验)正确时,射频模块去掉数据包的前导码地址和CRC位,数据准备就绪(DR)被置高,此时MCU可通过SPI接口将接收的数据读出;当接收完数据后,nRF905将AM和DR置低,此时nRF905将进入发射、接收或者掉电模式;接收到的数据命令通过计算机指令来调整MCU的延时时间,从而产生不同占空比的PWM脉宽,经三极管进行放大从而来驱动微马达,通过指令来调整MCU输出脉宽的占空比来达到调整电机转速的目的。

  4 结束语

  本文采用Nordic公司的nRF9E5芯片对扑翼微型飞行器的遥控装置进行了相应的硬件设计和软件编程,通过PC发送控制命令,经计算机串口传输至nRF9E5,再由nRF9E5内部的数据传送,经射频(RF)模块发送出去,另一端的接收装置也采用相同的nRF9E5,空中传输的控制命令经射频模块接收到,然后由MCU读出,进而来控制PWM脉宽的调制,从而实现了对微型直流电机的调速;实验表明,该系统具有成本少、功耗低、尺寸小的特点,能以较高质量在100~150米范围内进行信号的无线传输。

  本文作者创新点:微型飞行器是当前研究的热点,其控制系统是该课题研究的重要内容,本文采用nRF9E5射频芯片进行了仿生微型飞行器无线遥控系统的软硬件设计与系统调试,具有电路体积小,传输距离远,功耗低等特性。

  

  参考文献:

  [1] J. M. Grasmeyer and M. T. Keennon, “Development of the black widowmicro air vehicle,” in Proc. AIAA, Jan. 2001, Paper AIAA-2001-0127.

  [2] 李娜英,李惠峰.SINS/GPS/CNS组合导航在高超声速巡航飞行器上的应用[J].微计算机信息,2005,Vol.21. 9-1:P6-8.

  [3] J. Yan, R.J. Wood, S. Avadhanula, R.S. Fearing, and M. Sitti. Towards flapping wing control for a micromechanical flying insect. In Proc of the IEEE International Conference on Robotics and Automation, pages 3901–3908, Seoul, South Korea, May 2001

  [4] Product specification:433/868/915RF transceiver with embedded 8051 compatible Microcontroller and 4 input, 10bit ADC, Nordic

 

关键字:遥控系统  射频模块  CRC校验  SCK  外部中断  李娜英  位移控制  无线传输 编辑:孙树宾 引用地址:基于NRF9E5射频无线遥控系统的设计

上一篇:电子产品负载管理与负载开关的设计与实现
下一篇:Vishay 推出新型Z 箔电流感应芯片电阻

推荐阅读最新更新时间:2023-10-12 20:13

STM32 之 EXTI
按键的硬件结构有一点一定要注意,要在GPIO段上拉电阻,否则GPIO设置成浮空输入后,会造成端口电平不稳定,中断效果不理想。 另外EXTI的映射关系可以看下图,是和管脚号对应的,比较好记 (1)Main C语言: Codee#14817 /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 实验平台 : ST 官方三合一套件 + 硬件 : STM32F103C8T6 + 开发平台 : IAR For ARM 5.40 + 仿真器 : J-Link + 日
[单片机]
STM32 之 <font color='red'>EXTI</font>
STM32F0xx_EXTI中断配置详细过程-按键检测
1、概述 EXIT外部中断在使用到按键或者开关控制等应用中比较常见,低功耗中断唤醒也是很常见的一种。因此,EXIT在实际项目开发中也是比较常见的一种。EXTI(External interrupt/event controller) —外部中断/事件控制器, 管理了控制器的 20个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。 EXTI 可以实现对每个中断/事件线进行单独置可以单独配置为中断或者事件,以及触发事件的属性。 EXTI功能框图: 2、准备工作 本次采用按键作为触发源的方式来使得控制器产生中断,并在中断服务函数中执行相应的命令。按键按下- LED状态做
[单片机]
STM32F0xx_<font color='red'>EXTI</font>中断配置详细过程-按键检测
动力试验车图像无线传输控制系统的开发应用
0 引 言 长期以来,我国铁路各大机务段对电力机车进行动力学实验时,一般是将被测试机车上的视频信号以及状态信号通过有线电缆传输到动力试验车上。考虑到机车现场环境的特殊性,有线电缆传输方式使用不便且易损坏,本系统就是针对这种情况而开发的,采用无线传输方式实现系统所需功能,其使用方便、性能可靠,在很大程度上提高了牵引实验的工作效率。 1 系统总体结构 该系统通过无线图像音频传输模块将机车司机室摄像机拍摄的图像信息传送到试验车端显示器,以及实现两端语音传输。通过开关量采集模块采集试验车端云台控制器发出的控制指令,采用点对点的无线通信方式,将采集来的数据按GFSK调制方式通过无线数传模块调制成微波信号发送;接收端无线数传模块
[网络通信]
CRC16校验程序
//CRC16校验在通讯中应用广泛,这里不对其理论进行讨论,只对常见的3种 //实现方法进行测试。方法1选用了一种常见的查表方法,类似的还有512字 //节、256字等查找表的,至于查找表的生成,这里也略过。 // ---------------- POPULAR POLYNOMIALS ---------------- // CCITT: x^16 + x^12 + x^5 + x^0 (0x1021) // CRC-16: x^16 + x^15 + x^2 + x^0 (0x8005) #define CRC_16_POLYNOMIALS 0x8005 // ------
[单片机]
STM32开发 -- 外部中断详解
在讲三轴加速度计的时候,提到外部中断。接下来就看看中断为什么这么配置。 一、外部中断概述 STM32的每个IO都可以作为外部中断输入。 那我们之前讲过的,参看:STM32开发 – GPIO详解 STM32F105RC 一共有4组IO口 一共16X3+3=51个IO GPIOA0~A15 GPIOB0~B15 GPIOC0~C15 GPIOD0~D2 那么它跟中断的关系是什么呢? STM32的中断控制器支持19个外部中断/事件请求: 从图上来看,GPIO 的管脚 GPIOx.0~GPIOx.15(x=A,B,C,D,E,F,G)分别对应中断线 0 ~ 15。 另外四个EXTI线的连接方式如下: ● EXTI线16
[单片机]
STM32开发 -- <font color='red'>外部中断</font>详解
AVR Atmega16外部中断0的简点应用
#include avr/io.h #include util/delay.h #include avr/interrupt.h void port_init(void) { DDRB = 0xff; PORTB = 0xff; DDRD = 0x00; PORTD |= (1 2); } int main(void) { port_init(); GICR |= (1 INT0); sei(); while(1) { ; } } ISR(INT0_vect) { PORTB = 0xfe; _delay_ms(500); PORTB = 0xff;
[单片机]
基于单片机的井场仪表参数无线传输系统的设计
1引 言 目前,全国油田钻井现场基本都是有线数据传输。有线传输有很多缺点,现场布线复杂而且存在安全隐患,钻井是流动作业,每钻一口井就要重新布一次线,这样既费时又费力,有时还会由于布线走向的问题导致线路被碰断。一般说来,数据线都是空中架设,风吹日晒使数据线老化的较快,这样就带来直接的经济损失。钻井现场有很多公司在作业,有些参数各公司是共用的,同一个参数每个公司都要读取一次,就需要在同一个测量点上安装两台甚至更多的变送器,这样既造成了浪费又使得现场变送器安装位置紧张。 本系统采用无线通信技术,一点发射多点接收,可以实现信息共享,避免了布线的麻烦,而且流动作业时可以方便地安装和拆卸,很好地提高了工作效率。 2系统硬件设计
[单片机]
基于单片机的井场仪表参数<font color='red'>无线传输</font><font color='red'>系统</font>的设计
基于AT89C51的时间/位移换向控制器设计
引言 在实际生产过程中,常常要用到具有自动换向功能的控制部件,如机械加工中的往返运行(位移),直流电源的正反向输出,电动机的正反转运行等现象,都是当正向(或反向)运行到一定时间或一定位置时,自动换为反向(或正向)运行,周而复始的过程。实现这一过程的自动化,就是设计一套控制电路,再配以位移传感器或时间继电器。目前市场现有的时间继电器虽然可以用多个组合来满足一些使用场合的要求,但仍存在着重复计时误差大,稳定可靠运行性不高,使用不方便灵活等问题。为此,笔者研发了以单片机为核心组成的时间/位移换向控制器SWHX-1,该系统具有成本低等特点,可完全且克服以上不足。 电路组成及工作原理 SWHX-1的内部电路如图1所示。该系统分
[单片机]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved