基于51单片机的超声波避障小车设计-毕业论文

更新时间:2024-05-07 09:10:01 阅读量: 综合文库 文档下载

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

内蒙古科技大学

本科生毕业设计说明书(毕业论文)

题 目:基于单片机的超声波避障小车

设计

学生姓名:祝伟泰 学 号:1267112115 专 业:测控技术与仪器 班 级:测控2012-1 指导教师:燕芳 副教授

内蒙古科技大学毕业设计说明书(毕业论文)

基于单片机的超声波避障小车设计

摘要

随着科学技术的飞速发展,人们对智能汽车的研究有增无已,智能车已然成为以后科学技术发展的新思路和新方向。智能车可以按照预先设定的模式在一个环境里自动的运作,不需要人为的操控,可应用于路面检测,科学勘探,智能温度测量等。

本设计中制作的智能小车(又称轮式机器人)是本人在综合应用了本科所学的专业知识后设计出的一台智能小车,它具有超声波测距,自动避障,同步测速等功能。虽然超声波避障小车只是智能车领域中的冰山一角,但是它却也是智能车中一个典型的代表。麻雀虽小五脏俱全,本次设计的超声波避障小车,用STC15单片机作为核心控制器,设计出一种可以自动避障,并能同步实现速度和距离的测量以及显示的智能小车。避障和测距通过超声波测距模块实现,并加入光电码盘测速模块从而实现测速功能,小车驱动由L298N驱动电路完成,数据的显示用LCD1602实现。

关键词:STC15单片机;超声波;避障;测速

I

内蒙古科技大学毕业设计说明书(毕业论文)

Ultrasonic obstacle avoidance car design based

on Micro Computer Unit

Abstract

With the development of science and technology, People have increased the research of

smart car.Smart car has become the new way of thinking and a new direction for after the development of science and technology . Smart cars can be according to the preset mode automatically in an environment of operation, without the need of human control, can be applied to road testing, scientific exploration, intelligent temperature measurement, etc. This paper discusses the intelligent car (also known as wheeled robot) is I after summarized the major undergraduate course design a smart car, it has the ultrasonic distance measurement, automatic obstacle avoidance, synchronous speed, and other functions. Although ultrasonic obstacle avoidance car is just the tip of the iceberg in the field of smart car, but it is also a typical representative in intelligent vehicles. The sparrow is small all-sided, the design of ultrasonic obstacle avoidance car, use STC51 single-chip microcomputer as the core controller, design a kind of can automatic obstacle avoidance, and can realize the speed and distance measurement simultaneously and the smart car show. Obstacle avoidance and the distance by ultrasonic ranging module, and add light code disc speed measuring module and function of speed of the car drive by L298N drive circuit is completed, through LCD1602 display of measured data.

Keywords: STC15;Ultrasonic sensors; avoidance; speed

II

内蒙古科技大学毕业设计说明书(毕业论文)

目录

摘要 ..................................................................... I Abstract ................................................................ II

1.1课题研究背景和意义 ................................................ 1 1.2智能汽车的发展概述 ................................................ 1 1.3 课题研究技术要求与主要内容 ....................................... 2 第二章 总体方案设计 ...................................................... 4

2.1总体方案设计 ...................................................... 4

2.1.1具体设计思路 ................................................. 5 2.2系统各模块的设计方案 .............................................. 6

2.2.1控制核心模块的选择方案论证 ................................... 6 2.2.2主电路板的方案论证 ........................................... 6

2.2.3测距避障传感器的方案论证 ..................................... 7 2.2.4 测速模块的选择方案论证 ...................................... 8

2.2.5电机驱动选择方案论证 ......................................... 9 2.2.6 显示装置的选型方案论证 ...................................... 9

2.3 本章小结 ........................................................ 11 第三章 硬件电路设计 ..................................................... 11

3.1 STC15单片机简介 ................................................. 12

3.1.1 引脚说明 ................................................... 12 3.1.2 特别管脚说明 ............................................... 13 3.1.3 中断说明 ................................................... 13 3.2 时钟电路和复位电路 ............................................... 14 3.3电源电路部分 ..................................................... 14 3.4超声波传感器 ..................................................... 14

