文档库 最新最全的文档下载
当前位置:文档库 › 单片机无线遥控小车毕业设计论文

单片机无线遥控小车毕业设计论文

单片机无线遥控小车毕业设计论文
单片机无线遥控小车毕业设计论文

毕业设计(论文)

题目:基于单片机的无线遥控小车控制

系统设计

学生XXXX 指导教师XXXX

二级学院XXXX 专业自动化

班级自动化学号1XXX1

提交日期2014年5月11日答辩日期2014年5月17日

目录

摘要......................................................................................................... III Abstract ..................................................................................................... IV 第一章绪论 . (1)

1.1 前言 (1)

1.2 单片机背景知识 (1)

1.3 研究的主要容 (2)

第二章系统主要模块介绍 (3)

2.1 系统总体设计 (3)

2.2 主控模块及其原理分析 (3)

2.2.1 单片机介绍 (4)

2.2.2 晶振电路 (6)

2.2.3 复位电路 (8)

2.3 无线遥控 (9)

2.3.1 无线遥控简介 (9)

2.3.2 红外线遥控的工作原理 (10)

2.4 传感器电路设计 (13)

2.4.1 传感器的选择 (13)

2.4.2 传感器原理 (15)

2.4.3 寻迹小车的寻迹原理 (17)

2.5 电机驱动模块 (17)

2.5.1 如何转动电机 (17)

2.5.2 电机驱动模块 (19)

2.6 电源管理模块 (21)

第三章系统软件设计 (23)

3.1循迹流程图 (23)

3.2小车控制算法 (24)

3.2.1 方案选择 (24)

3.2.1 最少拍控制算法介绍 (25)

3.3 开发环境 (27)

3.3.1 keil C51 介绍 (27)

3.3.2 用keil软件编写软件 (27)

3.3.3 烧录软件 (35)

3.3.4 程序中的I/O口分配 (36)

第四章焊接与调试 (38)

第五章结论 (41)

参考文献 (42)

附录一(程序) (43)

附录二(实物图) (63)

致 (64)

基于单片机的无线遥控小车控制系统设计

摘要

本毕业设计是以AT89C51单片机为控制核心的智能小车系统。AT89C51单片机是一款八位的单片机,它的易用性和多功能性受到了广大使用者的好评,因此普及率很高,各种软硬件的资料也很齐全。用这个单片机控制电机很方便,只要加上一片L9110电机驱动芯片,然后控制的程序编写正确就可以了。而检测模块采用了AT89S51与红外发射接收探头传感器相结合的方法,利用不同颜色反射回来的红外线多少的不同来控制小车前进的方向,发射探头传感器根据跑道颜色的不同检测到不同的信号,经过单片机处理就可以输出控制电机的信号,从而实现小车自动循迹。

关键词:单片机;红外接收发射探头;循迹;智能小车

Design of wireless remote control car system based on single

chip microcomputer

Abstract

This graduation design is the smart car control system based on AT89C51 single chip microcomputer. AT89C51 microprocessor is a eight bit microcontroller, its ease of use and multi-function suffer large users, so the popularity rate is very high, a variety of hardware and software of the data is also very complete. The microcomputer control of motor is very convenient, just add a L9110 stepper motor driver chips, and then control the program correctly on it. The detection module uses the method of AT89S51 and infrared emission receiving probe sensor combination, use different color infrared reflection of how much different to control the car direction, transmitting probe sensor to different signals according to different detecting runway color, you can control the electric car with automatic tracking.

Key words:Single-chip;Infrared detector receiving launch;Tracing;Smart cars

第一章绪论

1.1 前言

汽车产业的大力发展,使关于汽车的研究也就越来越多。全国电子大赛和省电子大赛几乎每次都有智能小车这方面的题目,全国各高校也很重视该题目的研究。可见其研究意义很大。本设计就是在这样的背景下提出的。本题目是结合科研项目而确定的设计类课题。设计的智能电动小车具有自动寻迹、避障功能,可程控行驶速度、准确定位停车。

根据题目的要求,确定如下方案:在玩具电动车的基础上,加装光电、红外线、红外线传感器,实现对电动车位置和运行状况的实时测量,单片机对接收到的的数据进行处理,然后再输出控制信号实现对电动车的智能控制。

这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。本设计采用MCS-51系列中的80C51单片机。以80C51为控制核心,利用超声波传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,自动寻迹和寻光功能。80C51是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。它是第三代单片机的代表。

