具有自主避障功能的Android遥控智能小车设计
2016-12-09朱海洋张俊武江方涛
朱海洋,张俊武,江方涛
(广东松山职业技术学院教务处,广东 韶关 512126)
具有自主避障功能的Android遥控智能小车设计
朱海洋,张俊武,江方涛
(广东松山职业技术学院教务处,广东 韶关 512126)
为实现智能小车自主避障行走和远程遥控,开发一款基于Android平台的操作软件,可以实现远程控制小车前进后退及转向,使用超声波测距探测障碍物距离实现自主避障行走,通过在智能小车安装各种传感器实现不同功能,满足不同应用需要。
避障,远程控制,超声波,智能小车,传感器
智能小车具有结构简单、控制方便、成本低廉等特点,常用作智能控制、自动测量平台。移动互联技术的发展使其应用越来越广泛[1],基于Android等移动终端平台编写应用程序APP,通过蓝牙、WiFi等方式实现手机或平板电脑与智能小车的连接,并进行远程操控。超声波测距是常用的测距手段,测量可靠,用于避障测距,使智能小车实现自主避障行走。本文设计一种基于Android遥控的智能小车,使用超声波壁障,可用于环境、隧道等野外测量等场合。
1 总体设计
系统总体组成如图1所示,CPU控制器构成小车的核心控制单元,控制电机驱动模块驱动小车行走,蓝牙通信模块与Android操作系统建立通信,通过智能终端平台遥控小车。此外小车也可以通过超声波自主避障行走。小车安装了温度传感器,测量的温度信号可在小车自带的显示设备上显示,小车自带128×64的图文点阵液晶显示器。
2 硬件设计
2.1CPU控制器
使用ATMEGA16单片机作为智能小车的主控制器。ATEMGA16为Atmel公司推出的ATMEGA内核高性能单片机,具有速度快、功能强、工作电压宽、使用简单等特点[2]。
ATMEGA16集成了3路独立可调的PWM波形发生器,8路10bit ADC,共32个可用I/O口。
图1 系统组成框图Fig1 Block diagram of the system
2.2直流电机驱动电路
智能小车左右各安装一个直流电机作为小车动力源,驱动小车前进、后退,通过左右轮转速差实现转向。使用DRV8835驱动直流电机。DRV8835内部集成了2路MOSFET 场效应管H桥驱动电路,每路H桥驱动电路最大输出电流为1.5A,可以驱动2路直流电机或一个步进电机,可以作为摄像机、机器人、电磁阀、消费类产品、玩具、和其它低电压或者电池供电的运动控制类电机驱动[3]。DRV8835内置电荷泵电路生成驱动栅极电路所需电压,其的工作电压在 0V-11V,控制端逻辑电平为 2V- 7V宽电压范围,内部关断功能支持过流保护、短路保护、欠压锁定以及过温保护等功能。芯片体积为2mmx3mm WSON超小体积封装,占用PCB电路板面积小。DRV8835驱动电路原理如图2所示,驱动逻辑电路如表1所示[4]。
图2 DRV8835原理图Fig 2 DRV8835 schematic
表1 DRV8835驱动时序Tab.1 DRV8835 drive timing
2.3温度传感器电路
作为标准配置功能,智能小车安装了18B20温度传感器,以测量环境温度。其他功能则视需要安装相应传感器即可。18B20是数字化的标准温度传感器,测量量化温度结果为12bit。直接输出数字化的测量结果准确,测量精度高,使用方便,应用广,其内部结构如图3所示。18B20的温度测量范围为-55℃-+125℃,在-10℃-+85℃测量范围的温度分辨率为0.5℃。18B20测量结果使用单总线输出,其具体使用参见文献5。
图3 18B20内部结构Fig.3 18B20 Internal structure
2.4超声波避障电路
小车具有自主避障功能,超声波测距进行避障。超声波测距电路见图4所示[6],由超声波发射电路、超声波接收电路两部分组成。发射电路产生40KHz左右的超声波载波,通过电平转换芯片MAX232转换成峰峰值为20Vp-p左右的驱动电压,驱动超声波换能器件产生机械振荡波,遇到障碍物后反射回波信号被接收电路接收,经过超声换能器件转换成电信号并经运放整形放大后送入测量电路测量。测量电路依据超声波从发射端到达接收端所需的时间t即可计算出障碍物距离小车的距离L,从而实现避障,如公式(1)所示。为了保障测距的有效性、可靠性,发射电路发射8个载波后转为接收模式,测距结果调制到脉冲宽度上以PWM信号输出。使用时给图4电路发一个Trig触发信号启动测距,之后读取Echo回波信号PWM脉宽即可计算测距距离。
图4 超声波测距电路Fig4 Ultrasonic ranging circuit
2.5蓝牙通信模块
蓝牙通信广泛应用在语音传输、无线是一种应用广泛的通信协议。Android智能终端通过蓝牙通信与单片机控制系统建立连接,这样通过手机、平板电脑可以遥控操作智能小车。HC-06是蓝牙-串口桥接通信模块,将复杂的蓝牙通信协议进行封装设计成通用的通信模块,用户使用时无需了解复杂的蓝牙协议,对用户而言该协议近似透明[7]。该模块接口与单片机接口如图5所示,通过UART通用串行通信口与单片机连接,单片机如同访问通用串行口一样访问蓝牙模块实现与Android终端交换数据。蓝牙模块使用AT协议命令进行配置,上电初始化时单片机通过AT命令可以完成通信波特率、通信密码等配置。
图5 蓝牙通信模块Fig.5 Bluetooth communications module
3 软件设计
3.1Android控制端程序设计
Android是Google公司推出的基于Linux平台的开源手机操作系统,由操作系统、中间件、用户界面、应用软件等组成,其系统架构可分成5部分,分别为Linux内核(Linux Kernel)、运行环境(Android Runtime)、开发库(Libraries)、应用框架(Application Framework)、应用程序(Applications)[8]。
Eclipse是Windows环境下常用的Android应用程序开发环境,是一个JAVA语言集成开发平台(Integrated Development Environment),同时他还是一个插件开发环境(Plug-in Development Environment,PDE),允许开发人员构建与 Eclipse环境无缝集成的工具。通过插件来构建开发环境,主要由Eclipse项目、Eclipse工具项目、Eclipse技术项目三个项目组成,具体包括Eclipse Platform、JDT、CDT和PDE四个组成部分。
基于Eclipse软件开发的遥控智能避障小车的Android控制软件界面如图6所示。搜索设备命令用于搜索附近的遥控小车并进行匹配,模式命令用于控制小车工作在自主避障还是手机遥控模式,三个速度设置命令可以设置高、中、低三种不同的速度,四个方向命令可以控制小车前进、后退和转向。
图6 Android软件控制界面Fig.6 Android software control interface
3.2避障控制
当小车工作在自主避障模式时使用超声波测距避障。公式(1)中超声波测距公式t使用单片机定时器定时。考虑单片机定时器定时时间单位为微秒(μS),故将空气中常温下声波传输速度近似转换成0.034厘米/微秒(cm/μS),距离L的单位记为厘米(cm),故有:
(2)式说明即将定时器定时时间t除58.8后即为超声波测距结果,单位为厘米(cm)。
设定安全距离为S(15cm),启动定时器定时2mS,每间隔2mS测距一次并与安全距离S进行比较,若大于安全距离S则继续前进,否则小车先向左转弯,然后再向右转弯,若还无法避开障碍物则开始后退,直到成功实现避障。
4 结束语
本文详细阐述了基于Android平台控制和超声波避障行走的智能小车设计思路和实现方法。基于文章思路制作样机,使用基于Android平台开发的控制软件控制小车前进、后退以及加减速,切换模式后小车能通过超声波自主避障。实际中可以结合不同需求安装相应类型传感器,如风速、CO等可用作环境、隧道等测量。
[1]张莉婷.信息时代移动互联新媒体传播分析[J].电子测试.2013(11):99-100.Zhang Liting.Analysis of the new Mobile Media in the Information Era[J].ELECTRONIC TEST,2013,11(6):99-100.(in Chinese)
[2]杨镇博,张加宏,吴雨生.基于ATmega16 单片机的微型气象探测系统设计[J].现代电子技术.2013,36(11):106-109.YANG Zhenbo,ZHANG Jiahong,WU Yusheng.Design of micro-meteorological observation system based on ATmega16 MCU[J].Modern Electronics Techniqu e,2013,36(11):106-109.(in Chinese)
[3]陆宇炯,张彪.双路低电压H桥集成电路及其应用[J].职业教育(下旬刊).2014(5):94-96.Lu Yu jiong,Zhang Biao.Dual low voltage H-bridge IC and Its Application[J].Vocational Education(late),2014,(5):94-96.(in Chinese)
[4]“DRV8835’ datatsheet”,DRV8835 Dual Low-Voltage H-Bridge IC,MAY 2016.
[5]蒋涛,王硕飞,盛高珊等.多路温度传感器自动检定系统[J].2013,30(3):61-63,66.Jiang Tao,Wang Shuofei,Sheng Gaoshan etc.Automatic verification system of multiplex temperature sensor[J].Meteorological,Hydrological and Marine Instruments,2013,30(3):61-63,66.(in Chinese)
[6]王晓雷,赵向阳,曹玲芝等.基于AVR单片机的超声波测距系统构建[J].计算机测量与控制.2015,23(12):3946-3949.Wang Xiaolei,Zhao Xiangyang,Cao Lingzhi,etc.System Construction on Ultrasonic Distance Measuring Based on AVR Microcontroller[J].Computer Measurement & Control,2015,23(12):3946-3949.(in Chinese)
[7]张群,杨絮,张正言等.蓝牙模块串口通信的设计与实现[J].实验室研究与探索.2012,31(3):79-82.ZHANG Qun,YANG Xu,ZHANG Zhengyan,etc.Design and Realization of Serial Communication in Bluetooth Module[J].RESEARCH AND EXPLORATION IN LABORATORY,2012,31(3):79-82.(in Chinese)
[8]李慧,刘星桥,李景等.基于物联网Android 平台的水产养殖远程监控系统[J].农业工程学报.2013,29(13):197-181.Li Hui,Liu Xingqiao,Li Jing,etc.Aquaculture remote monitoring system based on the Android platform networking [J].Transactions of the Chinese Society of Agricultural Engineering,2013,29(13):197-181.(in Chinese)
【责任编辑:高潮】
Design of smart car with the function of autonomous obstacle avoidance and android remote control
ZHU Haiyang,ZHANG Junwu,JIANG Fangtao
(Guangdong Song Shan Polytechnic College,Academic Affairs Office,Shaoguan 512126,Guangdong,China)
For the realization of intelligent vehicle autonomous obstacle avoidance walking and remote control,the development of a operation software based on the Android platform,can realize remote control car forward and backward to,using ultrasonic ranging obstacle detection distance to achieve autonomous obstacle avoiding walking,through the smart car to install a variety of sensors to achieve different functions,to meet the needs of different applications.
Obstacle avoidance; remote control; ultrasonic; intelligent car; sensor
TP311.52
A
1672-6332(2016)03-0050-04
2016-05-16
2015年广东省大学生科技创新培育专项资金(“攀登计划”专项资金)资助项目(pdjh2015b0714)
朱海洋(1978-),男,内蒙赤峰人,广东松山职业技术学院副教授,硕士,研究方向:计算机控制技术及其应用。E-mail:zhusea@163.com