APP下载

无线控制无人车控制系统的研究与设计

2022-02-03王明鑫

无线互联科技 2022年22期
关键词:前轮直流电机舵机

王明鑫

(无锡太湖学院 智能装备工程学院,江苏 无锡 214064)

0 引言

无线控制技术的基础来自无线技术。无线技术是一种运用人们看不见的频段的波形来进行无线传输的技术。在日常生活中,无线波是无线传输的媒介或者说是无线传输的通道,并通常处于2.4 GHz。2.4 GHz是全世界公开通用使用的无线波频段,蓝牙技术的频段也在此段,在此频段下进行工作可获得更大的使用范围和更强的抗干扰能力[1]。

随着科技的不断进步,无线控制技术也在不断地更新,起初无线技术运用于电报、电话等设施。无线技术刚刚被发掘时给人们带来了巨大的“信息革命”。利用单片机技术实现无线遥控小车这一项研究其实早在时间长河中已经出现,而无人车被发明后不仅使得人们在危险的环境中大幅度减少工作时间,而且减少了接触危险的次数,如在军事侦察、勘测矿石、防病毒感染等巨大风险的环境。所以,无人车在这些环境中的调查能力有着非常快速的发展。在这股发展的热潮中,无人车也从模型车发展到大型无人车,但国内的无线控制技术发展滞后,在很多方面比欧美一些国家落后,且国内公司在无线控制小车方向发展甚少,因此引出本文所设计的无线控制无人车控制系统。

1 无人车控制系统总体方案

本设计目的是利用单片机实现小车无线控制的功能,无线遥控技术是对被控制对象进行远距离控制的技术[2]。无人车的无线控制有不同的模式,例如蓝牙和Ps2手柄控制等,上述两种无线控制模式的原理如图1所示。

图1 无线控制原理方框

本设计的无人车主要由STM32单片机电路模块、直流电机模块、无人车车模模块、电机驱动模块、无线控制模块、电源模块等组成。

(1)单片机电路模块:采用了STM32芯片作为控制单元。STM32单片机具有成本较低、高性能、抗干扰能力强、资源丰富、低功耗和低电磁干扰的优点。在调试方面,可在软件上修改程序。其硬件电路无需改变且支持在系统上直接编程调试,非常快捷方便。

(2)无线控制模块:此课题主要使用手机App和Ps2手柄控制无人车,Ps2使用类似WiFi的功能实现无线控制,由Ps2手柄对WiFi接收器发出指令,经由接收器把指令信号传输给单片机。单片机通过接收指令在程序中运行,单片机识别指令对无人车的电机及舵机发送运行指令。手机App蓝牙技术是使用蓝牙模块,以单片机为控制核心,下位机与Android手机终端通过蓝牙无线传输技术实时通信[2]。使用手机App和蓝牙模块频率对接,蓝牙接收App发送的指令在转串口操作后传输给STM32单片机,经由单片机实现App对无人车的指令控制。

(3)电机驱动电路模块设计:直流电机由电刷、换向片、绕组线圈、一对主磁极组成。改变电机上方的直流电压的极性可改变电机的转向,控制电机的电压大小则控制直流电机的转速。单片机引脚输出功率小不能实现上述功能,而电机驱动模块可实现上述功能。

2 无人车整体结构组装介绍

本文无人车结构由于车模构建复杂整体效果由平面二维图展示,其余部件组建使用实物讲解。无人车总体结构如图2所示。本课题中无人车采用单直流电机驱动方式,取一个齿轮定位安装在后轮连杆上与电机齿轮啮合,使用一根连杆连接两个后轮。电机运行时电机上的齿轮带动连轴齿轮转动,借助齿轮的转动带动连杆转动,如图3所示。将后轮装在联轴器上,如图4所示,后轮带动前轮转动,控制小车前后运动(安装后轮时先在连轴左右两端安装上轴承和联轴器)。无人车转向由前轮与舵机完成,先组装两个前轮,两个轴承放入转向杯中,大小轴承里外都放一个,并使轴承完全卡进转向杯里。使用M4自锁螺母将转向杯和前轮安装在一起,如图5所示。将图5的前轮安装配件与前轮组装完成,使用M2自锁螺母安装底盘前面的三角支架中,如图6所示。另一前轮也与图6的前轮安装方式相同,安装在三角支架中,随后使用长杆将两前轮连接,使用一根短杆把前轮与舵机连接,前轮的转向组装安装完毕,如图7所示。

图2 小车车模二维

图3 连轴组成

图4 后轮与联轴器安装完成

图5 前轮安装配件

图6 前轮安装完成

图7 无人车整体安装

3 无人车控制系统硬件设计

3.1 主控芯片的选型

