基于单片机的智能小车的设计毕业论文总.docx
- 文档编号:30044274
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:45
- 大小:1.52MB
基于单片机的智能小车的设计毕业论文总.docx
《基于单片机的智能小车的设计毕业论文总.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能小车的设计毕业论文总.docx(45页珍藏版)》请在冰豆网上搜索。
基于单片机的智能小车的设计毕业论文总
基于单片机的智能小车的设计-毕业论文-总
———————————————————————————————— 作者:
————————————————————————————————日期:
基于单片机的智能小车的设计
摘要
单片机作为一种微型控制器,自走入人们的视野以来,就随着科技进步不断地更新换代。
它能够将计算机所有关键的零件整合集中在一块芯片上,并且具有强大的计数功能,以及各种必要的接口,因此单片机在自动控制系统中通常处于核心地位。
本文对于智能小车的设计思路就应用了最常见的AT89S51单片机作控制处理器,该单片机在低功率的基础上,能够保持其性能在一个较高的水平上,且其8K的处理器够灵巧,适用于嵌入式产品,在众多单片机中,表现较为优秀。
本设计是在单片机的基础上实施的,兼具数据处理、即时调控和报警提醒功能,小车接到行驶指令后,红外探头会检测路况信息(是否处在黑线路径范围内)并反馈给单片机处理,单片机判断后作出相应指令,由电机驱动使小车执行相应行驶动作。
单片机与系统的配合使智能小车的行驶保持灵敏迅速的状态。
关键词:
单片机 寻迹报警 红外线电机驱动
Abstract
Withtherapiddevelopmentofscience andtechnologyinrecentyears, SCMapplications arecontinually deepening. Traditional controltestdrive atthesame time,the rapidlygrowingupdate.Inreal-time detection and controlof themicrocomputerapplication system,themicrocontroller isoften usedasacorecomponent. SCMisthe main feature integratedcomputer chip ina micro-computer.It is a set ofmulti-countingandtheinterfaceinoneofthemicro-controller.The51single-chipmicrocontrolleristhe most typicaland most representativeone.
The design ofthemain application AT89S51 asthecontrol,and displaydriver integratedcircuits andothersystems. Basedonsinglechipdesign. MCU AT89S51usingthe controllerasanalarm devicethatcan give fullplaytoAT89S51 ofdata processingandreal-timecontrolfunctions. Makethesystemworkinthebestcondition,improve thesystemsensitivity.Whentwo signaldrivenforward bycartracingmodule,theinfraresonwhethertoproduce level signalsthroughtheblack,retutnagainaccordingtorequirement ofdesignprocedure ofjudgmentformotordriver module,itcontrols thecarturning back forwardofrunningon theblackline.
Keywords:
SCM,Tracing,Alarmdevice,Levelsignals,Motordrivermodule
摘要ﻩI
AbstractﻩII
目录ﻩIII
前言ﻩ1
1.1设计任务及要求ﻩ2
1.2设计方案论证2
1.2.2电机驱动芯片的选择ﻩ3
1.2.3路况检测模块ﻩ4
2系统硬件电路与实现5
2.1红外遥控及解码模块5
2.1.1二进制信号的调制ﻩ6
2.1.3二进制信号的解码7
2.2单片机红外接收硬件电路的实现ﻩ8
2.3电机驱动模块ﻩ9
2.4路况检测模块ﻩ13
2.4.1寻迹模块ﻩ14
2.4.2智能防撞报警模块16
3系统软件设计与实现ﻩ17
3.1整体程序的构架ﻩ18
3.2红外遥控解码的实现ﻩ19
4小车系统原理图24
5 系统调试ﻩ26
5.1遥控发送接收调试ﻩ26
5.2电机驱动调试27
5.3 寻黑线和防撞的调试27
总结ﻩ27
致谢28
参考文献29
附录30
元件清单30
系统程序ﻩ31
前言
在科技飞快进步的今天,自动控制技术已经迅速成长起来,它与传感器技术之间的配合也越来越默契,时下大热的各种电子智能产品就是自动控制技术发展的产物。
目前国内的自控和传感技术与国外还存在一定的差距,这一领域的优秀产品已有很多,比如日本本田制造出来的智能机器人,对于人类的步态模仿已达到非常自然的水平,并且它还有一定的智力,能够与六岁的孩童相比。
在机械领域一直处于热门地位的汽车,也加入了越来越多的电子信息元素,比如越来越多的汽车产品配置了电子装置,人们在车上不仅可以办公,还能进行多种娱乐活动,这使得汽车向着更加娱乐化和多功能的方向发展,而不仅仅发挥代步功能。
另外,汽车的核心配置也越来越电子化,自动控制技术让汽车工艺发展更进了一步。
随着自动控制产业的发展,电子信息化的教育也渐渐在国际上被提上日程,越来越多的培养年前一代人才的科技竞赛也走入了人们的视野,比如中国大学生方程式汽车大赛(FSC、FSEC)、全国大学生机器人大赛等,都能够很好地激发学生群体的兴趣,促使他们主动学习,对我国电子信息行业的发展产生一定的促进作用。
本设计是以杨老师所给出的小车为框架,以AT89C52单片机为控制器制作一辆简易的智能小车,希望达到小车能够按照引导线的路径自动行驶的效果,以期跟上汽车产业自动化发展的脚步,并掌握本阶段应具有的专业素养和动手能力。
1设计任务及方案
1.1设计任务及要求
本设计是以单片机作为控制核心制作的一个具有简单智能的小车。
设计要求如下:
●具有单片机核心控制模块;
●具有红外遥控解码模块;
●具有电机驱动模块;
●具有路况检测模块;
●具有光感模块;
●具有声控模块;
●具有7段数码管显示模块;
●具有报警模块;
1.2设计方案论证
1.2.1控制器选择
方案一:
采用MSP430单片机
MSP430是德州仪器(TI)生产的一种RISC混合信号处理器,这个系列的产品一方面在低功耗上表现极其优秀,另一方面又能够不影响信号连接、传感器以及其他组件的正常运行,可以说为电池续航问题交上了一份完美的答卷。
MSP430优点:
0.1uARAM保持;0.8uA实时时钟模式;250uA/MIPS有效;高性能模拟器件;是精确测量的理想选择;其处理器能够达到仅需一串代码就使一个应用运转起来;而且还能够在系统内部更改、更新代码和数据。
但系列单片机也有缺点,由于其功耗低,导致几个管脚的驱动力不够,主频也不够高,处理数据的速度不够快,达不到本设计对于单片机的预期,故不选用这一系列的单片机。
方案二:
采用AT89S51单片机[1]
与MSP430不同,AT89S51在低功率的基础上,能够保持其性能在一个较高的水平上,其8K字节的FLASH存储器能够与工业80C51产品指令和引脚完美融合,同时也能够兼容常规编程器。
与MSP430的16位处理器相比,AT89S51的8位处理器更加迷你灵活,适用于更多的嵌入式产品,兼容性更好。
AT89S51具有以下标准功能:
8k字节Flash,256字节 RAM,32位I/O口线,看门狗定时器,2个数据指针,三只16位定时器/计数器,一个6向2级中断结构,全双工串行口,片内晶振及时钟电路。
除此之外他还能够实现0Hz静态逻辑操作,有两款软件能开启省电模式。
在不需高效工作的时候,还能够保持处理器不运行,RAM、定时器/计数器、串口、中断继续工作的状态。
在低电量模式,还能够保证RAM 数据不丢失,振荡器停止,单片机不运行,持续该状态到各项条件能够恢复正常工作。
方案选择:
综上所述:
经过对MSP430和AT89S51的各项条件比较,本设计将采用MSP430作为处理器,其物美价廉,上手更容易,性能表现也优异,符合设计最初的期望值。
1.2.2电机驱动芯片的选择
方案一:
采用L298N
L298N为SGS-THOMSONMicroelectronics所出产的双全桥步进电机专用驱动芯片(Dual Full-Bridge Driver ) ,内部包含4信道逻辑驱动电路,是专门针对于二相CEs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号-各种图纸和四相步进电机的一款驱动器,它能够在同一时间调动两个二相或者一个四相的步进电机,它的内部有两个H-Bridge的高电压、大电流双全桥式驱动器,用来接收标准CEs838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号-各种图纸TTL逻辑准位信号,能够调动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;它还能够识别单片机IO端口传来的模拟信号,但IO端口在智能小车中较为少见,不过这一芯片的优点是造价低廉。
方案二:
采用LG9110
LG9110这种电路驱动芯片对电路的集成度更高,将各个电路集中在一个芯片上,能够减少外部元件比例,减少造价。
另外这种芯片有两个通道可以进行输入,且两个输出端都能保持750-800mA较大电流通过,峰值电流能力可达1.5-2.0A,从而保证了驱动能力,提供更高的工作效率。
而它所具有的低输出饱和压降以及内置钳位二极管释放感性负载的反向冲击电流的功能,又保证了在使用中安全性。
因此,这种芯片作为集成电路器件已经普遍被用在玩具汽车电机驱动、步进电机驱动以及开关功率管等电路上。
方案三:
使用分立原件搭建电机驱动电路
这种方法成本非常低,普遍应用于规模化生作业中,但它有一个缺点,即H桥电路的运转状态不能保持稳定,发生硬件问题的几率比较大,因此不选用这种方法。
综上所述:
经过对上面三种驱动芯片的比较,我们发现第二种芯片不论是在驱动能力上、造价上,还是使用的难易程度上都表现较为优秀,因此决定使用第二种芯片LG9110。
1.2.3路况检测模块
这个部分我们将使用红外发射探头来处理,当红外线检测到异物后,将信号返回到探头,探头再把信号传送给单片机控制器进行判断,以这样的一个模式,来判断整体路况信息。
2系统硬件电路与实现
本方案选取AT89C52单片机为处理器,调控各单元工作,其硬件组成框架如图2.1
AT89C52
遥控模块
路面检测模块
电机驱动模块
报警模块
显示模块
图2.1 系统硬件组成框架图
2.1红外遥控及解码模块
家中普遍使用的电视遥控器就使用了红外遥控技术,这种技术有诸多优势,比如:
无线实施、不需要触控、干扰因素少、有效信息传输率高、功率损耗小、造价低廉等,随着近年来的发展,已经被广泛地应用于各个领域。
这一技术系统由2个部门构成:
发送和接收部门。
发送部分由主芯片将待发的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号红外信号接收端普遍采用价格便宜,效率高且效果有保证的一体化红外接收头(如HS0038,它接收红外频率为38KHz,周期为26us)。
这种接收头在放大信号的同时,还能对信号的波形进行检测和修整,并转换成TTL电平的编码语言,传到中央处理器,由cpu解码和发布指令,去控制相关对象。
如图2.1.1所示。
遥控器
一体化红外接收头
单片机
发送
接收解调
解码
图2.1.1红外遥控解码框图
2.1.1二进制信号的调制
控制器的主芯片要负责二进制信号的处理工作,它将二进制信号的编码处理为38KHz的不连续脉冲串,简单来说就是做一个把两者相乘的工作,用于之后的信号发射环节。
如图2.1.2所示,A为二进制信号波,B 是频率=38KHz(周期=26us)的不间断脉冲串,C为经芯片处理过的不连续脉冲串(即C=A×B),用于之后的信号发射环节的波信号(图中二进制信号编码为101)。
图2.1.2二进制信号的调制
2.1.2 二进制信号的解调
红外接收头我们采用的是HS0038,它负责了二进制信号的复原工作,就是解调,即将上面提到的不连续脉冲信号恢复成二进制信号波(恰好是图2.1.2中二进制信号波的垂直翻转)。
此阶段接收头的工作可以简单解释成:
有脉冲串时输出低电平,没有脉冲串时则输出高电平。
该红外接收头1脚GND接电源地,2脚VCC接+5V,3脚OUT为数据输出(TTL电平,反相输出),能直接和单片机连接。
图2.1.3 HS0038解调出的波形
2.1.3二进制信号的解码
接收单片机的解码工作,相当于将受到的波形复原成一开始发送端输出的信号。
如图2.1.3,把波形E解码还原成数据信息101。
图2.1.4为红外信号的编码格式
传输开始
8位数据
传输结束
20个脉冲
高位在前,低位在后
10个脉冲
图2.1.4 红外信号的编码格式
2.2单片机红外接收硬件的电路设计
红外接收硬件的电路设计如图2.2.1,IR是红外接收头的圆形面,用于接收红外信号,它和SE303发射管之间的有效距离是35m,在这个范围内能够进行有效的红外收发。
图2.2.1红外接收电路
3脚接电源,2脚接地,一脚接单片机的P3.3(外部中断0),在收到红外信号时,1脚处理之后把信号输送到单片机,使其暂停,进而开始解码工作。
2.3 电机驱动模块
目前直流电机已经普遍应用于遥控车,它有2个控制端口,能够根据接收的电平的异同来调整电机的工作。
电机驱动单元的电路图如图2.3.1所示。
图2.3.1电机驱动模块
P0.0~P0.3电平的水平会影响直流电机M1、M2的转向,单片机就是通过调控这几个引脚的电平水平来调控电机的转向。
引脚的电平为1010使,M1、M2正转,使小车往前走;引脚电平为0101时,M1、M2反转,使小车向后走;引脚电平为1001或0110时,M1和M2一个正转一个反转,使得小车能够向左向右走。
然而只以单片机输出的电压来带动小车形势是完全不够的,其电压太小,不足以带动小车持续运行,因此我们选取了一种合适的电动机芯片来弥补这个不足。
L9110芯片在性能上表现优秀,且造价不贵,又能够很好地兼顾到小车本身的重量和电压等其他要求,可以说是最适宜用于这个小车设计的芯片了。
下面给出关于L9110的相关数据手册。
图2.3.2 LG9110的实物图
特点:
■低静态工作电流;
■宽电源电压范围2.5V-12V;
■ 每通道具有800mA连续电流输出能力;
■ 较低的饱和压降;
■TTL/CMOS输出电平兼容,可直接连接CPU;
■输出内置钳位二极管,适用于感性负载;
■控制和驱动集成于单片IC之中;
■具备管脚高压保护功能;
图2.3.3 LG9110管脚图
管脚定义如表2.3.1
表2.3.1LG9110的管脚定义
序号
符号
功能
1
OA
A路输出管脚
2
VCC
电源电压
3
VCC
电源电压
4
OB
B路输出管脚
5
GND
地线
6
IA
A路输入管脚
7
IB
B路输入管脚
8
GND
地线
L9110有8个管脚,电源脚、接地脚、输入脚(IA/IB)、输出脚(OA/OB)各有2个,2个输出脚与电机两极相连,2个输入脚与单片机相连,它们共同协作调控电机工作。
图2.2.4为L9110的硬件连接图。
图2.3.4 LG9110硬件连接图
2.4路况检测模块
这个单元的工作主要由红外探头来负责,使用了简易且应用广泛地红外探测法来达到目的。
发射器发出红外信号到达路面,再由路面返回接收器,因为黑色和白色物体反射回来的光的强度不同,红外装置就可以通过返回的光的强度来确定路况。
图2.4.1为这一单元的硬件框架图。
图2.4.1路况检测单元框架设计图
发射管V1、V6、V3通电之后,往车前面和地面连续发出红外光,在前方有白墙或者普通路面就会反射回强度较高的红外光,使得V2、V5、V4接通,把低电平信号传到单片机P3.5-3.7,进行进一步的信号识别处理。
这一单元的检测可实现黑线检测和障碍物检测2个功能。
2.4.1寻迹模块
在这一单元,我们在白纸上预设了一条无规则的弯曲黑线跑道,原理如上面叙述的红外探头的工作原理,小车在行进时,探头连续向地面发出红外信号,白纸部分反射回的红外信号能够接通接收管信号通路,黑线部分则会吸收红外,不返回信号,这要求黑线跑道的宽度至少要比两个探头的距离宽,这才能够保证被检测到。
寻迹模块设计实物如图2.4.2所示。
图2.4.2小车前方探头实物
如图,小车前方下部的两个透明物就是红外发射探头,两个黑色的就是红外接收探头,黑色路径的宽度只要要宽于这个尺寸,就能够确保小车寻迹行驶。
当小车开始运行,如果在黑色路径之内,则没有红外信号被返回,小车将继续行驶;如果稍微偏离黑色路径,红外信号就会返回接收管,是接收探头接通,将信号传递给单片机作判断,如果收到的是左边的接收器传来的信号,单片机就会发出向右转向的指令,如果收到的是右边的接收器传来的信号,单片机就会发出向左转向的指令。
小车的按照一定的路径行驶就是通过这样的信号传递流程实现的。
2.4.2智能防撞报警模块
这一个单元对于现代汽车向进一步自动化方向发展非常有价值,也是一个非常实用,能够提高驾驶安全性的一个功能。
如果车子能够自动判别前面有没有异物,并对驾驶员发出提醒,那么将在一定程度上减少交通事故的发生。
当小车在空地上时,前面的2个探头会检测前方是否有异物,向下的4个探头会一同接到检测信息,在小车遇到危险路况时(比如山崖边),单片机就会根据探头传来的信号调整小车的行驶方向,并发出警示提醒,避免危险。
本单元的设计如图2.4.3所示。
图2.4.3 防撞报警模块电路设计
如果前方有异物,单片机就会给P0.6传递一个高电平信号,然后三极管V1被接通,接着连通报警器SB1,发出蜂鸣警示。
如果前方路况正常无异物,那么红外接收探头就会收到反射回来的红外光,并传递给单片机一个低电平;同样的原理,在小车走到山崖边上时,由于山崖太深,发出去的红外信号返回距离太长不能被接收探头检测到,那么传递给单片机的就还是一个高电平信号,接着单片机就会对次信号进行判断并发出对应指令调整小车路径,同时发给报警器一个指令,发出蜂鸣提醒。
3系统软件设计与实现
为了方便使用程序,我们在软件设计方面做了一定的工作,把全部程序单元都嵌入遥控器,这样做的优点不止是方便使用,还能够节省CPU的存储空间,因为整个设计中有多个单元都需要进行即时检测,如果不做这样的嵌入的话,不但会占CPU空间,还会影响各单元的正常运行。
各个单元的衔接如图3.1所示。
遥控器输入
单片机解码
电机控制(前进后退左右转)
黑线寻迹
防撞报警
图3.1程序模块连接
遥控器发出信号后,单片机运行外部中断模式,对遥控器发出的信号实施解码操作,解码完毕后对照遥控器传来的数据信息向对应的单元发出运行指令,所有模块运行的结果指令由电机来实施,因此图3.1中所有的箭头最后都汇总于电机控制单元。
3.1整体程序的构架
程序框图如图3.1.1所示
图3.1.1整体程序框图
3.2红外遥控解码的实现
所有的控制单元都集中在一个遥控器内,因此串联起这个设计的角色就是红外信号的解码部分,它就像是开启这个系统的门。
按下遥控器上的按钮发出红外信号时,1脚会将信号转换成脉宽波,并让单片机暂停运转,同时打开定时器和计数器。
统计每个脉冲到达的时间和最终的数量,待一次红外信号的脉冲接收完毕后,计数器和定时器停止工作。
然后开始识别此次信号的脉冲数量,若>31就舍掉,若是0或1就存储下来,再进行进一步的判断,先跟前导码比较看是不是吻合,简单来说就是判断遥控器是否匹配,若匹配就存储起来,之后核心程序再利用swich函数对其处理并发布指令。
举例来说就是,按下向下按钮,核心程序就用后退函数来使小车做出后退动作。
如图3.2所示
初始化
中断口是否有遥控信号输入
是否有抖动
进入解码
计数脉冲个数同时计数单个脉冲宽度
脉冲个数是否为32个
数据解码并判断数据码和数据反码取非之后是否相等
执行相关模块
否
是
是
否
是
否
是
否
图3.2 解码程序框图
3.3电机驱动
电机驱动在这个设计当中处于一个主导地位,所有单元,所有程序发出的命令,想要最终在小车的行驶动作上有所体现,都必须通过它。
电机驱动能让小车实现的动作有前行、倒退、向左向右转和停止。
这些动作并不是只能通过按下遥控器上相应的按钮才能实现,我们在设计程序时,为了使小车更加智能化,把前行、倒退、向左向右转和停止这些动作指令分别写成了函数,这样每个子单元的工作只要运行相应的函数就能够实现。
这样做就节省了很大的程序空间。
比如说,在写入左转函数时,为了让小车实现左转的动作,仅给P0.0-0.3赋值0010就能实现,其他前行、后退等动作只要改变对应的赋值就可以完成动作。
不过为了保险起见,减少失误,我们可再写入延迟函数,防止指令执行过于迅速损害电机。
3.4 小车寻迹
小车的主程序若是监测到遥控器发出的寻迹信号,那么主程序就会通过调取设定好的寻迹函数进行寻迹。
以下内容是关于寻迹功能设计的主要思路。
首先,我们需要搞懂小车是如何进行寻迹功能的,关于它的原理已经陈述过,这里就不做过多说明,以免冗余。
小车寻迹函数指的是:
P3.5和P3.6,这两个函数作为实时扫描单片机管脚。
小车左侧探头返回的信号由P3.5管脚接受,p3.5=0代表的是左方探头正在跑离黑线,与此同时,实时扫描的单片机监测p3.5=0,立即调取右转函数,实现小车的右转功能。
小车右侧探头返回的信号由P3.6管脚接受,同样的原理,当监测到右侧探头正在跑离黑线时,左转的寻迹函数立即被调取,实现小车的左转功能。
如图3.4,关于小车寻迹功能设计的程序示意图。
初始化
探头跑出黑线了吗
哪边探头有输入
前进
后退
右转
左转
是
否
左
左右均有
右
图3.4小车寻迹程序示意图
3.5小车防撞与报警
小车的防撞报警系统由主人来激活,在遇到阻碍小车前行或者有危险时,小车主程序监测到其防撞系统激活后,立刻调取p3.7函数。
p3.7是小车内部防撞函数,借助小车的电机驱动函数共同调控小车行驶路径,以防落入悬崖等危险情况,改变其行驶路径的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 小车 设计 毕业论文