1.2 单片机背景知识

单片微型计算机简称单片机,是典型的嵌入式微控制器,单片机常用英文单词的字母缩写MCU(Microcontroller Unit)来表示单片机。单片机不是实现某一个逻辑功能的芯片,而是把一个完整的计算机系统经过技术加工集成到一个芯片上。单片机由运算器、控制器、存储器、I/O接口等构成,其实就是一个微型的计算机系统(一般称为最小系统),跟计算机(指的是台式机或者笔记本电脑)相比,单片机没有外围设备。总的来说:一块集成芯片就组成了一台计算机。单片机比起计算机有体积小、质量轻、价格便宜等很多优点,单片机最早是被用在工业控制领域,它的这些优点为我们学习、应用和开发提供了许多便利条件。同时,学习单片机是了解计算机组成原理与结构的最佳选择。

由于计算机在工业控制领域的广泛应用,单片机由仅有中央处理器(CPU)的专用处理器芯片发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统变得更小,从而容易嵌入一些对体积要求比较严格的设备中。

INTEL的8080是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列单片机系统。因为简单可靠且性能不错获得了一致好评。尽管2000年以后ARM已经发展出了32位的主频超过300M的高端单片机,直到现在,基于8051的单片机还在广泛的使用。在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。事实上单

片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。

在我们日常生活中用的电子产品中,几乎每种电子产品中都会用到单片机。手机、电脑、平板电脑、游戏机、固定、计算器、家用电器、以及鼠标等都含有单片机。一般汽车上安装有40多个单片机,高级一些的汽车能装有上百个单片机。现在世界上单片机的数量远远超过各种计算机的总和。这些足以证明单片机在我们日常生活中处处都有。

1.3 研究的主要容

本毕业设计研究和解决的问题主要包括以下几个方面:

1)本设计的主要任务是设计一款基于单片机的无线遥控小车控制系统,小车具有自动、遥控两种模式。遥控模式下小车可在1公里围遥控到达指定位置,并在手持设备上显示小车位置坐标;自动模式下在封闭环境输入任意坐标,小车可自动运行到该位置。

2)设计小车遥控控制系统的硬件电路和软件程序,包括详细的硬件设备配置,系统连接,程序调试等详细步骤;

3)最终完成一篇符合金陵科技学院毕业论文规的系统技术文档,包括各类技术资料,电路图纸,程序等;

4)系统要有实际的硬件展示,并能够通电运行;

5)本模块要与其他模块能够配合运行。

第二章系统主要模块介绍

2.1 系统总体设计

系统总体框架如图2.1:

图2.1 系统框架图

系统说明:

智能寻迹小车能寻迹主要是由前方的两对红外发射与接收探头来完成的。根据光的反射特性,当红外发射器发出来的光线遇到物体时,就会形成反射的光线,而这个反射回来的红外光线就可以被红外接收器探头接收到。当红外接收探头接收到信号后,将信号送到单片机由单片机部程序分析处理后再发送新的命令去控制直流电动机,由电动机完成小车的前进,转向等操作。

2.2 主控模块及其原理分析

主控模块就是单片机最小系统,单片机最小系统(或者称为最小应用系统)是指用最

少的元器件组成的可以工作的单片微型计算机系统。对51系列的单片机来说,最小系统一般包括三部分:单片机、晶振电路、复位电路。

下面给出一个51单片机的最小系统电路图2.2:

图2.2最小系统原理图

2.2.1 单片机介绍

本设计采用STC89C52单片机,也可用与AT89S51/52或STC89C51/52系列兼容的其他单片机。

单片机部主要部件包含有:一个以ALU算术逻辑部件为中心的8位中央处理器、4/8KB 的Flash部程序存储器、ROM(51为4KB,52为8KB)、128 B的部数据存取存储器RAM、

21个特殊功能寄存器、一个程序计数器(独立的16位专用寄存器)、4个8位可编程并行I/O口、一个UART串行通信口、2个16位定时/计数器、5个中断源(51的有5个,52的有6个),两个中断优先级的中断控制系统。

如图2.3(a)所示的是一块STC89C52单片机。图中单片机的左侧有一个半圆形缺口,缺口下侧从左往右的引脚编号1-20引脚,具体引脚编号见图2.3(b)。

图2.3(a)STC89C52单片机芯片

图2.3(b)单片机引脚单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。

一、电源引脚:

