您的当前位置:首页基于Android平台的无线遥控智能小车

基于Android平台的无线遥控智能小车

2020-01-10 来源:乌哈旅游
第36卷第3期 2013年6月 电子器件 Chinese Journal of Electron Devices Vo1.36 No.3 Jun.2013 Android-Based Intelligent Car with Wireless Remote Control ZHU Danfeng ,GE Zhuran,LIN Xiaolei (Department of Biological Medical Engineering,Wenzhou Medical College,Wenzhou Zhejiang 325035。China) Abstract:Design the hardware and software in the Android—based intelligent car with wireless remote contro1.The system has two kinds of remote control ways:Bluetooth and WiFi.As for the hardware,the system takes STC12C5A60S2 singlechip as the core,others is mainly composed by the Android devices,power supply modules, DC motor driver module,tracking module,obstacle avoidance module,light—searching module,WiFi module and camera module.Regarding the software,complete the programming of Android device in the upper computer and sin- glechip in the lower computer.After comparing the programs and testing the relevant parameters,the results show that the system of the intelligent car is stable and it can achieve the desired goals by perfectly performing functions of wireless remote control,tracking,obstacle avoidance,light—searching,video monitoring and SO on. Key words:Android;WiFi;bluetooth;singlechip;monitor;intelligent car EEACC:7730 doi:10.3969/j.issn.1005—9490.2013.03.027 基于Android平台的无线遥控智能小车 朱丹峰 ,葛主冉,林晓雷 (温州医学院生物医学工程系,浙江温州325035) 摘 要:设计基于Android平台的无线遥控智能小车的软硬件。该系统具有蓝牙和WiFi两种遥控方式。在硬件方面,该系 统以STC12C5A60S2单片机为核心,其他主要由Android设备、稳压电源模块、直流电机驱动模块、循迹模块、避障模块、寻光模 块、蓝牙模块、WiFi模块及摄像头模块等组成。在软件方面,完成了上位机Android设备程序、下位机单片机程序的编写。经 过方案的对比,相关参数的测试,实验结果表明该智能小车系统稳定,能完成无线遥控、循迹、避障、寻光、视频监控等功能,达 到预期目标。 关键词:Android;WiFi;蓝牙;单片机;监控;智能小车 中图分类号:TP242.6 文献标识码:A 文章编号:1005—9490(2013)03—0408—05 目前,蓝牙和WiFi技术得到了空前广泛的应 的任务,具有一定的实际意义。 用,使用蓝牙和WiFi的产品非常多,如手机、电 脑、汽车、游戏设备和医疗设备等。在中国,手机 的普及率已经很高,通过移动设备实现远程控制 已成为人们需求的方向…。Android是一种以 Linux为基础的开放源码操作系统,基于此平台的 应用程序开发,越来越热门 J。基于Android平台 的蓝牙遥控小车具有远程控制(蓝牙,WiFi)、自动 循迹、自动避障、寻找电光源等功能,有一定的新 颖度,能够运用到实际生产,有一定的社会需求, 可以进一步开发用来完成一些目前人类无法完成 收稿日期:2012—12—03 修改日期:2012—12—18 1智能小车硬件设计 1.1总体方案设计 智能小车硬件以STC12C5A60S2单片机为控制 核心,用光电传感器获取外界信号,使用电机驱动电 路驱动直流电机。整个系统分为以下几个模块: Android设备、稳压电源模块、控制器模块、直流电机 驱动模块、循迹模块、避障模块、寻光模块、蓝牙模 块、WiFi模块及摄像头模块组成。总体硬件框图如 图1所示 第3期 朱丹峰,葛主冉等:基于Android平台的无线遥控智能小车409 惹 K 。 Andr0id设备 流电机驱动模 图1 总体硬件框图 1.2智能小车控制系统硬件电路设计 1.2.1智能小车控制器模块 控制器是智能小车的核心,本系统采用51系列 单片机,具体型号为STC12C5A60s2。STC12C5A60S2 系列单片机是宏晶科技生产的单时钟/机器周期 (1T)的单片机,指令代码完全兼容传统8051,但速度 比8051快8倍~12倍,片上集成1 280 byte RAM,针 对电机控制,强干扰场合,内部结构包括中央处理器 (CPU)、程序处理器(Flash)、数据存储器(SRAM)、定 时/计数器、UART接口、串口2、I/0口、高速A./D转 换、SPI接口、PCA、MAXS10专用复位电路、看门狗及 片内R/C振荡器和外部晶体振荡电路等模块。本系 统需要单片机实现复位,I/O口控制,PWM调速等 功能 引。 1.2.2直流电机驱动模块 目前大多采用开关型驱动方式驱动直流电机, 最常见的驱动方式是脉冲宽度调制(PWM) ]。本 系统电机驱动芯片采用L298N,采用单片机PWM 调速,L298N可以驱动两组直流电机,其单组驱动电 流可达2 A。电机驱动模块原理如图2所示。 I 1001a FI l()4 I千 L298N :  ll P1 l l l 2 P13 6 电机1 P14 ll P2 l 2 8 电机2 图2 电机驱动模块原理图 1.2.3循迹、避障、寻光模块 循迹模块采用发射接收一体式红外传感器 TCRTS000,体积小、灵敏度高、光电转换速度快、能 防止其他光线干扰。TCRT5000输出信号经门电路 整形后可以给单片机提供稳定的1TrL信号,使寻线 更加准确稳定。 避障模块采用发射接收一体化反射式光电传感 器,用红外接收头和红外发光二极管进行避障,红外 接收头接收已调制好的信号,受其他光源的影响很 小。避障传感器感应距离在3 cm~80 cm。 寻光模块采用光敏二极管的光电效应对周围环 境光的强度进行检测。光敏二极管灵敏度高,线性 好,方向性好,可感知固定方向的可见光,能将光信 号转变成电信号,便于单片机判断。 循迹、寻光模块原理如图3所示。 +5 V (a)循迹模块 光敏二极 : (b)寻光模块 图3循迹、寻光模块原理图 1.2.4蓝牙模块 蓝牙设备体积小、功耗低,广泛地应用在嵌入式 平台上。本系统采用HC一06蓝牙模块,HC一06蓝 牙模块可以通过AT指令修改参数,可以掉电保存 参数,给蓝牙模块上电,不配对的情况下就是进入 AT模式了,指令间隔1 S左右。 1.2.5 WiFi模块 Openwrt是一个小型Linux系统,DB120一WG路 由器安装上Openwrt后,其功能将变为异常强大,可 做为一台小型服务器,安装好数据转发和监控软件 后,可以实现与单片机的串口通信,并用WiFi传输 视频信号,实现视频监控功能 J。本系统安装的视 频监控软件为MJPG—streamer,安装好后通过命令启 410 电 子 器件 第36卷 动该软件,mjPg—streamer—i”input—UVC.SO—Y—d/ dev/video0”一o”outputhttp.SO-p 8080-w/www/ —camweb”。mjPg—streamer启动成功后,则可以通过 浏览器访问http://路由IP:8080/?action=stream 查看视频。 DB120一WG需要安装Ser2net实现网络转串 口 ,并设置波特率为9600 bifs,8 bit数据位,1 bit 停止位。DB120一WG通过WiFi接收上位机Android 设备的命令,然后通过Ser2net转发给单片机串口, 用来控制小车运动。 1.2.6摄像头模块 虽然Linux系统对芯片为ZC301的摄像头驱动 支持更好,但是现在市场上摄像头多为UVC摄像 头,且摄像头像素更高,所以本系统采用UVC摄像 头,摄像头通过USB接口与DB120路由器相连接, 安装好驱动和视频监控软件后即可通过DB120一 WG的WiFi功能传输视频信号。 2智能小车控制器软件设计 2.1主程序流程 本系统的软件需完成以下功能: (1)检测小车所处的环境状态,如黑白线,障碍 物,光照强度等; (2)控制电机的运转方向与速度; (3)接收上位机Android设备的控制命令。 下位机软件流程如图4所示。 图4下位机软件流程图 2.2系统初始化 单片机上电后,首先执行初始化动作,包括I/O 口工作模式、中断、串口、PWM初始化等。 2.3串口通信 单片机与蓝牙模块、WiFi模块的无线通信是利 用单片机的UART接口。STC12C5A60s2单片机具 有2个采用UART工作方式的全双工串行通信接 口。每个串行口由2个数据缓冲器、一个移位寄存 器、一个串行控制寄存器和一个波特率发生器等 组成。 2.4循迹、避障、寻光的实现算法 单片机通过传感器,检测外界环境状态,作出判 断,从而改变小车行驶状态。由于单片机资源利用 率不高,所以小车的循迹、避障、寻光都采用轮询方 式。传感器检测到的信号与环境状态关系如表1 所示。 表1传感器信号与环境状态关系表 2.5电机驱动与PWM调速 STC12C5A60s2单片机集成了两路可编程计数 器阵列(PCA)模块,可用于软件定时器、外部脉冲的 捕捉、高速输出以及脉宽调制(PWM)输出。PWM 初始化代码如下: PlM1=0x00: P1M0 l=0x18;//设置P1.3,P1.4口为强推挽输出,输 出PWM信号 CMOD I=0x04;//选择定时器 的溢出率为PWM时 钟源,控制PWM波的频率 CCAPM0 I-0x42;//允许比较器功能,开启PWM0 CCAPM1 I=0x42;//允许比较器功能,开启PWM1 CL=0xO0;//计数器清零 CH=0x00; CR=1;//启动PWM 可以通过改变寄存器CCAPOL、CCAPOH、 CCAP1L、CCAP1H的值来分别改变两路PWM占空 比。通过示波器测得的PWM波形如表2所示。 3 Andriod架构及Eclipse开发环境 3.1 Android系统架构 Android系统架构由5部分组成,分别是Linux 内核(Linux Kerne1)、运行环境(Android Runtime)、开 发库(Libraries)、应用框架(Application Framework)、 应用程序(Applications) ]。Android系统架构如图5 所示。 3.2 Android应用程序开发环境Eclipse Android应用程序开发支持Windows、Linux、 Mac OS等操作系统,当前中国主流的操作系统是微 

因篇幅问题不能全部显示,请点此查看更多更全内容