无人车实现的功能为无线遥控功能,对单片机主芯片的选型只需满足无线控制模块的接口的资源要求以及所用到的定时器的要基本资源要求即可,尽量降低成本,也可实现本文所需最低要求。经对比查找发现,STM32F103RCT6款芯片可满足所需无线控制功能要求。STM32F103RCT6的特点是内部资源分配丰富,高性能、低成本、低功耗,因此在嵌入式领域具有广泛的应用[1]。STM32F103RCT6芯片是一种嵌入式-微控制器的集成电路(IC)。该芯片为32位的微处理器,频率速度有72 MHz,256 KB大小的程序存储器容量,FLASH的存储器类型,48 KB大小的RAM。此单片机的硬件资源除了这两个存储器外,还有2个基本定时器、4个通用定时器、2个高级定时器、2个DMA控制器(总共12个通道)、3个SPI、2个IIC、5个串口、1个USB、1个CAN、3个12位DAC、1个SDIO接口及51个通用I/O口(该芯片有64个接口其中有5对电源,51个I/O口和VBAT接口、BOOT0接口、NRST接口),对应本设计所需I/O口足够[3]。

3.2 无线蓝牙传输模块选型

本设计实现无人车的无线控制,可使用红外线遥控、无线电传输这两种方式。红外线这种无线控制方式基本成熟,且有弊端,为向新领域进发。本文使用无线控制的方式为无线电传输。本文的无线控制传输使用DX-BT18型号的蓝牙传输模块。DX-BT18是一款高性价比的无线蓝牙串口模块,工作2.4 GHz的工作频率中,使用了Bluetooth 4.2 BR/EDG+BLE+2.4 GHz-Proprietary的蓝牙协议。这个蓝牙协议的传输速率很高,而且对功耗的需求极低。DX-BT18还可以通过UART实现模块与手机之间的数据传输,从而实现使用手机无线控制无人车。这款蓝牙模块传输的信号也十分的稳定,有效范围有40 m之远,也就是说在40 m以内的蓝牙传输文件和信号都不会有所丢失或者失真。DX-BT18蓝牙模块还有着很好的系统容错性,它支持Windows、Linux、Android、iOS等系统。自带屏蔽罩,防尘、防静电,强大的保护模块使得DX-BT18有更长使用寿命。如图8所示,无人车上的蓝牙模块与手机配对,经由手机发出指令信息被蓝牙模块接收后再将接收到的指令串口传输给STM32单片机。单片机得到蓝牙传输的信号做出相应动作,这是无人车使用蓝牙技术进行无线控制的原理。

图8 蓝牙App通信过程

3.3 WiFi手柄无线控制模块选型

在无线控制的方式众多,包括红外线、无线电和蓝牙等控制方式。此处选择无线电控制方式,利用Ps2手柄及其接收器完成小车的无线控制。手柄控制是实现无线控制的接收发装置。要想使此接收器正常工作,接收器至少具有6个端口,分别为:DI/DAT端口、DO/CMD端口、GND端口、VDD端口、CS/SEL端口和CLK端口。在CLK时钟下,降沿完成数据的读取和发送,通信过程如表1所示。

表1 数据读取与发送过程

3.4 电机驱动芯片设计

一般来说,单片机的引脚无法直接使用驱动电机,若直接使用单片机引脚与电机连接并进行驱动,电机一般会因为电流不够大而无法被驱动,若加大单片机上的引脚输出则会导致单片机被烧毁,所以需要电机驱动电路来进行电机的驱动。

本次选择的电机驱动芯片为RZ7886芯片,由于此芯片成本低、功耗低,选此芯片。这次无人车设计使用单直流电机后轮驱动,前轮由舵机实现左右的转向,而调节施加给直流电机的直流电压大小就可以实现电机的转速调节,而改变给电机的直流电机的极性,即可实现电机转向的换向。

3.5 电机选型

本课题采用直流电机驱动,电机功率需满足无人车可驱动功率,无人车控制信号不连续,电机会有多次启动的情况,故电机选型时需考虑电机过载和启动能力。根据整体设计要求,电源供电为7.4 V,所选电机额定电压也为7.4 V。

经查阅轮胎与地面摩擦效率为η=0.98。

经测量无人车运行时阻力约为F=3 N,一般电机运行转速为1 000 r/min。由下公式(1)

P1=FV=1×3=3 W

(1)

其中,P1为无人车运行所需功率。

所以可求出电机所需功率:

(2)

所以选择电机额定电压为7.4 V,额定功率4 W,空载转速1 000 r/min的电机。

3.6 舵机选型

此次使用舵机为TBS2701金属数字舵机,该舵机可实现舵机两用功能,且成本低、精确度高、功耗低。改舵机共引3条引线,分别为电源线、地线和信号线。本舵机采用的控制方式为PWM脉冲信号控制方式,大部分舵机转动控制由程序的脉冲控制来控制舵机的转动角度。本设计选用的舵机由直流电机、减速齿轮组、传感器和控制电路组成的一套自动控制系统。发射信号,以指定输出的旋转角度。一般性来说,舵机都有最大旋转角度(如180°)。舵机与普通直流电机的区别主要在于直流电机持续转动,而舵机旋转一个角度,对精确度要求高(数字舵机可切换模式,既可当直流电机使用也可当普通舵机使用)。直流电机无法传达旋转的角度,舵机可以。直流电机和舵机的用法不同,直流电机一般当动力的发生源,舵机用于控制某物体转动精确角度(例如机器人关节转动)。

