arduino循迹小车毕业论文.docx

上传人:b****6 文档编号:6507228 上传时间:2023-01-07 格式:DOCX 页数:31 大小:28.36KB
下载 相关 举报
arduino循迹小车毕业论文.docx_第1页
第1页 / 共31页
arduino循迹小车毕业论文.docx_第2页
第2页 / 共31页
arduino循迹小车毕业论文.docx_第3页
第3页 / 共31页
arduino循迹小车毕业论文.docx_第4页
第4页 / 共31页
arduino循迹小车毕业论文.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

arduino循迹小车毕业论文.docx

《arduino循迹小车毕业论文.docx》由会员分享,可在线阅读,更多相关《arduino循迹小车毕业论文.docx(31页珍藏版)》请在冰豆网上搜索。

arduino循迹小车毕业论文.docx

arduino循迹小车毕业论文

福建船政交通学院

 

摘要 .............................................................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 单片机的功能 ........................................6

2.3 Arduino 比 51 更好的地方 ..................................7

3 循迹小车设计 ...................................................8

3.1 硬件设计 .................................................8

3.1.1 单片机最小系统 .........................................8

3.1.2 灰度传感器模块 ........................................9

3.1.3 电机驱动电路 ..........................................10

1

Arduino 循迹小车

3.2 软件设计 ............................................... 12

3.2.1 系统主程序 ........................................... 13

3.2.2 本系统编译器 ......................................... 13

3.3 实物展示 .............................................. 144

3.4 部分程序展示 .......................................... 145

结论 ......................................................... 20

致谢 ......................................................... 21

参考文献 ....................................................... 22

Arduino 循迹小车设计与实现

 

摘要:

循迹小车是 Arduino 单片机的一种典型应用。

 本智能小车是由 ardiuno

单片机和外部电路组成,包括检测模块,控制模块,电源模块。

循迹车设计采用

Arduino 单片机作为小车的控制核心,采用灰度传感器作为小车的检测模块来识

别绿色路面中央的黑色引导线,采集信号并将信号转换为能被ardiuno 单片机识

别的数字信号;采用驱动芯片L298N 构成双 H 桥控制直流电机。

其中软件系统采

用 C 程序。

关键词 :

 Arduino 单片机,自动循迹,驱动电路。

 

引言

 

自第一台工业机器人诞生以来,机器人的民展已经遍及机械、电子、冶

金、交通、宇航、国防等领域。

近年来机器人的智能水平不断提高,并且迅

速地改变着人们的生活方式。

人们在不断探讨、改造、认识自然的过程中,

制造能替代人工作的机器一直是人类的目标。

单片机是一种可通过编程控制

的微处理器,虽其自身不能单独用在某项工程或产品上,但当其与外围数字

器件和模拟器件结合时便可发挥强大的功能,现在单片机已广泛应用于众多

领域。

例如:

工业自动化,智能仪器仪表,消费类电子产品,通信方面,武

器装备等。

作为与自动化技术和电子密切相关的理工科学生,掌握单片机是最基础

的要求。

为进一步丰富和巩固单片机知识,也为能更好的联系实际应用,本

次毕业设计选择了基于单片机Arduino 循迹车,并做出实物。

鉴于电子技术、

计算机技术以及各种更先进的仿真软件的出现,使用高级语言如 C 代替汇编

2

福建船政交通学院

 

语言进行编程和控制已成为现实,单片机C 语言编程相对于 MC51 汇编语言

编程有如下优点:

对单片机的指令系统不需要有很深的理解就可以编程操作单片机。

寄存

器分配、不同存储器的寻址及数据类型等细节完全由编辑器自动处理。

程序

有规范的结构,可分为不同的函数,可使程序结构化。

库中包括许多标准子

程序,具有较强的处理能力,使用方便。

具有方便的模块化编程技术,使已

编好的程序便于移植, 可极大缩短开发时间, 增加程序的可读性和可维护性。