3.4.1 超声波测距的物理性质 ....................................... 15 3.4.2 超声波测距的原理 ........................................... 15 3.4.3超声波测距过程分析 .......................................... 16 3.5 电机驱动电路 .................................................... 17

III

内蒙古科技大学毕业设计说明书(毕业论文)

3.5.1 电机驱动电路分析 ........................................... 18 3.5.2 PWMD调速分析 ............................................... 19 3.6 LCD1602显示电路设计 ............................................. 19

3.6.1 LCD1602显示 ................................................ 19 3.6.2 LCD1602引脚功能说明 ........................................ 20 3.6.3 1602LCD的指令说明及时序: .................................. 20 3.7 光电测速模块 ..................................................... 22 3.8 报警电路设计 ..................................................... 23 第四章 软件设计部分 ..................................................... 24

4.1 主程序的设计 ..................................................... 24 4.2 超声波测距程序设计 ............................................... 25 4.3 避障程序设计 ..................................................... 26 4.4 PWM程序设计 ..................................................... 27 4.5 显示子程序设计 ................................................... 28 4.7 报警程序设计 ..................................................... 29 第五章 系统调试 ......................................................... 30

5.1概述 ............................................................. 30 5.2 各模块的调试 ..................................................... 30

5.2.1 LCD的调试 .................................................. 30 5.2.2光电码盘调试 ................................................ 31 5.2.3 蜂鸣器报警调试 ............................................. 31 5.2.4 电机及驱动调试 ............................................. 32 5.2.5 超声波模块调试 ............................................. 32

总结 .................................................................... 33 参考文献 ................................................................ 34 附录A 实物图 ............................................................ 36 附录B 源程序 ............................................................ 37 致谢 .................................................................... 38

IV

内蒙古科技大学毕业设计说明书(毕业论文)

2.2系统各模块的设计方案

2.2.1控制核心模块的选择方案论证

方案一:选用普通的51系列单片机,该系列的单片机是有51单片机公司最早推出的,这一型号的单片机网上有很多的历程可以用,因此用起来比较容易上手。其中P0可作为地址和数据的三态双向口,P1是多功能的复用接口,P2可作为地址总线的输出P3口的第一功能跟P1口相似,第二功能可作为特殊功能的输入输出线线[14]。 方案二:选用增强型51系列单片机,它比普通的51单片机多了一些外设,功能上更加丰富强大了,增大了ROM和RAM,运算速度是普通的51单片机的8-10倍,I/O口的驱动能力大概是20mA,8051系列的在10mA左右,增强型51系列单片机与嵌入式芯片如AVR、ARM等很像,但其内部框架依旧是8051。

方案三:选用15系列单片机,该系类的单片机是STC最新推出的单片机,除了增大了ROM和RAM外。芯片的封装也改为贴片式占用的面积小,除此之外15最大的优势在于在他内部装有可配置的时钟电路所以外接晶振[15]。

起初在选择方案的时候就是本着简单易懂的心态去选的,所以首选的是方案一,考虑到程序的占用的内存问题于是选择了增强型的51.但是通过学习和绘制电路板之后渐渐的发现用最新的15单片机的优势所在,而且15单片机的历程从没有接触过,这是一次挺好的挑战机会,于是最终选定的方案是方案三。除此之外15不用外加晶振而且其的封装采用的是贴片式极大的节省了电路板的面积,普通的51单片机用的功能15都已经具备,32个IO口的15单片机也足以满足本次课设对单片机管脚的需求,加之15拥有与PWM波形相关的特殊功能寄存器[16],为此最终选定了STC15单片机作为本次课题的核心控制器。

2.2.2主电路板的方案论证

目前电路图的制作方式主要有两种:第一种是绘制电路原理图然后根据电路原理图制作绘制PCB板,第二种就根据相关的电路知识在洞洞板上自行搭建电路图,电路中的线路一般是用焊锡焊接出来的。

