arduino循迹小车毕业论文.doc

上传人:h**** 文档编号:100678 上传时间:2018-07-06 格式:DOC 页数:22 大小:1.45MB
下载 相关 举报
arduino循迹小车毕业论文.doc_第1页
第1页 / 共22页
arduino循迹小车毕业论文.doc_第2页
第2页 / 共22页
arduino循迹小车毕业论文.doc_第3页
第3页 / 共22页
arduino循迹小车毕业论文.doc_第4页
第4页 / 共22页
arduino循迹小车毕业论文.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、福建船政交通学院 1 目 录 摘要 . 2 引 言 . 2 1 Arduino 智能小车 设计 方案与参数 . 3 1.1 Arduino 智能小车设计方案简介 . 3 1.1.1 功能要求 . 3 1.1.2 基本原理 . 3 1.2 循迹 小车 参数 . 4 2 Arduino 与 51 单片机的区别 . 5 2.1 Arduino 单片机 . 5 2.1.1 Arduino 单片机 的 介绍 . 5 2.1.2 Arduino 单片机的特色 . 5 2.1.3 Arduino 单片机的功能 . 5 2.2 51 单片机 . 6 2.2.1 51 单片机的介绍 . 6 2.2.2 51 单

2、片机的功能 . 6 2.3 Arduino 比 51 更好的地方 . 7 3 循迹 小车设计 . 8 3.1 硬件设计 . 8 3.1.1 单片机最小系统 . 8 3.1.2 灰度传感器模块 . 9 3.1.3 电机驱动电路 . 10 3.2 软件设计 . 12 3.2.1 系统主程序 . 13 3.2.2 本系统编译器 . 13 3.3 实物展示 . 144 3.4 部分程序 展示 . 145 结 论 . 20 致 谢 . 21 参考文献 . 22 Arduino 循迹小车 2 Arduino 循迹小车设计与实现 摘要 : 循迹 小车 是 Arduino 单片机 的一种典型应用。 本 智能小

3、车 是由 ardiuno单片机和外部电路组成 ,包括检测模块,控制模块, 电源 模 块 。 循迹车 设计采用Arduino 单片机作为小车的控制核心 , 采用 灰度 传感器作为小车的 检测 模块来识别 绿 色路面中央的黑色引导线,采集信号并将信号转换为能被 ardiuno 单片机识别的数字信号;采用驱动芯片 L298N 构成双 H 桥控制直流电机 。 其中软件系统采用 C 程序。 关键词 : Arduino 单 片机 , 自动循迹 , 驱动电路 。 引言 自第一台工业机器人诞生以来,机器人的民展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人

4、们的生活方式。人们在不断探讨、改造、认识自然的过程 中,制造能替代人工作的机器一直是人类的目标 。 单片机是一种可通过编程控制的微处理器,虽其自身不能单独用在某项工程或产品上,但当其与外围数字器件和模拟器件结合时便可发挥强大的功能,现在单片机已广泛应用于众多领域。 例如 : 工业自动化 , 智能仪器仪表 , 消费类电子产品 , 通信方面 , 武器装备 等。 作为 与自动化技 术和电子密切相关的理工科学生,掌握单片机是 最基础的要求。为进一步丰富和巩固单片机知识,也为能更好的联系实际应用,本次毕业设计选择了基于单片机 Arduino 循迹车 ,并做出实物。鉴于电子技术、计算机技术以及各种更先进的

5、仿真软件的出现,使用高级语言如 C 代替汇编语言进行编程和控制已成为现实,单片机 C 语言编程相对于 MC51 汇编语言编程有如下优点: 对单片机的指令系统不需要有很深的理解就可以编程操作单片机。寄存器分配、不同存储器的寻址及数据类型等细节完全由编辑器自动处理。程序有规范的结构,可分为不同的函数,可 使程序结构化。库中包括许多标准子程序,具有较强的处理能力,使用方便。具有方便的模块化编程技术,使已编好的程序便于移植,可极大缩短开发时间,增加程序的可读性和可维护性。 事实上,当今许多硬件的开发都已开始用 C 语言编程,如各种单片机、福建船政交通学院 3 DSP、 ARM 等,用 C 语言进行工业

