基于Android系统的水上载具控制方法研究.docx

上传人:b****6 文档编号:5944672 上传时间:2023-01-02 格式:DOCX 页数:63 大小:4.72MB
下载 相关 举报
基于Android系统的水上载具控制方法研究.docx_第1页
第1页 / 共63页
基于Android系统的水上载具控制方法研究.docx_第2页
第2页 / 共63页
基于Android系统的水上载具控制方法研究.docx_第3页
第3页 / 共63页
基于Android系统的水上载具控制方法研究.docx_第4页
第4页 / 共63页
基于Android系统的水上载具控制方法研究.docx_第5页
第5页 / 共63页
点击查看更多>>
下载资源
资源描述

基于Android系统的水上载具控制方法研究.docx

《基于Android系统的水上载具控制方法研究.docx》由会员分享,可在线阅读,更多相关《基于Android系统的水上载具控制方法研究.docx(63页珍藏版)》请在冰豆网上搜索。

基于Android系统的水上载具控制方法研究.docx

基于Android系统的水上载具控制方法研究

 

 

毕业论文(设计)

 

基于Android系统的水上载具控制方法研究

 

学生姓名:

方建锋

指导教师:

宋维波

专业名称:

电子信息工程

所在学院:

信息工程学院

 

2014年6月

目录

摘要I

AbstractII

第一章前言1

1.1课题设计背景1

1.2课题设计目的1

1.3课题设计的主要内容1

第二章方案设计和论证2

2.1安卓系统控制小船的方式2

2.2安卓系统控制小船的原理2

第三章硬件设计3

3.1蓝牙模块3

3.2小船电机驱动9

3.3单片机最小系统12

第四章软件介绍14

4.1Eclipse14

4.2安卓的开发环境构建15

4.3安卓程序的构成18

4.4Proteus20

第五章系统的软件设计、电路仿真22

5.1手机端程序22

5.2单片机程序29

第六章电路板焊接及小船试验31

6.1电路板焊接31

6.2小船试验33

第七章总结34

致谢35

参考文献36

附录一安卓端程序37

附录二实物图53

附录三单片机程序56

摘要

随着社会高速发展,安卓系统手机和智能化家居的全面普及,基于安卓系统对蓝牙的控制方法的研究成为了一种必要,这可以为人们的智能化生活添加更多色彩,带来无限乐趣[1]。

本次毕业设计是基于安卓系统的水上载具控制方法研究,依照课题设计了系统电路原理图,以STC89C52单片机为主控芯片,BMX-03系列蓝牙为控制模块,采用两个L9110H为电机驱动芯片,以三端电源稳压电路L7805为降压模块,这些模块组成了整个系统电路。

将系统控制电路,单片机程序,带电机的船体外壳,组合成低功耗,低成本的下位机,然后在上位机端(安卓手机)编写控制程序,最终设计完成安卓手机蓝牙遥控由51单片机控制电机驱动来操纵改装船的方法研究,达到可以利用普通安卓系统手机控制改装船航行方向的目的。

关键词:

模型船,蓝牙,安卓

Abstract

Withtherapiddevelopmentofthesociety,AndroidmobilephoneandintelligentHomeFurnishingbecomecomprehensivepopularization.ThenusingthecontrolmethodbasedonBluetoothAndroidphonesbecomenecessity,whichcanmakepeople'sintelligentlifemoreinteresting,unlimitedfun.ThisgraduationdesignisthecontrolmethodwiththeAndroidoperatingsystembasedonwaterupload.Accordingtothetitle,Idesignedthecircuitdiagramofthesystem.TakingSTC89C52Singlechipmicrocomputer(SCM)asthemaincontrolchip,BMX-03seriesofBluetoothasthecontrolmodule,usingtwoL9110Hasthemotordrivechip.UsethethreeterminalpowersupplyvoltagestabilizingcircuitL7805asthereducingmodule.Thesemodulesmakeupthewholesystemcircuit.TheSCM,SCMprocedures,thehullwithmotor,combinedintoaLowpowerconsumption,lowcostofthemachine,andtheninthePCside(Androidmobilephone)towritethecontrolprogram,andfinallycompletedthestudyofusetheAndroidmobilephoneBluetoothtoremotecontrolthe51single-chipmicrocomputertocontroltheMotordrive,whichcanachievethepurposetouseanordinaryAndroidphonetocontrolthedirectionoftheship.