方案一:PCB电路板,在制作PCB板之前首先要绘制电路原理图,需要用的软件是Altium Designer 10简称AD10.Altium Designer 10.作为新一代的板卡级设计软件,以Window XP的界面风格为主,同时,Altium 公司独一无二的DXP技术集成平台也为设计系统提供了所有工具和编辑器的相容环境[17]。AD10操作起来十分的简单,但是需要

6

内蒙古科技大学毕业设计说明书(毕业论文)

有一定的英文基础,绘制电路图主要分为两个部分,第一部分是电路的原理图,第二部分是PCB图,电路原理图可以生成未布线的 PCB电路图,经过布线处理之后就是完整的PCB电路图了。用AD绘制电路图的优点在于软件自带检测功能,可以检查电路中的错误。 方案二:自行搭建洞洞板;洞洞板顾名思义就是有很多个小洞组成的板子,这种板子一般有塑料制成,在每个小洞的的周围镀上焊盘。使用的时候将器件插上,用焊锡焊接固定即可,至于需要用线连接的器件可以用焊锡将两个器件间的一列焊盘连接在一起。洞洞板的搭建的优点在于,比较灵活,需要增加硬件可以自行拓展电路,其缺点在于相对PCB板的焊接较为复杂[18]。

综合了两个方案的优缺点之后,在主板的制作上最终采用了洞洞板的,但是前期的调试采用的是PCB电路板。PCB电路板如图2.2

图2.2主板PCB图

2.2.3测距避障传感器的方案论证

测距传感器是本次课题的核心传感器,测距传感器的选用关乎到小车的实际避障和测距情况,因此测距传感器的选型至关重要。目前测距传感器种类繁多,其中应用最广泛的莫过于声光测距传感器。常见的声光测距传感器有、超声波传感器、雷达测距、激光测距传感器、光电管、CCD图像传感器、光钎传感器和光栅传感器[19]。通过查阅相关资论文中给出两种种测距方案进行论述。

方案一:超声波测距,超声波测距的原理是利用声反射的原理通过声速传播的时间来计算距离。需要注意的是超声波传感器不能直接测量距离,只能测量超声波传播的时间,距离可以根据声速传播的公式进行计算。声波抗高压能力强,不易受到可见光,外界温度的干扰,但是超声波检测存在盲区,其检测盲区为小于2CM[20]。

7

内蒙古科技大学毕业设计说明书(毕业论文)

方案二:红外对管,红外对管是一种十分常用的传感器其集发射与接收于一体的光电传感器[21],检测范围:3-80CM。因其安装方便,价格低廉,操作简单被应用于各行各业。红外对管的主要用了测距测温,测距的原理也很简单,就是利用光反射的原理,这个跟超声波测距很相似。因为光具有穿透性,因此红外对管不能用来检测透明物体,这也是其检测的局限性。

通过分析和具体的实践最终选定方案一的超声波传感器为测距传感器,选用的原因如下。

(1)超声波传的抗干扰能力比红外对管的强,小车在行驶过程中易受到可见光的干扰,降低了传感器的精度。红外对管属于光电传感器,其在检测自身发出的红外线时易受外界光线的影响。

(2)红外对管在检测障碍物的时候具有局限性,因为光线具有一定的穿透性,当前方的障碍物为可穿透的物体时,红外线是无法检测出的,这给小车的自动避障带来了局限性[22]。

综合上面分析的原因,最终选定了超声波传感器为智能避障小车的测距传感器。 2.2.4 测速模块的选择方案论证

测速模块选用的的是光电编码测速器,又称光电码盘。其因具有测量精度高,价格便宜,抗干扰能力强,可靠性高的特点而被广泛的使用。目前常用的光电编码测速器主要有两种类型,一种是透光型光电编码测速器,一种是反光型编码测速器。根据编码器的型号本文给出了两种方案,并分析论述得出最终的方案。

