APP下载

基于跳频技术的无线电遥控器的研究与实现

2021-04-20胡巍砾孟浩

电子技术与软件工程 2021年1期
关键词:液晶屏电位器摇杆

胡巍砾 孟浩

(安徽农业大学信息与计算机学院 安徽省合肥市 230036)

无线电遥控器通常由发射部分和接收部分组成,无论是在工业上还是在家庭中都有无线电遥控的身影。文献[2]是设计了一款红外遥控器,可以精准测量脉宽,并可记录一些电气设备遥控器发射的红外线数据,不够安全稳定,障碍物的遮挡对信号正常的传输有严重的影响。文献[5]用DSP 和FPGA 芯片实现了跳频的相关通信,但是所需要的成本比较大。本文利用STM32F103C8T6 微控制器和NRF24L01 无线通信模块等作为跳频通信的主要部分,设计了相应的发射机和接收机,接收机有相应的脉冲输出引脚,可以对接收机相应的输出引脚进行2 次开发,即让此款遥控器适用于不同的场合。

1 硬件系统的设计与实现

基于跳频技术的无线电遥控器的研究与实现主要设计思想是将嵌入式设计、射频通信设计、LCD 屏幕显示设计相互融合[2],实现安全稳定的无线控制。无线电遥控器通过采集摇杆和按键的电压值,并把电压值转换为相应的数字量,通过无线通信模块将这些数字量发送给无线电遥控器的接收部分[3]。如图1所示。

1.1 无线电遥控器发射部分

1.1.1 控制器模块

如图2所示,本文无线电遥控器发射部分选用具有Corter-M3内核的STM32F103C8T6 微控制器作为主控制器。STM32F103C8T6微控制器具有易开发、自身功能多、工作速度快等特点[4]。本系统通过STM32F103C8T6 微控制器的PB0、PA7、PA6、PA5、PA4、PB1 和±极的引脚来控制Nokia 5110 屏幕的显示,通过PB8、PB7、PB6、PB13、PB14、PB15 和±极的引脚来控制NRF24L01无线通信模块进行发射部分和接收部分之间的通信。

图1:系统总体结构

图2:STM32F103C8T6 电路图

图3:电源模块原理图

图4:摇杆电位器模块电路图

1.1.2 电源模块

电源电路设计在系统中具有举足轻重的地位,电源电路设计的好坏直接决定了系统各个模块正常的工作状态、使用寿命,在很大程度上决定了整个遥控设备发射部分的稳定性和鲁棒性。本文只需给STM32F103C8T6 微控制器3.3V 的电压即可使无线电遥控器发射部分正常工作。其余的摇杆电位器、液晶屏显示模块、无线通信模块也都是需要3.3V 的电压即可驱动。STM32F103C8T6 微控制器电源系统中的ME6211-3.3 是一款性价比很高的线性稳压器,被广泛应用于各种电源模块中,以便提高电源模块的稳定性[5]。该微控制器的电源系统原理图如图3所示。

1.1.3 摇杆电位器模块

摇杆电位器被广泛应用于各种手柄中,本文中的遥控器发射部分中存在两个摇杆电位器模块,摇杆电位器可以把其看成一个简单的滑动变阻器的增强版。每个摇杆电位器可以看成是两个滑动变阻器的组合,其中两边都各有正负极和一个电压信号输出引脚,给两边的正负极引脚提供3.3V 的电压,后期通过操纵者推动摇杆来改变每个通道上的电阻,中间的电压信号输出引脚接在模数转换的检测引脚上,通过检测到因为摇杆位移而造成变化的电压值,并通过模数转换器转换成无符号的数字量[6]。如图4所示。

1.1.4 模数转换器模块