VCC(40引脚)芯片电源,接+5V、GND(20号引脚)接地端;

二、时钟引脚:

XTAL1(19引脚输入端)、XTAL2(20引脚输出端)外接时钟电源。

三、控制类引脚:

控制线共有4根,如下介绍:

1)ALE/PROG(30引脚):地址锁存允许/片EPROM编程脉冲

①ALE功能:用来锁存P0口送出的低8位地址

②PROG功能:片有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

2)PSEN(29引脚):外ROM读选通信号。

3)RST(9引脚):复位信号输入端。

4)EA/Vpp(31号引脚):外ROM选择/片EPROM编程电源。

①EA功能:外ROM选择端。当接高电平时,单片机在复位后从部ROM的0000H 开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行。

②Vpp功能:片有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

四、I/O口引脚:

80C51共有4个8位并行I/O端口,分别为P0口(39-32引脚)、P1口(1-8引脚)、P2口(21-28引脚)、P3口(10-17引脚),共32个引脚。其中P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。通过这些端口可以控制各个外围模块的运行。

2.2.2 晶振电路

晶振电路就是时钟电路,但是时钟电路不一定是晶振电路,比如时钟电路有专门的时钟芯片(555时钟电路)。

为什么要加此电路呢?计算机工作时,是在统一的时钟脉冲控制下一拍一拍地进行的。这个脉冲是由单片机控制器中的时序电路发出的。单片机的时序就是CPU在执行指令时所需控制信号的时间顺序,为了保证各部件间的同步工作,单片机部电路必须在唯一的时钟信号下严格地按照时序来进行工作。

既然计算机是在统一的时钟脉冲控制下工作的,那么,它的时钟脉冲是怎么来的呢?要给我们的CPU提供时序,就需要相关的硬件电路,即振荡器和时钟电路。8051单片机部有一个高增益反相放大器,这个反相放大器的作用就是用于构成振荡器用的,但要形成时钟,外部还需要加一些附加电路。8051单片机的时钟产生有以下两种方法:

一、部时钟振荡方式,使用单片机片自有的振荡器,然后在引脚XTAL1(18脚)和XTAL2(19脚)的两端接晶振,就能构成一个比较稳定的自激振荡器,如图2.4(a)所示。其发出的脉冲直接送入部时钟电路,外接晶振时,晶振两端所接的电容一般在10pF-30pF 之间;这两个电容对频率有微调的作用,晶振的频率围可在1.2MHz-12MHz之间。为了减少寄生电容,更好地保证振荡器能稳定可靠地工作,振荡器和电容与单片机芯片最好离得近一些。

二、外部时钟方式,即将XTAL1接地,外部时钟源信号从XTAL2引脚接入,这样就能直接给CPU提供工作所需的时钟信号。如图2.4(b)所示。

图2.4(a)部时钟方式图2.4(b)外部时钟方式典型的晶振频率可取11.0592MHz(因为可以准确地得到9600波特率和19200波特

率,用于有串口通讯的场合)或者取12MHz。

本电路中取的是12MHz,一个12M的晶振,其计数脉冲的间隔(机器周期)是1ms。

1个机器周期=6个状态周期=12个机器周期,在一个机器周期,CPU可以完成一个独立的操作。

2.2.3 复位电路

复位电路由电容串联电阻构成,由图2.5并结合

“电容电压不能突变”的性质,可以知道,当系统一

上电,RST脚将会出现高电平,并且,这个高电平持

续的时间由电路的RC值来决定。典型的51单片机

当RST脚的高电平持续两个机器周期以上就将复位,

所以,适当组合RC的取值就可以保证复位的可靠性,

一般建议电容C 取10u,电阻R取10K.当然也有其

他取法的,原则就是要让RC组合可以在RST脚上产

生不少于2个机器周期的高电平。

单片机复位电路如图2.5所示:

图2.5 复位电路图51单片机要复位只需要在9号引脚接上一个持续2us的高电平就可以实现单片机的复位,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。