方案一:透光式光电编码器,透光式光电编码器有两个部分组成第一部分是一个带有光栅的圆盘,在使用时这个圆盘被安装在直流电机的转轴上。第二部分是由光电二极管和光敏原件组成测量模块。透光式的测量原理是基于光是沿直线传播的原理,当光栅和光电二极管处于同一直线上时光线穿过光栅[21],此时光敏原件检测到发光源,则此时发出高电平,反之则为地低电平。当圆盘旋转一周时记下此时发出的高电平数,在通过圆盘的周长就可以算出小车的转速。例如:圆形旋转物体半径为R,码线数为M,单位时间内(1s)扫过N个码线,则该旋转体的速度为V=M/N*π*2R。

方案二:反射式光电编码测速器,反射式光电编码器也是有两部分组成,第一部分也是一个圆盘,但是这个圆盘是一个能反射光线的圆盘,圆盘上均匀的分布着反光面,当圆盘旋转到合适的位置后就能反射由光电二极管发出的光线,光电管将感受的光变化转换为电信号变化,第二部分则是将反光材料粘贴于被测轴的测量部位上构成反射面。

8

内蒙古科技大学毕业设计说明书(毕业论文)

常用的反射材料为专用测速反射纸带(胶带),也可用铝箔等反光材料代替,有时还可以在被测部位涂以白漆作为反射面。投光器与反射面需适当配置,通常两者之间距离为5-15M。当被测轴旋转时,光电元件接受脉动光照,并输出相应的电信号送人电子计数器,从而测量出被测轴的转速[22]。

通过具体的对分析以及结合小车车模的实际情况做种选定方案一,得出方案一的原因如下:

(1)小车的车模空间有限,在安装了圆盘后已经没有合适的位置安装反射式光电编码器的反射纸带。相反透光式的光电编码器需要的空间相对较小,不需要在车模上安装其他的硬件。

(2)透光式编码器虽然易容机械震动的干扰,但是圆盘式安装在直流电机的转轴上的,几乎不会产生太过剧烈的震动,因此这对于透光式编码器不会产生干扰。 2.2.5电机驱动选择方案论证

智能车常用驱动有两种:L298N和L293D。两者均为的电机为5V直流电机的常用驱动模块。

方案一:L298N是专用驱动集成电路,属于H桥集成电路,与L293D的差别是起输出电流增大,功率增强。其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,步进电机,线圈等感性负载[23],特别是其输入端可以与单片机直接相连,从而很方便地受单片机控制。驱动直流电机时是通过控制IN1--IN4四个输入端的高低电平,只要有电平差就会驱动电机旋转。

方案二:L293D支持两路直流电机或一路步进电机的驱动,最高工作电压25V,最大驱动电流1.2A 。工作时控制引脚与核心控制芯片的IO口相连。其驱动直流电动机的方式与L298N相同。

在综合考虑后期的调试中可能要加入电机的正反转或者,紧急停车系统,为此选用性能更加稳定,但是价格相对贵的L298N驱动模块。 2.2.6 显示装置的选型方案论证

显示装置主要是用来显示小车当前的速度值和超声波采集到的数值,字符数在6到8位左右。在电子系统领域中跟单片机配套使用的显示装置主要有LED数码管,LCD1602液晶显示屏和12864液晶显示屏。

方案一:LED数码管显示,数码管一般有7段或者8段字段码,每段字段码其实就是一个发光二极管。数码管一般有两种,一种是共阴极数码,共阴极数码就是将数码管

9

内蒙古科技大学毕业设计说明书(毕业论文)

的一端接地,给高电平时数码管点亮,反之则不点亮。共阳极数码管则是将数码管的一端与电源的正极相接,给低电平时数码管点亮,反之则不点亮[24]。数码管的显示方式也分为两种,一种是静态显示,一种是动态扫描。所谓的静态显示是指将数码管的一端与单片机具有锁存功能的IO口连接,当给数码管合适电平时数码管点亮,只要一直给电平数码段就会一直点亮。动态扫描相对来说比较复杂,其原理就是将数码管的位段码和字段码分别接在单片机的不同IO口上,由单片机控制位段码和字段码的显示。由于单片机的扫描频率很高,人眼是无法识别数码管在扫描过程中的字符变换的,因此在人眼的观察下数码管是无变化的。

