基于单片机的智能循迹小车毕业论文.docx

上传人:zf 文档编号:11525698 上传时间:2023-03-13 格式:DOCX 页数:33 大小:652.92KB
下载 相关 举报
基于单片机的智能循迹小车毕业论文.docx_第1页
第1页 / 共33页
基于单片机的智能循迹小车毕业论文.docx_第2页
第2页 / 共33页
基于单片机的智能循迹小车毕业论文.docx_第3页
第3页 / 共33页
基于单片机的智能循迹小车毕业论文.docx_第4页
第4页 / 共33页
基于单片机的智能循迹小车毕业论文.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

基于单片机的智能循迹小车毕业论文.docx

《基于单片机的智能循迹小车毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能循迹小车毕业论文.docx(33页珍藏版)》请在冰豆网上搜索。

基于单片机的智能循迹小车毕业论文.docx

摘要

本系统是基于STC89C52单片机的智能循迹小车的设计。

硬件模块包括单片机最小系统模块、电机驱动模块、电源模块、光电传感器模块。

软件部分包括主程序、控制程序、检测程序等。

采用STC89C52单片机作为小车的控制核心,使用驱动芯片L298N构成双桥控制直流电机,采用TCRT5000红外反射式开关传感器作为小车的循迹模块来识别白色路面中央的黑色胶带引导线,采集信号并将信号转换为能被单片机识别的数字信号,其中软件系统Keil软件来编写所需的C语言程序,本设计的电路结构简单,容易实现,可靠性高。

关键词:

TCRT5000红外传感器,STC89c52单片机,L298N驱动芯片,智能循迹

ABSTRACT

ThissystemisthedesignofintelligenttrackingcarbasedonSTC89C52mcu.Thehardwaremoduleincludesaminimumsystemmodule,amotordrivemodule,apowermoduleandaphotoelectricsensormodule.Thesoftwarepartincludesthemainprogram,controlprogram,testingprogramandsoon.UsingSTC89C52microcontrollerasthecontrolcoreofthecar,usingthedrivingchipL298NconstituteShuangqiaoDCmotorcontrolusingtcrt5000reflectiveinfraredsensorswitchasthecarofthetrackingmoduletoidentifythewhiteroadcentralblacktapeguideline,signalacquisitionandsignalconversionisidentifiedbythesingle-chipdigitalsignal.ThesystemsoftwarekeilsoftwaretocompiletheClanguageprogram,thedesignofthecircuitstructureissimple,easytoimplement,andthereliabilityishigh.

Keywords:

TCRT5000infraredsensor,STC89C52MCU,L298Ndriverchgintelligenttracking

第1章 引言 1

1.1选题背景 1

1.2研究目标和意义 1

1.3设计思路 2

第2章 系统的方案选取 3

2.1系统主要组成部分 3

2.2单片机最小系统模块的选择 3

2.3电源模块的选择 4

2.4电机驱动模块的选择 4

2.5光电传感器模块的选择 5

第3章 系统的硬件设计 6

3.1硬件框架构图 6

3.2单片机最小系统设计 6

3.3电源模块设计 7

3.4电机驱动模块设计 8

3.5光电传感器模块设计 9

第4章 系统的软件设计 11

4.1Keil软件介绍 11

4.2系统整体流程图 15

4.3电机驱动模块设计 17

4.4光电传感器模块设计 17

第5章 系统的硬软件调试 19

5.1系统的硬件调试 19

5.1.1单片机最小系统的调试 19

5.1.2电机驱动的调试 19

5.1.3光电传感器的调试 20

5.2系统的软件调试 20

第6章 系统测试结果与分析 22

6.1小车的实物系统测试结果 22

6.2系统测试结果的分析 24

第7章总结 26

参考文献 27

致谢 28

附录 29

附录一:

整体电路图 29

附录二:

实物图 30

附录三:

程序代码 31

第1章引言

1.1选题背景

随着社会的不断发展,科学技术水平的不断提高,人们希望创造出一种来代替人来做一些非常危险,或者要求精度高等事情的工具,于是就诞生了机器人这门学科。

世界上诞生第一台机器人诞生于1959年,至今已有50多年的历史,机器人技术也取得了飞速的发展和进步,现已发展成一门包含:

机械、电子、计算机、自动控制、信号处理,传感器等多学科为一体的性尖端技术。