ADC 即模拟数字转换器是将自然界中的电压、温度、湿度等这样的连续变化的信号转换成不连续的,人为抽象出来的间断的信号,以便于让程序去更好地去读取外界信息,并对外界信息进行进一步的分析处理。STM32F103C8T6 微控制器包含了2 个模拟数字转换器。我们只用了其中一个模拟数字转换器的0~3 通道,这4 个通道分别用来检测摇杆电位器的4 个主要通道,即左右两个摇杆的上下左右主方向的位移量的测量。此微控制器中的模拟数字转换器的检测电压范围是0~3.3V 即可,否则会烧坏其模拟数字转换器,故摇杆电位器只需要给其提供3.3V 的电压即可,这样检测摇杆电位器的电压信号输出就不会超过3.3V。因此微控制器内部包含模拟数字转换器,故不需要再外接相应模块,只是需要将相应通道对应的模拟数字转换器的引脚连接在被测电压上面。本无线电遥控系统采用ADC1 的通道0(PA0)、通道1(PA1)、通道2(PA2)、通道3(PA3)和摇杆电位器的被测电压引脚连接在一起。具体电路连接如图5所示。

1.1.5 无线通信模块

NRF24L01 无线通信模块因其体积小、只需要3.3V 的供电电压便可以驱动、价格便宜等优点从而被广泛应用于各种市面上的各种遥控设备上,其输出频率和工作通信频道可通过程序去设定,例如此微控制器中的NRF24L01_Write_Reg(u8 reg,u8 value)函数中的第二个值就是用来设定无线通信模块的工作通信频道,无线通信模块的通信协议是SPI 通信协议[1],此通信协议比较简单,数据传输速率快,都使得此通信模块具有优良的性价比。如表1所示。

无线通信模块和STM32F103C8T6 微控制器的具体接线图如图6所示。

1.1.6 液晶显示屏模块

Nokia5110 液晶屏是原来一款手机的拆机屏,具有体积小、3.3V供电电压和易编程等优点。可以显示图片和汉字,而且市场上库存量很大,不用担心库存的问题,需要在上面显示汉字时候,利用取字模软件,将相应大小的汉字转换成十六进制输出,再在程序中利用相应的显示函数把十六进制的汉字输出显示在屏幕相应位置上。显示图片同样也是借助取自字模软件得到图像的像素数组,显示的图片像素大小有限制,注意像素不能太大,不然不能正常显示相应的图片[7]。Nokia5110 与STM32F103C8T6 微控制器的具体接线图如图7所示。

图5:stm32f103c8t6 微控制器和摇杆电位器引脚连接图

图6:无线通信模块和STM32F103C8T6 微控制器的接线图

图7:stm32f103c8t6 微控制器和Nokia5110 液晶屏引脚连接图

1.2 无线电遥控器接收部分

1.2.1 遥控器模块无线电遥控器接收部分控制器模块同样采用STM32F103C8T6作为微控制器,其微控制器电路图与图2相同,这里不再赘述。

1.2.2 电源模块

无线电遥控器接收部分控制器模块,同样借助外部的5V 输出或者3.3V 输出的电源供电即可,主控制器内部的电源模块电路图与图3相同,这里不再赘述。

1.2.3 无线通信模块

无线电遥控器接收部分同样采用低功耗、及时性强的NRF24L01 无线通信模块。无线通信模块的详细信息说明如表1所示。无线通信模块具体引脚和STM32F103C8T6 微控制器的引脚接线图如图6所示。这里不再赘述。

图8:系统运行主流程框图

图9:发射部分开机正常运行调试图

图10:发射部分与接收部分对频调试图

2 系统软件设计

表1:无线通信模块引脚使用表

表2:无线电遥控器正常运行数据

图11:接收部分串口调试助手

2.1 无线电遥控器程序流程

上面对无线电遥控系统的硬件电路各个模块做了详细的阐述,本节将着重介绍无线电遥控器控制系统的软件设计。控制系统的软件设计也决定着无线电遥控性能的好坏。是整体系统的核心所在,无线电遥控器的跳频通信、摇杆电位器变化电压的采集、接收部分把接收到的变化电压的数字量转换为脉冲输出等都依托着软件系统的实现。软件系统主要实现了发射部分先主动与等待中的接收部分进行对频操作,对频成功后,发射部分再按照设定好的跳频序列进行每秒100 次的跳频操作,同时把摇杆电位器的运动变化通过无线通信模块传输过去,接收部分再把接收到的摇杆电位器运动信号转换为脉冲信号最终通过相应的引脚输出[8]。具体的程序流程框图如图8所示。

