基于Android平台的WIFI遥控智能小车的设计

2018-07-04 02:56,,,
计算机测量与控制 2018年6期
关键词:循迹舵机遥控

,,,

(江阴职业技术学院 电子信息工程系,江苏 江阴 214400)

0 引言

随着互联网技术和无线通信技术的发展,WiFi技术以其传输速度快、有效距离较长等优势得到了快速发展。与蓝牙技术相比,WIFI通信具有更宽的覆盖范围和更高的传输速率。无论是企业商务还是家庭娱乐都体现出对WIFI技术与日俱增的需求,当前使用WiFi的电子产品越来越多,如手机、电脑、汽车、游戏设备和医疗设备等,WIFI技术展示出了极大的应用价值和良好的发展前景[1-2]。如何将WIFI技术应用于智能小车也引起了许多爱好者的热情。

智能小车是集环境感知、路径决策与自动行驶等多功能于一体的轮式移动机器人,在仓库货物搬运、小区巡逻、险情排除等领域得到了广泛应用。目前有关智能小车的研究很多,其中部分论文讨论了小车避障原理和避障实现的过程[3-4],还有部分论文讨论了小车循迹方案和循迹算法[5],也有少数文章探讨了基于Android设备的无线遥控小车的设计过程[6]。然而有关Android设备与单片机之间通信过程的详细介绍,以及小车运行过程中电机运转引入的干扰如何处理却鲜有介绍。本文将把小车遥控、避障、循迹和跟随这些传统功能与WIFI技术结合起来,研究如何通过WIFI技术控制小车实现遥控运行、避障、循迹和跟随,以及视频拍摄和视频回传功能,并详细介绍如何设计系统电源以防止电机运转引入干扰,以及探讨WIFI模块的设计方案、Android设备与单片机之间的通信协议,以及通信实现的软件设计具体过程。具有远程控制 、自动循迹、自动避障、跟随主人等功能的WIFI遥控小车目前比较新颖,能够运用到实际生活和生产中,用来完成一些环境比较恶劣或者目前人类无法完成的任务,具有一定的实际意义。

1 总体方案设计

系统总体[7]如图1所示,系统采用的是51系列单片机STC11F32,这是一款1个时钟/机器周期的单片机,比STC89C51单片机的运行速度提高了12倍,典型工作电压为5 V。系统电源包括5 V和7.5 V两种输出电压的电源,分别给系统控制电路和电机驱动电路供电。单片机通过电机驱动模块控制直流电机的转向和转速,从而控制小车的行驶方向和行驶速度。

图1 总体结构框图

系统中的水平转动舵机和垂直转动舵机[8]组成视频拍摄云台,上面安装了摄像头和超声波测距模块。通过控制水平转动舵机的转动角度,可以带动摄像头和超声波测距模块在水平方向转动,从而使摄像头拍摄不同位置的图像,以及使超声波测距模块检测在不同位置的障碍物与小车的距离。通过控制垂直转动舵机的转动角度,可以控制摄像头的俯仰角度。

系统中的摄像头将拍摄的视频通过WIFI模块实时传输到Android平台上显示,Android平台也可以将控制命令实时发送给WIFI模块,通过WIFI模块的串口传输给单片机,由单片机控制小车按要求运行。

系统除了能够通过Android平台直接控制小车的运行状态和舵机的转动角度,还可以控制小车运行于跟随模式、循迹模式和避障模式。

2 系统硬件设计

系统采用HC-SR04超声波测距模块[9]进行障碍物距离的测量,通过云台水平方向的转动,带动超声波模块在水平方向的转动范围可以达到180°,从而可以测量180°范围的障碍物距离。

系统循迹模块采用的光电传感器是带螺纹的圆柱状收发一体接近开关模块,相比较裸露在外面的红外对管,其灵敏度较高,抗干扰能力更强,而且圆柱外面的螺纹可方便其调整距离地面的高度,增加了循迹的可靠性。

小车跟随功能是通过在小车前端安装3个收发一体接近开关模块实现的,中间的接近开关方向朝正前方,左右两个接近开关安装成120°角度,这样就可检查前方和左右方是否有人,哪个方向有人小车就往哪个方向跟进,从而实现跟随功能。在跟随的过程中,由超声波模块检测小车与人之间的距离,如果大于设定距离,小车跟随;如果小于设定距离,小车停止,以便于小车与人之间保持一定的距离。

系统遥控功能是采用WIFI遥控实现的,Android平台向小车发送前进、后退、左转、右转和停止等命令,系统WIFI模块接收到命令后,通过串口将这些控制命令传送给单片机,单片机将这些控制命令解码后控制小车实现前进、后退、左转、右转和停止等功能。

系统电源模块、直流电机驱动模块和WIFI模块的设计是系统设计的关键,下面将进行详细介绍。

2.1 电源模块

系统输入电压是由两个充电锂电池串联提供的,在电量充满的情况下,锂电池输出电压可达到8 V。两片LM2576-ADJ配合外围的阻容元件组成两个电源转换电路,将锂电池输出电压分别转换为5 V输出电压和7.5 V输出电压。其中的5 V电压给系统控制电路提供电压,7.5 V电压给电机驱动电路提供电压。