循迹小车共历了三代技术创新变革:

第一代循迹小车是可编程的示教再现型,没有装载任何传感器,只是采用简单的开关控制,通过编程来设置循迹小车的路径与运动参数,在工作过程中,不能根据环境的变化而改变自身的运动轨迹。

支持离线编程的第二代循迹小车具有一定感知和适应环境的能力,这类循迹小车装有简单的传感器,可以感觉到自身的运动位置,速度等其他物理量,电路是一个闭环反馈的控制系统,能适应一定的外部环境变化。

第三代循迹小车是智能的,目前在研究和发展阶段,以多种外部传感器构成感官系统,通过采集外部的环境信息,精确地描述外部环境的变化。

智能循迹小车,能独立完成任务,有其自身的知识基础,多信息处理系统,在结构化或半结构化的工作环境中,根据环境变化做出决策,有一定的适应能力,自我学习能力和自我组织的能力。

为了让循迹小车能独立工作,一方面应具有较高的智慧和更广泛的应用,研究各种新机传感器,另一方面,也掌握多个多类传感器信息融合的技术,这样循迹小车可以更准确,更全面的获得所处环境的信息⑴

1.2研究目标和意义

目前,国内外的许多大学及研究机构都在积极投入人力、财力研制开发针对特殊条件下的安全监测系统。

其中包括研究使用远程、无人的方法来进行实现,如机器人、远程监控等。

无线传输的发展使得测量变得相对简单而且使得处理数据的速度变得很快甚至可以达到实时处理。

随着我国社会经济的不断发展,网络购物已经成为人们的一种生活习惯,既然网络购物这么欣盛,那么对物流业就是很大的一种刺激,现在的物流仓库在扩大规模的同时当然管理也必须跟上节奏,我们的基于单片机的智能循迹小车的设计就对物流业的管理有很大的帮助,我们的小车可以沿着设计好的轨道上行进同时也能达到转弯的目的。

这样就能帮助人们将形形色色的货物按照一定的轨迹输送到目的地。

当然目前只适合于较小的范围内,仓库就是很好的一个示范地。

我们的小车如果能够被人们广泛采用的话,不仅能够节约管理成本,而且可以大大减少人工成本。

除此之外,我们的智能循迹小车也能在战场或工程中也能发挥其功能。

在战场上。

可以将智能小车用于扫除路边炸弹,寻找和销毁地雷等。

这样便可以大大减少士兵伤亡发生的概率,保证士兵的安全。

在民用方面,可以探测化学泄露物质,可以进行地铁救火,以及在发生地震后到废墟中被埋人员等。

在工程建设领域,可以对高速公路自动循迹。

进行道路质量检测和破坏分析检测,对水库堤坝、海岸堤坝、江河大坝进行安全性检测,在制造领域可用于工业管道中机械损伤,裂纹等缺陷的探寻,对输油管道和输气管道的泄露和破坏点的查找和定位等。

1.3设计思路

本次设计我们准备以STC89C52单片机芯片作为控制核心,采用光电传感器的红外对管来采集数据。

使用两个直流减速电机配以L298N芯片来控制小车的行驶状态,运用与白色地面反差很大的黑色绝缘胶带路线来引导小车按照既定路线前进。

使用Keil软件来进行小车所需程序的编写。

第2章系统的方案选取

2.1系统主要组成部分

智能循迹小车主要由STC89c52单片机电路、电源模块、L298N驱动模块、直流电机、光电传感器模块等组成。

如下图2-1所示。

图2-1智能循迹小车控制系统结构框图

2.2单片机最小系统模块的选择

方案一:

可以采用ARM为系统的控制器,优点是该系统功能强大,片上外设集成度搞密度高,提高了稳定性,系统的处理速度也很高,适合作为大规模实时系统的控制核心。

方案二:

采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。

充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。

这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。

因此,这种方案是一种较为理想的方案.针对本设计特点——多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用。

根据这些分析我们选用了MCS-51单片机。

51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K。

对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉。

在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用STC89c52单片机的资源。

综上所述两种方案,我们选择方案二。

2.3电源模块的选择

方案一:

使用干电池作为供电电源,但考虑到干电池使用时间过长后电压不稳定,以及环境和经济的影响,我们排除方案一。

方案二:

采用12V蓄电池为直流电机供电。