Keywords:

modelboats,Bluetooth,Android

第一章前言

1.1课题设计背景

随着时代的进步,社会的发展,特别是高科技技术的井喷式出现,给人们的生活带来了巨大的改变。

比如安卓智能手机的全面普及,安卓智能手机从2007年开始出现到2013年市场占有率到达78%以上,足以说明安卓系统手机在现代人生活中的不可或缺的作用。

随着科技的发展手机上的各式传感器也越来越丰富,这又极大的拓展了手机的功能,这样就形成了一个良性循环。

蓝牙,一种允许多个设备在一定距离内可以进行点对点的无线通信的技术。

它的广泛使用有效的促进了终端设备之间的通信,而且Android系统也提供了软件开发人员所需的API,以便于他们调用[2]。

而作为另外一个应用十分广泛的重要器件:

单片机,它具有耗能低、微型化,控制能力强、良好的拓展性、和使用方便快捷等优点,由于这些特性,它已经普及到各个设备上,跟我们的生活息息相关了[3]。

正是由于蓬勃发展的安卓智能手机行业,和普及率很高的蓝牙模块的存在我们可以考虑把这两者结合起来实现一种人与科技的互动,带来一种新的生活乐趣。

1.2课题设计目的

基于安卓系统通过蓝牙控制模型船是对安卓周边的又一种应用开发,目前市场上安卓系统手机的占有率达78%以上,而人民对于安卓的周边开发却不是特别完善。

市场上通过安卓手机控制小车的应用已比较成熟,而通过调研发现目前对于基于安卓系统的水上载具控制方面的开发有待提高。

而研究基于安卓系统的水上载具控制方法,不仅可以有效的扩展安卓智能手机的娱乐性,而且随着智能家居的越来越成熟,以后完全可以考虑用手机代替遥控器,实现操作的简洁化,设备的精简化。

1.3课题设计的主要内容

本课题是基于安卓系统的水上载具控制方法研究,它基于安卓手机平台,借助于蓝牙技术,设计和实现了一种无线遥控改装船新的解决方案。

设计的实物是以安卓智能系统、BMX-03A模块、51单片机最小系统板,电机驱动模块等软硬件模块构成的可遥控模型船。

实现实时遥控改装模型船航行的目的。

为新型遥控玩具的开发提供另一方面的设想,同时可以为将来安卓周边设施的开发设计提供一定的借鉴意义。

第二章方案设计和论证

2.1安卓系统控制小船的方式

关于Android手机与改装小船的遥控方式流程为:

在Android手机端编写一个控制蓝牙模块的小程序,小程序发送事先预定好的数据指令给蓝牙模块,蓝牙模块再把指令反馈给单片机,而单片机上面事先下载好程序,这个程序结合接收到的数据指令输出不同的控制信号来驱动小船的电机,这样就达到了用Android系统智能手机遥控改装船的目的。

2.2安卓系统控制小船的原理

小船由stc89c52单片机控制运动,首先打开小船上面(下位机端)的电源开关使它的蓝牙模块发出信号,然后由手机(上位机端)发送蓝牙无线信号进行配对来启动并复位小船,然后通过控制Android软件发送不同的数据指令给小船上面的蓝牙模块,接着小船上面的蓝牙模块通过输出端把数据传送给单片机的输入端RXD,最后单片机结合下载进去的程序辨别并分析指令,在P1口输出相应的电平控制小船运动,具体系统框图如图2-1所示:

