当前位置:文档之家› 基于单片机的智能小车的设计毕业论文

基于单片机的智能小车的设计毕业论文

本科生毕业论文

基于单片机的智能小车的设计

毕业论文诚信声明

本人郑重声明:

所呈交的毕业论文《基于单片机的智能小车的设计》是本人在指导老师的指导下,独立研究、写作的成果。论文中所引用是他人的无论以何种方式发布的文字、研究成果,均在论文中以明确方式标明。

本声明的法律结果由本人独自承担。

毕业论文作者签名:

年月日

摘要

80C51单片机是一款八位单片机,他的易操作性和多功能性受到了广大用户的好评。这里着重介绍的是怎样使用80C51单片机来实现智能小车的毕业设计,该设计是结合科研项目而最终确定的设计类课题。本系统是以设计题目的要求为目的,采用80C51单片机为控制核心,利用循迹模块循迹黑线,从而控制智能小车的自动巡线,快慢速行驶,以及自动停车,通过遥控模块来手动控制智能小车和自动寻光功能。整个系统的电路结构简单,可靠性能高。实验测试结果能满足设计的要求,本文着重介绍了该系统的硬件设计方法以及测试结果的分析。

采用的技术主要有:

(1)、通过编程来控制小车的自动运行;

(2)、传感器的有效应用;

(3)、手动和自动的结合使用.

【关键词】80C51单片机、光电检测器、PWM调速、智能小车

Abstract

80C51 MCU is a eight bit single chip microcomputer. Its easy operation and multi-function appeal to large range of users. Here introduced is how to use the 80C51 single chip to achieve the design of intelligent vehicle.The design is a combination of scientific research and design issues identified. This system is based on the design requirements for the purpose of the topic, adopting 80C51 single chip microcomputer as control core, using the tracking module tracking line, automatic line patrol and intelligent vehicle control, speed, and automatic parking, through the remote control module to manually control the smart car and automatic search light function. The whole system of the circuit structure is simple, reliable and high performance. The experimental test results can meet the design requirements. This paper focuses on the analysis of the system hardware design and test results.

The main technology used:

(1) automatically programmed to control the car;

(2) the effective application of the sensor;

(3) using a combination of manual and automatic.

【Keywords】80C51 single chip computer, light electricity detector, PWM speed adjusting, Electricity motive small car

目录

第1章前言

第2章方案设计与论证

2.1 直流调速系统 (2)

2.2 检测系统 (2)

2.2.1 智能小车的起始跟结束以及行进过程中的检测 (2)

2.2.2 电机的驱动原理 (4)

2.3 系统原理图 (5)

第3章硬件设计

3.1 80C51单片机硬件结构 (7)

3.2 最小应用系统设计 (7)

3.2.1 晶振电路 (8)

3.2.2 复位电路 (8)

3.3 循迹模块设计 (9)

3.4 遥控模块设计 (10)

3.5 电机驱动设计 (13)

第4章软件设计

4.1 主程序设计 (15)

4.2 循迹子程序设计 (1)

4.3 遥控子程序设计 (3)

4.4 “看门狗”技术 (3)

第5章测试数据、结果分析及结论

5.1 测试仪器 (21)

5.2 测试方法 (5)

5.3 结论 (5)

参考文献 (6)

附录一源程序 (8)

致谢 (14)

第1章前言

一:随着生活水平的提高,交通工具成为必不可少的工具,交通事故也频发。人为因素占一部分原因,但最主要就是交通工具存在的缺陷,经常在新闻中说什么配件存在问题,要招回多少辆车。

二:前段时间在新闻中听到有位教授带领他的团队,研发了一部无人驾驶的小车,超车多少次。

三:全国电子大赛和省内电子大赛都有智能小车比赛以及机器人比赛,全国各高校也都很重视该题目的研究。其研究的意义很大。

本设计就是基于以上的背景下提出的,指导教师已经有充分的准备。本题目是采用科研项目而确定的设计类课题。设计的智能小车应该具有转弯、反向、避开障碍物,循迹,遥控。