图2.3 LED原理图

方案二:LCD1602显示,顾名思义1602的意思就是16*2也就是说LCD1602能显示16*2个字符。在1602的字符寄存器中含有192个字符,除了平假名外其他的均是常用的字符。用户在使用字符时只需要调出相应的字符代码便可让其显示,操作是十分方便的。

通过对比分析LCD1602方案较为合适,原因如下:

(1)LED数码管显示一个字符需要一位数码管,而要显示速度和距离至少需要8位的数码管,加之如果要在前后分别加上被测量的公式符号和单位则需要至少16位的数码管,这种显示太繁琐了[25]。

(2)选用LCD1602在安装时只需要在洞洞板上焊接上排母,再将LCD插入排母内即可,而LED需要焊接在板子上,需要的占用空间大,焊接繁琐。

(3)从视觉角度分析,LCD相对美观,显示也方便。

10

内蒙古科技大学毕业设计说明书(毕业论文)

图2.2 1602模型图

2.3 本章小结

本章主要论述了课题的总体思路和各个模块的选型方案,以及在选型过程中会遇到的问题。这些问题有些可以通过查阅资料解决,有些必须要通过实践才能得出结论。当遇到两个方案都适用的时候此时应该从节约成本的角度出发,尽可能的减少成本。小车核心控制器的选型以及测距传感器的选型是本次课题的关键点,其关乎着本次课题的成功与否,因此在核心控制器以及测距传感器的选型上应该做出充分的论证。

11

内蒙古科技大学毕业设计说明书(毕业论文)

第三章 硬件电路设计

上文主要论述了小车的设计的整体思路和各个模块的选型,关于小车的硬件电路也做了简单的介绍。小车的硬件电路并不复杂,主要包括供电电路,驱动电路和LED显示电路。下文会逐一对各个部分的硬件及电路进行详细的论述。

3.1 STC15单片机简介

本次课题采用的STC15W4K系类单片机是STC公司生产的推出的新一代单时钟周期/机器周期(1T)的单片机。其代码完全兼容传统的51单片机,在Keil C的开发环境中,选择Intel 8052 编译,头文件包含即可完成程序的编译[26]。除此外15单片机还具有一下特点:

(1)增强型8051 CPU,1T,单时钟/机器周期,速度比普通的8051快8-12倍。 (2)不需要外部晶振和外部复位电路这是其最大的优势和特点,还可对外输出时钟和低电平复位信号。

(3)封装比传统的51小,本次课设用的15其封装为QFN32(5m*5m),将其引脚由排针引出来后也比传统单片小的多。 3.1.1 引脚说明

本次课题用到的引脚功能及其用法如表3.1所示:

表3.1STC15部分引脚说明

引脚 PO.0-PO.7

功能 数据总线接

P1.6-P1.7

晶振接口/普通IO口

其他IO口 与传统51差

别不大

其中3.03.1可做下载器

的接口

下载器可用RS232或者USB

转TTL

外接

与LCD的D0-D7口相接

备注

12

内蒙古科技大学毕业设计说明书(毕业论文)

图3.1STC15单片机引脚图

3.1.2 特别管脚说明

STC15系列单片机的所有I/0口上电复位后均为准双向口/弱上拉模式,但是由于P1.7和P1.6口还可以分别作外部品体或时钟电路的引脚XTAL1和XTAL2,所以P1. 7/XTAL1和P1.6/XTAL2上电复位后的模式不一定就是准双向口/弱上拉模式[27]。当P1.7和P1.6口作为外部晶体或时钟电路的引脚XTAL1和XTAL2使用时, P1.7/XTAL1和P1.6/XTAL2上电复位后的模式是高阻输入.每次上电复位时,单片机对P1.7/XTAL1和P1.6/XTAL2的工作模式按如下步骤进行设置:

1.首先,单片机短时间(十个时钟)内会将P1.7/XTAL1和P1.6/XTAL2设置成高阻输入[27]。

2.然后,单片机会白动判断上一次用户ISP烧录程序时是将P1.7/XTAL1和P1. 6/XTAL2设置成普通I/0口还是XTAL1/XTAL2。