6、控制也已成为一种趋势,为了更好的适应当今社会形势,为了更好的面对挑战、把握机遇,此次毕业设计决定尝试用C 语言编程完成。也希望能在进一步熟悉单片机控制的同时,对数字电子技术、模拟电子技术、计算控制技术以及常用外围芯片有更深层次的了解,提高自己的综合能 力。 1 Arduino 智能小车 设计 方案 与参数 根据设计要求, Arduino 智能小车要沿着山道环山跑一圈 。 Arduino 智能小车 主要由 四 部分组成:分别为 大脑 -微控制器 Arduino、 眼睛 -灰度传感器 、 躯体 -电机驱动模块 和心脏 -电源模块 。 1.1 Arduino 智能小车 方案简介 依据所需功能的要求,

7、设计计价器系统的结构图和 硬件电路,绘制出智能小车的 电路图,再绘制程序框图,之后编程并烧录到单片机;将 各模块组合进行调试 。 1.1.1 功能要求 小车以 Arduino 为控制核心 , 用单片机产生 PWM 波,控制小车速度 。利用 灰度 传感器对路面黑色轨迹进行检测 ,并将路面检测信号反馈给单 片机内 。 单片机对采集到的信号予以分析判断 ,及时控制驱动电机以调整小车转向 ,从而使小车能够沿着黑色轨迹自动行驶 ,实现小车自动寻迹的目的 。 1.1.2 基本原理 智能小车 系统主要由 四 部分组成: 大脑 -微控制器 Arduino、 眼睛 -灰度传感器 、 手脚 -电机驱动模块 、 能

8、源 -电源模块 , 智能车循迹行驶过程是:首先灰度传感器将检测到黑线的信号传送给单片机最小系统,然后通过单片机最小系统的控制算法对信号进行计算处理,将此信号在通过控制算法驱动电机,最后实现对智能车 运动轨迹进行实时控制。 微控制器 -Arduino 为内部核心处理处理单元,将外部给予的电平信号通过以植入的 c 语言程序为主进行处理 。 灰度传感器 为智能小车的眼睛,通过辨别 地面的黑色 线条的物理信号,灰度再将之转换为单片机能够处理的电平信号 。 单片机将信号传输给 电机驱动模块 ,即我们小车结构的手脚 接受指令 运行 。 智能车总体模块设计 图 如图 1-1 所示。 Arduino 循迹小车

9、 4 图 1-1 循迹 车总体模块设计图 1.2 循迹 小车参数 系统参数如下表所示: 微控制器 Arduino 路径检测模块 灰度传感器 俩 轮驱动 车模配套直流电机 直流电机驱动模块 芯片: LM298N 电机 电源 9V 3A 参数 Arduino 单片机 电源模块 灰度传感器模块 路径 L298N 驱动模块 直流电机 小车 福建船政交通学院 5 2 Arduino 与 51 单片机的区别 2.1 Arduino 单片机 2.1.1 Arduino 单片机的介绍 Arduino 是一款便捷灵活、方便上手的开源电子原型平台,包含硬件 (各种型号的 Arduino 板 )和软件 (Ardui

10、no IDE)。它适用于爱好者、艺术家、设计师和对于 “互动 “有兴趣的朋友们。是一个基于开放原始码的软硬件平台,构建于开放原始码 simple I/O 介面版,并且具有使用类似 Java、 C 语言的Processing/Wiring 开发环境。 Arduino 包含两个主要的部分 :硬件部分是可以用来做电路连接的 Arduino 电路板 ;另外一个则是 Arduino IDE,你的计算机中的程序开发环境。你只要在 IDE 中编写程序代码,将程序上传到Arduino 电路板后,程序便会告诉 Arduino 电路板要做些什么了。 2.1.2 Arduino 单片机的特色 开放源代码的电路图设计

