循迹小车报告(终结版)
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) {
我们设计并论证了光电对管检测及调理电路,电路原理图分别如 4 所示:
-5-
图 4 光电对管检测电路 1 图 4 所示电路中,R1 起限流电阻的作用,当有光反射回来时,光电对管中的三极管导 通,R2 的上端变为高电平,此时 VT1 饱和导通,三极管集电极输出低电平。 当没有光反射回来时,光电对管中的三极管不导通,VT1 截至,其集电极输出高电平。 VT1 在该电路中起到滤波整形的作用。 经试验和示波器验证,该电路工作性能一般,输出还有杂散干扰波的成分。如果输出 加施密特触发器就可以实现良好的输出波形。 但是这种电路用电量比较大,给此种传感器调理电路供电的电池压降较快。究其原因, 是因为光敏三极管和三极管 VT1 导通时的导通电流较大。 而且检测距离不稳定,和环境有很大关系。
由三极管 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
2.2 传感器系统
反射式红外发射—接收装置,只有物体反射红外光时才有信号输入,其信号强度与小车 距障碍物的距离成正比。因此可利用信号强度作为循迹依据。
红外探测器以其发射功率大、抗干扰能力强而在工业生产中有着广泛的应用,红外探测 器按其工作模式可大致分为主动式与被动式,主动式红外探测器自带红外光源,通过对光源 的遮挡、反射、折射等光学手段可以完成对被探测物体位置的判别。被动式红外探测器本身 没有光源,通过接受被探测物体的特征光谱辐射来测量被探测物的位置、温度或进行红外成 像。直流直接驱动方式装置简单但检测距离和抗干扰能力都比较差;交流调制方式由于可以 采用交流耦合方式解决了放大器的直流漂移问题从而可以大大提高检测的距离,同时由于环 境光产生的干扰多数情况是信号的直流或低频分量可以由滤波器加以隔绝,因此交流调试方 式抗干扰能力也比较强,缺点是系统相对复杂。在本体中我们要利用红外探测器检测障碍物 的距离,显然选用主动式红外传感器比较合适,系统的造价可以降低可靠性可以提高。
//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=0,
//位码标志
KEY=10,
//按键
Modifly=0,
//修改及确定键
yiweiflag=0,
//移位标志
page=0,
//换页键
zkb1,
//占空比 1 路
zkb2,
//占空比 2 路
flag0=0,
//加速标志 1
flag1=0,
//加速标志 2
key4flag=0,
/*******************************************************************************************
1.2 技术指标
1、智能寻迹小车需基于 ARM LPC2000 系列进行开发和设计。 2、能实现在椭圆轨道、S 形轨道,等多种规则黑线轨道上寻迹运行。 3、小车外观包装优美、电路设计制作焊接等工艺精良、软件程序可读性强。 4、可扩展其它功能。
-4-
第二章 设计方案的选择和确定
2.1 主控系统方案
选择 LPC2103 ARM 作为小车的控制中枢。
-6-
3.1 整体构思
第三章 系统硬件设计
经过方案论证的过程之后,我们选定了仅采用 lpc2103 作为核心部件的方案,其系统 总方框图如图 3.1.1 所示。
具体的功能设置已通过该图做了直观的说明。通过主控芯片控制各传感器输入的信号, 控制方式由软件来实现,其中包括两个红外传感器用来循迹。在功能和作用上,我分成
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},
** 函数名称:Timer0_Init()
** 函数功能:定时器 0 cap 捕获
** 输入参数:无
** 输出参数:无
- 13 -
*******************************************************************************************/
经过几天的琢磨,我们慢慢的有了眉目,构思出了大概的原理框图和搭建实验电路的所 需元器件。到了周末,就开始画 PCB 板了。第二周的时候就开始制电路板了。
这四周工程训练虽然很辛苦,但我们还是学到了很多东西的。学会独立思考和独立解决 问题。不足的地方还有很多,例如焊接技术还有待于提高,工作原理不是掌握的很透彻,希 望自己以后进一步改进。
P0.0 1 0 0 1
Q10 Q2 10K
NEC882 Q16
状态 前行 后退 左转 右转
. .
Q17
NEC772
Q7 10K
NEC772
6
8
UD 74LS04
UC 7
.
.
图 3.2.3 小车驱动
.
-9-
第四章 系统的软件设计
4.1 主程序流程图 我们所设计的软件的主程序流程图如图 4.1.1 所示:
由 I/O 的脉冲来控制 H 桥中三极管的通断,从而来控制直流电机的前进、后退、左转和 右转的动作,具体如下表 3.2.1。
采用普通直流电机,通过控制脉冲占空比算法,实现对小车速度的控制。这种调速方式 有调速特性优良、调整平滑、调速范围广、带载能力大,能承受频繁的负载冲击,还可以实 现频繁的无级快速启动、制动和反转等优点。
左避子 程序
停止 返回
图 3.1.2 主程序框图
3.2 直流电机的驱动电路(H 桥 L298)
-8-
由于我们做的是循迹小车,只需要前进就可以了,所以没有用到 H 桥前进后退的功能 了。但还是介绍 L298。
设计中,驱动电路的四个输入端我们只用了两路输入分别与 ARMLPC2103 的 P0.15 和 P0.14 连接。这样四路输入就有高低电平了,轮子就能转起来。再接入两路 PWM 驱动,就能 控制速度。P0.19 控制车的右轮,P0.20 控制车的左轮。一驱动电路如图 3.2.3。
#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
主动式红外传感器又可分为分立元件型、透射遮挡型和反射型(如图 1.2.3 示),分立 元件型发光管与接收管相互独立,用户在使用时可以根据需要灵活的设定发光管与接受管的 位置,并可利用棱镜、透镜等完成特殊的目的,缺点是装置麻烦。透射遮挡型和反射型通过 塑料模具将发光管与接收管封装在一起,非常方便用户使用,在本题中对障碍物的检测我使 用红外对管 TCRT5000。 2.3 光电对管电路的设计
4.4 基于 Altium Designer 6.9 的 PCB 板电路图
4.5 ARM 控制小车程序
第五章 性能测试与分析
-3-
第一章 智能寻迹小车的概述
1.1 设计的目的与要求