上位机端

安卓端控制软件

 

Android端的手机蓝牙

 

下位机端

小船端蓝牙模块

单片机

小船驱动

图2-1系统框图

第三章硬件设计

本次设计的硬件方面大致可以归纳为四个大的部分:

蓝牙部分、51单片机最小系统、双电机驱动部分、电源部分。

电源电路为整个系统供电,其中包括了单片机、两个电机驱动、蓝牙模块(BMX03A)、和外围电路。

并且电源电路可以分两个部分:

(1)外部锂电池给电机供电;

(2)利用外部锂电池供电给整个系统,来确使电机驱动、单片机、蓝牙模块能够正常运行。

接通外部锂电池时红色指示灯持续闪烁。

3.1蓝牙模块

蓝牙最早出现的时间可以追溯到1994年,由著名的爱立信(Ericsson)公司首先开发出来。

它在本质上就是一种允许多个设备在一定距离内可以进行点对点的无线通信的技术[4]。

大概是因为蓝牙这种技术使用方便,对硬件要求较低,并且符合当今社会的无线技术的发展趋势。

所以蓝牙一经推出就得到了各个硬件厂商和消费者的欢迎,普及速度非常快。

到目前为止,经过多次更新蓝牙已经发展到V4.0版本了。

在本设计里面选用的是BMX-03A版本的蓝牙。

它是v1.2版本的蓝牙模块,这是一种比较常用的蓝牙模块,价格较为低廉,并且只要在电路板上焊接一个底座就可以把它插上去运用了,很适合用来改装。

经过测试发现它的数据传输距离大概在18米左右,稍微大于官方给出的10米的距离。

它运用异步通信的通用串行数据总线,符合电气、电子设备中限制使用某些有害物质指令的标准,所以是安全的。

它还支持支持AT指令,可以方便的更改各种参数。

BMX-03A的供电电压为2.0-3.7V,尺寸为27.4*12.5*4.3mm。

蓝牙的连接,蓝牙SIG为了保证蓝牙通信的安全性,采用认证的方式进行数据交互。

在第一次两个蓝牙设备之间想进行联通的话需要经过配对密码验证,只有在双方都验证正确的情况下两个蓝牙模块才会连接在一起,进行数据交换,但是为了使用方便,只要第一次两个蓝牙之间正确连接了,蓝牙就会自动把正确的连接信息保存下来以备第二次连接使用。

本蓝牙模块用到的电源芯片为AMS1117,这是一个贴片式的DC5V转3.3V的芯片,它的优点是不需要什么外围电路,就可以直接可以用来转换电源电压!

1.蓝牙的功能框图如图3-1所示:

图3-1蓝牙功能框图

2.BMX-03系列连接器管脚定义:

图3-2为BMX-03A的实物模拟图:

图3-2BMX-03A实物模拟图

为了更好的应用bmx-03A蓝牙模块我们必须非常清楚的了解本模块的各个引脚的作用。

具体见表3-1:

表3-1BMX-03A系列管脚说明表

管脚号

名称

备注

1

PIO1

数字输入/输出IO口

2

NC

调试口,悬空

3

UART_CTS

UART

4

NCUART

调试口,悬空

5

5UART_TX

UART

6

3.3V

电源正极

7

UART_RX

UART

8

GND

电源负极

9

UART_RTS

UART

10

NC

调试口,悬空

11

PIO0

数字输入/输出IO口

12

NC

调试口,悬空

3.PIO口控制:

蓝牙的主从设置及其他配置

PIO0----按键输入管脚

当需要对PIO0管脚进行配置时,只需要短按控制,或者输入约0.1s的高电平单次脉冲就可以了。

A)主机:

当想要对主机清除已经保存在蓝牙里面的配对信息时,你可以设置AT+IMME=1。

当蓝牙模块已经配对连上时,你可以手动让它断开连接,经过0.15s以后让它重新去连接从设备。