11、,程序开发接口 可以 免费 下载,也可依个人需求自己修改。 而且 低价格的微处理 控制器 (AVR 系列控制器 ),可以采用 USB接口 供电,不需外接电源,也可以使用外部 9VDC 输入。 Arduino 支持 ISP在线烧,可以将新的 “bootloader“固件 烧入 AVR 芯片。有了 bootloader 之后,可以通过串口或者 USB to RS232 线更新固件。 也 可依据官方提供的 Eagle格式 PCB 和 SCH 电路图简化 Arduino 模组,完成独立运作的微处理控制 ;可简单地与传感器,各式各样的电子元件连接 (例如 :红外线 ,超音波 ,热敏电阻 ,光敏电阻 ,伺

12、服马达 , 等 )支持多种互动程序,如 :Flash、 Max/Msp、 vvvv、PD、 C、 Processing 等。 应用方面 : 利用 Arduino,突破以往只能使用鼠标、键盘、 CCD 等输入的装置的互动内容,可以更简单地达成单人或多人游戏互动。 2.1.3 Arduino 单片机的功能 在功能上 可以快 速使用 Arduino 与 Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider 等软件结合,作出互动作品。 Arduino 可以使用现有的 电子元件 例如开关或者传感器或者其他控制器件、 LED、步进马达或其他输

13、出装置。 Arduino 也可以独立运行,并与软件进行交互,例如 : Macromedia Flash, Processing, Max/MSP, Pure Data, VVVV 或其他互动Arduino 循迹小车 6 软件 等 。 Arduino 的 IDE 界面基于开放源代码,可以免费下载使用,开发出更多令人惊艳的互动作品。 在更 多功能上有 基于知识共享开放元源码的电路图设计 ,有 基于知识共享开放源码的程式开发环境 。 Arduino 可使用 ICSP 线上烧入器,将 bootloader烧入新的 IC 晶片 , 可依据官方电路图,简化 Arduino 模组,完成独立运作的微处理控制

14、, 可简单地与传感器,各式各样的电子元件连接(例如 :红外线,超声波,热敏电阻,光敏电阻,伺服马达等 ), USB 接口 上 ,不需外接电源。另外有提供 9V直流电源输入 。 2.2 51 单片机 2.2.1 51 单片机的介绍 51 单片机是对所有兼容 Intel 8031 指令系统的 单片机 的统称。该系列单片机 的始祖是 Intel 的 8031 单片机,后来随着 Flash rom 技术的发展,8031 单片机取得了长足的进展,成为应用最广泛的 8 位单片机之一,其代表型号是 ATMEL 公司 的 AT89 系列,它广泛应用于工业测控系统之中。很多公司都有 51 系列的兼容机型推出,今

15、后很长的一段时间内将占有大量市场。51 单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是 52 系列的单片机一般不具备自编程能力 。 2.2.2 51 单片机的功能 51 单片机的功能特点分别有: 8 位 CPU4kbytes 程序存储器 (ROM) (52为 8K), 128bytes 的数据存储器 (RAM) (52 有 256bytes 的 RAM), 32 条 I/O口线 111 条指令,大部分为单字节指令 , 21 个专用 寄存器 , 2 个可编程定时 /计数器 5 个中断源, 2 个 优先级 (52 有 6 个 ), 一个 全双工 串行通信 口 ,外部数据 存储器

16、寻 址空间 为 64kB, 外部 程序存储器 寻址空间为 64kB, 逻辑操作 位寻址 功能 双列直插 40PinDIP 封装 。 51 单片机的内部结构分别为 CPU:由运算和控制逻辑组成,同时还包括中断系统 和部分外部 特殊功能寄存器 ;RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据 ;ROM:用以存放程序、一些原始数据和表格 ;I/O 口 :四个 8 位并行 I/O 口,既可用作输入,也可用作输出 ;T/C:两个定时 /记数器 ,既可以工作在定时模式,也可以工作在记数模式 ;福建船政交通学院 7 五个 中断源 的中断 控制系统 ; 一个 全双工 UART(通用

17、异步接收发送器 )的 串行 I/O 口,用于实现单片机之间或 单片机 与 微机 之间的 串行通信 ;片内振荡器和时钟产生电路, 石英晶体 和 微调电容 需要外接。最佳振荡频率为 6M-12M。 2.3 Arduino 比 51 更好的地方 Arduino 与 51单片机相比 : 变更人性化,编程相对 人性 化和直观 , 没有 单片机基础 的人也能很快上手 。 硬件性能上, Arduino 更加稳定,不会像51 一样时常出现跑 飞的现象。 Arduino 作为开源的一款的单片机, 更重要 的是 在这个 4g 时代可搜寻的学习资料是非常多的。综上所述, Arduino 无疑是比 51 更适合新手和