事实上,当今许多硬件的开发都已开始用C 语言编程,如各种单片机、

DSP 、 ARM 等,用 C 语言进行工业控制也已成为一种趋势,为了更好的适应

当今社会形势,为了更好的面对挑战、把握机遇,此次毕业设计决定尝试用

C 语言编程完成。

也希望能在进一步熟悉单片机控制的同时,对数字电子技

术、模拟电子技术、计算控制技术以及常用外围芯片有更深层次的了解,提

高自己的综合能力。

 

1 Arduino 智能小车设计方案与参数

 

根据设计要求, Arduino 智能小车要沿着山道环山跑一圈。

Arduino 智

能小车主要由四部分组成:

分别为大脑-微控制器 Arduino 、眼睛 -灰度传感

器、躯体 -电机驱动模块和心脏 -电源模块。

 

1.1 Arduino 智能小车方案简介

 

依据所需功能的要求,设计计价器系统的结构图和硬件电路,绘制出智

能小车的电路图,再绘制程序框图,之后编程并烧录到单片机;将各模块组

合进行调试。

 

1.1.1 功能要求

 

小车以 Arduino 为控制核心 , 用单片机产生 PWM 波,控制小车速度。

利用灰度传感器对路面黑色轨迹进行检测,并将路面检测信号反馈给单片机

内。

单片机对采集到的信号予以分析判断,及时控制驱动电机以调整小车转

向 ,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动寻迹的目的。

 

1.1.2 基本原理

 

智能小车系统主要由四部分组成:

大脑-微控制器 Arduino 、眼睛 -灰度

传感器、手脚 -电机驱动模块、能源 -电源模块 , 智能车循迹行驶过程是:

3

Arduino 循迹小车

先灰度传感器将检测到黑线的信号传送给单片机最小系统,然后通过单片机

最小系统的控制算法对信号进行计算处理,将此信号在通过控制算法驱动电

机,最后实现对智能车运动轨迹进行实时控制。

微控制器 -Arduino 为内部核心处理处理单元,将外部给予的电平信号

通过以植入的 c 语言程序为主进行处理。

灰度传感器为智能小车的眼睛,通

过辨别地面的黑色线条的物理信号, 灰度再将之转换为单片机能够处理的电

平信号。

单片机将信号传输给电机驱动模块,即我们小车结构的手脚接受指

令运行。

智能车总体模块设计图如图1-1 所示。

 

Arduino

L298N

电源模块

驱动模块

单片机

 

灰度传感器模

 

路径

直流电机

 

小车

 

图 1-1 循迹车总体模块设计图

 

1.2 循迹小车参数

 

系统参数如下表所示:

 

微控制器

 

路径检测模块

 

俩轮驱动

 

直流电机驱动模块

 

电机电源

 

Arduino

 

灰度传感器

 

车模配套直流电机

 

芯片:

 LM298N

 

9V 3A

 

4

福建船政交通学院

 

参数

 

2 Arduino 与 51 单片机的区别

 

2.1 Arduino 单片机

 

2.1.1 Arduino 单片机的介绍

 

Arduino 是一款便捷灵活、 方便上手的开源电子原型平台, 包含硬件 (各

种型号的 Arduino 板 )和软件 (Arduino IDE) 。

它适用于爱好者、艺术家、设

计师和对于 "互动 "有兴趣的朋友们。

是一个基于开放原始码的软硬件平台,

构建于开放原始码 simple I/O 介面版,并且具有使用类似Java 、 C 语言的

Processing/Wiring 开发环境。

Arduino 包含两个主要的部分 :

硬件部分是可

以用来做电路连接的Arduino 电路板 ;另外一个则是 Arduino IDE ,你的计

算机中的程序开发环 境。

你 只 要在 IDE 中编 写程序 代码,将程 序上传到

Arduino 电路板后,程序便会告诉Arduino 电路板要做些什么了。

 

2.1.2 Arduino 单片机的特色

 

