1、无线遥控系统 设计题目:基于STM32与 nRF24L01的遥控系统设计 学 院:电子工程学院 专 业:应用电子信息工程 学 号:200812601144 姓 名: 唐宗欢 指导老师: 何富运 2012年4月20日目录【摘要】 3【关键词】 31绪论 41.1设计背景 41.2设计意义 42系统硬件设计 42.1 MCU部分 42.2键盘模块 523显示模块 52.4 NRF收发模块 7 2.5 串口模块.83系统软件设计 93.1系统软件流程 93.2:按键部分 103.3:NRF24L01收发数据部分 11 3.4 上位机部分.114结论总结 134.1结论 134.2心得体会 13【摘要
2、】本文设计一个无线遥控系统,其实现方式是在主控芯片STM32的控制下,实现两片nRF24L01之间的通信,无线数字传输芯片nRF24L01通过无线方式进行数据传输,一个模块进行数据的发送,经过主机数据处理后,另一个模块可以进行数据的接收。本设计结构简单,实用性较强,在一定距离内传输数据准确而快速,在现实生活中运用也较为广泛,可以灵活运用到车辆控制、遥控、小型无线网络。、无线抄表等各种实际操作中,所以,本设计在实用过程中有一定的使用价值。【关键词】主控芯片STM32 nRF24L01 无线数据传输 无线遥控1绪论1.1设计背景随着现代科技、经济等产业的快速发展,无线遥控的运用也将广泛的运用到生活
3、生产的实际当中。在工业控制现场,常常需要采集大量的现场数据,如温度、湿度、气压等,得知相关信息后,可以通过遥控系统,将控制信号传输给现场执行模块进行各种操作。可以看出,在数据采集和传输的过程中,最终能实现各个设备之间的数据传输,然后再实现对现场的控制,无线遥控控制就是一个很重要的环节。无线遥控就是指利用无线电波作为数据传输的媒介,将本地计算机或者其他设备的数据信息调制到载波频率上发射,从而和远程终端之间实现控制的技术。它涉及到计算机技术、信息技术、以及网络技术等多个学科领域。1.2设计意义 目前,无线遥控技术大体可以有以下方式实现:红外线遥控方式,无线电遥控方式,超声波遥控方式和声音遥控方式。
4、红外线遥控方式虽然成本低,响应速度快,但是在控制范围内容易受障碍物影响,容易受外界干扰;超声波频带窄,带信息量少;声音遥控不但信息量少,传播距离也短。无线电作为新一代信息传输方式,采用特殊的编码解码技术,防止无线电波的干扰,不受角度的限制,传输的距离相对比较远。近十几年来,随着移动通信技术的飞速发展,越来越多的数据采集和控制系统运用了无线数据传输技术,无线传输布线成本低、安全简便、便于移动的优点,使用在遥控遥测、门禁系统等领域,而且它在高科技领域的应用也正在迅猛发展,比如卫星、导弹、无人侦察机等地数据采集,遥控机器人等地控制,以及一些监控设备等。 此外,在现代军事领域方面,无线遥控技术也有重要
5、的战略地位,在未来的高科技中,无线遥控系统也将会运用得越来越灵活和广泛。2系统硬件设计2.1 MCU部分本设计选择正点原子的ALIENTEK MiniSTM32作为设计开发核心板,其选择的MCU为STM32F103RBT6;STM32F103的型号众多,选择这款的原因是其性价比,作为一款低端开发板,选择STM32F103RBT6是最佳的选择。128K FLASH、20K SRAM、2个SPI、3个串口、1个USB、1个CAN、2个12位的ADC、RTC、51个可用IO脚,这样的配置无论放到哪里都是很不错的了,价格便宜,足以与众多芯片媲美。MCU部分原理图如下图1.1: 图1.1 MCU部分原理
6、图2.2键盘模块开发板上的按键KEY0是接在PA13上,KEY1是接在PA15上的,WK_UP(KEY2)接在PA0上。按键原理图如下图1.2所示: 图1.2 按键原理图23显示模块显示采用2.8寸TFT彩屏显示,清楚方便。FT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。TFT-LCD也被叫做真彩液晶显示器。模块有如下特点:1,2.4/2.8两种大小的屏幕可选。2,320240的分辨率。3,16位真彩显示。4,自带触摸屏,可以用来
7、作为控制输入。该模块采用的是显尚光电的DST2001PH TFTLCD,DST2001PH的控制器为ILI9320,采用26万色的TFTLCD屏,分辨率为320240,采用16位的80并口。实物图如下图1.3、模块原理图如下图1.4: 图1.3 2.8TFT实物图 图1.4 模块原理图该接口同目前主流的几款STM32开发板的接口完全兼容,所以模块除了用在ALIENTEK MiniSTM32开发板上,也可以用在其他开发板上,当然你也可以使用其他接口一样的LCD模块放到我们的ALIENTEK MiniSTM32开发板上使用。ALIENTEK TFTLCD模块采用80并口口方与外部链接,采用16位数
8、据线(低了速度太慢,用彩色就没什么效果了)。该模块的80并口有如下一些信号线:CS:TFTLCD片选信号。WR:向TFTLCD写入数据。RD:从TFTLCD读取数据。D15:0:16位双向数据线。RST:硬复位TFTLCD。RS:命令/数据标志(0,读写命令;1,读写数据)。2.4NRF收发模块 NRF24L01无线模块,采用的芯片是NRF24L01,其为2.4G模块接口,采用8脚插针方式与开发板连接,安装拆卸比较方便。其主要特点如下:(1) 2.4Ghz 全球开放ISM 频段免许可证使用(2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合(3) 126 频道,
9、满足多点通信和跳频通信需要(4) 内置硬件CRC 检错和点对多点通信地址控制(5) 低功耗1.9 - 3.6V 工作,待机模式下状态为22uA;掉电模式下为900nA(6) 内置2.4Ghz 天线,体积小巧15mm X29mm(7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便(8) 内置专门稳压电路,使用各种电源包括DC/DC 开关电源均有很好的通信效果(9) 2.54MM间距接口,DIP封装(10)工作于Enhanced ShockBurst 具有Automatic packethandling, Auto packet tra
10、nsaction handling,具有可选的内置包应答机制,极大的降低丢包率。(11)与51系列单片机P0口连接时候,需要加10K的上拉电阻,与其余口连接不需要。(12)其他系列的单片机,如果是5V的,请参考该系列单片机IO口输出电流大小,如果超过10mA,需要串联电阻分压,否则容易烧毁模块! 如果是3.3V的,可以直接和RF24l01模块的IO口线连接。比如AVR系列单片机如果是5V 的,一般串接2K 的电阻。模块硬件接口如下图1.5所示:图1.5 模块硬件接口2.5串口模块这里三个部分一起介绍,ALIENTEK MiniSTM32开发板板载了USB 串口,并且由 USB 提供电源,使得我
11、们只需要一根 USB 线就可以使用 ALIENTEK MiniSTM32开发板了,包括下载、供电、调试3位一体。 图1.6 USB 串口、USB、电源部分原理图3系统软件设计3.1系统软件流程主程序对系统函数进行初始化,GPIO口配置,系统时钟,初始化外设。通过按键扫描,选择收发模式后,再次通过按键扫描,准确的将数据传到另一MCU,以液晶的形式显示出来,清晰明了。软件整体流程图如图3.1 图3.1整体流程图3.2 按键部分 按键扫描部分分为两个部分,第一部分是通过KEY动作产生的键值来判断NRF24L01的收发模式(KEY0为接收模式,KEY1为发送模式),一旦确定模式后,MCU将执行相应的操
12、作;第二部分是通过第一部分的KEY动作后,选择为TX_Mode后执行的,KEY0则为传送累加字符(“az”),KEY1则为传送字符串“Hello teacher!”;最后送到液晶显示。程序流程图如图3.2所示图3.2 程序流程图3.3 NRF24L01收发数据部分 NRF24L01读写数据均是通过SPI对芯片的读写实现的,首先置CSN 为低,使能芯片,配置芯片各个参数。配置参数在Power Down 状态中完成。如果是Tx 模式,填充Tx FIFO。 配置完成以后,通过CE 与CONFIG 中的PWR_UP 与PRIM_RX 参数确定24L01要切换到的状态。Tx Mode:PWR_UP=1;
13、 PRIM_RX=0; CE=1 (保持超过10us 就可以);RxMode:PWR_UP=1; PRIM_RX=1; CE=1;IRQ 引脚会在以下三种情况变低:Tx FIFO 发完并且收到ACK(使能ACK 情况下)Rx FIFO 收到数据达到最大重发次数将IRQ 接到外部中断输入引脚,通过中断程序进行处理。Tx 模式初始化过程:1)写Tx 节点的地址 TX_ADDR2)写Rx 节点的地址(主要是为了使能Auto Ack) RX_ADDR_P03)使能AUTO ACK EN_AA4)使能PIPE 0 EN_RXADDR5)配置自动重发次数 SETUP_RETR6)选择通信频率 RF_CH7
14、)配置发射参数(低噪放大器增益、发射功率、无线速率) RF_SETUP8 ) 选择通道0 有效数据宽度 Rx_Pw_P09)配置24L01 的基本参数以及切换工作模式 CONFIG。Rx 模式初始化过程:初始化步骤 24L01 相关寄存器1)写Rx 节点的地址 RX_ADDR_P02)使能AUTO ACK EN_AA3)使能PIPE 0 EN_RXADDR4)选择通信频率 RF_CH5) 选择通道0 有效数据宽度 Rx_Pw_P06)配置发射参数(低噪放大器增益、发射功率、无线速率) RF_SETUP7)配置24L01 的基本参数以及切换工作模式 CONFIG。3.4 上位机部分 主要实现上位
15、机键盘扫描,通过串口发送到MCU,再通过MCU控制nRF24L01发送键盘数据。如图3.4所示。 图3.4上位机软件部分软件截图如图3.5图3.5软件截图4结论总结4.1结论 本次设计能打到我们预期的效果,传输速率可达2M,方圆100米内均可以无线发送接收数据,且能将数据准确无误的传输到终端接收设备上,所需要的时间短,传输速率快。而且设备简便,适合用于移动设备中,在实际的应用中,给用户带来了更方便快捷的无线传输系统。 4.2心得体会 本次设计的完成,让我学会了自主设计所要明白的以写知识和道理,在整个设计过程中,一个人的知识和思维水平是有限的,在遇到问题的时候,一个人思考所花的时间很多,但是,只要勇于请教别的同学和老师,大家一起来解决所出现的问题,这样的话,解决问题所花费的时间将会大大减少,从而也提高了我们的工作效率;我想,在以后的工作中,将会有很多机会是团队一起合作的,我会尽自己最大的努力去做好事情,要勤奋的去学习,这样,在团队合作过程中,才会提高整个团队的工作效率。在这里,也得谢谢老师和同学们得帮助,有他们的指导,我才能在此次的设计中学到知识。参考文献1 例说STM32 刘军编著2 C程序设计(第三版)谭浩强 著 ,清华大学出版社。3 康华光主编.电子技术基础 数字部分(第五版)M.北京:高等教育出版社。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1