3.如果上一次用户ISP烧录程序时是将P1.7/XTAL1和P1.6/XTAL2设置成普通I/0口,则单片机会将P1.7/XTAL和P1.6/XTAL2上电复位后的模式设置成准双向口/弱上拉。 4.如果上一次用户ISP编程时是将P1.7/XTAL1和P1.6/XTAL2设置成XTAL1/XTAL2,则.単片机会将P1.7/XTAL1和P1.6/XTAL2.上电复位后的模式设置成高[27]。 3.1.3 中断说明

STC15w4K32s4系列単片机提供了21个中断请求源它们分别是:外部中断0(INT0)、定时器0中断、外部中断1(INT1)、定时器1中断、中口1中断、 A/D转换中断、低压检测(LVD)中断、CCP/PWM/PCA中断、中口2中断、 SPI中断、外部中断2(INT2)、外部中断3(NT3)、定时器2中断、外部中断4(NT4)、中口3中断、串口4中断定时器3中断、

13

内蒙古科技大学毕业设计说明书(毕业论文)

定时器4中断、比较器中断、 PWM中断及PWM异常检测中断,除外部中断2(INT2)、外部中断3(INT3)、定时器2中断、串口3中断、串口4中断、定时器3中断、定时器4中断及比救器中断固定是最低优先级中断外,其它的中断都具有2个中断优先级[28]。

3.2 时钟电路和复位电路

在传统的51单片机中,需要加入时钟电路和复位电路,这两个电路组成了单片机

的最小系统。在15单片机中因其内部含有时钟电路和复位电路,所以本次课题就不加入时钟电路和复位电路。

3.3电源电路部分

本次课题所采用的是电池盒供电,电池盒中有6节1.5V的干电池,在满电状态下能为小车提供9V的电压,下面具体分析一下小车的供电电路,供电电路如图3.2所示。电源模块由一个电源插孔,一个六角自锁开关和一块7805稳压芯片组成。当开光按后,电路接通,的电源指示灯被点亮,9V的电压经过7805稳压后变成5V。驱动L298N的工具电压为9V电压,单片机、LCD、超声波传感器等的供电使用的是5V电压,这也是图中出现两个输出电压的原因,这是前期调试用到的电路图,到后期小车成型后巧妙的运用了L298N中的稳压芯片获取5V电压,因此只需要输入9V电压即可。

图3.2小车电源电路图

3.4超声波传感器

超声波传感器是小车的核心传感器,本次课题采用的传感器为HC-SR04超声波测距模块。主要技术参数如表3.2所示:

表3.2超声波技术参数表

电气参数

HC-SR04超声波模块

14

内蒙古科技大学毕业设计说明书(毕业论文) 工作电压 工作电流 工作频率 最远射程 最近射程 测量角度 输入触发信号 输出触发信号

DC 5V 15mA 40kHz 4m 2cm 15度

10us的TTL脉冲

输出TTL电平信号,与射程成 比例

规格尺寸

45*20*15mm

3.4.1 超声波测距的物理性质

超声波是频率大于2万Hz的机械振动在弹性介质中传播而形成的一种机械波[]。它具有能量大、穿透力强且在异动界面易产生反射、折射及波形转换等特点,超声波测距的物理基础如下:

(1)障碍物引发超声场的变化(反射和折射),测距正是利用反射这一点。 (2)传感器能采集到超声场的变化。 3.4.2 超声波测距的原理

超声波测距的原理正是基于其物理基础,当超声波模块产生超声波后,单片机的计时器开始计时。超声波在遇到障碍物后会被反射,超声波模块接收到反射波后,单片机的计时器停止计时。根据收发超声波所产生的时间差,便可计算出超声波模块与障碍物的距离。超声波模块在接收超声波时存在能量转化,当超声波接收到反射波后,声信号转换为电信号,从而使单片机的停止计时。设超声波的声速为v,时间差为t0则超声波的测距公式如式3.1:

S=v×t0/2 式(3.1)

15

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

Top