基于蓝牙遥控的智能小车设计.docx_第1页
基于蓝牙遥控的智能小车设计.docx_第2页
基于蓝牙遥控的智能小车设计.docx_第3页
基于蓝牙遥控的智能小车设计.docx_第4页
基于蓝牙遥控的智能小车设计.docx_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 嵌入式系统设计项目设计报告 题 目: 基于蓝牙技术的智能遥控小车的设计 专 业: 自动化 班 级: 姓 名: 学号: 指导老师: 成 绩: ( 2015.12)摘要 随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。遥控小车起源于美国,由于政府对无线遥控小车研发的资助以及相关资助的推动作用,日本、美国、德国等工业大国在遥控小车技术上占据着明显优势。我国的无线遥控小车研究工作始于20世纪中后期,在国家的863、973等技术发展计划的重点支持下,国内已大范围地进行无线遥控小车的研究。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究,但是与国际先

2、进还存在一定的差距。可见其研究意义很大。本设计就是在这样的背景下提出的。设计的智能电动小车能够实现无线遥控,串口通讯,实时检测速度,避障碍等功能。无线遥控实现方法包括蓝牙、红外、射频几种,其中蓝牙技术具有一定优势,目前在信息家电方面应用正在铺设。各种家电共用遥控,并可组网与公众互联网相接,共享有用信息。目前蓝牙技术实现无线遥控的短板在于传输距离短和芯片价格高方面。但随着科技发展,这些问题正在逐步得以解决。无线遥控机器人有着广阔的应用前景。无线遥控的小车,可以在危险的环境作业,人员搜索,可以在各类领域中发挥着它特殊的作用,本次设计是选择基于蓝牙遥控的多功能智能小车为对象。控制系统以C51单片机为

3、主控芯片,采用L298N为电机驱动芯片、HC-06蓝牙无线模块、12864液晶显示模块、四路循迹模块等构成外围扩展电路。将自制的控制电路、控制程序和四轮小车机械相结合,制作多功能智能小车。实验调试实现了智能小车的蓝牙无线遥控、自动避障、自动测距及各种灯光的功能。关键词:51单片机;蓝牙遥控;智能小车目录摘要11.绪论31.1课题目的41.2课题研究内容52 .方案论证52.1 总体方案设计52.2设计系统的功能要求62.3 系统硬件方案63.系统硬件设计83.1STC89C52芯片简介83.2STC89C52最小系统103.3电机驱动设计103.4显示电路设计113.5 蓝牙模块设计123.6

4、 PCB图设计133.7 智能车结构分析143.7.1 底板设计143.7.2电机与底板的连接支架设计153.7.3整体装配图154.系统软件设计164.1系统的程序流程164.2蓝牙模块参数设置程序164.3蓝牙发送程序接收程序和中断程序174.4自动避障及灯光声音控制程序设计194.5液晶显示程序设计215 . 调试结果分析255.1蓝牙遥控调试及结果分析255.2避障功能调试及结果分析256.参考文献 附录程序26绪论1.1课题目的本次设计的小车是具有无线遥控功能的。小车可以无人驾驶和人为控制两种模式,可以随意控制小车的前进后退,转向时有方向灯闪烁,前方有障碍物时,有自动报警功能,实现了

5、自动控制。1.2课题研究内容本次设计的蓝牙遥控小车要实现的功能有基于安卓手机的蓝牙遥控,可以让小车前进、后退、左转、右转,以及重力感应控制小车切换为无人驾驶模式时,可以让小车自动驾驶,同时小车具备自动避障,转弯灯,报警灯以及即时显示小车信息等功能。系统设计主要有两个部分,软件部分和硬件部分。软件部分:C语言编程和keil uVison4 软件。在硬件方面:采用STC89C52单片机。2 方案论证2.1 总体方案设计本次设计的小车采用的是以51单片机为主控制器,开始由手机发送蓝牙无线信号来启动并复位小车,由四路循迹模块进行障碍检测,通过单片机控制小车行驶,显示,避障和转向,采用4wd驱动,以提高