2.1.1 发射部分控制器程序流程

为了保证系统的稳定性以及功能的多样性,在无线电遥控器开机阶段,遥控器发射部分会进行Nokia 5110 液晶屏等各个模块的上电初始化。同时开机时会对进行NRF24L01 无线通信模块进行检测,查看有无正常连接。在正常连接的情况下,程序才会进入对频阶段,并且Nokia 5110 液晶屏会警告显示“(无线)模块错误”,从而提醒你检查NRF24L01 无线通信模块有没有正常连接。当连接是正确的时候,程序会首先开始检测油门是否安全,即控制油门信号的摇杆电位器的摇杆有没有回中,并且Nokia 5110 液晶屏会警告显示“油门不安全”,当油门摇杆电位器的摇杆正式回中时候,才会正常显示遥控界面。这时,点击“菜单”按键进入主菜单设置界面,把两个摇杆电位器的摇杆产生的相应变化电压转换为0-4096 的变化的数字量,根据数字量的改变去判断摇杆电位器的摇杆具体的移动情况,用其中一个摇杆的移动去控制屏幕主菜单(主菜单内容:工作模式、新鲜功能、通道设置、快捷功能、系统设置)功能选项的具体选择,另一个摇杆电位器的横向移动去进行二级菜单(二级菜单内容:新建接收、音效开关、显示切换、发射功率)的进入,进入二级菜单过后再通过其中一个摇杆电位器的摇杆选择二级菜单中“新建接收”功能选择,系统此时会正式把发射部分的NRF24L01无线通信模块设置成发射模式[9]。具体工作通信频率公式如下所示。

在上述操作进入“新建接收”功能选项后,接下来的对频操作会按之前设定发射部分的对频工作通信频率为2440MHz 去对频,即在NRF24L01_Write_Reg(u8 reg,u8 value)SPI 写寄存器函数中设置第二个参数value 写入的值为40[10],并且由发射部分在2440MHz工作通信频率上先发射一个启动标志,等待无线电遥控器的接收部分成功接收到此启动标志后才开始正式的跳频通信。这时摇杆电位器各个方向的运动变化被时刻转换为0-4096 的变化的数字量,因为NRF24L01发送数据函数中发送的数组是8位长度的数据类型[11],所以将4096 数字量缩小一定倍数,让其变成255 以内的数字量,使其能顺利通过无线通信模块在不断变换工作通信频道的方式下传输出去。同时Nokia 5110 液晶屏会显示4 个遥控器主通道变化的幅度,以及以进度条的方式直观显示油门摇杆的变化幅度。

2.1.2 接收部分控制器程序流程

无线电遥控器接收部分同样也设置了开机阶段对于NRF24L01无线通信模块的检测。当无线通信模块没有正确连接时候,STM32F103C8T6 微控制器会有相应的LED 指示灯会亮起,提醒操纵者去确认无线通信模块有没有出现接触不良或者意外脱落的情况。当无线通信模块被重新接好时,系统软件就会让无线电遥控系统的接收部分的无线通信模块设置成接收模式。接收部分为了配合发射部分的主控制器的开机阶段选择的对频操作,于是在接收部分主控制器也同样设定工作通信频道为40,即2440MHz 去对频。接收部分工作通信频道设置为40 是为了和发射部分工作通信频道保持一致。无线电遥控器接收部分程序停在正式接受到发射部分发送过来的启动标志。当接收到启动标志后,接收部分就会也进行同样的跳频操作。接下来接收部分每20ms 查看一次发射部分发射过来的摇杆摇动产生的变化的数字量,一共需要查看的是数组中的4 个变量,4 个变量分别代表无线电遥控器发射部分传送过来的左右摇杆主要的4 个方向的变化量,通过判断判断这个4 变量变化的程度来决定每个通道高电平的延长时间,周期就是设定20ms,并且通过定时器设定相同的跳频频率,设定每秒跳100 次,即每10ms 按照事先设定好的和无线电遥控器发射部分一致的跳频序列去改变工作通信频道。

3 系统调试