将12V电压通过降压稳压后给整个系统供电,因为蓄电池具有较强的电流驱动能力以及稳定的电压输出性能,并且能够反复充电使用,节约了成本,保护了环境。

综上所述,我们选择了方案二。

2.4电机驱动模块的选择

方案」:

采用直流电机,配合LM293驱动芯片组合。

优点在于硬件电路的设计简单。

当外加额定直流电压时,转速几乎相等。

这类电机用于录音机、录相机、唱机或激光唱机等固定转速的机器或设备中。

也用于变速范围很宽的驱动装置。

容易受到外部因素干扰,影响稳定的转速和转矩输出。

方案二:

采用L298N作为电机驱动芯片。

L298N是具有大电流、高电压、响应频率高等功能的全桥驱动芯片,该电机驱动芯片有操作方便、驱动能力强、稳定性能好等优点。

一片L298N可分别控制两个直流电机,它的使能端可以外接电平控制,也可以利用单片机进行软件控制,满足各种复杂电路的需要。

并且L298N的驱动功率较大,能够根据输入电压的大小来控制输出的电压和功率,能很好的解决负载能力不够的问题。

电机采用双直流电动机,只需给电机的两条控制线加上一定的电压就能使电机旋转。

在正常的工作电压范围内,电压越高直流电动机转速越高。

综上所述,我们选择方案二。

2.5光电传感器模块的选择

方案一:

寻迹模块我们可以用光敏电阻组成,光敏电阻的阻值可以跟随周围环境光线的变化而变化。

当光线照射到黑线上面时,光线反射较弱,光线照射到

白色地面上时,光线反射较强。

因此当光敏电阻在白色路面和黑线上方时,阻值会发生明显的变化将阻值的变化值转化为高低电平的变化。

但是这种方式受环境光影响较大,不能稳定的工作,因此我们考虑其他更加稳定的方法。

方案二:

红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,用光电发射管和接受管自己制作光电循迹传感器,红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能收到反射回的光线则检测出白线从而输出低电平,若接受不到则检测出黑线那么就会输出高电平。

采用反射型光电传感器,型号为TCRT5000,采用红外对管制作循迹电路,当检测到黑线时,红外接收管导通否则红外对管截止,通过比较器LM393进行电压比较,把电平状态传给单片机然后由其处理。

单片机就是通过接收到的高低电平为依据来确定黑线的位置和小车前进的路线这种方式更加的可靠稳定。

综上所述,我们选择方案二。

电子科技大学成都学院课程设计

第3章系统的硬件设计

3.1硬件框架构图

小车的硬件由12V蓄电池、稳压系统、TCRT5000红外反射式光电传感器系统、STC89C52RC单片机、L298N电机驱动系统、双直流电动机等组成。

如下图3-1所示。

图3-1智能循迹小车硬件框架构图

3.2单片机最小系统设计

本次设计的主控芯片选择为STC89c52。

STC89C52是一种低功耗高性能CMOS8位微控制器,具有8K的系统可编程Flash存储器使用高密度非易失性存储器技术制造,与89C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89c52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。

主控电路模块采用AT89c52单片机作为主控芯,CPU采用外部经稳压电路模块输出的+5V直流电源供电。

第3章系统的硬件设计

电路图如下所示:

其中包括了复位模块、晶振电路和CPU控制模块。

如下图3-2所示。

图3-2单片机最小系统原理图

3.3电源模块设计

高性能的电源管理系统对于电子系统稳定运行是至关重要的。

作为智能车源,电源模块为系统的控制器,执行机构,传感器等各个模块提供可靠的工作电压。

设计中,除了需要考虑电压范围和电流容量等基本参数之外,还要在电源转换效率、降低噪声、防止干扰和电路简单等方面进行优化,电源管理模块的功能是对电池进行分配和电压调节,为其他各个模块的正常工作提供可靠的工作电压。

智能车控制系统中,不同电路模块需要的工作电压和电流容量各不相同。

芯片需要提供5V的工作电压,而电机所需的电压为12V,我们在这次设计中用到的是12V的电源供电,然后通过三端稳压器LM2596s将电压变换为5V电压供给电路系统。

我们采用的LM2596S系列是德州仪器(TI)生产的3A电流输出降压开关型集成稳压芯片,它内含固定频率振荡器(150KHZ)和基准稳压器(1.23v),并具有完善的保护电路、电流限制等。

利用该器件只需极少的外围器件便可构成高效稳压电路。

