1、 本科毕业论文 题 目 基于单片机的循迹避障小车的设计与实现 Design and Implementation of Tracked Obstacle Car Based on Microcontrollers 姓 名 学 号 专 业 计算机 科学与技术 指导教师 职称 /学位 讲师 /硕士 中国武汉 二一七年五月 分类号 密级 华中农业大学 楚天学院本科毕业论文 基于单片机的 循迹避障小车的设计与实现 Design and Implementation of Tracked Obstacle Car Based on Microcontrollers 学生姓名: 学生学号: 学生专业:计算
2、机科学与技术 指导教师: 华中农业大学楚天学院 二一七年五月 华中农业大学楚天学院本科毕业论文(设计) 华中农业大学楚天学院毕业论文(设计) 原创性声明 本人郑重声明:所呈交的毕业论文(设计),是本人在导师的指导下,独立进行研究所取得的成果。除文中已经注明引用的 内容外,本论文(设计)不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明的法律结果由本人承担。 作者签名: 日 期: 年 月 日 华中农业大学楚天学院本科毕业论文(设计) 目 录 摘要 . I 关键词 . I Abstract . I Key words. I 1 绪论 .1 1.1 研究目的与意义 .1 1.2
3、 国内外的研究现状 .1 1.3 本文的主要组织结构 .1 1.4 本章小结 .2 2 研究基础 .2 2.1 系统概述 .2 2.2 开发工具 .3 2.2.1 Keil .3 2.2.2 STC-ISP .3 2.3 本章小结 .4 3 系统方案设计论证 .4 3.1 系统方案设计 .4 3.1.1 主控单元方案 .4 3.1.2 驱动单元方案 .5 3.1.3 电源单元方案 .6 3.1.4 循迹单元方案 .6 3.1.5 避障单元方案 .8 3.2 最终方案 .9 3.3 本章小结 .9 4 系统硬件设计 . 10 4.1 主控单元设计 . 10 4.1.1 STC89C52 单片机
4、. 10 4.1.2 主控单元功能 . 12 4.2 驱动单元设计 . 12 4.2.1 驱动原理 . 12 4.2.2 驱动电路 . 12 4.3 循迹单元设计 . 13 4.3.1 循迹原理 . 13 4.3.2 循迹电路 . 14 4.4 避障单元设计 . 15 4.4.1 避障原理 . 15 华中农业大学楚天学院本科毕业论文(设计) 4.4.2 避障电路 . 15 4.5 PWM 调速 . 15 4.5.1 PWM 调速原理 . 15 4.5.2 PWM 调速实现 . 18 4.6 本章小结 . 18 5 系统软件设计 . 18 5.1 系统整体设计 . 18 5.2 驱动单元实现 .
5、 18 5.2.1 循迹驱动模块实现 . 19 5.2.2 避障驱动模块实现 . 19 5.3 循迹单元实现 . 20 5.4 避障单元实现 . 21 5.5 本章小结 . 22 6 系统功能测试 . 22 6.1 测试过程 . 22 6.1.1 循迹传感器测试 . 22 6.1.2 避障传感器测试 . 23 6.1.3 电机调试 . 23 6.1.4 综合测试 . 23 6.2 本章总结 . 25 7 设计总结 . 25 参考文献 . 25 致谢 . 26 华中农业大学楚天学院本科毕业论文(设计) I 摘 要 现代交通快速发展,科学技术不断进步,私家车 数量也是 稳步提 升 ,因此 对于车辆
6、 智能化 的研发也受到人们大量的关注 ,所以智能 汽车是未来的汽车行业的一种必然趋势。在 此 背景下,本课题提出了 基于 单片机的循迹避障 小车系统 的分析与研究 。 本文 的主要研究工作 是实现 基于单片机的循迹避障小车 。首先研究国内外相关 课题,对小车循迹避障的各个模块进行设计 ,最后 完成了 小车 硬件的详细设计方案 ,包括智能 小车的 硬件 与软件。硬件 设计方案有单片机的最小运行系统, 小车 驱动电路 , 为 单片机提供稳定电压的稳压模块LM7805, L293D 电机 驱动电路 ,红外对管信号 检测电路, 红外对管 避障电路 等 。 然后是软件 设计部分, 由 主程序 , 电机控
7、制 程序, PWM 调速程序 等 构成。 最后所实现 的功能为 自动 循迹避障行驶。 关键词 循迹避障; L293D; 单片机 ; PWM; Abstract The rapid development of modern transportation, scientific and technological progress, The number of private cars is also steadily increasing, so there is a lot of concern about the development of intelligent vehicles. S
8、o smart cars are an inevitable trend in the car industry of the future. In this context, the paper presents analysis and research of the tracking system based on single chip microcomputer. The main research in this paper is to realize the tracking obstacle car based on single chip microcomputer. Fir
9、st of all, under the condition of the research at home and abroad related topics, designed and demonstrated each modular of the car tracking and obstacle avoidance,finally completed car detailed design plan about hardware ,including intelligent car hardware and the software that drives it.Hardware d
10、esign program has the smallest single-chip operating system, car drive circuit, to provide stable voltage regulator module LM7805, L293D motor drive circuit, infrared on the tube signal detection circuit, infrared control circuit and so on. Then the software design part, It consists of the main prog
11、ram, motor control program, PWM speed control procedures and so on. At last realize the function that follow the black line,and turn automatically when encounter the obstacle. Key words Tracking Obstruction; L293D; Microcontrollers; PWM; 华中农业大学楚天学院本科毕业论文(设计) 1 1 绪论 1.1 研究目的与意义 当今社会,各种 技术都开始普及, 智能 技术
12、也在许 多 领域中扮演着重要角色 ,智能 车辆在工业领域更是受到特别的青睐 。近些 年来 ,微电子 技术、 传感器 技术 、计算机技术、 自动控 制技术 的 结合 ,推动汽车 产业 的 进步,智能车辆技术 由此 引 得 人们的高度关注 。之所以 会引 得如此 关注 度 ,是因为 这项 技术能够改变人们的 生活 方式, 运用于日常交通 运输 , 恶劣环境下的货物搬运 等。 自动 驾驶技术是 智能车辆技术 中的一个部分 。用 通俗的话来讲 , 就是在我们常见的家用汽车加入一 系列 装置, 比如 传感器,微型控制器等,在辅 一 各种高科技手段,如最近火热的人工智能, CCD视觉技术 等 ,最后实现了
13、车辆能够在没有 人力 操作 的 情况下,自动的行驶的技术。 智能车辆 在我国的十分有发展前景,之所以这样说,是因为我国对于该项技术的研究起步的时间在 20 世纪 左右, 比起 自 19 世纪 中期就开始的发达国家,着实有不 小 的差距。 在 此背景下, 本文 设计 了循迹 避障小车 。该 小车 通过 计算机编程 ,处理从 外部传感器接收到的各种 数据 , 实现 对 外部环境感知 、 自动行驶 且 不需要 人为 控制 的 功能。 本设计所 做的工作有助于自己 对 自动驾驶技术有一个初步的了解,也给自动驾驶技术提供了一条合理可行的方案。 1.2 国内外的研究现状 纵观 世界百年,西方国家总是走在革
14、命的前列,在科技领域同样也是 。各种智能 技术在西方 都有 悠久的研究历史,智能车辆技术也不例外, 它 大体上可以分为一下几个阶段。 ( 1) 第一阶段, 20 世纪 50 年代,世界 上大多数的国家对 智能车辆 的研究就是从这个时间点开始。最著名 的、 取得成就最高的应该就是 美国 在 1954 年 ,研究出了 世界 上最 早 的引导车系统 AGVS, 之所以 取得最高成就,是因为这个引导系统具备了现代 智能车辆 的基本特征之一,就是无人驾驶。 ( 2) 第二阶段, 应该是开始 与 1980 年 左右 ,在这段 时间内,发达国家对 智能车辆 的研究展开列大力支持,各个研究所如雨后春笋般,层出
15、不穷 , 为 智能车辆 研究做出了巨大贡献。 同样是 美国,国家 资助 成立了国家自动 高速 公路系统, 同时也成立 了专项基金会,为许多大公司提供 智能车辆 研究方面 的 优惠政策 。所以 一大批世界著名的公司也加入了该项技术的研究。 ( 3) 第三阶段,可以从 20 世纪 90 年代开始计算,对于 该项技术的研究 已经 进入了 一个 成熟的研究阶段。 最引人注目 的成就是美国的一所著名大学,完成了对机器人的 自主研究 ,标志这人工智能进入了 一个 全新的阶段。 现如今,第三阶段正是 我们所处于的 智能车辆发展阶段。虽然我国 起步比国外发达 国家 晚 但是我们对该 技术 的研究进度很快, 大
16、致 能追赶 上 国外的研究进度。 在近些年我们 也取得了不少可喜的研究成果。 改革开放 三十年,我国的经济也进入了飞速发展的时代 , 可以断定,我国必将为 世界智能车辆技术的研究做出重要贡献。 1.3 本文的主要组织结构 第一章 绪论: 本章 的 主要内容为介绍 本设计的 研究 目的与意义,对国内外 研究现状 的 分析 。 第一节 对本设计的研究目的与意义做出了简单的 论证 与介绍。国内外 研究 现状则在第二节进行了详细的分析。 第三节 就对本文的结构进行了介绍。 第二章 研究基础: 本章 主要介绍了全文用到的 基本 概念,使用到的开发工具。 对全文 基本概念的介绍在 第一节 中。第二节 则是
17、对 本文进行所用到的开发工具进行了介绍。 第三章系统方案设计 论证: 本章 的主要内容是 对本设计 所采用的硬件方案 的 可行性进行 分析。第一 节 是对 各个模块的硬件方案进行详细阐述。第二节 是 进行分析论证之后最终确定的硬件方案。 第四章系统 硬件设计:本章的主要内容是根据第三章中 所 确定的硬件方案进行硬件的资源分配与整合,最终完成硬件平台的搭建。 第五章系统软件 设计: 本章 的主要内容为对本设计的 软件设计 部分进行介绍。主要 分 驱动程序 、华中农业大学楚天学院本科毕业论文(设计) 2 循迹程序、避障程序。第一节对本设计的电机驱动流程及程序进行简单介绍。第二节讲解了小车循迹的流程
18、和驱动程序。第三节对小车的避障程序进行了介绍。第四节对小车 PWM 调速算法进行了简单介绍。 第六章实验 与验证:本章的内容是 对整个 系统的 功 能 进行测试 , 对出现的问题与改进 提出 了解决方案。 第一节是 对本设计的功能测试 。 第二节 是 本设计 的 测试结果 及 分析,提出一些本设计的问题与进一步改进的空间。 第七章设计总结 : 本 章是 对本 设计以及本论文 的 总结 和 展望。 1.4 本章小结 本章为绪论, 是整篇 论文的准备部分。先 介绍 了 此设计 的研究目的与意义, 再 对国内外的研究现状进行了 讨论, 最后 对 本文的主要组织结构做出了简单介绍。 2 研究基础 2.
19、1 系统 概述 本 设计 需要用到几个领域的综合知识,以下对全文要用到的基本概念做简要的介绍。 单片机 :一种高 集成 度 的电路芯片,可 以 形象的 将其理解为计算机的 CPU。 图 2-1 为 一种型号的单片机。 图 2-1 单片机 传感器 : 一种能够检测外界 特定物理量的装置,并将 检测到的 物理量 按 一定规律转换为电信号输出。 图 2-2 为 一种型号 的 传感器。 图 2-2 传感器 华中农业大学楚天学院本科毕业论文(设计) 3 2.2 开发工具 2.2.1 Keil Keil uvision4 软件包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开
20、发方案,通过一个集成开发环境( uVision)将这些部分组合在一起。旨在提高开发人员的生产力,实现更快,更有效的程序开发。图 2-3 为 Keil 应用程序 界面。 图 2-3 Keil 界面 2.2.2 STC-ISP STC-ISP 为宏晶 公司 提供将 Hex 文件烧录到下位机中的软件。 图 2-4 为 ISP 界面 。 图 2-4 STC-ISP 界面 华中农业大学楚天学院本科毕业论文(设计) 4 2.3 本章小结 本章是本设计 的 研究基础。第一部分是基本概念,为本系统的相关知识提供一个解释;第二节为研究基础,对单片机, Keil 编辑器给出详细的介绍及用处。 3 系统 方案设计论
21、证 3.1 系统 方案设计 3.1.1 主控单元 方案 本设计的要求为在 无外力干扰下小车能自动循 黑线 行进,避开障碍物功能 。 方案一 : 采用 树莓派 三代 作为 本 设计的 核心控制 芯片, 实现控制与 处理 功能。 图 3-1 为此 型号树莓派 。树莓派 是一款基于 ARM 芯片 的微型电脑主板, 自带 多种接口, 自带完整 的 Linux 操作系统 ,就是 说我们可以使用自己熟悉的计算机编程语言来开发应用程序, 既然是 微型电脑,那么后台运行多种进程自然也是不在话下。 图 3-1 树莓派 三代 方案 二:采用 STC89C52 单片机 ,来作为 本设计 的 核心控制单片机, 处理
22、外界 收集 到的信号,依次 来控制小车的行进状态,最终实现本设计所要求的功能。与 树莓派 相比 ,其缺点是 完全比不上树莓派的运算水平, 在软件 编程方面则需 使用 汇编或 C 语言进行 。在程序 运行方面 , 单片机之所以成为单片 机 ,就是因为每次只能运行一个烧录进单片机中的程序, 即用 程序有多个流程。功能 与树莓派 比起来是单一 的 。 针对 本设计, 只需要 主控 系统 能够识别 传感器返回 的数字信号的特点 ,使用 单片机已 是 绰绰有余, 且 占用体积小,价格低廉 。且单片机 在每次 复电 之后 能 立即运行 烧录 的程序,而树莓派在复电之后需要漫长的 服务 启动时间 ,单论这开机启动这一点 ,单片机 就拥有 压倒性的优势。 综上 所述,本设计 最终选择 方案二 , 将选用 STC89C52 单片机 , 作为 本设计中 的核心控制芯 片 。 具体 区别见表