等主机断开跟前面的从机连接后,就可以再次搜索连接你想要连接的设备了。

如果不想消除掉主机里面已经存在的配对信息,也不希望它重启时,就让AT+IMME=0就可以了。

想让AT指令实现一对多的连接方式,只要手动断开从机连接,但继续让主机待机就行了。

但是要注意的是断开以后,它就没有办法接受输入信号了。

B)从机:

当手动断开从机跟主机连接以后,它会在0.15s以后重新启动,再次等待被配对连接。

备注:

当使用Pio0口手动使蓝牙断开连接后,由于这是正常断开,从机就会在一段时间后关闭确认连接状态,这个时间大概是10s[13]。

对于从机端的输出控制管脚来说它的作用就是提示你从机端是否在工作状态中。

它会一直重复0.1s的脉冲来提示蓝牙设备处于搜索主机当中;它会一直重复两秒的脉冲来提示蓝牙设备处于待机当中;连接状态长亮——高电平。

电平转换:

一般说单片机的输入电压是5V,蓝牙的输入电压是3.3v。

为了让蓝牙模块在最合适的电压下工作,很多情况下需要对它的输入电压就行稳压控制[7],一般转换电路图如图3-3所示:

图3-3电压转换原理图

但是本次实验中为了方便直接选用了AMS1117芯片。

这是一种不需要外围电路的贴片,可以直接转换5V电压到3.3V。

4.AT指令集:

为了设置AT指令我们需要把蓝牙模块跟电脑相连,具体放法如下:

因为蓝牙模块自带SPP协议,所以只要通过串口就可以进行数据通信了。

连接之前打开只要给BMX—03A蓝牙模块供应3.5V的电压,他就自动发射蓝牙信号了[8]。

然后在电脑端装上蓝牙模块的驱动,打开电脑蓝牙搜索,就能找到BMX-03A的蓝牙信号并且进行配对了,输入正确密码使他们连接上以后就可以新建一个COM口了。

然后就可以利用串口工具打开想要的CMS口并且对蓝牙里面的数据进行修改了。

设置成功后如图3-4所示:

图3-4串口调试

本蓝牙模块有很多的AT指令集,接下来就列举一些本设计所需要用到的指令集

查询/设置指令:

表3-2查询/设置蓝牙名称指令

下行命令

应答

参数

AT+NAME

+NAME=

此处为设备名称

默认:

BOLUTEK

AT+NAME

1.+NAME=

OK——成功

2.ERROR=——失败*

例如:

输入指令AT+NAME

应答+NAME=

此时获取到蓝牙模块名称则为cheshi1。

输入指令AT+NAME

应答+NAME=

OK——成功

成功的设置蓝牙模块名称则为cheshi2。

表3-3蓝牙模块工作状态查询指令

下行命令

应答

参数

AT+STATE

+STATE=

模块工作状态

返回值如下:

0:

“INITIALIZING”——初始化

1:

“READY”——准备状态

2:

“INQUIRING”——查询状态

3:

“PAIRABLE”——配对状态

4:

“CONNECTING”——连接中

5:

“CONNECTED”——已连接

表3-4设置/查询配对密码

下行命令

应答

参数

AT+PIN=Para1

OK+PIPara1

Para1:

密码

(最长13位数字或字母)

默认:

0000

例如:

发送:

AT+PIN----返回:

举例:

你只要发送AT+PIN1234返回这时蓝牙配对密码就为1234了,一般蓝牙模块在出厂时的默认的配对密码是0000。

本次所用的Bmx-03A具体实物如图3-5所示:

图3-5蓝牙模块实物图

本次所用蓝牙电源1117芯片实物图3-6所示:

图3-6蓝牙电源芯片实物图

3.2小船电机驱动

本次设计所用的小船电机驱动芯片为两个L9110H。

L9110H是一种很常用的控制电机的驱动。

经常被用来当作玩具车电机的驱动。