根据题目的要求,确定如下方案:用买来的小车底板加电机以及轮子确定小车外形,加装寻线、红外线、碰撞、开关感器以及遥控模块,可以达到对智能小车的速度、位置、运行状况的测量,并将测量数据传送至单片机进行逻辑处理,再由单片机根据所检测的各种电平实现对智能小车的控制。

这种方案能实现对智能小车的运动状态进行实时控制,控制灵活、可靠,精度高,可达到对系统的各项要求。本设计使用MCS-51系列中的80C51单片机。以80C51为控制核心,利用壁障模块检测道路上的障碍,控制智能小车的自动避障,减速转弯,以及自动停车,自动寻迹和遥控功能。80C51是一款八位单片机,它的易用性和稳定性受到了广大用户的好评。它是第三代单片机的代表。

第三代单片机有Intel公司MCS-51系列的新一代产品,如8xC152﹑80C51FA/FB﹑80C51GA/GB﹑8xC451﹑8xC452,还包括了ATMEL﹑Philips﹑Siemens﹑OKI﹑ADM﹑Fujutsu﹑Harria-Metra等公司以80C51为核心推出的大量各具特色的单片机,使用原理相同。新一代的单片机的最主要的技术优势是扩展了外部接口电路,实Microcomputer 完善的控制功能,将一些外部接口功能如WDT﹑A/D﹑PWM﹑PCA﹑高速I/O口﹑计数器的捕获/比较逻辑等集为一体。这一代单片机中,在总线方面的进展是为单片机配置芯片间的串行总线,为单片机的应用系统设计提供了更灵活的处理方式。

新一代单片机给外设提供了相当完善的总线结构,为系统的扩展与配置提供了很好的帮助。

第2章方案设计与论证

根据题目的要求,确定如下方案:用买来的小车底板加电机以及轮子确定小车外形,加装寻线、红外线、碰撞、开关感器以及遥控模块,可以达到对智能小车的速度、位置、运行状况的测量,并将测量数据传送至单片机进行逻辑处理,再由单片机根据所检测的各种电平实现对智能小车的控制。

这种方案能实现对智能小车的运动状态进行实时控制,控制灵活、可靠,精度高,可达到对系统的各项要求。

2.1 直流调速系统

方案一:串电阻调速系统。

方案二:脉宽调制系统。

可以通过串电阻调速,工作原理就是改变其中电阻值,来改变电压的大小。在电机驱动电路中通过改变L298中的VS脚的电压大小来达到直流调速。这样存在很多问题,第一:精确度不高。第二:调节麻烦。

与串电阻调速系统相比,脉宽调速系统有如下优点:

(1)成本低。

(2)软件调节。

(3)精确度高。

脉宽调制式变换器的主电路就是脉宽调速系统,简称PWM变换器,也就是占空比的不一,往往通过调节一个周期中高电平的所占的时间,也决定本实验中的直流电机的速度快慢。

所以我们可以选择方案二来进行调速。

2.2 检测系统

检测系统主要采用的光电检测,可以采用各种对应的模块对智能小车的避障、位置、行车状态进行检测。

2.2.1 智能小车的起始跟结束以及行进过程中的检测

本系统使用的是红外对射光电传感器来对路面的起止的检测,智能小车底盘的前段放置寻迹模块,用来检测出前进方向的黑线。利用壁障传感器检测障碍,还利用遥控模块来手动控制。

本系统共设计四个光电三极管,分别放置在智能小车车头的左、右两个方向,用来

控制智能车的行走方向,当左边的寻迹模块接收到光照时,小车向右转动;当右边的寻迹模块接收到光照时,小车向左转动;假如两边的光电三极管都接受到了反射回来的光线的话,小车前进。见图2.1 智能小车检测方向的电路(a)。行进中检测方向的电路(见图2.2 智能小车检测方向的电路(b))其中所使用的也就是光电三极管,来实现这效果。这样这电路中使用的是一个红外发射管串联一个150的电阻,另一端连接的是一个光电三极管串联一个合适的电阻值。红外发射二极管照射地面,黑线和白线所反射的光线强弱不同来输出一个对应的电平信号。