6、整车运动的平稳性;最后通过蓝牙无线传输功能将智能车的行驶信息实时地传给显示器,实现监控,也可以通过蓝牙无线来控制小车的行驶状态。这就是本次的总体设计思路。该方案如图2-2小车设计结构图所示。电机驱动模块STC89C52手动驾驶模式蓝牙输入模块液晶显示模块 方向灯蜂鸣器图2-2-1 STC89C52芯片小车结构设计图1电机驱动模块STC89C52液晶显示模块传感器模块自动避障自动驾驶模式方向灯蜂鸣灯图2-2-2 STC89C52芯片小车结构设计图22.2设计系统的功能要求蓝牙控制的智能小车是基于STC89C52单片机实现的。STC89C52简单易学,有丰富的资源,让人们学习的效率大大提高。该基于

7、安卓系统的蓝牙小车的功能是蓝牙控制,重力感应驾驶,自动避障,即时显示小车状况,报警灯转向灯等。2.3 系统硬件方案手机控制模式如图2-3系统结构框图所示。手机重力感应手机方向键蓝牙STC89C52电机方向方向控制电路驱动电机驱动控制电路液晶显示液晶显示电路转向灯蜂鸣灯电路报警灯传感器无人驾驶模式图2-3 系统结构框图在图2-3系统结构图中,STC89C52输入部分:安卓系统手机,蓝牙,切换为无人驾驶模式时为传感器;输出部分有:方向控制,驱动控制,液晶显示,灯光,本次小车为四轮驱动,可以前进,后退,转弯,转弯灯,避障报警灯,液晶显示小车即时状况 3系统硬件设计3.1STC89C52芯片简介STC

8、89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52性能:1. 增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意 选择,指令代码完全兼容传统8051. 2. 工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V 单片机)3.工作频率范围:040MHz,相当

9、于普通8051 的080MHz,实际工作 频率可达48MHz4. 用户应用程序空间为8K字节5. 片上集成512 字节RAM6. 通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片8. 具有EEPROM 功能9. 共3 个16 位定时器/计数器。即定时器T0、T1、T210.外部中断4 路,下降沿中

10、断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒11. 通用异步串行口(UART),还可用定时器软件实现多个UART3.2STC89C52最小系统最小系统包括电源 复位电路和晶振电路。如图3-2 STC89C52最小系统所示。图3-2 STC89C52最小系统3.3电机驱动设计 本次设计采用L298N直流电机驱动芯片驱动模块最大工作电流为2A,且可同时驱动两个直流电机可满足如实验室两驱动和舵机转向小车使用,如为四驱小车,需使用两块。 3-3 电机驱动引脚图3.4显示电路设计本次设计采用12864液晶屏,液晶显示屏显示质量高,由于液晶显示器每个店在收到信号就一直

11、保持那种色彩和亮度,恒定发光,因此,液晶显示器的画面质量高不会闪烁。由于液晶显示器都是数字式的,所以和单片机的接口更加简单可靠,操作方便。液晶显示器通过显示屏上的电机控制液晶分子状态来达到显示的目的,因此,液晶显示器也有体积小,重量轻的优点。液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就显示,这样就可以显示出图形。液晶显示器目前已被广泛应用在便携式电脑,数字摄像机,PDA移动通信工具等众多领域。3-4 12864液晶显示屏 3-5 12864电路图3.5 蓝牙模块设计蓝牙模块主要为了实现数据传输,本设计是通过蓝牙转串口模块,实现无线通讯功能,所以本质上使用的是单片机串