开放源代码的电路图设计,程序开发接口可以免费下载,也可依个人需

求自己修改。

而且低价格的微处理控制器(AVR 系列控制器 ),可以采用 USB

接口供电,不需外接电源,也可以使用外部9VDC 输入。

 Arduino 支持 ISP

在线烧,可以将新的 "bootloader" 固件烧入 AVR 芯片。

有了 bootloader 之

后,可以通过串口或者 USB to RS232 线更新固件。

也可依据官方提供的Eagle

格式 PCB 和 SCH 电路图简化 Arduino 模组,完成独立运作的微处理控制;可

简单地与传感器, 各式各样的电子元件连接 (例如 :

红外线 ,超音波 ,热敏电阻 ,

光敏电阻 ,伺服马达,…等 )支持多种互动程序,如 :

Flash 、 Max/Msp 、 vvvv 、

PD 、C、Processing 等。

应用方面:

利用 Arduino ,突破以往只能使用鼠标、

键盘、 CCD 等输入的装置的互动内容,可以更简单地达成单人或多人游戏互

动。

 

2.1.3 Arduino 单片机的功能

 

在功能上可以快速使用Arduino 与 Adobe Flash, Processing, Max/MSP,

 

5

Arduino 循迹小车

Pure Data, SuperCollider等软件结合,作出互动作品。

Arduino 可以使

用现有的电子元件例如开关或者传感器或者其他控制器件、LED 、步进马达

或其他输出装置。

Arduino 也可以独立运行,并与软件进行交互,例如:

Macromedia Flash, Processing, Max/MSP, Pure Data, VVVV或其他互动

软件等。

 Arduino 的 IDE 界面基于开放源代码,可以免费下载使用,开发

出更多令人惊艳的互动作品。

在更多功能上有基于知识共享开放元源码的电路图设计,有基于知识共

享 开 放 源 码 的 程 式 开 发 环 境 。

 Arduino可 使 用 ICSP 线 上 烧 入 器 , 将

「 bootloader 」烧入新的 IC 晶片,可依据官方电路图,简化Arduino 模组,

完成独立运作的微处理控制,可简单地与传感器,各式各样的电子元件连接

(例如 :

红外线,超声波,热敏电阻,光敏电阻,伺服马达等), USB 接口上,

不需外接电源。

另外有提供9V 直流电源输入。

 

2.2 51 单片机

 

2.2.1 51 单片机的介绍

 

51 单片机是对所有兼容Intel 8031 指令系统的单片机的统称。

该系列

单片机的始祖是 Intel 的 8031 单片机,后来随着 Flash rom 技术的发展,

8031 单片机取得了长足的进展,成为应用最广泛的8 位单片机之一,其代

表型号是 ATMEL 公司的 AT89 系列,它广泛应用于工业测控系统之中。

很多

公司都有 51 系列的兼容机型推出, 今后很长的一段时间内将占有大量市场。

51 单片机是基础入门的一个单片机,还是应用最广泛的一种。

需要注意的

是 52 系列的单片机一般不具备自编程能力。

 

2.2.2 51 单片机的功能

 

51 单片机的功能特点分别有:

 8 位 CPU·4kbytes 程序存储器 (ROM) (52

为 8K) , 128bytes 的数据存储器 (RAM) (52 有 256bytes 的 RAM) , 32 条 I/O

口线·111 条指令,大部分为单字节指令,21 个专用寄存器, 2 个可编程定

时 /计数器·5 个中断源, 2 个优先级 (52 有 6 个 ),一个全双工串行通信口,

外部数据存储器寻址空间为64kB ,外部程序存储器寻址空间为64kB ,逻辑

操作位寻址功能·双列直插40PinDIP 封装。

 

6

福建船政交通学院

 

51 单片机的内部结构分别为CPU:

 由运算和控制逻辑组成,同时还包括

中断系统和部分外部特殊功能寄存器;RAM:

 用以存放可以读写的数据,如运

