密级:公开
SCIENCE AND TECHNOLOGY
学 士 学 位 论 文
THESIS OF BACHELOR
(2010 — 2014年)
题 目 基于单片机的蓝牙循迹小车
目 录
摘要 .................................................................................................................................................. I Abstract. .......................................................................................................................................... II 第一章 绪论 .................................................................................................................................... 1 1.1 选题的依据及意义................................................................................................................ 1 1.2 课题研究现状及发展展望.................................................................................................... 1 1.3 基本要求 ............................................................................................................................... 2 1.4主要研究内容......................................................................................................................... 2 第二章 系统硬件设计 .................................................................................................................... 3 2.1 系统硬件总体设计................................................................................................................ 3 2.2 器件选择及简介.................................................................................................................... 3 2.2.1 单片机................................................................................................................................. 3 2.3 电源电路 ............................................................................................................................... 6 2.4晶振电路 ................................................................................................................................ 6 2.5复位电路 ................................................................................................................................ 6 2.6 电机驱动电路........................................................................................................................ 7 2.7 循迹电路 ............................................................................................................................. 7 第三章 系统软件设计................................................................................................................... 9 3.1 主程序设计.......................................................................................................................... 9 3.2循迹子程序设计..................................................................................................................... 9 3.3 蓝牙控制子程序设计.......................................................................................................... 10 第四章 结 论 .............................................................................................................................. 11 参考文献(References) .............................................................................................................. 12 第五章 致谢 .................................................................................................................................. 13 附录 ................................................................................................................................................ 14
基于单片机的循迹小车
专业: 学号:姓名 指导教师:
摘要:本毕业设计是做基于单片机的循迹小车。循迹小车是全面模拟人寻路的智能机械系统,使用红外对管模块检测黑线,并以STC89C52单片机为控制芯片掌管循迹小汽车的速率及转向,从而实现自动循迹的功能。智能小车具有识别、判断等智能机制;感知和智能化结合在一起,可在非特定环境下工作,如家居清洁机器人等方面具有广阔的应用前景。基于ST C89C52单片机的智能循迹小车能沿黑色指引导线前进;用12864液晶显示器显示运动状态。此外还扩展了在安卓手机上安装一个应用程序与hc06蓝牙通讯模块通讯以控制小车。[1]
首先详细介绍了循迹小车硬件系统的设计。系统主控制回路采用了STC89C52单片机,该
单片机支持使用C语言编程。系统硬件包括单片机最小系统,稳压电源模块,寻迹传感器模块,HC06蓝牙从模块、电机驱动模块以及12864液晶显示模块.其次对小车的软件流程进行了详细的描述,软件主要为循迹模块 ,显示模块。Hc06蓝牙从模块。最后通过仿真调试和小车的运行,所有要求的功能都满足要求。关键词:STC89C52单片机,L298N,12864液晶显示器,红外对管循迹模块,Hc06蓝牙从模块
摘要:模块化履带机器人控制器设计是基于51单片机的控制系统。以AT89S51单片机为控制芯片,L298N型驱动器可直接对电机进行控制。通过51单片机的I/O口输入改变芯片控制端的电平,即可以对电机进行正反转,停止操作。此外还扩展了在安卓手机上安装一个应用程序与HC06蓝牙通讯模块通讯以控制小车。
首先详细介绍了控制器硬件系统的设计。系统主控制回路采用了AT89S51单片机,该单片机支持使用C语言编程。系统硬件包括单片机最小系统,稳压电源模块,HC06蓝牙从模块、电机驱动模块。其次对小车的软件流程进行了详细的描述,包括主程序, 蓝牙控制子程序。最后通过仿真调试小车的运行。
I
The tracking car which based on MCU
Abstract: tracking car is fully simulate the human machine way finding system , using infrared module detects the black line on the tube , and STC89C52 microcontroller to control the speed of the car tracking chip control and steering , enabling automatic tracking function. Smart car with recognition, judgment intelligent mechanisms; perception and intelligence can be combined to work in a non- specific environments, such as home cleaning robots and other aspects have broad application prospects. STC89C52 microcontroller -based intelligent tracking car can move forward along the black wire guidance ; 12864 LCD display state of motion. It also extends to install an application with the hc06 Bluetooth communication module communication on the Android phone to control the car.
First details of the design of the car tracking hardware system . The main control loop system using AT89S52 microcontroller, the microcontroller supports the use of the C programming language . Minimum system hardware including single-chip systems, power modules, tracking sensor module , Bluetooth module , motor drive module and LCD module .Secondly, the car 's software processes are described in detail , the software mainly for tracking module, display module . Hc06 Bluetooth from the module. Finally, the simulation debug and run the car , all the required functions to meet the requirements
Keywords: tracking car, AT89S52 microcontroller, L298N, 12864 LCD display, Infrared tracking module on the tube, Hc06 from the Bluetooth module
II
第一章 绪论
1.1 选题的依据及意义
智能循迹小车的发展已经遍及电子、移动互联网、可穿戴设备、航空领域。近年来小车的智能水平不断提高,特别是从2010年开始的手机智能化元年,以搭载android系统为代表的免费操作系统的手机作为我们生活中一切电气设备的控制终端的特点越来越明显,适用范围更加广泛。去年谷歌收购波士顿动力学工程公司,美国智能家居公司Nest和人工智能公司DeepMind,似乎都在预示着谷歌正在引领着新的智能硬件潮流,并且迅速地影响着人们的生活方式、生产方式。借此机会毕业设计中利用红外对管探测外部黑色信号,然后将数据传输到单片机按设定程序驱动两个车轮正传或反转,以实现小车自动按黑线向前行驶。同时也可以在手机上通过蓝牙控制小车运动。小车搭载芯片进行管理可以作为机器人的典型代表。它可以分为三大组成部分:检测、CPU、执行部分。检测部分由四个红外传感器探测器模块构成,执行部分是由两个直流电机来充当的,主要控制小车的前进方向和速度。CPU使用STC89C52单片机,通过对单片机的编程使单片机能根据传感器接收到的不同信号对小车发出不同的指令,从而实现不同的功能。此次设计的循迹小车具有循迹功能还能显示当前状态的功能。循迹是采用四个红外传感器模块,根据传感器模块照到黑白纸上反射光的接受程度不一样,来区分黑白纸,从而实现小车按着预定的轨道行驶。为了使小车运行状态更人性化,特意在本次设计中加入12864液晶显示器的设计,从而更直观。智能小车发展非常迅速,从智能小车玩具到无人驾驶,其基本可实现循迹、避障等基本功能,比较出名的谷歌无人驾驶更是走在前列,引领智能车的发展潮流。我的本设计主要实现自动循迹功能。 1.2 课题研究现状及发展展望
作为国家高技术实力的一个重要体现分支---智能小车技术,它涉及到诸多学科,如计
算机算法、自动控制、计算机测量、单片机、传感技术等。而智能小车循迹就是一个重要研究方向。各国专家学者纷纷加入移动机器人研发和研究,不断推进移动机器人方面的研究,不断改进机器人响应速度和算法,使机器人更聪明更便利,智能车辆集高科技、娱乐和适用于一体,将来在游戏市场和家庭娱乐市场必将有更大的发展前途,根据有关部门统计数据显示,至2009年第一季度中国汽车销量已达全世界第一,每年仍以30%的速率递增。汽车行业的迅猛发展直接带动了企业利润的增长和就业机会的增多,利润的增长必将增加企业研发金额的巨额增加,使得更多小而美的硬件设备如雨后春笋般出现,也将带动相关配套、服务业的发展。而功能强大的智能车载信息管理系统——车载系统Carplay加载到汽车上已经成汽车市场的高新装备。车载系统给汽车带来了一场信息化的革命,随时把每个驾驶者的使用习惯记录在云端,随时随地随心为你服务的理想已经成为现实。
基于STC89C52芯片智能循迹小车,把体现当今潮流的移动互联网信息技术、4G数据通
[2]
信技术、电子控制技术及计算机先进处理技术等有效地综合运用于智能小车,为达到对小车的实时控制、信息高效快速信息传输使用免费的无线近距离通信蓝牙通讯实现这一功能。本设计使用一个维度方向的四个传感器随时采集路面的情况,智能小车收集这些信息后能进行小车速度和方向的控制,具有蓝牙手动控制和自动控制的双重功能,信息响应速度快 。
1
1.3 基本要求
本设计以使跟踪小车能准确的跟随黑线运行,具体要求如下:
a) 必须保持核心模块电源要求稳定、带负载能力强, 电机驱动模块电源要求稳 定,避
免对系统电源造成干扰。电源电压波动要小于5%;建议选用L298N电机驱动模块可以提供+5v的逻辑电平。
b) 小车运行稳定,能够实现小车的及时转弯; c) 软件设计要求稳定运行,并且移植性强。 d) 能实现小车与HC06蓝牙从模块的串口通信 1.4主要研究内容
本设计研究的内容是基于单片机的循迹小车;使用STC89C52单片机作为主控芯片,红外传感器实现循迹。液晶显示器显示当前状态。具体研究内容列表如下: 1) 搭建小车的主控电路; 2) 搭建小车的循迹模块; 3) 搭建小车的液晶模块;
4) Hc06 蓝牙从模块与单片机的串口通信电路
5) 把各个模块的算法用程序实现,同时保持各个模块程序间的低耦合。
2
第二章 系统硬件设计
2.1 系统硬件总体设计
本设计系统总共包括四大模块,分别为液晶显示模块,晶振电路和复位电路,电机驱动
与循迹电路模块,HC06蓝牙从模块与单片机串口通信模块。系统结构图如图2.1所示。
图2.1 系统结构图
表2.1 系统结构图元器件清单
元件 直流电机 单片机 红外对管 12M晶振 排针 2.2 器件选择及简介 2.2.1 单片机
本设计采用51 单片机的通用系列。该毕业设计以51单片机为核心,实现了对外围循迹电路、呼吸灯电路,蓝牙电路的简单控制,51系列单片机的优点之一是可直接在单片机提供的ROM中写应用程序,而不用操作系统的支持,即51系列单片机学习门槛低,操作简单。单片机为PDIP双列直插式封装,如图2.2.1是AT89C52的外部引脚图
数量 2只 1 块 4只 1只 若干 元件 电阻 二极管 HC06 杜邦线 排阻 数量 若干 若干 1个 若干 1个 元件 稳压芯片 电容 电位器 玩具小车 三极管 数量 一个 若干 若干 1个 若干 3
图2.2 单片机管脚图
STC89C52有P0、P1、P2、P3三个IO口,P0作数据输入输出口时要接上拉电阻,P3口完成第二功能的作用,如下表所示。
表2.2本设计利用到AT89S52的第二功能口
端口引脚 P3.0 P3.1 P1.0 P3.4 P3.5 2.2.2 循迹传感器
循迹小车循迹原理是小车在贴有黑纸的白色地板 “平台”上行驶,利用黑纸和白色地板对光线的漫发射程度(反射系数)不同,单片机系统根据红外线接受管接收到的反射光的强弱来判断是否运行于黑纸上。在该模块中利用了高灵敏度,高抗干扰,操纵简单、稳定的检测方法即利用TCRT5000循迹传感器模块实现循迹功能。
TCRT5000传感器是一个红外发射管和一个红外接收管的自动发送和接受红外线的集合循迹模块。当放射管的红外线信号经反射被接收管回收后,引发接收管的电阻发生波动,在接受管电路上电阻波动变化一般最终以电压的变化体现出来,通过一系列的变化最终变成高低电平输送到单片机,单片机根据高低电平来判定是否处在目标区域。如下图为TCR5000产品参数表:
第二功能 RXD(串行输入端) TXD(串行输出端) T2(定时器2外部输入) T0(定时器0外部输入) T1(定时器1外部输入) 4
表2.3 TCRT5000产品参数 使用芯片 工作电压 输出模式 测量距离 检测探头 检测信号 74HC14D 3.3V - 5V 数字信号 0.1CM - 1.5CM TCRT5000L 探测黑线输出低电平,探测白线为高电平,超出探测范围输出低电平 LED 2.2.3 电机驱动芯片
本设计采纳的电机专用驱动芯片L298N是直流电机专用驱动芯片。该电机驱动芯片一个优点是从外界获得12V电压后可以分离出一个5v的TTL逻辑电平,该逻辑电平可用于单片机和循迹传感器以及蓝牙模块的供电。该芯片用于控制直流电动机等感性负载采用是标准逻辑电平信号控制电机,可方便用单片机的I/O口控制电机的运作,操作简单、方便。具有两个使能控制端,用以控制两个直流电机是否工作,高电平电机工作,单片机可直接对使能端写入0或1控制L298N允许或禁止工作。
主要特点是:
1. 工作电压高,驱动部分工作电压范围+5V到+35V;本毕业设计中采用8节南孚电池供
电共12V。
2. 输出电流大,驱动部分瞬间峰值电流可达2A; 3. 额定功率20W。 4. 可实现正反转 5. 采用光电隔离
单片机通过软件编程对I/O输入输出口设置来对L298N芯片电机控制端口IN1~IN4的电平进行设置,即可以实现对电机正反转的变换,停止的操作控制。控制方式与电机状态如下表:
表2.4 L298N驱动模块控制方式与电机状态表
红色为探测物在探测范围指示灯
5
L298N实物封装图
图2.3 L298N引脚图
2.3 电源电路
采用8节南孚干电池串联共12v为L298N供电,另通过L298N输出的+5v逻辑电平给单片机及其他逻辑单元供电。采用干电池非常方便,供电稳定可靠,非常便于目前的设计,故选择了此方案。 2.4晶振电路
XTAL1和XTAL2为晶振的两个输入端口。晶振电路可选型石晶振荡和陶瓷振荡两种方案。单片机的系统时钟信号获得方式有两种:内部振荡和外部振荡方式,本设计提供系统时钟信号为外部振荡方式。如图2.3时钟部分电路图。
图2.4 时钟部分电路图
2.5复位电路
单片机要正确运行必须进行复位,是因为单片机内程序执行过程是CPU“取指”过程,而取代码执行的过程需要一个确切的执行开始位置。即程序执行过程为CPU从地址指针(PC)所指向的程序存储器ROM空间中读取“机器码”的执行进程。所以要求单片机每次运行程序都有确定的开始执行点,单片机加电后,地址指针都是从0000H地址开
6
始程序的运行,当然,程序的第一条指令也应放在这一地址单元内,整个程序才能有序正确地运行。
复位的方法:复位脚(RST)上至少出现两个机器周期的高电平将使单片机有效复位。复位电路实现方法有很多,但主要有上电自动复位和手动复位两种。注意:给单片机复位端至少2个机器周期的高电平后,务必使RST端口的电平恢复低电平。单片机才能正常进入程序执行相应的程序。如下图2.4复位电路:
图2.5 复位电路
2.6 电机驱动电路
单片机通过I/O口输出TTL电平给电机驱动芯片IN1~IN2提供信号,使得直流电机可实现正反转,停转。而且L298N带有使能端,可软件产生PWM占空比,电路简单,性能稳定,使用比较方便。正好符合本设计简单经济实惠的要求,单片机驱动两个直流电机的各个I/O口接线设置如图。
图2.6 电机驱动电路接线原理图
2.7 循迹电路
简单循迹小车采纳的传感器是红外对管传感器,传感器分红外发射管和红外接受管,红外发射管每隔小段时间发射一次红外光,根据红外接受管接收到的信号来输出信号。传感器检测到黑纸时,传感器输出低电平;传感器遇到白色地板时,传感器为高电平。这次设计利用四个传感器来检测信号,当中间两个传感器接收到低电平,两边的传感器接收到高电平时,说明小车处于是在黑线之上,单片机发出向前走指令 ;当左边
7
的传感器接收到低电平时,中间偏右边传感器接收到高电平时,则小车往左拐,直到中间两个传感器接受度低电平为止。右边的传感器变成高电平及中间偏左的传感器变成高电平后,则小车往右拐。传感器在车身底板以如图2.7安装。
传感器二传感器四传感器三传感器一 图2.7 传感器安装图
图2.8 传感器电路图
8
第三章 系统软件设计
3.1 主程序设计
主程序是双模式运行分别为循迹模式和蓝牙控制模式,在主程序中通过
P2^1=watchdog标志位判断处于循迹模式和蓝牙模式。默认情况下是watchdog=1,同时红色指示灯量,若watchdog=0,红色指示灯灭,进入蓝牙模式。
[1]
图3.1主程序流程图
3.2循迹子程序设计
循迹子程序的软件算法设计是当中间两个传感器检测到黑线,两边的传感器没检测到黑线则小车在默许模式下前进;如果在小车运行的时候右边的传感器检测到黑线,且中间的两个传感器靠左的未检测到黑线,则小车往右转,直到右侧的传感器未检测黑线,且中间的两个传感器检测到黑线两边的传感器未检测到黑线然后恢复前进模式。如果在小车运行的时候左边的传感器检测到黑线,且中间的两个传感器靠右的没有检测到黑线,则小车往左转,直到左侧的传感器检测不到黑线,且中间的两个传感器检测到黑线两边的传感器未检测到黑线然后恢复前进模式。循迹程序流程图如图3.3所示:
[3]
9
图3.3 循迹程序流程图
3.3 蓝牙控制子程序设计
根据手机发送的不同指令,被HC06接收,然后通过串口通信发送给单片机;单片机获得相应字符进而处理相应的功能。
图3.4 蓝牙控制子程序流程图
10
第四章 结 论
本次毕业设计是基于单片机的循迹小车,以STC89C52单片机主要作为主要控制芯片。
主要功能是利用传感器检测到的信号后,单片机就按照预先计划好的程序,对该信号做出反应。本课题包括三大模块:主控电路模块,L298N电机驱动模块,HC06蓝牙从模块。驱动模块我用的是电机专用芯片L298N,该芯片优点是工作电压高,最高驱动工作电压可达35V;可输出5v的逻辑电平。本系统能实现如下功能:一、在循迹模式下小车自动沿预定轨道行驶,在行驶过程中能够随时自动检测小车是否在预先设好的轨道前行,若小车轨道有偏离,小车能够自动纠正,返回到预设轨道上来继续前进。二、小车通过蓝牙模块与手机链接,手机每发送一个字符通过HC06传输到单片机,然后执行相应的功能。在小车的调试过程中,各部分的功能都可以实现。
11
参考文献(References)
[1]彭伟.单片机C语言程序设计100例[M].电子工业出版社,2009.06:1-200.
[2]王东锋,王会良,董冠强. 单片机C语言应用100例[M].电子工业出版社,2009.3:145-300.
[3]韩毅,杨天. 基于HCS12单片机的智能寻迹模型车的设计与实现[J].学术期刊,2008,29(18):1535-1955.
[4] 王晓明. 电动机的单片机控制[J]. 学术期刊,2002,13(15):1322-1755. [5] 周明德.微型计算机系统原理及应用[M].北京:清华大学出版社,2002.341~364. [6] 刘乐善.微型计算机接口技术及应用[M].北京:北京航空航天大学出版社,2001.258~264.
12
第五章 致谢
通过这次毕业设计,使我学到很多东西,第一次使用电机驱动模块,知道分立式元件构成的驱动模块电路多么不可靠,也看到自身的不足。同时也看到了模块化设计的优点,即各个模块自身强抗干扰,工作稳定,同时各个模块之间也保持数据通讯。即在结构保持整体的同时,保持功能上的独立 ;这种思想对我以后的工作和学习都有很大帮助。在本次设计中,也不是一切都很顺利,也遇到很多的难题,对好多传感器原理和使用都不熟悉。在刚刚调试阶段一直不能成功,然后从郭天祥的视频中,电子发烧友,和同学交流寻找答案。凭着一股韧劲,真理越辩越明的想法。终于实现了最后效果。最后也是最重要的是对学校提供的硬件设施和老师提供的帮助表示衷心的感谢,没有学校的实验设备,循迹小车的调试和制作是不可能的,从论文的选题,到资料的收集老师给与我的帮助到现在的定稿无不倾注朱老师的精心指导,更重要的是老师在我考研期间给予我的便利和体谅深受感动,对我也是深深的包容,老师还不错啊!谢谢!下次一起打羽毛球吧!!再次谢谢朱教授!
彭荣 2014/05/26
13
附录
附录 一:系统电路图
14
附录二:PCB版图
15
附录三:做成实物图:
16
17
18
因篇幅问题不能全部显示,请点此查看更多更全内容