3.1 模拟调试

各个模块在喷锡板上焊接完成之后,为了查看具体功能有没有潜在的问题,具体相关测试具体过程如下。

(1)先给焊接好的喷锡板上的各个模块供电,当Nokia 5110液晶屏模块可以正常显示开机画面的时候,查看液晶屏背光按键是否正常,并推动摇杆电位器,查看液晶屏上对摇杆推动方向数值的变化以及油门进度条的显示是否正常。

(2)点击发射机右侧的按键,进入主菜单设置界面,推动右摇杆上下运动选择新鲜功能,再推动左摇杆向左运动进行新鲜功能的确定并进入二级菜单。查看二级菜单能否正常显示。

(3)若二级菜单能够正常显示,同样继续推动右摇杆上下运动选择新鲜功能,再推动左摇杆向左运动进行新建接收功能的确定,如果发射机与接收机成功对频成功并顺利进入跳频通信,则发射机与接收机指示灯会共同亮起,并且在接收机通过USB 转TTL 模块在电脑串口调试助手上可以显示发射机传输过来的摇杆的变化的数字量信息。还可以通过示波器观看传输过来的脉冲。

如果运行状况正常,无线电遥控器发射部分的液晶屏开机会提示油门是否安全,当右边的油门归零后,液晶屏会正常显示出开机画面。模拟调试状态下,无线电遥控器发射部分开机正常显示画面如图9所示。进行和接收机的对频连接操作如图10 所示。通过电脑串口调试助手显示接收部分接收到的变化的电压信号具体如图11所示。

3.2 系统数据分析

数据分析是由操作人员推动无线电遥控器的发射部分的摇杆,分析接收部分获取到的变化的电压信息以及采集到的波形,判断本系统是否正常工作。

首先给无线电遥控器发射部分和接收部分供电,当油门摇杆没有归零,Nokia 5110 液晶屏会有油门不安全的提示,操作人员只有把油门归零后才能顺利进入下一步的操作。当通过发射部分上的按键点击,进入主菜单界面,选择新鲜功能选项,进入二级菜单后,再次选择新建接收功能,此时等待发射部分和接收部分的led 灯同时亮起。此时通过推动左右两个摇杆可以把产生的变化的电压信息通过不断变化的工作通信频道传递给接收部分。紧接着可以在电脑串口调助手上查看到由变化的电压转化过来的数字量信息。

无线电遥控器正常启动时,在开启对频功能后,无线电遥控器接收部分接收到的摇杆信号数字量如表2所示。从表中的数据可以看出推动遥控器发射部分的摇杆,可以将发射部分的摇杆电位器产生的变化的数字量输送给接收部分。当发射部分的摇杆电位器产生移动时,接收部分会接收到变化的电压信号,并且数字量在0~240之间变化。脉宽也会随着摇杆位移状态的改变而改变[12]。表2完全符合无线电遥控器正常运行的情况,所以可以判断此时无线电遥控器工作状况正常。

4 结论

本文针对无线通信技术中的稳定性、安全性问题进行了探讨,采取不断改变其工作通信频道的方式,并利用液晶屏模块,NRF24L01 无线通信模块、摇杆电位器模块等进行了无线电遥控器发射部分与接收部分的研制。最后进行了相关跳频和对频功能的测试,测试结果和预期一致。设计和实现了基于跳频技术的无线电遥控器的发射部分和接收部分。

猜你喜欢

液晶屏电位器摇杆
曲柄摇杆机构的急回程度分析与探讨*
曲柄与摇杆摆角的关系
基于STM32F4的多通道串口驱动TFT液晶屏显示系统设计
Hepatitis C virus antigens enzyme immunoassay for one-step diagnosis of hepatitis C virus coinfection in human immunodeficiency virus infected individuals
FPGA的TFT-LCD真彩液晶屏显示控制
曲柄摇杆行星系取苗机构参数匹配与优化
Mixly开源项目设计10:用自制多量程欧姆表测量电位器的电阻
电位器在直线步进电机中的应用
基于图像处理的电能表液晶屏质量检测方法
Varian Clinic 23EX 加速器电位器故障维修一例