基于安卓蓝牙控制的智能车设计报告毕设论文.doc
《基于安卓蓝牙控制的智能车设计报告毕设论文.doc》由会员分享,可在线阅读,更多相关《基于安卓蓝牙控制的智能车设计报告毕设论文.doc(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要:在科技日益发展的今天,无线遥控的机器人小车在危险环境作业、人员搜集等应用中可发挥特殊的作用。智能车作为智能车辆的仿真车,是研究智能车辆的基础。介绍了基于蓝牙遥控的多功能智能车。该设计采用STC89C52RC芯片为主控制器,利用L298N芯片驱动直流电机。同时利用安卓手机蓝牙无线遥控小车进入蓝牙手动模式,循迹模式和避障模式。在蓝牙模式下小车采用蓝牙模块利用Android平台远程控制小车的移动;在循迹模式下,采用红外光对管对黑线检测,判断出黑线的位置,将采集到的路况信息输入STC89C52单片机中,让小车沿着黑线自动行驶;在避障模式下,让小车自由移动,避障模块将使小车不会撞上障碍物。为了避免
2、小车撞上障碍物,该小车使用了HS-RS04超声波模块,通过超声波的发射与接受来确定障碍物的位置,避免小车撞上障碍物。关键词:智能车;51单片机;蓝牙通讯;超声波测距;红外检测;目录1 方案比较与论证11.1 循迹单元方案比较与选择11.2 避障单元方案比较与选择11.3 无线单元方案与比较22 硬件电路设计32.1 总体设计32.2 单片机模块32.2.1 STC89C52简介32.3 电机驱动模块42.3.1 参数42.4 电源模块62.5 蓝牙模块62.6 循迹模块72.7 避障模块73 软件设计83.1 智能车运动控制程序83.1.1 智能车运动控制程序构思与框架83.1.2 智能车基础
3、运动设计与实现113.1.3 串口通讯接口部分133.1.4 智能车蓝牙手动模式设计与实现143.1.5 智能车自主循迹模式设计与实现163.1.6 智能车自动避障模式设计与实现173.2 Android蓝牙客户端设计与实现193.2.1 客户端界面设计193.2.2 BluetoothCar类设计194 系统测试与结论204.1 硬件电路调试204.1.1 独立元件的检测204.1.2 单片机最小系统的调试204.1.3 电源电路的调试214.1.4 驱动模块的调试214.2 软件调试214.2.1 C语言的调试214.2.2 JAVA语言的调试224.3 制作总结22参考文献24附录一:原
4、理图25附录二:源程序271 方案比较与论证1.1 循迹单元方案比较与选择 方案一:采用可见光发光二极管和光敏二极管采用普通可见光发光管和光敏管组成的发射接收电路。其缺点在于易受到环境光源的影响。即便提高发光管亮度也难以抵抗外界光的干扰。 方案二:采用反射式红外发射接收器 采用反射式红外发射接收器。直接用直流电压对发射管进行供电,其优点是实现简单,对环境光源的抗干扰能力强,在要求不高时可以使用。 结论:根据成本和实现容易性,以及由于传感器可以在车体的下部,发射、接收距地面都很近,外界光对其的干扰都很小。在基本不影响效果的前提下,为了简便起见,系统选用了方案二。1.2 避障单元方案比较与选择 方
5、案一:超声波探测超声波测距对色彩和光照不敏感,可用于识别透明及漫反射性的物体,可在黑暗、有灰尘或烟雾的环境当中使用,超声波测距对电磁场及其他电磁干扰不敏感,可用于电磁干扰强、有毒、有害等恶劣环境中,超声波传感器结构简单、体积小、成本低、技术难度小、信息处理简单可靠、易于小型化和集成化。当然超声波测距也有一定的缺点,比如受温度、气流、材质的影响。 方案二:红外式探测光电对管价格低廉,性能稳定,但探测距离过近(一般不超过3cm),使得小车必须制动迅速。而我们由于采用普通直流电机作为原动力,制动距离至少需要10cm。 方案三:雷达探测1雷达测距受恶劣天气的影响比较大,且成本比较高,雷达还必须满足电磁
6、兼容要求。 方案四:使用视频采集处理装置进行探测使用CCD实时采集小车前进路线上的图像并进行实时传输及处理,这是最精确的障碍物信息采集方案,可以对障碍物进行精确定位和测距。但是使用视频采集会大大增加小车成本和设计开发难度,而且考虑到我们小车行进转弯的精确度并未达到视频处理的精度,因而使用视频采集在实际应用中是个很大的浪费。结论:综上所述,再结合我们的设计目标,采用方案一最符合设计要求。1.3 无线单元方案与比较无线控制是为了能够实现对智能车的远程遥控,使小车可以在遥控状态下代替人类完成一些危险项目。目前短距离无线数据传输技术主要有两大类,一类是基于IrDA红外无线通信技术,另一类是基于ISM(
7、Industrial Scientific Medical)频段射频通信技术。较为主流的几种通信技术之间既存在着相互竞争,但又在某些实际应用领域内相互补充、相互配合,究竟选择何种技术更优越,需要由具体的工作环境来决定。表1-3所示为四种短距离无线通讯技术主要性能参数。 表1.3 四种短距离无线通讯技术主要性能参数 蓝牙技术红外技术WiFi技术ISM射频技术通信距离100m10m300m1000m通信速率10Mb/s16Mb/s11Mb/s500kb/s通信频率或波长2.4GHz0.75um-24um2.4GHz315、433.868、915和2400MHz频率申请否否否否开发难度易难难易模块成
8、本较低很低较低低结论:通过表格可以看出,他们在近距离通讯领域都可以提供可靠的通信服务,但是同时他们的应用有着各自的技术架构的限制。在以上的几种中,我最终选择了蓝牙无线传输方式。2 硬件电路设计2.1 总体设计智能车主要现实远程来控制智能车的运动。它要实现三种运动模式:遥控模式、自主循迹模式、自动壁障模式。根据上述功能需求和模块化思想,智能车可以分为以下几个主要模块:单片机模块、电源管理模块、无线通讯模块、循迹模块、壁障模块。其主要结构框图如图1-1所示。图2.1总体结构框图2.2 单片机模块2.2.1 STC89C52简介STC89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM
9、-Flash Program able and Erasable Read Only Memory)的低电压,高性能COMOS8的微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。STC89C52特性:通用I/O口,复位后为:P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口);P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需要加上拉电阻;ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成;
10、具有EEPROM功能;具有看门狗自动复位功能;共有3个16位定时器/计数器,其中定时器0还可以当成2个八位定时器使用;外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒。图2.2.1单片机最小系统原理图2.3 电机驱动模块 L298N内部包含4个通道逻辑驱动电路,是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可以驱动4V、2V以下的电机。2.3.1 参数1.驱动芯片:L298N双H桥直流电机驱动芯片2.驱动部分端子供电范围Vs:5V35V ;如需要板内取电,则供电范围Vs:+7V+35V
11、3.驱动部分峰值电流Io:2A4.逻辑部分端子供电范围Vss:5V7V(可板内取电5V)5.逻辑部分工作电流范围:036mA6.控制信号输入电压范围: 低电平:0.3VVin1.5V 高电平:2.3VVinVss7.使能信号输入电压范围: 低电平:0.3Vin1.5V(控制信号无效) 高电平:2.3VVinVss(控制信号有效)8.最大功耗:20W(温度T75时)9.存储温度:25130图2.3.1驱动模块原理图表2.3.1驱动状态编码2.4 电源模块考虑到电路消耗功率较多,最终采用11.1v的锂电池,可以安在小车上,为小车供电。电机所需电源由锂电池直接供给,51单片机最小系统以及其扩展模块由
12、锂电池通过7805降压至5V后提供电源。电源电路为整个系统供电,包括单片机STC89C52、电机驱动、蓝牙模块、超声波模块及其他外围电路。电源电路分两个部分:一是接外部电源给电机供电;二是由锂电池作为电源,给系统供电,以确保单片机、电机驱动、蓝牙模块的正常运行。在电源电路给系统供电时,红色指示灯点亮,只是当前供电正常。2.5 蓝牙模块蓝牙模块支持短距离无线传输,可以通过手机与蓝牙模块的配对实现对小车的无线控制。本小车采用的是HC-06蓝牙芯片,在HC-06芯片里已经将蓝牙协议封装好,只需要通过串口通信实现上位机(手机)与下位机(51单片机)的无线通信。蓝牙模块中蓝牙芯片的TXD与RXD分别于单
13、片机的RXD与TXD相接,VCC与单片机电源,GND与单片机GND相连。HC-06使用R1114作为稳压芯片,将单片机提供的5V电压转换为3.3V的低电压,为蓝牙芯片供电。蓝牙芯片应用范围:可用于GPS导航,水电煤气抄表系统,工业现场控制,与移动设备无线连接。2.6 循迹模块地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被安装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不倒红外光。单片机就是否反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测的距离有限,一般最大不应超过15cm。 这里用反射式红外传感器ST188。当小车在白色地面行驶时
14、,装在车下的红外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到信号,输出端将输出低电平;当小车行驶到黑线时,红外线信号被黑色吸收后,将输出高电平,从而实现了通过红线检测信号的功能。将检测到的信号送到单片机的I/O口,当I/O口检测到的信号为高电平时,表明红外光被地上的黑线吸收了,表明小车处在黑色的引线上;同理,当I/O口检测到的信号为低电平时,表明小车行驶在白色地面上。图2.6循迹模块原理图2.7 避障模块本模块使用的是HC-RS04超声波模块。只需要在Trig/TX管脚输入一个10US以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。本模块通过定时器
15、来测量超声波脉冲从发射到接收的时间,乘以超声波在空气之中的速度,得出的距离就是超声波往返传输的距离,将结果除以2后,结果就是超声波模块与障碍物之间的距离。3 软件设计整个系统的软件设计可以分为两大部分:全能车运动控制程序、Android蓝牙控制端的APP。其中全能车运动控制程序又可以细分为五个主要模块:全能车运动部分、串口通讯部分、蓝牙控制模式、循迹模式、壁障模式。3.1 智能车运动控制程序3.1.1 智能车运动控制程序构思与框架智能车运动程序流程主要为:首先为各个模块的初始化工作,为后面的工作做好前期准备,再就是判断智能车运动模式,最后就是在相应的运动模式下执行相应的指令。大概程序流程图如图
16、3.1.1所示。图3.1.1主题程序流程图智能车处理器为STC89C52,根据其的CPU构架,写出了程序的主体框架。处理器启动后首先要做好设备初始化,为后面的工作做好前期的准备。模块初始化工作部分代码如表3-1所示。表3-1 源程序之初始化工作greatcar.c/main()/模块初始化工作部分代码/* 主函数 */void main(void)/* 初始化部分 */ 定时器0初始化Timer0_Init();/ 定时器1初始化 Timer1_Init();/ 串口初始化UART_Init();/ 打开总中断开关EA = 1;/ 以下若干行省略,详细请参考源代码注释:Timer0用于超声波模
17、块,Timer1用于模拟PWM。智能车初始化后,将进行智能车运动模式的选择。通过安卓手机APP或者拨码开关传递给智能车不同的运动模式指令,主要有三种运动模式。蓝牙手动模式,对应编码为0x01;循迹模式,对应编码为0x10;避障模式,对应编码为0x11。编码为0x00是无效编码,也是智能车启动后的默认值。拨码开关通过两个引脚接到单片机上,两个引脚分别为RM0和RM1。蓝牙控制模式选择指令有三种,分别为蓝牙手动模式0xA0,循迹模式0xB0以及避障模式0xC0。其实现的部分代码如表3-2所示。表3-2 智能车运动模式判断与选择greatcar.c/mian()/运动模式判断与选择/* 主函数 */
18、void main(void)/ 省略初始化部分代码,详细请参考源代码/* 主体工作部分 */for(;)/ 全能车模式判断,主要判断P2.0和P2.1引脚的电平高低if(0=RM1 & 0=RM0)Run_Mode_Flag = 0x11; / 全能壁障模式标志,也是自动避开障碍物else if(0=RM0 & 1=RM1) Run_Mode_Flag = 0x01; / 蓝牙控制模式标志else if(1=RM0 & 0=RM1)Run_Mode_Flag = 0x10; / 红外循迹模式标志elseswitch(R_Buffer)case 0xA0:Run_Mode_Flag = 0x0
19、1;break;case 0xB0:Run_Mode_Flag = 0x10;break;case 0xC0:Run_Mode_Flag = 0x11;break;/ 中间省略若干代码,详细参考源代码/ 全能车运行模式判断if(0x01 = Run_Mode_Flag) / 蓝牙模式,通过串口与蓝牙模块通信,获得相应的执行指令Run_Mode_Bluetooth(); else if(0x10 = Run_Mode_Flag) / 循迹模式Run_Mode_Track(); else if(0x11 = Run_Mode_Flag) / 自动模式Run_Mode_Auto();注释:Run_M
20、ode_Flag为智能车运动模式标识符;Run_Mode_Bluetooth()为蓝牙手动模式; Run_Mode_Track()为循迹模式; Run_Mode_Auto()为避障模式;3.1.2 智能车基础运动设计与实现智能车基础运动包括前进、倒车、左转、右转和停车,其对应的功能函数名分别如下:前进Car_Go_Forward()、倒车Car_Go_Back()、左转Car_Turn_Left()、右转Car_Turn_Right()以及停车Car_Stop()。智能车是通过PWM技术来实现调整其运动的速度。前进Car_Go_Forward()和左转Car_Turn_Left()部分代码如表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 蓝牙 控制 智能 设计 报告 论文
限制150内