算的中间结果、最终结果以及欲显示的数据;ROM:

 用以存放程序、一些原始

数据和表格 ;I/O 口 :

四个 8 位并行 I/O 口,既可用作输入,也可用作输出;

T/C:

 两个定时 /记数器,既可以工作在定时模式,也可以工作在记数模式;

五个中断源的中断控制系统 ; 一个全双工 UART( 通用异步接收发送器 )的串

行 I/O 口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡

器和时钟产生电路, 石英晶体和微调电容需要外接。

 最佳振荡频率为 6M-12M 。

 

2.3 Arduino 比 51 更好的地方

 

Arduino 与 51 单片机相比:

变更人性化,编程相对人性化和直观,没

有单片机基础的人也能很快上手。

硬件性能上,Arduino 更加稳定,不会像

51 一样时常出现跑飞的现象。

 Arduino 作为开源的一款的单片机,更重要的

是在这个 4g 时代可搜寻的学习资料是非常多的。

综上所述,Arduino 无疑

是比 51 更适合新手和用于比赛专用的。

 

7

Arduino 循迹小车

3 循迹小车设计

 

3.1 硬件设计

 

3.1.1 单片机最小系统

 

主控机系统采用 Arduino mega2560单片机,采用 USB 接口的核心电路

板,它最大的特点就是具有多达54 路数字输入输出,特别适合需要大量IO

接口的设计。

 Mega2560 的处理器核心是 ATmega2560 , 同时具有 54 路数字

输入 /输出口(其中 16 路可作为 PWM 输出),16 路模拟输入, 4 路 UART 接口,

一个 16MHz 晶体振荡器,一个USB 口,一个电源插座,一个 ICSP header

和一个复位按钮。

单片机最小系统电路图如图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 。

 

8

福建船政交通学院

 

存储器:

ATmega2560 包括了片上 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 灰度传感器模块

 

灰度传感器是利用黑线对红外线不同的反射能力通过光敏二极管或光

敏三极管,接收反射回的不同光强信号,把不同光强转换为电流信号,最后

通过电阻,转换为单片机可识别的高低电平。

灰度传感器实现循迹的基本电

路如 3-2 所示。

 

图 3-2灰度传感器电路图

( 1)灰度传感器工作原理

传感器的红外发射二极管不断发射红外线,当发射出的红外线没有被反

射回来或被反射回来但强度不够大时,光敏三极管一直处于关断状态,此时

模块的输出端为低电平,指示二极管一直处于熄灭状态;而当红外线被反射

回来且强度足够大,光敏三极管饱和,此时模块的输出端为高电平,指示二

极管被点亮。

小车行驶过程中向地面发射红外光,当红外光遇到绿色路线,地板发生

 

9

Arduino 循迹小车

漫反射,安装在小型车的反射光接收器会接收;如果是遇到黑色路线,红外

光将被黑线吸收,安装在小车上的接收管没有收到红外光。

控制器会根据是

否收到反射的红外光为判断依据来确定的黑线的位置和小车的路线。

这种探

测方法,即利用红外线在不同颜色的表面特征,具有不同的反射性能。

红外发射和接收红外线感应器,可以直接使用集成的红外探头,选择宽

度为 3-5 厘米的黑线。

该传感器的灵敏度是可调的,传感器有时遇到黑线却

不能送出相应的信号,通过调节传感器上的可调电阻,适当的增大或减小可

改变灵敏度。

( 2)传感器分布

传感器通过信号采集,向单片机提供信息。

因此传感器合理的布局很重

要,传感器布局需要考虑小车行驶过程中信息检测的准确度和前瞻性,能使

在相同数量的传感器下,获得更多的数据。

而由于考虑到我们改造车的车座较窄、不平整,且车身较请,适合放多

的传感器,最终决定选用对6 个传感器来进行布局,即在车子底座前端放6

个传感器。

这种布局是目前最适合我们改造车的布局方法。

 