这个寻迹模块安装在小车前段,离地面一定的距离。小车正常启动时,红外发射管发射红外线给地面,假如经过的地面为白色,会反射光线给红外三极管,输出一个高电平;智能小车路径黑线时,红外发射二极管发射的光线会被黑线吸收掉,所以光电三极管接受不到光线,传感器输出低电平信号送80C51单片机处理,单片机控制L298对应的口输出对应的电平控制电机的转动,来实现循迹。

图2.1 智能小车的方向检测电路(a)

图2.2 智能小车的方向检测电路(b)

2.2.2 电机的驱动原理

我使用的L298N驱动我的小车的两个直流减速电机,其实它很好用,1和15和8引脚直接接地,4管脚VS接2.5到46的电压,它是用来驱动电机的,9引脚是用来接4.5到7V的电压的,它是用来驱动L298芯片的,记住,L298需要从外部接两个电压,一个是给电机的,另一个给L298芯片的,6和11引脚是它的使能端,一个使能端控制一个电机,至于那个控制那个你自己焊接,你可以把它理解为总开关,只有当它们都是高电平的时候两个电机才有可能工作,5,7,10,12是298的信号输入端和单片机的IO 口相连,2,3,13,14是输出端,输入5和7控制输出2和3, 输入的10,12控制输出的13,14。

L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。其引脚排列如图1中U4所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信。如图2.3 为电机的驱动电路所示。

图2.3电机的驱动电路

在本设计中,光电传感器只能输出一种高低电平信号还伴有外界杂波的干扰,所以我们尝试采用了一种滞回比较器。简单电压比较器结构及其简单,而且灵敏度很高,但它的抗干扰能力很差,也就是说如果输入信号因受到干扰在阈值附近的变化,则比较器输出就会反复的从一个电平跳变到另一个电平。假如用这样的输出电压控制电机或继电器,将出现抖动或起停现象。这种情况下,通常是不允许的。而滞回比较器则解决了这样的问题。滞回比较器有两个数值不同的阈值,当输入的信号因受到干扰或其他原因发生变化时,只要变化值不超过两个阈值之差,滞回比较器的输出电压就不会来回发生变化。所以抗干扰能力强。

但是,滞回比较器毕竟是模拟器件,温漂是它无法消除的。

2.3 系统原理图

简易智能小车采用80C51单片机进行智能控制。开启小车电源开关,并复位,当小车踩在起始线上时,红外三极管接受到很弱的光线,给单片机出入个低电平,控制直流电机的转动;智能小车的自动壁障是通过壁障模块检测正前方是否存在障碍物,再通过红外传感器检测是否有光线返回,给单片机一个对应的电平,同时让单片机控制电机的转动;智能小车行进的过程中,可以使用PWM脉宽调制来调节电机的快慢。

系统原理图如图2.6所示。

图2.6 系统原理图

第3章硬件设计

单片机应用系统的硬件电路设计存在两部分内容:一是系统扩展,如ROM﹑RAM﹑定时/记数器﹑I/O口﹑中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择恰当的芯片,设计对应的电路。二是系统外设的配置,既按照系统功能要求进行系统外设配置,如键盘﹑电机驱动等,要设计合适的外设电路。

3.1 80C51单片机硬件结构

80C51单片机是把那些用作控制应用所必需的基本模块都集成在一个尺寸有限封装在一起的集成电路芯片上。各种寄存器以及一些存储器。它们是由总线连接而成,基本组成仍然是CPU加上一些对应的外设。但这种结构对各个部分的控制所采用的是特殊功能寄存器的集中控制方式。

1、微处理器

