循迹小车报告(终结版)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
uint8 const duanma[8]={ 0xfe, 0xfd, 0xfb, 0xf7,
0xef, 0xdf, 0xbf, 0x7f};
//从右至左的位码
volatile uint8
shizhong[8] = {5,5,10,9,5,10,3,2},
//时间数组 从左向右的码
pwm[8]
= {0,0,0,0,1,0,10,2},
P0.0 1 0 0 1
Q10 Q2 10K
NEC882 Q16
状态 前行 后退 左转 右转
. .
Q17
NEC772
Q7 10K
NEC772
6
8
UD 74LS04
UC 74LS04
5
9
.
.
.
.
图 3.2.3 小车驱动
.
-9-
第四章 系统的软件设计
4.1 主程序流程图 我们所设计的软件的主程序流程图如图 4.1.1 所示:
图 4.1.1 主程序流程图
4.2 传感器数据处理及寻迹程序流程
我们把小车直线行进时分成两种状态,当两个传感器都检测到白线时,小车在跑道的正 上方,这时控制两电机同速度全速运行。当检测到有一个传感器偏出白线时,小车处这时这 时把一个电机的速度调至极低,另一电机全速运行,从而在较短时间内完成路线的调整。 该检测传感器子程序的流程图。
题 目:
智能寻迹避障小车
嵌入式课程实践
《循迹小车》报告
学 院:
专
业:
学
号:
学生姓名:
指导教师:
起讫日期:
机电工程学院
09 自 动 化
赵光亮、张冠群 王祖麟老师 2011.01.13
-1-
题目:基于 ARM LPC2103 的智能寻迹小车的设计
这四周的工程训练,收获颇多,前一个星期是电路图设计阶段,学长大概说了原理,引 导我ຫໍສະໝຸດ Baidu根据工程训练的要求思考这个小车需要什么元器件,电路模块来实现,而不是一味的 告诉我们用什么元器件,这样就要自己独立思考了。
1.2 技术指标
1、智能寻迹小车需基于 ARM LPC2000 系列进行开发和设计。 2、能实现在椭圆轨道、S 形轨道,等多种规则黑线轨道上寻迹运行。 3、小车外观包装优美、电路设计制作焊接等工艺精良、软件程序可读性强。 4、可扩展其它功能。
-4-
第二章 设计方案的选择和确定
2.1 主控系统方案
选择 LPC2103 ARM 作为小车的控制中枢。
了四大部分:主控、驱动、显示和在系统编程部分。总原理图见论文后。
稳压电路
塑料轮子
左右两侧有 光电对管
万向轮 铝制小车底 板
LPC2103
控制直流电 机驱动器
数码管显示模块时间程
图 3.1.1 系统总原理框图
-7-
开始
初始化 LPC2103
启动小车前行
左侧
如果都没检测到黑线
右避子 程序
加 速前 进
右侧
主动式红外传感器又可分为分立元件型、透射遮挡型和反射型(如图 1.2.3 示),分立 元件型发光管与接收管相互独立,用户在使用时可以根据需要灵活的设定发光管与接受管的 位置,并可利用棱镜、透镜等完成特殊的目的,缺点是装置麻烦。透射遮挡型和反射型通过 塑料模具将发光管与接收管封装在一起,非常方便用户使用,在本题中对障碍物的检测我使 用红外对管 TCRT5000。 2.3 光电对管电路的设计
由三极管 Q9、Q10、Q11、Q12 构成 H 桥驱动电路,控制着几个管子的通断就可以控制直 流电机的正转、反转。
P0.3 1 0 1 0
.
.
P0.2 0 1 0 1
Q1
10K Q13 NEC772
Q3 10K
表 3.2.1
P0.1 0 1 1 0
VCC
Q9 NEC882
MG1
Q1M5 OTOR DC NEC772
//PWM 数组
zkb[8]
= {0,0,11,11,11,11,0,0};
//占空比数组
volatile uint32 timeflag=0,
//时钟标志
timerflag=0,
//闪烁标志
PWM=1000,
//输出 PWMW 周期
timer=500;
//定时器 0 的参数
volatile uint8
由 I/O 的脉冲来控制 H 桥中三极管的通断,从而来控制直流电机的前进、后退、左转和 右转的动作,具体如下表 3.2.1。
采用普通直流电机,通过控制脉冲占空比算法,实现对小车速度的控制。这种调速方式 有调速特性优良、调整平滑、调速范围广、带载能力大,能承受频繁的负载冲击,还可以实 现频繁的无级快速启动、制动和反转等优点。
void Timer0_Init( uint32 timer0 )
{
T0TCR = 0x02;
T0TC = 0;
T0PR = 0;
T0MCR = 0x03;
//中断并复位
T0MR0 = Fpclk/timer0;
//p0.2 捕获
T0TCR = 0x01;
//启动定时器
}
/******************************************************************************************* ** 函数名称:IRQ_Timer0() ** 函数功能:中断函数 ** 输入参数:无 ** 输出参数:无 *******************************************************************************************/ void __irq IRQ_Timer0(void) {
经过几天的琢磨,我们慢慢的有了眉目,构思出了大概的原理框图和搭建实验电路的所 需元器件。到了周末,就开始画 PCB 板了。第二周的时候就开始制电路板了。
这四周工程训练虽然很辛苦,但我们还是学到了很多东西的。学会独立思考和独立解决 问题。不足的地方还有很多,例如焊接技术还有待于提高,工作原理不是掌握的很透彻,希 望自己以后进一步改进。
#define right 0x01<<7
#define left 0x01<<8
#define LED1 0x01<<17
#define LED2 0x01<<18
uint8 const weima[12]={ 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d,
0x7d, 0x07, 0x7f, 0x6f, 0x40, 0x00}; //0--9 和"-" "黑"的段码
如图 4.2.1 所示:
- 10 -
4.3 系统完整电路图 稳压整流原理图、PCB
图 4.2.1 传感器信息处理子程序流程图
- 11 -
H 桥原理图、PCB 红外对管原理图、PCB
- 12 -
4.5 ARM 控制小车程序
#include "config.h"
#define key 0x02
#define RCK 0x01
i=0,
//位码标志
KEY=10,
//按键
Modifly=0,
//修改及确定键
yiweiflag=0,
//移位标志
page=0,
//换页键
zkb1,
//占空比 1 路
zkb2,
//占空比 2 路
flag0=0,
//加速标志 1
flag1=0,
//加速标志 2
key4flag=0,
/*******************************************************************************************
** 函数名称:Timer0_Init()
** 函数功能:定时器 0 cap 捕获
** 输入参数:无
** 输出参数:无
- 13 -
*******************************************************************************************/
-6-
3.1 整体构思
第三章 系统硬件设计
经过方案论证的过程之后,我们选定了仅采用 lpc2103 作为核心部件的方案,其系统 总方框图如图 3.1.1 所示。
具体的功能设置已通过该图做了直观的说明。通过主控芯片控制各传感器输入的信号, 控制方式由软件来实现,其中包括两个红外传感器用来循迹。在功能和作用上,我分成
目
录
第一章 智能寻迹小车的概述
1.1 设计的目的与要求 1.2 技术指标
第二章 设计方案的选择和确定
2.1 主控系统方案 2.2 传感器系统
第三章 系统硬件设计
3.1 整体构思 3.2 直流电机的驱动电路 3.3 循迹传感器电路
第四章 系统的软件设计
4.1 主程序流程图 4.2 传感器数据处理及寻迹程序流程 4.3 系统完整电路图
自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、 国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们 在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。
随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行 走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而 言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运 算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或 CCD,目前的 CCD 已能做到自动聚焦。但 CCD 传感器的价格、体积和使用方式上并不占优势,因此在不要 求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是一种实用有效的方法。
2.2 传感器系统
反射式红外发射—接收装置,只有物体反射红外光时才有信号输入,其信号强度与小车 距障碍物的距离成正比。因此可利用信号强度作为循迹依据。
红外探测器以其发射功率大、抗干扰能力强而在工业生产中有着广泛的应用,红外探测 器按其工作模式可大致分为主动式与被动式,主动式红外探测器自带红外光源,通过对光源 的遮挡、反射、折射等光学手段可以完成对被探测物体位置的判别。被动式红外探测器本身 没有光源,通过接受被探测物体的特征光谱辐射来测量被探测物的位置、温度或进行红外成 像。直流直接驱动方式装置简单但检测距离和抗干扰能力都比较差;交流调制方式由于可以 采用交流耦合方式解决了放大器的直流漂移问题从而可以大大提高检测的距离,同时由于环 境光产生的干扰多数情况是信号的直流或低频分量可以由滤波器加以隔绝,因此交流调试方 式抗干扰能力也比较强,缺点是系统相对复杂。在本体中我们要利用红外探测器检测障碍物 的距离,显然选用主动式红外传感器比较合适,系统的造价可以降低可靠性可以提高。
我们设计并论证了光电对管检测及调理电路,电路原理图分别如 4 所示:
-5-
图 4 光电对管检测电路 1 图 4 所示电路中,R1 起限流电阻的作用,当有光反射回来时,光电对管中的三极管导 通,R2 的上端变为高电平,此时 VT1 饱和导通,三极管集电极输出低电平。 当没有光反射回来时,光电对管中的三极管不导通,VT1 截至,其集电极输出高电平。 VT1 在该电路中起到滤波整形的作用。 经试验和示波器验证,该电路工作性能一般,输出还有杂散干扰波的成分。如果输出 加施密特触发器就可以实现良好的输出波形。 但是这种电路用电量比较大,给此种传感器调理电路供电的电池压降较快。究其原因, 是因为光敏三极管和三极管 VT1 导通时的导通电流较大。 而且检测距离不稳定,和环境有很大关系。
左避子 程序
停止 返回
图 3.1.2 主程序框图
3.2 直流电机的驱动电路(H 桥 L298)
-8-
由于我们做的是循迹小车,只需要前进就可以了,所以没有用到 H 桥前进后退的功能 了。但还是介绍 L298。
设计中,驱动电路的四个输入端我们只用了两路输入分别与 ARMLPC2103 的 P0.15 和 P0.14 连接。这样四路输入就有高低电平了,轮子就能转起来。再接入两路 PWM 驱动,就能 控制速度。P0.19 控制车的右轮,P0.20 控制车的左轮。一驱动电路如图 3.2.3。
4.4 基于 Altium Designer 6.9 的 PCB 板电路图
4.5 ARM 控制小车程序
第五章 性能测试与分析
-3-
第一章 智能寻迹小车的概述
1.1 设计的目的与要求
通过基于 ARM LPC2000 系列单片机的智能寻迹小车的设计与控制实训,除了加深和巩固 学生课程理论学习之外,更重要的是加强实践、拓展应用,让学生了解基于 ARM LPC2000 系列单片机的开发和运用的一个整体开发流程,包括在训练中要求学生能够自己根据性能指 标和功能要求掌握硬件电路的设计和制作、元器件的选用和安装、软件的编写和调试,同时 学会硬件仿真、软件仿真和整机联调,其中最关键的两部分:硬件电路设计与制作和控制软 件的编写以及调试,使得准产品最后达到技术指标的要求。
机器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当 给机器人一个视觉功能。控制系统是基于自动导引小车(AVG—auto-guide vehicle)系统, 基于它的智能小车实现自动识别路线,判断并选择正确的行进路线。使用传感器感知路线和 障碍并作出判断和相应的执行动作。
-2-