3.1.3 电机驱动电路

 

本设计采用 L298N 电机专用驱动芯片带动两个5V 的直流电动机。

L298N 是一个内部有两个 H 桥的高电压大电流全桥式驱动芯片,可以用

来驱动直流电动机、步进电动机。

使用标准逻辑电平信号控制,直接连接单

片机管脚,具有两个使能控制端,使能端在不受输入信号影响的情况下不允

许器件工作。

 L298N 有一个逻辑电源输入端,使内部逻辑电路部分在低电压

下工作。

(1) L298N 引脚结构如表 3-1

 

图 3-3L298N驱动芯片

 

10

福建船政交通学院

 

表 3-1L298N 引脚编号与功能 :

引脚编号

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

名称

电流传感器 A

输出引脚 1

输出引脚 2

电机电源端

输入引脚 1

使能端 A

输入引脚 2

逻辑地

逻辑电源端

输入引脚 3

使能端 B

输入引脚 4

输出引脚 3

输出引脚 4

电流传感器 B

功能

在该引脚和地之间接小阻值电阻可用来检测电流

内置驱动器 A 的输出端 1,接至电机 A

内置驱动器 A 的输出端 2,接至电机 A

电机供电输入端 ,电压可达 46V

内置驱动器 A 的逻辑控制输入端 1

内置驱动器 A 的使能端

内置驱动器 A 的逻辑控制输入端 2

逻辑地

逻辑控制电路的电源输入端为  5V

内置驱动器 B 的逻辑控制输入端 1

内置驱动器 B 的使能端

内置驱动器 B 的逻辑控制输入端 2

内置驱动器 B 的输出端 1,接至电机 B

内置驱动器 B 的输出端 2,接至电机 B

在该引脚和地之间接小阻值电阻可用来检测电流

( 2) 电机驱动原理

电路的形状很像字母H。

四个三极管就是 H 桥的四条垂直线,而电机就

是 H 中的横线,如图 3-4 所示。

 

图 3-4L298N 内部 H 桥驱动电路

 

11

Arduino 循迹小车

H 桥电机驱动电路包含四个三极管和一个电机。

电机运转,必须遵循导

通对角线上的一对三极管。

 基于不同三极管对的导通情况可以控制电机的转

向,电流可可以从左至右流过电机,也可以从右至左流过电机。

当Q1 管和

Q4 管导通时,电流就从电源正极经Q1 从左至右流过电机,然后再经Q4 回

到电源负极,该流向的电流将驱动电机顺时针转动。

下面分析另一对三极管

Q2 和 Q3 ,当两个三极管同时导通的情况下,电流将从右至左流过电机。

而驱动电机沿逆时针方向转动。

电机控制逻辑如下:

以电机A 为例,当使能端 ENA 为高电平时,如果

输入引脚 IN1 为低电平而输入引脚IN2 为高电平,电机 A 反转;如果输入引

脚 IN1 为高电平而输入引脚IN2 为低电平,电机 A 正转。

 

电机 A

 

电机 B

 

图 3-5L298N 驱动芯片和直流电机接线图

 

3.2 软件设计

 

本设计的目的是以 Arduino 单片机为控制核心,将红外光电传感器输出

的电信号送至单片机电路,再由单片机向L298N 电机驱动模块发送指令,控

制后轮电机驱动小车行进,控制前轮电机驱动小车转向,从而自动循迹。

 

3.2.1 系统主程序

 

在主程序模块中,需要完成对各参量和接口的初始化、检测黑线、前进

或转向判断等工作。

当小车探测到黑线后,根据检测到黑线的传感器的编号

12

福建船政交通学院

 

不同,小车要做出相应的动作。

当小车左边的传感器检测到黑线时,说明小

车车头向右边偏移,这时主控芯片控制前轮电机反转,车体向左边修正;同

理当小车的右边传

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

当前位置:首页 > 幼儿教育

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

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