这是一种双通道的功率放大器件,每通道正常情况下能通过0.75到0.8安的电流,在特殊情境下最大的电流能达到2安[5]。

它的抗干扰性很好。

该驱动兼容两个输入,TTL和CMOS。

这两个电平输入分别控制电机的正反转,同时它具有较低的输出饱和压降;为了更好的利用L9110H我们需要对他的引脚功能进行详细了解。

L9110H的管脚示意图如图3-7所示:

图3-7L9110管脚示意图

L9110H的引脚如下表:

表3-5L9110对应引脚功能表

序号

符号

功能

1

OA

A路输出管脚

3

VCC

电源电压

5

VCC

电源电压

7

OB

B路输出管脚

2

GND

地线

4

IA

A路输出管脚

6

IB

B路输出管脚

8

GND

地线

当VCC端和地线端通电后代表L9110H驱动处于供电状态,随时可以工作。

一个电机的OA1端和OB1端分别接在一个直流电机上,同理另一个驱动的OA2和OB2接在另一个电机上,这是不分方向的。

想要使电机顺时针方向转动只要给IA1输入高电平,IB1输入低电平。

同理当给IA1和IB1分别输入低电平和高电平时电机就逆时针方向转动了。

同理控制另一个电机的方法也是一样的。

电气特性如下表:

表3-6电气特性表

符号

参数

最小

适中

最大

单位

VCC

电源电压

2.5

6

12

V

Idd

静态电压

0

2

uA

Inc

操作电流

0.2

0.35

0.5

mA

Ic

持续输出电流

0.75

0.8

0.85

A

Imax

电流峰值

1.5

2

A

电路应用图3-8所示:

图3-8L9110电路应用图

如电机原理图3-9所示,当我们在实际的小船应用中是一共用了两个L9110驱动芯片的,每一个驱动芯片控制一个电机,然后在通过输入信号的改变来控制两个电机的运动,从而控制小船运动。

调试过程中L9110芯片的3,5端口需要接电源正极2,8端口需要接地,然后通过4,6端口接收单片机信号从而来控制电机是正转还是反转,在电路仿真图中我们控制信号是可以让电机反转的,但是由于船的特殊性,此次设计没有考虑实现船的倒退,所以在实际的应用过程中是屏蔽了驱动芯片的反转信号的,只是控制两个电机正转,通过控制每个电机的转动的时间来实现船是前进或是左右转向。

图3-9电机原理图

实物图如图3-10所示:

图3-10L9110实物图

3.3单片机最小系统

单片机(SingleChipMicrocomputer)从字面上我们可以翻译成单片的微型计算机,所以我们平时所熟知的单片机它其实就是一种计算机,只不过它是集成在一块芯片上的[9]。

从功能方面来讲,它的主要作用就是作为一个控制核心,充当着整个器件的CPU的作用,所以人们有时候也会把它叫做微控制器。

由于单片机是经常被嵌入在器件上面的所以也可以叫它嵌入式控制器[6]。

单片机作为计算机的一种分支,它在微型化的同时需要保证能把输入/输出接口电路、存储器Ram和Rom,定时器和CPU全部都能放到这个芯片上面,使它能够实现最基本的微型计算机的作用。

既然讲到了单片机的构成就不得不再讲一下单片机的应用,它应用领域特别广,虽然看不到但是基本上跟我们生活有关的各个设备上面都有它的存在。

单片机已经跟我们的生活息息相关了,我们生活的过程中根本就离不开它。

单片机对之所以我们有这么重要的作用,这跟它的特点有很大的关系。

一、基本上应用广泛,为我们所欣然接受的东西都有一个共同点,那就是可靠性高,单片机主要应用于工业方面的控制。

而工业一般对于器件的要求相对更高。

为了迎合市场需要,单片机需要微型化这就决定了它的结构必须紧凑,空间利用率要高。