开机的时候为什么为复位?在复位电路图2.4中,电容C的大小为10uF,电阻R的大小为10k欧姆。所以根据电容充电原理,我们知道电容充电到电源电压的0.7倍(单片

机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10k*10uF=0.1s。也就是说在电脑启动之后的0.1s时间,上图中电容两端的电压是从0V增加到3.5V的。这个时候10k电阻两端的电压是从5V减少到1.5V的。综上所述我们知道,在0.1S,RST引脚(9号引脚)收到的电压是在5V到1.5V围。在5V工作的51单片机中规定:将小于1.5V的电压信号视为低电平信号,而将大于1.5V的电压信号视为高电平信号。所以在单片机开机0.1s,单片机系统会自动复位(RST引脚接收到的高电平信号时间为0.1s左右)。

按键按下的时候为什么会复位?在单片机启动0.1s后,电容C两端的电压持续充电达到5V电压,这时候10k电阻两端的电压接近于0V,RST引脚处于低电平,所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平,使得单片机系统复位。

单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑部的程序从头开始执行。单片机也一样,当单片机系统在运行过程中,受到环境干扰出现程序跑飞的时候,按下右图中复位按钮后,部的程序就会从头(用户程序区的0000H)开始执行。

2.3 无线遥控

2.3.1 无线遥控简介

无线遥控技术是指在距离被控物很远就可以通过某种无线(相对于有线)遥控技术实现对被控物的操纵,就好像是手直接操作一样,在各种工业控制、家用电器、航空航天等领域应用非常广泛。无线遥控和有线遥控相比在空间上十分自由,可以根据外部环境改变

位置,操作起来十分的灵活。这种优点使无线遥控技术在工业生产领域应用的越来越多。

无线遥控系统有很多的种类和分类方法,主要几种方法有以下几种:

①按传输控制指令信号的载体分为:无线电遥控、红外线遥控和超声波遥控;

②按信号的编码方式分:频率编码和脉冲编码;

③按传输通道数分为:单通道遥控和多通道遥控;

④按同一时间能够传输的指令数目分为:单路遥控和多路遥控;

⑤按指令信号对被控目标的控制技术分为:开关型遥控和比例型遥控。

本设计中使用的是红外线遥控技术。

2.3.2 红外线遥控的工作原理

红外线遥控是目前使用最广泛的一种遥控手段。红外线遥控设备具有体积小、成本低、功能强、功耗低等优点,因而在应用到电视、录像机之后,又相继应用到录音机、空凋、遥控玩具等设备上。在工业设备中,尤其是在有高压、辐射、有毒气体等恶劣环境下,采用红外线遥控是非常不错的选择,将人与这种环境分隔开来从而能保证人身安全。

图2.6所示的就是红外遥控模块的框图。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。

图2.6 红外遥控系统图

遥控器主要由发射遥控信号的芯片、晶体振荡器、放大晶体管、红外发光二极管以及键盘矩阵等组成。遥控器装有一个编/解码专用集成电路芯片,芯片在制造时就已将各种按键的编码信息输入其中,遥控发射器只要发出与之对应的编码,然后被接收头接收到再解码后就可以实现遥控的目的了。

通用红外遥控系统由发射和接收两部分组成,如图2.7(a)和图2.7(b)。

图2.7(a)红外发射器(遥控器)图2.7(b)红外接收头

一、遥控发射器及其编码

有很多种发射遥控信号的芯片,根据编码格式可以分成两大类,我们以uPD6121G芯片发射电路为例说明编码原理。

当按下发射遥控器的按键后,事先约定好的遥控编码就经红外发光二极管发出,每个键都有不同编码,每个编码对应着一种操作,这样就能实现各种操作。

如何编码具体原理如下:

采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”图2.8(a);以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”图2.8(b),其波形如图2.9所示。

bit “0”bit “1”

图2.8(a)遥控编码的“0”图2.8(b)遥控编码的“1”(右)由32个上述“0”或者“1”组成的32位二进制码如图2.9(a),通过38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的,然后再通过红外发射二极管产生红外线向空间发射。

按下遥控发射器在按键后,遥控器会连续不断的发出32位这种二进制编码,周期约为108ms。

图2.8是这个32位二进制码的编码格式,由在这个编码之前要加上引导码(9ms高脉冲和4.5ms低脉冲组成)、用户识别码及其反码、操作码及其反码,为了能让接收器识别,意思就是接收器收到了引导码之后就会去解后面的编码。

用户识别码用户识别码(反码)操作码操作码(反码)

9ms 4.5

ms

遥控信号编码波形图

C5

C2C6

C4

C1

C0C3C7C0C1D7

D6D7D6

D1D2

D0D3D4D5

C3C4

C2C5C6C7D1D2

D0D3D4D5

图2.9(a)遥控编码信号波形图

遥控信号的周期性波形

图2.9(b)遥控信号周期性波形

UPD6121G的遥控编码是一个32位的连续的二进制编码组,其中前16位为用户识别码,不同的电器设备在这16位的数字编码上是不一样的,这样就能防止不同设备的遥控码互相干扰。芯片厂商把用户识别码固定为十六进制的一组数,就是每个厂商有自己的编码,从

而避免不同的遥控器混用;后16位为8位操作码(功能码)及其反码。UPD6121G最多支持128(2的7次方)种编码。按下遥控发射器在按键后,周期性地发出同一种32位二进制码,周期约为108ms。图2.9(b)为发射波形图。当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms-18ms),高8位地址码(9ms-18ms),8位数据码(9ms-18ms)和这8位数据的反码(9ms-18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。

二、接收器及其解码

一体化红外线接收器如图2.7(b),它是一种包含红外线接收和放大的器件,不用借助任何外接元件,就能够完成从红外线信号接收到输出与TTL电平信号兼容的所有工作,它的体积和三极管差不多大,很多红外线遥控和红外线数据传输都能用到它。图中3个引脚从左到右依次是①信号输出端②接地端③电源端(接+5V)。图中的接收器型号为TL1838,也可以用与之兼容的HS1838,编号中的后两位数字38表示红外线工作的频率为38KHz。

2.4 传感器电路设计

寻迹传感器模块的设计是整个智能小车设计中最重要的一部分,其作用相当于人

的眼睛和耳朵,采集外部路面的信息并将其送入单片机进行数据处理,其能否正常工

作直接影响着小车队路面的判断以及小车下一步的行动,因而其布局的合理性与有效

对小车稳定而又快速的行驶起着关键的作用。我们认为在传感器的布局中,要解决两

个问题:信息检测的精确度和信息检测的前沿性。

2.4.1 传感器的选择

传感器(英文名称:transducer/sensor)是一种检测信号的装置,能检测被测量量

的信号,将测量到的信号转换为电信号输出。现在的各种设备都需要传感器,其首要

环节就是检测信号,只有有了检测到的信号的输入,控制器才能处理并发射新的信号

来控制设备,这就相当于人的大脑处理的信息是通过感官器官眼睛、鼻子或者手来获

取的。现在传感器早已广泛应用于工业生产、航空航天、预防地震、石油探测、医学

影像、天气预报等等非常之泛的领域。总之,从陆地到海洋,不管什么样的探测预防

上工作,都离不传感器的帮助,没有了传感器就相当于人没了眼睛没了手,什么都感

受不到了。

在传感器方案的选择中,有以下两种方案供参考:

方案一:使用CCD传感器来采集路面信息。CCD,英文全称:Charge-coupled Device,中文全称:电荷耦合元件。可以称为CCD图像传感器。CCD是一种半导体器件,能够把光学影像转化为数字信号。使用CCD传感器,可以获取大量的图像信息,可以全面完整的掌握路径信息,可以进行较远距离的预测和识别图像复杂的路面而且抗干扰能力强。但是对于本项目来说,使用CCD传感器也有其不足之处。首先使用CCD传感器需要有大量图像处理的工作,需要进行大量数据的存储和计算。因为是以实现小车视觉为目的,实现起来工作量较大,电路复杂。

方案二:使用光电传感器来采集路面信息。使用红外传感器的最大优点就是实现起来比较,成本又很低,而且其结构简单,容易理解应用。但是,用红外传感器也有其不可避免的缺点,因为这种传感器是比较低级的,最基础的传感器,所以它测量到的信号可能就会用偏差有波动而且不稳定。因此只能识别黑色的路面和白色路面这两种颜色相反的路面。并且在检测过程中容易收到光线的影响,因此必须在光线良好的环境下测量。

在本次设计中,赛道为黑色与白色两种颜色,小车只要能区分黑色就可以采集到准确的路面信息。经过综合考虑,在本设计中采用红外光电传感器作为信息采集元件。

本设计中选用的无线传感器如图2.10所示,白色为:红外发射探头(连续的发射红外光线)。黑色为:红外接收探头(接收反射回来的红外光线)

图2.10 红外发射管(白)与红外接收探头(黑)

本设计中安装了三组红外探头,排成三角形,如图2.12。

2.4.2 传感器原理

传感器电路如图2.11所示,详细全图见附录

R1 220

R2

15K

R3

220

R4

15K

R5

220

R6

15K

V1V2V3V4V5V6

图2.11 红外发射接收电路

相关文档