基于蓝牙遥控的智能小车设计

更新时间:2023-07-17 13:24:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《嵌入式系统设计》项目设计报告

题目:基于蓝牙技术的智能遥控小车的设计专业:自动化

班级:

姓名:学号:

指导老师:

成绩:

( )

摘要

随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。遥控小车起源于美国,由于政府对无线遥控小车研发的资助以及相关资助的推动作用,日本、美国、德国等工业大国在遥控小车技术上占据着明显优势。我国的无线

遥控小车研究工作始于20世纪中后期,在国家的863、973等技术发展计划的

重点支持下,国内已大范围地进行无线遥控小车的研究。全国电子大赛和省内

电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目

的研究,但是与国际先进还存在一定的差距。可见其研究意义很大。本设计就

是在这样的背景下提出的。设计的智能电动小车能够实现无线遥控,串口通讯,实时检测速度,避障碍等功能。无线遥控实现方法包括蓝牙、红外、射频几种,其中蓝牙技术具有一定优势,目前在信息家电方面应用正在铺设。各种家电共

用遥控,并可组网与公众互联网相接,共享有用信息。目前蓝牙技术实现无线

遥控的短板在于传输距离短和芯片价格高方面。但随着科技发展,这些问题正

在逐步得以解决。?无线遥控机器人有着广阔的应用前景。

?无线遥控的小车,可以在危险的环境作业,人员搜索,可以在各类领域中发挥着它特殊的作用,本次设计是选择基于蓝牙遥控的多功能智能小车为对象。控

制系统以C51单片机为主控芯片,采用L298N为电机驱动芯片、HC-06蓝牙无

线模块、12864液晶显示模块、四路循迹模块等构成外围扩展电路。将自制的

控制电路、控制程序和四轮小车机械相结合,制作多功能智能小车。实验调试

实现了智能小车的蓝牙无线遥控、自动避障、自动测距及各种灯光的功能。

关键词:51单片机;蓝牙遥控;智能小车

目录

1.绪论

课题目的

本次设计的小车是具有无线遥控功能的。小车可以无人驾驶和人为控制两种模式,可以随意控制小车的前进后退,转向时有方向灯闪烁,前方有障碍物时,有自动报警功能,实现了自动控制。

课题研究内容

本次设计的蓝牙遥控小车要实现的功能有基于安卓手机的蓝牙遥控,可以让小车前进、后退、左转、右转,以及重力感应控制小车切换为无人驾驶模式时,可以让小车自动驾驶,同时小车具备自动避障,转弯灯,报警灯以及即时显示小车信息等功能。系统设计主要有两个部分,软件部分和硬件部分。软件部分:C语言编程和keil uVison4 软件。在硬件方面:采用STC89C52单片机。

2.方案论证

总体方案设计

本次设计的小车采用的是以51单片机为主控制器,开始由手机发送蓝牙无线信号来启动并复位小车,由四路循迹模块进行障碍检测,通过单片机控制小车行驶,显示,避障和转向,采用4wd驱动,以提高整车运动的平稳性;最后通过蓝牙无线传输功能将智能车的行驶信息实时地传给显示器,实现监控,也可以通过蓝牙无线来控制小车的行驶状态。这就是本次的总体设计思路。该方案如图2-2小车设计结构图所示。

图2-2-1 STC89C52芯片小车结构设计图1

设计系统的功能要求

蓝牙控制的智能小车是基于STC89C52单片机实现的。STC89C52简单易学,有丰富的资源,让人们学习的效率大大提高。

该基于安卓系统的蓝牙小车的功能是蓝牙控制,重力感应驾驶,自动避障,即时显示小车状况,报警灯转向灯等。

系统硬件方案

如图2-3系统结构框图所示。

图2-3 系统结构框图

在图2-3系统结构图中,STC89C52输入部分:安卓系统手机,蓝牙,切换

为无人驾驶模式时为传感器;输出部分有:方向控制,驱动控制,液晶显示,

灯光,本次小车为四轮驱动,可以前进,后退,转弯,转弯灯,避障报警灯,

液晶显示小车即时状况

3系统硬件设计

芯片简介

STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有

8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很

多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的

8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

STC89C52性能:

1. 增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051.

2. 工作电压:~(5V单片机)/~(3V 单片机)

3.工作频率范围:0~40MHz,相当于普通8051 的0~80MHz,实际工作频率可达48MHz

4. 用户应用程序空间为8K字节

5. 片上集成512 字节RAM

6. 通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。

7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/,TxD/)直接下载用户程序,数秒即可完成一片

8. 具有EEPROM 功能

9. 共3 个16 位定时器/计数器。即定时器T0、T1、T2

10.外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可由外

部中断低电平触发中断方式唤醒

11. 通用异步串行口(UART),还可用定时器软件实现多个UART

STC89C52最小系统

最小系统包括电源复位电路和晶振电路。如图3-2 STC89C52最小系统所示。

图3-2 STC89C52最小系统

电机驱动设计

本次设计采用L298N直流电机驱动芯片驱动模块最大工作电流为2A,且可同时驱动两个直流电机可满足如实验室两驱动和舵机转向小车使用,如为四驱小车,需使用两块。

3-3 电机驱动引脚图

显示电路设计