LM2576系列是3 A电流输出降压开关型集成稳压电路,它内含固定频率振荡器(52 kHz)和基准稳压器(1.23 V),并具有完善的保护电路,包括电流限制及热关断电路等。LM2576产品提供有3.3 V(-3.3)、5 V(-5.0)、12 V(-12)、15 V(-15)及可调(-ADJ)等多个电压档次产品。系统使用的是LM2576-ADJ,配合不同的阻容元件得到不同的输出电压,如图2所示。图2中输出电压VOUT=1.23×(1+R2/R1),其中R1=1~5 kΩ,对于输出5 V的电源转换电路,取R1=2 kΩ,R2=6.2 kΩ;对于输出7.5 V的电源转换电路,取R1=2 kΩ,R2=10 kΩ。

采用双电源供电,有效避免了电机运转引入的干扰串入控制电源,以免影响单片机系统正常工作。

图2 电源电路

2.2 直流电机驱动模块

系统直流电机驱动电路[10-11]是由4通道逻辑驱动电路的L298构成的,如图3所示。电路中有两路电压,一路是L298控制电路部分工作需要的5 V电压,另一路是驱动电机部分工作需要的7.5 V电压。为了防止电机工作引入的干扰串入单片机控制电路部分,在单片机P0端口与L298输入端口之间安装了光电隔离电路,图中只给出了P0.0与L298输入端口IN1之间的光电隔离电路,其他引脚的光电隔离电路与之类似。电机每个输入引脚与电源7.5 V和地之间分别反装了一个续流二极管,主要是为了消除电机转动时的尖峰电压。工作时L298功率较大,温度较高,可以适当加装散热片。

图3 直流电机驱动电路

2.3 WIFI模块

系统WIFI模块的核心芯片是WiFi领域顶尖半导体公司Qualcomm Atheros推出的AR9331,这是一款高度集成、低成本的IEEE 802.11n 1*1 MIMO WiFi SoC,集成了MIPS 24Kc内核、1个五端口百兆以太网交换机、高速串口和USB 2.0 Host/Device 接口。WiFi SoC AR9331和256Mb DDR SDRAM A3S56F40FTP构成了系统WIFI模块。

系统中的WIFI模块与Android平台之间可以进行无线通信,摄像头将拍摄的视频通过USB接口实时传输给WIFI模块,由于单片机处理视频数据速度不够,因此系统中WIFI模块将视频数据直接传输给Android平台,在Android平台上实时显示摄像头拍摄的视频。Android平台发送的控制命令也是通过WIFI信道传输给WIFI模块,通过WIFI模块的串行接口传输给单片机,单片机对接收到的数据进行解码,根据解码信息控制小车实现超声波测距避障、循迹、跟随和遥控运行等功能。

3 系统软件设计

系统软件组成模块如图4所示,在主控模块执行的过程中,WIFI模块接收Android平台发送的控制命令,并将控制命令通过串口传输给单片机,引起单片机串口中断,串口接收中断模块接收到一条完整的串口命令后,执行遥控命令解码模块,分析遥控发送的控制命令,根据分析结果给小车工作模式标志赋值。在串口接收命令的同时,在主控模块中执行工作模式切换模块,根据小车工作模式标志值的不同切换到不同的工作模式,包括遥控运行、跟随、循迹和避障等工作模式。其中电机驱动与PWM调速模块,以及遥控命令解码模块是软件设计的关键部分,下面将进行详细介绍。

图4 软件组成模块

3.1 电机驱动与PWM调速模块

系统采用电机驱动芯片L298进行电机驱动和PWM调速,L298的工作状态如表1所示。由表1可知:当使能端ENA/ENB为高电平时,IN1~IN4的电平决定了电机工作状态。

表1 L298工作状态

如果使能端ENA/ENB一直为高电平,即高电平的占空比为100%时,电机的转速最大,小车速度最快;如果施加在使能端ENA/ENB的是PWM脉冲,则改变PWM脉冲高电平的占空比,则电机的转速就会改变,小车运行速度也会随之改变;占空比越大,小车运行速度越快,反之越慢。施加在使能端ENA/ENB的PWM脉冲是采用定时器T0中断实现的,代码如下:

void T0_PwmInt() interrupt 1