80C51单片机中有一个8位的微处理器,与常用的微处理器基本相同,还包括了运算器和控制器两大部分,这是为了增加面向控制的处理功能,不仅可处理数据,还能进行位变量的处理。

2、数据存储器

片内为128个字节,片外最多可外增至64k字节,用来进行存储程序在运行期间的工作变量、数据暂存和缓冲、运算的中间结果、标志位等,所以称为数据寄存器。

3、中断系统

80C51单片机有5个中断源,其中有两个常用的外部中断连接在P3^2和P3^3。

4、定时器/计数器

80C51单片机存在2个片内定时器/计数器,52存在3个定时器/计数器,有四种工作方式,常用的是工作方式1。

5、P1口、P2口、P3口、P4口为4组并行8位I/O口。

6、特殊功能寄存器

共有21个,工作方式是对片内的功能的部件进行管理、控制、监视。是一些控制寄存器和状态寄存器,也是一个具有特殊功能的RAM区。

3.2 最小应用系统设计

80C51的最小应用系统主要是由晶振电路、复位电路组成,同时31脚置为高电平。

图3.1 80C51单片机最小系统

3.2.1 晶振电路

晶振电路是单片机的一个心脏,没用晶振电路单片机不能正常工作,有晶振的电路,没有合适的的一些值,也不能正常工作。其中用到两个瓷片电容,电容值取值用到

20pF-33pF都可以,还要用到一个无源晶振,晶振的取值大小一般为6-22M,我们在这个电路设计中晶振取值为11.0592M。也可以使用12M,11.0592M在串口中方便计算波特率的大小。晶振电路连接到单片机上的18,19引脚,给单片机提供震荡。

图3.2 80C51晶振电路

3.2.2 复位电路

单片机在启动时都需要复位,以使CPU及系统都处为初始状态,并从开始的状态开始执行工作。施密特触发器从89系列单片机的RST引脚接收到信号,从而复位。其中复位电路可以使用三种复位方式:手动按钮复位、上电复位、以及看门狗复位。看门狗复位存在程序跑飞的时候自动复位,在无人看管的项目中经常使用。上电复位,只要一提供电就会自动复位,电路很简单,只要一个电容一个电阻就可以用,但是该电路不能达到我们的一个要求。我们需要人为的去让它复位,在手动复位中正好可以实现我们

的要求。我们就可以选择手动复位。

手动按钮复位也就是人为的给单片机的RST引脚输入一个高电平(图3.3)。其中使用的元件很少,用到一个轻触开关,一个合适的电容,一个合适的电阻,工作原理是当按下轻触开关时VCC的高电平传给RST口,形成复位,当我们按下轻触开关时,会有10ms 延时值可以满足单片机的复位。

图3.3 80C51复位电路

3.3 循迹模块设计

方案1:用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当发射二极管发射的光线经过白色的地面时,会反射强烈的光线给光敏电阻,假如发射二极管发射的光线经过黑线时,光敏电阻接收到极弱的光线,通过光敏电阻的值的大小分的压跟对应的阻值分的压再经过比较强来进行比较输出一个对应的电平给

单片机。但是这种方案受光照影响很大,不能够稳定的工作。因此我们考虑其中更好的方案。

方案2:用红外发射二极管和光电三极管自己制作光电对管寻迹模块。红外发射二极管发射出红外线,当发出的红外线照射到白色的平面后反射,若光电三极管接收到很强的光线时,可以确定是在白色的路面行进,输出一个低电平,假如输出一个高电平时可以判断为检测到黑线。这样自己制作组装的寻迹模块基本能够满足要求,但是工作不够稳定,且容易受外界光线的影响,因此我们放弃了这个方案。

方案3:用TCR5000型反射式光电传感器。TCR5000是一种一体化反射式光电传感器,其发射部分为是一个砷化镓红外发光二极管,而接收部分为硅平面光电三极管。