3.7 整体硬件电路设计

基于上述硬件选型,做出可连接上述硬件和实现上述硬件功能的主控板电路,如图9所示。

图9 硬件电路原理

4 无人车控制系统软件设计

4.1 Ps2无线控制主程序编程设计

在编写主程序时,需要先理清主程序的控制逻辑顺序,画出程序控制流程图。这样可以在编程的时候减少逻辑上的错误。

在图11 Ps2程序控制流程图中,了解Ps2控制无人车的运行顺序流程,这对接下来的Ps2控制主程序编程有巨大的帮助。若Ps2手柄上的START按键被按下,那么不管现在的无人车的控制方式为无线电还是蓝牙App控制,此时无人车的控制方式会转化成蓝牙模块App手机控制的蓝牙控制方式。下面判断参考值,参考值为0时,此时为ps2手柄控制方式,接下来由switch语句读取手柄的各个按钮的实时状况。上述4条语句为ps2手柄的方向按键控制。接下来4条语句为手柄摇杆上的方向控制。PSB_L1和PSB_L2则为小车前进与后退的速度调节。R1和R2则没有进行设置。判断左边摇杆的y轴方向,使得左边摇杆的y轴方向不对小车起作用,再判断左边摇杆的x方向的模拟量是否在0到110之间。如果小车的舵机左转45°(45°),那么判断左边摇杆的x方向的模拟量是否在146到225之间。如果小车的角度会右转45°(135°),那么随着左边摇杆回到中间时舵机的角度会回到90°。

图10 Ps2程序控制流程

4.2 蓝牙App主程序编程设计

WiFi控制。通过使用WiFi通信模块,智能终端与硬件开发板建立数据通信连接。在编写蓝牙App无线控制无人车的主程序时,需要先清理主程序的控制逻辑顺序,画出程序控制流程图。在蓝牙模块的主程序编程的时候,减少逻辑上的错误。蓝牙App无线控制无人车的程序流程如图11所示。

在蓝牙App控制程序流程图中,可清楚看到,手机App和蓝牙模块的通信过程。这对蓝牙App无线控制无人车,程序编程给出逻辑思路。

在App的无线控制需要了解蓝牙的指令协议下,表2列出了在此次课题中所用使用的蓝牙指令协议。

表2 蓝牙指令协议

由上表2可知,当用户使用手机App按下按钮时,用户的手机会发送蓝牙能识别的指令,以此为基础开始App主程序控制编程。

4.3 舵机PWM控制程序设计

小车实现转动需要使得舵机进行一个角度转动,实现舵机的转动需要编程一个PWM波,通过定时器完成。对舵机周期运行时间的配置,舵机运行周期20 ms,随后将舵机的运行时间利用定时器分成8份,每2.5 ms为一份,随后将舵机中一个周期的正脉冲设定数值给予定时器的一个周期,此时的脉冲为高电平。程序结束后,运行Servol函数,此时count1为2。运行Flip_GPIO_One函数使舵机运行20 ms以外电平为低电平。舵机PWM周期脉冲时间设定完成,count1又置为0,重新开始运行Servol函数。只需改变S_PWM的数值,就可以完成舵机转动的角度。

4.4 电机PWM控制程序设计

电机的PWM控制编程基本与舵机的PWM编程原理相同。本课题直接使用了定时器的PWM通道来实现电机的PWM调速。电机转速调节的设定值是PWM通道的脉冲正信号,此时反转的信号电平设置为0(低电平),使得电机旋转时不冲突。同理,当这个值为负时,电机反转。此时,正转的信号电平设置为0(低电平)。

5 结语

本文研究的无线控制无人车设计中使用STM32单片机作为主芯片,利用STM32单片机及外围引出的接口进行初始化配置并接入硬件外设,接着使用Ps2及手机蓝牙App等信号发出设备,与小车上的接收设备进行无线连接,从而实现无人车的无线控制功能。本设计使用了单片机的扫描识别技术,通过硬件电路的具体应用方式以及无线接收设备的通信原理,对各个模块进行了编程,然后在主程序编程中直接调用,完成了无人车无线控制设计的编程任务。经过实物测试可得出,本设计不仅安装简单、成本低,更重要的是使用2.4 GHz的无线通信频率使得工作性能稳定,是实用的工程设计,但其他功能方面设计不足,后续改进可以升级其他功能。

猜你喜欢

前轮直流电机舵机
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于ANSYS分析的前轮油缸销轴改进
含齿隙弹载舵机的全局反步模糊自适应控制
基于dsPIC单片机的飞艇舵机控制实现
基于FPGA的双绕组无刷直流电机软件设计
基于高速同步485总线通信的多通道舵机控制器设计
基于模糊神经网络PID的无刷直流电机控制系统研究
一种改进的无刷直流电机控制方法
基于云模型的舵机同步控制
拆前轮不蹭碟