12、口通信。串行通讯的特点是:数据按位顺序传送,最少仅需一根传输线即可完成,成本低但传送速度慢。串行通讯的距离可以从几米到几千米。根据信息的传送方向,串行通讯可以进一步分为单工,半双工和全双工三种。信息智能单向传送的为单工;能双向传递但不能同时双向传送的称为半双工;信息能够同时双向传送则成为全双工。串行通讯又分为异步通讯和同步通讯两种方式。在单片机中,主要使用异步通讯方式。 3-6 HC-06蓝牙模块电路图3.6 PCB图设计在电路原理图设计好之后,根据布线原则对元器件进行布局,布线,最后铺铜、滴泪。焊接芯片的步骤:1.将芯片平放在PCB板上,将芯片引脚对准焊盘然后用手指按住;2.将芯片的两个对角

13、焊牢;3.在芯片的四周上适量焊锡;4.将PCB板向着焊接引脚的方向下倾斜45度,用松香去掉烙铁头端多余的焊锡;5.把粘有松香的焊铁头放在焊锡的部分;6.来回拖动烙铁,将焊锡均匀的布在芯片的引脚上;7.重复上述步骤焊接芯片的另外的引脚,如果发现引脚间有多余的焊锡就用吸锡丝将多余的焊锡吸掉。3.7 智能车结构分析在本次设计中,小车使用四轮驱动,四轮驱动式的结构中因为后轮的转动力矩的增大,所以在横向上的阻力要大于2轮驱动式的,因此四轮驱动式的车子不易发生方向偏移。而且四轮驱动的车子动力更大,爬坡能力更强。但存在一些不足,如:四轮驱动式的车子更加耗电,而且车体比一般的2轮驱动式的车体重。从整体的性能来

14、看四轮驱动式结构的优势是很明显的。3.7.1 底板设计底板是用来支撑车体的主要部件。同时也是用来固定车子零部件的,底板上主要有传感器安装槽,传感器安装孔,电机定位槽和走位孔,其余的槽孔是用来留在日后扩展用的。底板采用的是高强度的亚克力板。安装方便,结构可靠稳定。3-7 小车底盘示意图3.7.2电机与底板的连接支架设计电机支架主要是用来将电机固定在底板上的,每个电机用两块支架板绑定固定,通过槽孔和圆孔来绑定电机,支架的材料也是高强度的亚克力板。3.7.3整体装配图3-8 整体装配图4.系统软件设计4.1系统的程序流程开始 初始化是否开始无人驾驶模式 Y N手机驾驶模式执行无人驾驶程序结束图4-1

15、 系统总体程序流程图由打开电源,选择模式,开始驾驶模式,结束几部分组成的蓝牙遥控小车的主要程序。4.2蓝牙模块参数设置程序voidInitUART(void)TMOD=0x20; /定时器1TH1=0xfd; /装入初值TL1=0xfd;TR1=1; /启动定时器1SM0=0; /设置串口方式1SM1=1;REN=1; /接收使能EA=1; /打开总中断开关ES=1; /打开串口中断开关4.3蓝牙发送程序接收程序和中断程序voidPrint_Char(uchardat)SBUF=dat;/写数据到UART数据寄存器while(TI!=1);/等待发送完毕TI=0;/软件清零voidPrint_

16、Str(uchar*s)/发送字符串(uchar*s) ES=0;while(*s)/检测字符串结束标志Print_Char(*s+);delay(2);/发送当前字符ES=1;voidUart()interrupt4using1if(RI)RI=0;/清除RI位 aa=SBUF;/P0显示串口数据4.4自动避障及灯光声音控制程序设计voidavoid_thing()if(d0=0|d1=0)P1=right;rightled=1;leftled=0;beep=0; beep=1;if(d3=0|d2=0)P1=left;rightled=0;leftled=1;beep=0;beep=1;i

17、f(d0=0&d1=0&d2=0&d3=0) P1= stop;rightled=1; leftled=1;if(d0=1&d1=1&d2=1&d3=1) P1= up;rightled=0; leftled=0;if(moshi=0)flag=0;4.5液晶显示程序设计#includereg52.h#includetypedefunsignedcharuchar;typedefunsignedintuint;#definenop();_nop_();_nop_();_nop_();_nop_();#defineDataPortP0/定义P0口为LCD通讯端口sbitRS=P27; /数据/命