{

static unsigned char num; //计定时次数变量

TH0=(65536-1000)/256; //重装初值

TL0=(65536-1000)%256;

if(++num>100) num=0; //计数100次到周期T ,周期T=100ms

if(num

PwmENA=1; //高电平周期T1

else

PwmENA=0; //低电平周期T2

if(num

PwmENB=1; //高电平周期T1

else

PwmENB=0; //低电平周期T2

}

由以上程序代码可知,定时中断时间为1 ms,静态变量num对中断次数计数,每中断100次num清0,因此PWM周期为100 ms。全局变量TimeHA和TimeHB分别控制小车左右电机的PWM脉冲高电平的时间长度,TimeHA和TimeHB取值越大,电机转速越快。

3.2 遥控命令解码模块

小车上的WIFI模块接收到Android平台发送的遥控命令后,通过串行接口将命令传送给单片机,由单片机对遥控命令进行解码。系统采用的串口通信协议如表2所示。

表2 串口通信协议

由表2可知,所有的小车控制命令都是以FFH开始和结束的,根据第一个字节的不同区分小车运动指令、舵机转动指令和小车工作模式切换指令。对于小车运动指令,由第二个字节控制小车停止、前进、后退和左右转等多种运动状态。对于舵机转动指令,由第二个字节控制水平或者垂直舵机转动,第三个字节控制转动的角度。对于工作模式切换指令,由第二个字节控制小车转入不同的工作模式。遥控命令解码模块流程图如图5所示。

4 实验结果

1)WIFI传输和视频拍摄功能测试[12]:系统上电后,等待30 s系统启动完毕,打开手机WIFI搜索功能,搜索到小车WIFI,两者建立连接。向小车发送前进、后退、左右转等命令,小车按照要求运行。小车在行驶的过程中,摄像头实时拍摄,手机上实时显示拍摄的画面,拍摄的视频清晰、流畅、几乎无延迟。

2)舵机转动功能测试:手机发送水平舵机转动命令,水平舵机转动,在水平方向转动角度范围为-90°~+90°;手机发送垂直舵机转动命令,垂直舵机在垂直方向转动,转动角度范围为0~90°。

图5 遥控命令解码模块流程图

3)跟随功能测试:打开跟随功能,人在前面行走,小车自动跟随;人向左或者向右转弯,小车也能跟随。在跟随的过程中,小车与人之间总是保持20 cm左右的距离。

4)循线功能测试:小车对白底上的黑线进行循迹,无论是椭圆形还是S形跑道,小车都能成功跑完全程,速度平均为35 cm/s,循迹流畅,没有抖动。

5)避障功能测试:小车能够实现多种障碍物避障,比如方形、柱状障碍物,以及常见的墙角、凹形障碍物都能成功避障,避障效果理想。

5 结束语

通过对小车的测试,结果表明:Android平台与小车之间WIFI传输正常,实时拍摄视频在手机上显示清晰、无延迟;水平舵机转动角度可达到-90°~+90°,垂直舵机转动角度可达到0~90°,以方便摄像头拍摄各个角度的视频,以及便于超声波模块测量不同方向的障碍物距离;能通过Android平台控制小车实现遥控运行、跟随、循线、避障等工作模式,功能满足设计要求,该小车在货物搬运、小区巡逻、环境勘测等领域具有一定的实用价值。在后续的研究中可以考虑将拍摄的视频由小车工作现场直接上传到internet网,以方便监控中心的实时监控和现场数据的进一步分析。

参考文献:

[1] 赵 津,朱三超.基于Arduino 单片机的智能避障小车设计[J].自动化与仪表, 2013(5): 1-4.

[2] 张 洪,钱 胜,陈 路.多传感器在确定智能小车安全区域中的应用[J].传感器与微系统, 2013,32(12):145-148.

[3] 强 彦,叶文鹏,屈明月,等. 基于红外避障的智能小车的设计[J]. 微电子学与计算机,2013,30(2):140-143.

[4] 张 铮,张江宁,薛竹村,等.循迹避障灭火功能智能小车设计[J].实验室研究与探索, 2016,35(11):141-145.

[5] 赵涓涓,杜麒麟,屈明月,等. 智能小车的无支路循迹算法设计[J]. 计算机应用与软件,2013,30(6):147-149.

[6] 朱丹峰,葛主冉,林晓雷.基于Android平台的无线遥控智能小车[J].电子器件,2013,36(3):408-412.

[7] 汤莉莉,黄 伟.基于Android 手机蓝牙控制的智能小车设计[J].现代电子技术, 2016, 39(12):132-134.

[8] 黄玉水,黄 辉,周美娟,等.电磁导航式智能车的设计与实现[J].自动化仪表,2014,35(5):72-76.

[9] 李晓娟,王雅慧,秦国庆.基于蓝牙的智能小车循迹避障设计与实现[J].河南科技学院学报(自然科学版),2016,44(2):63-67.

[10] 尚建荣,黄海燕,王福杰. 基于LPC1769 的智能小车设计[J].微电机, 2014,47(10):76-78.

[11] 党智乾.基于单片机的智能寻光避障小车的设计与实现[J].自动化技术与应用, 2015, 34(1):26-29.

[12] 谢 檬,郭 霞.智能小车控制系统设计[J].传感器与微系统,2016,35(12):110-112.

猜你喜欢
循迹舵机遥控
基于DFT算法的电力巡检无人机循迹检测系统设计
直升机某型舵机自动测试系统设计分析
“遥控”老师
基于离散傅里叶变换的多旋翼无人机循迹检测系统设计
基于速度观测的双余度电液舵机系统容错同步控制
浅谈基于机器视觉和姿态检测的循迹智能车
他是如何遥控引爆的
超音速舵机保护器
菜鸟看模型
遥控赛车