塑料透镜可以提高灵敏度。内置可见光过滤器能减小离散光的影响。体积小,结构紧凑。当红外发光二极管发出的光反射回来时,光电三极管导通输出低电平。此反射式光电传感器电路简单,工作性能稳定,此我们选择了方案3。

电压比较器电路(光电对管检测电路):

可调电阻R3可以调节比较器的门限电压,经示波器观察,输出波形相当规则,可以直接够单片机查询使用。而且经试验验证给此电路供电的电池的压降较小。因此我们选择此电路作为我们的传感器检测与调理电路。

3.4 遥控模块设计

这是一种目前用途非常广泛的200米四键遥控模块,经常会用在一些远程控制的电路中,摩托车、窗帘、智能小车,报警电路等,这种遥控的遥控距离不远,但能穿越障碍物,但遥控模块的价格低廉,体积小,易为携带,稳定性好。

发射器外形,面板上有A、B、C、D四位操纵按键及一个发射二极管。发射机内部通过一个PT2272芯片编码为一个二进制数,平时没有按按钮时,三极管Q截止,编码集成ICl处于断电状态,无线数据发射模块没有发射信号。当按钮S1一s4任何一个按下时,三极管Q1导通,编码集成ICI开始工作,它根据数据输入端Do-D3的电平进行编码,编码信号由:地址码、数据码、同步码组成一个完整的码字。该编码信号经无线数据发射模块V1进行调制后经天线发射到周围的空间。如果按钮一直按住则发射模块连续发射无线信号。当编码集成ICI(PT2262)第17脚为低电平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全受控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。

图4.1 遥控器发射电路

该部分电路主要由315MHz无线数据接收模块、解码集成PT2272,D触发器4013和继电器电路组成。315MHz无线数据接收模块有超再生式接收模块和超外差式接收模块两种,超再生和超外差电路性能各有优缺点。超再生式接收模块接收灵敏度为-105dBm,抗干扰能力差,频率受温度漂移大,采用带骨架的铜芯电感将频率调整到315MHz后封固,这与采用可调电容调整接收频率的电路相比,温度、湿度稳定性及抗机械振动性能都有极大改善。超外差式接收模块抗干扰能力较强,自身辐射极小,背面有网状接地铜箔屏蔽,可以减少自身振荡的泄漏和外界干扰信号的侵入;输出端的波形在没有信号时比较干净,干扰信号为短暂的针状脉冲,不象超再生式接收电路会产生密集的噪声波形,但近距离强信号时可能有阻塞现象。

图4.2 接收电路

接收模块有对应的七个输出端,分别为D0、D1、D2、D3、GND、VT、VCC,其中VCC 为5V供电端,GND为接地端, VT端为解码有效输出端,只要有按键按下就输出为高电平,D0、D1、D2、D3是解码芯片PT2272(SC2272)集成电路的10~13脚,为四位数据锁存输出端,有按键按下时对应的端信号时能输出5V左右的高电平,驱动电流约2mA,可以驱动发光二极管,与发射器上的四为个按键会一一相对应。

3.4.1 接收模块

接收模块采用SMD贴片工艺制造生产,为接收方式,中含有整形及解码电路,方便使用。

1、假如对距离要求不高可以不用在天线端接天线,接上天线可以使遥控距离提高。

2、模块集成度高,使用方便,可以直接连接到单片机上的对应I/O口。

3、遥控模块可以不通过单片机编程直接控制。

3.4.2 遥控器的使用

1、单键开、关学习方式;

在工作指示灯熄灭的状态下,长按学码开关(此时工作指示灯亮起)直到学码指示灯闪亮一次后松开,再按遥控器上需要控制的按键(比如A键)此时学码指示灯闪亮一次表示学习成功,成功后按A键一次,工作指示灯熄灭(继电器断开);再按一次A键工作指示灯点亮(继电器接通)。

2、两键控制(一个键开、一个键关)的学习:

A:“开”键的学习