本次设计采用12864液晶屏,液晶显示屏显示质量高,由于液晶显示器每个店在收到信号就一直保持那种色彩和亮度,恒定发光,因此,液晶显示器的画面质量高不会闪烁。由于液晶显示器都是数字式的,所以和单片机的接口更加简单可靠,操作方便。液晶显示器通过显示屏上的电机控制液晶分子状态来达到显示的目的,因此,液晶显示器也有体积小,重量轻的优点。液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就显示,这样就可以显示出图形。液晶显示器目前已被广泛应用在便携式电脑,数字摄像机,PDA移动通信工具等众多领域。

3-4 12864液晶显示屏

3-5 12864电路图

蓝牙模块设计

蓝牙模块主要为了实现数据传输,本设计是通过蓝牙转串口模块,实现无线通讯功能,所以本质上使用的是单片机串口通信。

串行通讯的特点是:数据按位顺序传送,最少仅需一根传输线即可完成,

成本低但传送速度慢。串行通讯的距离可以从几米到几千米。根据信息的传送

方向,串行通讯可以进一步分为单工,半双工和全双工三种。信息智能单向传

送的为单工;能双向传递但不能同时双向传送的称为半双工;信息能够同时双

向传送则成为全双工。串行通讯又分为异步通讯和同步通讯两种方式。在单片

机中,主要使用异步通讯方式。

3-6 HC-06蓝牙模块电路图

PCB图设计

在电路原理图设计好之后,根据布线原则对元器件进行布局,布线,最后铺铜、滴泪。

焊接芯片的步骤:

1.将芯片平放在PCB板上,将芯片引脚对准焊盘然后用手指按住;

2.将芯片的两个对角焊牢;

3.在芯片的四周上适量焊锡;

4.将PCB板向着焊接引脚的方向下倾斜45度,用松香去掉烙铁头端多余的焊锡;

5.把粘有松香的焊铁头放在焊锡的部分;

6.来回拖动烙铁,将焊锡均匀的布在芯片的引脚上;

7.重复上述步骤焊接芯片的另外的引脚,如果发现引脚间有多余的焊锡就用吸锡丝将多余的焊锡吸掉。

智能车结构分析

在本次设计中,小车使用四轮驱动,四轮驱动式的结构中因为后轮的转动力矩的增大,所以在横向上的阻力要大于2轮驱动式的,因此四轮驱动式的车子不易发生方向偏移。而且四轮驱动的车子动力更大,爬坡能力更强。但存在一些不足,如:四轮驱动式的车子更加耗电,而且车体比一般的2轮驱动式的车体重。从整体的性能来看四轮驱动式结构的优势是很明显的。

底板设计

底板是用来支撑车体的主要部件。同时也是用来固定车子零部件的,底板上主要有传感器安装槽,传感器安装孔,电机定位槽和走位孔,其余的槽孔是用来留在日后扩展用的。底板采用的是高强度的亚克力板。安装方便,结构可靠稳定。

3-7 小车底盘示意图

电机与底板的连接支架设计

电机支架主要是用来将电机固定在底板上的,每个电机用两块支架板绑定固定,通过槽孔和圆孔来绑定电机,支架的材料也是高强度的亚克力板。

3..整体装配图

3-8 整体装配图

4.系统软件设计

系统的程序流程

Y

N

初始化 是否开始无人驾驶

模式 执行无人驾驶程序 手机驾驶模式 开始

图4-1 系统总体程序流程图

由打开电源,选择模式,开始驾驶模式,结束几部分组成的蓝牙遥控小车的主要程序。

蓝牙模块参数设置程序

void?InitUART(void)

{

TMOD=0x20; 结

随着时间的流逝,我们的小车设计也接近尾声,这些天我开心过,每一次的调试成功都会给我们带来莫大的鼓舞和动力。

当然这次设计不是完美的,还有许多地方可以改进,比如车子可以做大,模块可以用更强大的,还可以添加其他有趣的功能,当然没有任何事物可以做到完美无缺,我相信只要我们不断去完善,做出来的产品才会更加出色。

参考文献

[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版.西安:西安电子科技大学出版社,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;

leftled=1;

beep=0;

}

beep=1;

while(aa=='F')

{

lcd_disp( 0x90,"接收字母",9) ; lcd_disp( 0x94,&aa,1) ;

lcd_disp( 0x96,"停止",4) ;

P1= stop;

rightled=1;

leftled=1;

if(moshi==1)

{

flag=2;

break;

}

}

while(aa=='A')

{

lcd_disp( 0x90,"接收字母",9) ; lcd_disp( 0x94,&aa,1) ;

lcd_disp( 0x96,"直行",4) ;

P1= up;

rightled=0;

leftled=0;

if(moshi==1)

{

flag=2;

break;

} }

while(aa=='B')

{

lcd_disp( 0x90,"接收字母",9) ; lcd_disp( 0x94,&aa,1) ;

lcd_disp( 0x96,"后退",4) ;

P1= down;

rightled=0;

leftled=0;

beep=0;

if(moshi==1)

{

flag=2;

break;

}

}

while(flag==2)

{

lcd_disp( 0x88,"自动驾驶",8) ; avoid_thing();

}

}

}

相关头文件与接口的定义

#include <>

#include ""

#include <>

#include <>

#define up 0x55

#define left 0x66

#define right 0x99

#define down 0xaa

#define stop 0x00

sbit rightled =P3^7;

sbit leftled=P3^6;

sbit d0=P3^2;

sbit d1=P3^3;

sbit d2=P3^4;

sbit d3=P3^5;

sbit beep=P2^0;

sbit moshi=P2^1;

本文来源:https://www.bwwdw.com/article/roa1.html

Top