不仅如此单片机可以直接对它的输入/输出口进行操作和控制,并且它位操作能力越来越强,在功能要满足要求的同时单片机在抗干扰方面也有要求的,好的单片机需要保证数据传输稳定,并且对环境的适应性要高。

所以单片机的可靠性是非常高的。

二.一样事物想要大面积使用,一般都得相对比较便宜,能够比较容易大规模化,使用方便,单片机做到这几点了。

当有对单片机用量大的地方,可以对不同的单片机型号进行组合匹配,当现有的单片机不满足需要时,还可以对芯片进行单独设计,使得单片机功能能够更好的对应应用要求。

为了使用方便,现有单片机比较注重减少引脚,现在市场上甚至已经有少于8个引脚的单片机了。

引脚的减少使得单片机占地更小,节约板子空间,使它焊接更加方便,正是由于单片机的性价比高,使用方便等因素使得现在的单片机市场欣欣向荣。

最小单片机系统要求加载最少的电路和存储器,对我们本次用到的51系列单片机来说,它的最小系统只要包括时钟电路和复位电路就行了。

本设计里面采用的是型号为STC89C52RC的单片机。

这种单片机性价比高,可以直接使用串口下载,功耗低很适合用来组装电路[10]。

它是电子工程师常用器件。

这种单片机有较强的抗干扰性,对环境要求低,它的工作温度范围在-40到80℃之间,工作电压在2.7到6V之间,它还抗静电,对脉冲干扰有较强的抗性。

它的功耗低体现在它工作时耗电为20几毫安,待机时为1毫安左右。

这样小的功耗是很适合于电池供电的小型控制系统。

 

单片机最小系统电路图如图3-11所示:

 

图3-11单片机最小系统电路图

由于STC89C52单片机的工作电压为5V,但是此次所用外接锂电池为电压为7.3V,所以需要经过稳压处理。

稳压所用器件为三端电源稳压电路L7805。

电压转换原理图如图3-12所示。

图3-12电压转换原理图

第四章软件介绍

4.1Eclipse

1.Eclips简介:

Eclipse这个软件是在Visualage的基础上发展过来的。

Eclipse解决了Visualage的很多弊端,再对Visualage仔细分析后Eclipse对底层技术非常重视,并且很注重它的扩展性,使得Eclipse能够轻松兼容WebSpherestudio等软件。

Eclipse是在2000年的时候正式发布的,历时两年的研究和开发,并且由于IBM公司吸取了Visualage的教训,决定对这个软件进行开源处理,在这种背景下,Eclipse一经发布就吸引了外界的眼光,人们对它议论纷纷,在媒体的报道下人们对于Eclipse这个新兴的软件充满好奇。

这还不止,IBM嫌Eclipse的知名度和推广度还不够,在IBM公司财大气粗的情况下经过深思熟虑,决定在给外界投一个重磅炸弹。

那就是IBM公司直接把这些幸苦开发的价值高达四千万美元的软件的源代码直接给贡献了出来,把源代码交给了一个新成立的Eclipse协会[11]。

这样一来,极大的刺激了业界人们的热情,Eclipse在连IBM公司都没想到的速度下超快速的被推广了起来,在宣布这个消息的几天内,闻风而来的用户甚至要把Eclipse的下载服务器挤爆了。

着这种良好的发展趋势下又过了4年,IBM公司直接成立了一个独立基金会组织来管理Eclipse,并且承诺该组织的非营利性。

有鉴于此很多公司决定参与该基金会,这些公司里面甚至包括谷歌和Oracle等巨头公司。

使得Eclipse直接甩开Borland等公司的开发工具平台一跃成为目前世界上最主要的开发平台之一。

2.Eclipse优点:

毫无疑问Eclipse的最主要的优点就是能够免费使用。

得益于Eclipse的开源,使得普通程序开发人员不但能够不用花钱的使用它,还可以分享全世界人们奉献的源代码。

对于有上进心的程序员他们还可以研究世界上最

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1