18、令端sbitRW=P26; /读/写选择端sbitE=P25;sbitRST=P24;sbitPSB=P22;sbitBusy=DataPort7;voidlcd_busy(void)DataPort=0xff;RS=0;RW=1;E=1; while(Busy=1);E=0;voidlcd_com(ucharcom)lcd_busy();E=0;RS=0;RW=0;E=1;DataPort=com;nop();E=0;voidlcd_dat(uchardat)lcd_busy();E=0;RS=1;RW=0;E=1;DataPort=dat;nop();E=0;voidlcd_init(vo

19、id)RST=1;PSB=1;lcd_com(0x30);/*30-基本指令动作*/lcd_com(0x01);/*清屏,地址指针指向00H*/lcd_com(0x06);/*光标的移动方向*/lcd_com(0x0c);/*开显示,关游标*/voidlcd_disp(uchary,uchar*str,ucharlen)/向第y行写入字符串uchari;lcd_com(0x30);lcd_com(y);for(i=0;ilen;i+)lcd_dat(*str);str+; 5 调试结果分析5.1蓝牙遥控调试及结果分析打开手机蓝牙连上小车的信号,然后点手机上的方向键,看小车是否有动作。结果分析:

20、小车反应良好,动作灵敏。5.2避障功能调试及结果分析驱动小车行走,用手挡着小车前面的避障传感器,小车立即向另一方向做出一定角度的转向,并且方向灯亮,报警灯响。结果分析:避障功能良好。小车能正常避障。5.3无人驾驶模式调试及结果分析将线插进针里,小车启动无人驾驶模式,然后小车正常行驶,遇到郑爱武立即避开。6.总结随着时间的流逝,我们的小车设计也接近尾声,这些天我开心过,每一次的调试成功都会给我们带来莫大的鼓舞和动力。当然这次设计不是完美的,还有许多地方可以改进,比如车子可以做大,模块可以用更强大的,还可以添加其他有趣的功能,当然没有任何事物可以做到完美无缺,我相信只要我们不断去完善,做出来的产品

21、才会更加出色。参考文献1 邱关源主编.电路M.5版.北京:高等教育出版社,2006.2 阎石主编.数字电子技术基础M.5版.北京:高等教育出版社,2005.3 童诗白,华成英主编.模拟电子技术基础M.4版.北京:高等教育出版社,2006.4 贾石峰主编.传感器原理与传感器技术M.北京:机械工业出版社,2009.5 李全利主编.单片机原理及接口技术M.2版.北京:高等教育出版社,2009.6 谭浩强编.C程序设计M.3版.北京:清华大学出版社,2005.7 胡寿松主编.自动控制原理基础教程M.3版.北京:科学出版社,2013.8 高西全,丁玉美编.数字信号处理M.3版.西安:西安电子科技大学出版

22、社,2008.9 吴大正主编.信号与线性系统分析M.4版.北京:高等教育出版社,2005.10 张友德,赵志英,涂时亮,单片机微机原理,应用与实验M.上海:复旦大学出版社,2003.附录:程序主程序设计void main() P2=0x01;lcd_init(); InitUART(); /初始化串口 delay(10); Print_Str(all is ok); /发短信内容 lcd_disp( 0x81,重力感应小车,12) ; while(1) lcd_disp( 0x88,手动驾驶,8) ;while(aa=D) if(moshi=1)flag=2;break; P1=right; rightled=1; leftled=0; beep=0;lcd_disp( 0x90,接收字母,9) ; lcd_disp( 0x94,&aa,1) ;lcd_disp( 0x96,右转,4) ; beep=1;while(aa=C) if(moshi=1)flag=2;break;lcd_disp( 0x90,接收字母,9) ; lcd_disp( 0x94,&aa,1) ; lcd_disp( 0x96,左转,4) ; P1=left; rightled=0; leftle

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论