18、用于比赛专用的 。 Arduino 循迹小车 8 3 循迹 小 车 设计 3.1 硬件设计 3.1.1 单片机最小系统 主控机系统采用 Arduino mega2560 单片机, 采用 USB 接口的核心电路板,它最大的特点就是具有多达 54 路数字输入输出,特别适合需要大量 IO接口的设计。 Mega2560 的处理器核心是 ATmega2560, 同时具有 54 路数字输入 /输出口(其中 16 路可作为 PWM 输出), 16 路模拟输入, 4 路 UART 接口,一个 16MHz 晶体振荡器,一个 USB 口,一个电源 插座,一个 ICSP header和一个复位按钮 。单片机最小系统

19、电路图如图 3-1 所示。 图 3-1 单片机最小系统 Arduino mega2560 的主要参数 : 处理器 ATmega2560, 工作电压 5V, 输入电压(推荐) 7-12V, 输入电压(范围) 6-20V, 数字 IO 脚 54 (其中 16 路作为 PWM 输出) , 模拟输入脚 16, IO 脚直流电流 40 mA, 3.3V 脚直流电流 50 mA, Flash Memory 256 K,( ATmega328,其中 8 KB 用于 bootloader) , SRAM 8 KB, EEPROM 4 KB,工作时钟 16 MHz。 福建船政交通学院 9 存储器 : ATmeg

20、a2560 包括了片上 256KB Flash,其中 8KB 用于 Bootloader。同时还有 8KB SRAM 和 4KB EEPROM。 输入输出 : 一共有 数字输入输出口 , 4 路串口信号 , 6 路外部中断 , 14 路脉冲宽度调制 PWM( 0-13) , SPI( 53(SS), 51(MOSI), 50(MISO), 52(SCK)): SPI 通信接口 , 16 路模拟输入 ,特别 LED( 13 号): Arduino 专门用于测试 LED 的保留接口 , 和 TWI 接口 (专门支持通信)。 3.1.2 灰度传感器模块 灰度 传感器是利用黑线对红外线不同的反射能力通

21、过光敏二极管或光敏三极管,接收反射回的不同光强信号,把不同光强转换为电流信号,最后通过电阻,转换为单片机可识别的高低电平。 灰度 传感器实现循迹的基本电路如 3-2 所示。 图 3-2 灰度 传感器电路图 ( 1) 灰度传感器工作原理 传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时模块的输出端为低电平,指示二极管一直处于熄灭状态;而当 红外线被反射回来且强度足够大,光敏三极管饱和,此时模块的输出端为高电平,指示二极管被点 亮。 小 车行驶过程中 向 地面 发射 红外光 , 当红外光遇到 绿 色路线,地板发生Ard

22、uino 循迹小车 10 漫反射,安装在小型车的反射光接收器 会 接收;如果是遇到黑色路线,红外光将被黑线吸收,安装在小车上的接收管没有收到红外光。控制器会根据是否收到反射的红外光为判断依据来确定的黑线的位置和小车的路线。这种探测方法,即利用红外线在不同颜色的表面特征,具有不同的反射性能 。 红外发射和接收红外线感应器,可以直接使用集成 的 红外探头 , 选择宽度为 3-5 厘米的黑线。该传感器的灵 敏度是可调的,传感器有时遇到黑线却不能送出相应的信号,通过调节传感器上的可调电阻,适当的增大或减小可改变灵敏度。 ( 2)传感器分布 传感器通过信号采集,向单片机提供信息。因此传感器合理的布局很重

23、要,传感器布局需要考虑小车行驶过程中信息检测的准确度和前瞻性,能使在相同数量的传感器下,获得更多的数据。 而由于考虑到我们改造车的车座较窄、不平整,且车身较 请,适合放 多的传感器, 最终决定 选 用对 6 个传感器 来 进行布局, 即在车子底座前端放 6个传感器 。 这种 布局是目前最适合我们改造车的布局方法 。 3.1.3 电机驱动电路 本设 计采用 L298N 电机专用驱动芯片带动两个 5V 的直流电动机。 L298N 是一个内部有两个 H 桥的高电压大电流全桥式驱动芯片,可以用来驱动直流电动机、步进电动机。使用标准逻辑电平信号控制,直接连接单片机管脚,具有两个使能控制端,使能端在不受输入信号影响的情况下不允许器件工作。 L298N 有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作。 (1) L298N 引脚结构 如表 3-1 图 3-3 L298N 驱动芯片

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。