电源工作原理图如下图3-3所示:

11

电子科技大学成都学院课程设计

图3-4三端稳压器实物图

3.4电机驱动模块设计

电机驱动模块电路是基于一片集成电机驱动芯片L298NoL298N是一种具有高电压大电流的全桥驱动芯片,它的响应频率高,只需用一个L298N就可以控制两个直流减速电机。

而且还带有控制使能端,用它来当作驱动芯片,性能优良、稳定。

其中L298N的5、7引脚作为一个电机的控制信号输入端,10、12引脚作为另一个电机的控制信号输入端。

2、3引脚作为一个电机的控制信号输出端,13、14引脚作为另一个电机的控制信号输出端。

并通过单片机对L298N的输入端进行指令控制,就能实现直流减速电机的正转和反转,从而控制小车的前进和后退。

12

图3-3电源工作原理图

电机驱动的原理图如下图3-5所示:

图3-5电机驱动模块原理图

3.5光电传感器模块设计

我们在做光电传感器模块时采用了TCRT5000,TCRT5000光电传感器模块是基于TCRT5000红外光电传感器设计的一款红外反射式光电开关。

传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,输出信号经施密特电路整形,稳定可靠。

TCRT5000接收管接收到红外光时,电阻变小,相当于“导通”,输入端电压变低,低于输入端,输出低电平;没接收到光时电阻变大,相当于“断开”,输入端电压变高,高于输入端,输出高电平。

TCRT5000的原理图如下3-6所示。

图3-6TCRT5000原理图

在此部分中我们同样采用了LM393双电压比较器。

LM393的输出负载电阻能衔接在可允许电源电压范围内的任何电源电压上,不受VCC端电压值的限制.此输出能作为一个简单的对地SPS开路(当不用负载电阻没被运用),输出部分的陷电流被可能得到的驱动和器件的B值所限制.当达到极限电流(16mA)时,输出晶体管将退出而且输出电压将很快上升。

LM393内部采用双列直插8脚塑料封装(DIP8)和微形的双列8脚塑料封装(SOP8)。

检测系统:

智能循迹下车能够沿着导线自主前进。

它是通过车体前部的光电传感器检测引导线条,发送信号到微控制器,然后微控制器对检测信号进行处理,并控制电机校正正偏移量,从而实现循迹功能。

如果前部的两个传感器都检测到引导线条,传感器将发出信号,那么后轮的两个电机继续接通运转,驱动小车前进。

但是如果只有一个传感器检测到信号,那么检测到信号的传感器将发出信号,并且该侧的电机继续前进,另一侧停止运转,以便达到转向的目的。

第4章系统的软件设计

4.1Keil软件介绍

目前,52系列单片机使用的编程语言主要有汇编语言和C语言这两种,在选择这两种语言的时候,我们也综合考虑了他们的优点与缺点。

最接近机器的语言是汇编语言,其常用来编制与系统硬件相关的程序,如访问I/O口、中断处理程序等,它是一种最快而又最有效的语言,在对于程序的空间和时间要求很高的场合中使用汇编语言是最佳的选择,然而汇编语言也有其自身的缺点,比如程序开发周期较长、浮点运算处理复杂、程序移植性差等不利因素

但是在程序设计过程中C语言编程设计思想被称为模块化程序设计思想。

有的时候为了有效地完成任务,把所要完成的任务分割成若干个相互独立但相互又仍然有所联系的模块,这些模块使得任务变得相对简单,对外的数据交换相对简单、容易编写、容易检测,容易阅读和维护,所以我们认为还是C语言更加适合我们的这个设计。

随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,KEIL软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持KEIL即可看出。

KEIL提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这部分组合在一起。

掌握这一软件的使用对于使用51系列单片机的学者来说是十分必要的,如果使用C语言编程,那么KEIL几乎就是最好的选择,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会事半功倍。

KEILC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KEILC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势⑻。

KEIL软件采用一个Project工程项目管理文件来保存、记录、管理用户在系统软件开发中所使用和生成的各种文件。

双击打开KEIL软件出现以下界面。

如下图4-1所示。

图4-1Keil软件主界面

点击Project-NewProject,新建一个工程。

如下图4-2所示。

图4-2Keil软件新建工程界面

点击会出现对话框,在对话框中选择文件的保存路径,单击“保存”后,会出现选择单片机选择界面,选择本设计所需型号AT89c52单片机后单击“确定”。

