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