在工作指示灯熄灭的状态下,长按学码开关(此时工作指示灯亮起)直到学码指示灯闪亮两次后松开,再按遥控器上需要控制的按键(比如C键)此时学码指示灯闪亮一次表示学习成功,成功后手动关闭工作指示灯,按C键一次,工作指示灯点亮(继电器接通);再按一次C键工作指示灯还是点亮(继电器接通)的状态不改变。(C键只能打开不能关闭)

B:“关”键的学习

在工作指示灯点亮的状态下,长按学码开关(此时工作指示灯熄灭)直到学码指示灯闪亮一次后松开,再按遥控器上需要控制的按键(比如D键)此时学码指示灯闪亮一次表示学习成功,成功后手动按亮工作指示灯,按D键一次,工作指示灯熄灭(继电器断开);再按一次D键工作指示灯熄灭(继电器断开)的状态不改变。(D键只能关闭不能打开)。

3、控制板的清码:

在任意状态下长按学码开关直到学码指示灯闪亮三次后松开将清除本控制板所学

的所有遥控器码。

3.5 电机驱动设计

L298N是ST公司生产的一种电压范围宽、电流大的电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压范围宽,最大可以达到46V,在本设计中用到的电压是7.2V/3000mA;驱动芯片输出的电流大,瞬间峰值电流可达到3A,持续工作电流可以为2A;额定功率25W。本电路所采用的是标准逻辑电平信号控制;有两个是能控制端A、B,A为高电平就对应的OUT1、OUT2,B为高电平就对应的OUT3、OUT4,使用L298N芯片驱动直流电机,该芯片还可以驱动一个步进电机,也可以驱动两台直流电机。

图3.5 电机驱动电路

使用直流/步进两用驱动器可以驱动两台直流电机。分别为M1和M2。引脚A,B可用于输入PWM脉宽调制信号对电机进行调速控制。(如果无须调速可将两引脚接5V,使电机工作在最高速状态,既将短接帽短接)实现电机正反转就更容易了,输入信号端IN1接高电平输入端IN2接低电平,电机M1正转。(如果信号端IN1接低电平, IN2接高电平,电机M1反转。)控制另一台电机是同样的方式,输入信号端IN3接高电平,输入端IN4接低电平,电机M2正转。(反之则反转),PWM信号端A控制M1调速,PWM信号端B 控制M2调速。

可参考下图表:

电机旋转方

控制端

IN1

控制端

IN2

控制端

IN3

控制端

IN4

输入PWM信号改变

脉宽可调速

调速端

A

调速端

B

M1 正转高低/ / 高/ 反转低高/ / 高/ 停止低低/ / 高/

M2 正转/ / 高低/ 高反转/ / 低高/ 高停止低低/ / / 高

第4章软件设计

在进行单片机微机控制系统设计时,除了系统硬件设计外,还有的的工作就是如何根据每个生产对象的实际需要设计对应的程序。因此,软件设计在微机控制系统的设计中占重要地位。对于本系统,软件极为重要。

在单片机控制系统中,大体上可分为数据处理、程序控制两个基本类型。数据处理包括:数字滤波、数据的采集、标度变换等。控制程序主要是使单片机按一定的方法进行计算处理,然后输出,以便控制电机。

为了完成上述任务,在进行软件设计时,通常把整个过程分成若多个部分,每一部分称为一个模块。所谓“模块”,实质上就是所完成一定的功能,相对独立的程序段,这种程序设计方法叫模块程序编程法。

模块程序编程法的主要优点是:

1、单个模块对于一个完整的程序易编写及调试;

2、多个程序模块可以共同使用,一个程序模块可以被多个不同的条件所调用;

3、模块化编程允许设计者把之前所编的程序封装起来拿出来可以直接使用,方便设计者修改以及调用;

4、本设计所采用的软件使用的是模块化编程,由主程序﹑定时子程序、外部中断程序﹑PWM程序。

4.1 主程序设计

软件编写流程图如图4.1所示,主程序见附录一。

相关主题
文本预览
相关文档 最新文档