如下图4-3所示。

图4-3选择电路板上所用的单片机型号界面

在弹出的是否添加启动代码的对话框中点击“否”后会弹出一个空白的界面。

如下图4-4所示。

图4-4建立空文本框界面

点击File下方的空白页图标后再点击右侧的保存,会弹出一个对话框,因为

程序使用C语言,所以命名文本为***.c的格式。

如下图4-5所示。

图4-5保存文本改写界面

然后就可以进行程序的编写。

编写完程序后在左边ProjectWorkspace里的SourceGroup1上右击,选择AddFilestoGroup"SourceGroup1\在打开的对话框中,选择刚存的文件路径和对应的扩展名。

将程序添加至工程内。

如下图4-6所示。

图4-6添加工程界面

第4章系统的软件设计

在编译完程序后,当KEIL软件下方提示:

0Error(s),0Warning(s).的时候就可以生成HEX文件了。

点击目标设置快捷图标,在“Output”目标栏中勾选“CreateHEXFile”后点击“确定”。

再点击重新编译,就会在工程所在文件夹里生成HEX文件。

如下图4-7所示。

图4-7生成HEX文件界面

最后就可以将程序烧录到单片机当中了。

4.2系统整体流程图

小车的程序主要由单片机最小系统控制程序,电机驱动模块程序,光电传感

器模块程序组成。

通过Keil软件来进行C语言程序的编写。

其中单片机最小系统

控制程序能够分配以及调用各个模块函数,它主要负责各模块间的总体协调。

机驱动模块程序主要负责小车的运行状态的控制,它能根据传感器返回的信息判

定小车现在所处的位置,并做出相应的响应。

光电传感器模块程序负责稳定地判

19

电子科技大学成都学院课程设计

定各种信息,将信息返回,以便单片机最小系统控制程序或别的程序函数能够调用处理。

如下图4-8所示。

图4-8系统整体流程图

4.3电机驱动模块设计

电机驱动模块程序被称为控制函数,它能赋予电机以思想,让电机按照单片机输出的不同的高低电平使电机能按照控制正确的方式进行正传反转以及停止。

如果输入引脚INC为高电平而输入引脚IND为低电平,左电机正转;如果输入引脚INC为低电平而输入引脚IND也为低电平,左电机便停止。

同理,如果输入引脚INA为高电平而输入引脚INB为低电平,右电机正转;如果输入引脚INA为低电平而输入引脚INB也为低电平,又电机便停止。

如下表4-1所示。

表4-1小车驱动模块程序逻辑控制表

左电机

右电机

左电机运行状态

右电机运行状态

小车运行状态

INC

IND

INA

INB

1

0

1

0

正转

正转

刖进

0

0

1

0

停止

正转

左转

1

0

0

0

正转

停止

右转

4.4光电传感器模块设计

光电传感器模块程序被称为检测循迹函数,它的功能是将探测器检测到不同光强时所产生的不同电流信号转换为单片机能够识别的高低电平,从而让单片机能够控制小车按照检车到的路线进行前进。

程序的设计是按照如果小车向前行驶时右边探测到黑线,那么右边的传感器就会产生一个高电平,右传感器亮,单片机识别到这个信号后,就会让小车左电机正转右电机停转,从而小车完成右转。

同理如果小车左边探测到黑线,左边传感器产生一个高电平,左传感器亮,单片机识别到这个信号后,就会让小车右电机正转左电机停转,这样小车就能完成左转。

若两个光电传感器同时输出的信号为高电平,或同时为低电平时,小车就会向前行驶。

如下表4-2所示。

表4-2小车光电传感器模块程序控制逻辑表

左探测器

右探测器

左电机运行状态

右电机运行状态

小车运行状态

1

1

正转

正转

刖进

0

0

正转

正转

刖进

1

0

停止

正转

左转

0

1

正转

停止

右转

第5章系统的硬软件调试

5.1系统的硬件调试

调试过程中首先要检测的就是软件电路的设计原理是否正确,能否达到预期效果以及实现方法是否简单方便等等。

其次就是我们在焊接好既有线路之后,认真检查电路的焊接情况,我们采用的是分块调试的方法,单片机系统模块调试、稳压模块调试、电机驱动模块调试、光电传感器模块调试。

在对每个模块进行调试

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1