基于ARM的无线遥控和激光循迹小车论文.docx

上传人:b****5 文档编号:11847468 上传时间:2023-04-06 格式:DOCX 页数:43 大小:341.55KB
下载 相关 举报
基于ARM的无线遥控和激光循迹小车论文.docx_第1页
第1页 / 共43页
基于ARM的无线遥控和激光循迹小车论文.docx_第2页
第2页 / 共43页
基于ARM的无线遥控和激光循迹小车论文.docx_第3页
第3页 / 共43页
基于ARM的无线遥控和激光循迹小车论文.docx_第4页
第4页 / 共43页
基于ARM的无线遥控和激光循迹小车论文.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

基于ARM的无线遥控和激光循迹小车论文.docx

《基于ARM的无线遥控和激光循迹小车论文.docx》由会员分享,可在线阅读,更多相关《基于ARM的无线遥控和激光循迹小车论文.docx(43页珍藏版)》请在冰豆网上搜索。

基于ARM的无线遥控和激光循迹小车论文.docx

基于ARM的无线遥控和激光循迹小车论文

 

江西理工大学

课程设计

 

题目:

基于ARM的无线遥控及激光寻迹小车设计

 

学院:

机电工程学院

专业:

自动化

班级:

3+1创新教育实验班班

学生:

朱兆祺、邓云

指导教师:

王祖麟职称:

教授

指导教师:

温如春职称:

副教授

 

 

目录

第1章开题报告1

1.1课程设计概述1

1.2课程设计小车要求1

1.3课程设计安排1

第2章无线遥控&自动寻迹小车硬件设计2

2.1主控芯片及接口电路2

2.1.1ARM处理器系列2

2.1.2ARM7TDMI处理器3

2.1.3LPC21383

2.1.4LPC2138最小系统4

2.2基于ARM2103遥控器的硬件设计7

2.3基于ARM2103无线遥控接收信号8

2.4基于ARM2138核心控制平台8

2.5H桥控制直流电机8

2.6激光传感器9

2.7nRF2401无线电传感器10

2.8金属探测器LJ12A3-4-Z/BX传感器12

第3章无线遥控&自动寻迹小车软件设计13

3.1基于ARM2103无线电发送模块程序的调试13

3.2基于ARM2103无线电接收模块程序的调试14

3.3通过ARM2138接收ARM2103信号控制小车无线遥控控制16

3.4捕获测速16

3.5数字显示与键盘扫描电路设计20

3.6寻迹程序调试22

3.7无线电&激光寻迹模式选择程序24

第4章调试25

4.1PID控制理论概述25

4.1.1PID控制理论概述25

4.1.2PID控制主程序29

阶段性总结33

参考文献34

致谢35

第1章开题报告

1.1课程设计概述

本个课程设计是基于ARM2103、2138的集无线遥控、激光自动寻迹、扫雷为一体的多功能小车。

在嵌入式高速发展,ARM独占一席的今天,熟练运用ARM对于电科大学生至为重要。

ARM2103实验板2块,主要用于无线电nRF2401的发送和接受;ARM2138实验板1块,主要用于直流电机驱动、寻迹控制等;激光FS2-60传感器4个用于小车寻迹功能使用;金属探测器LJ12A3-4-Z/BX传感器用于金属探测。

1.2课程设计小车要求

由无线电nRF2401、ARM2103控制的遥控器向主体小车发送信息,控制小车的运行。

由无线电nRF2401、ARM2103、ARM2138、激光FS2-60传感器、直流电机、金属探测器LJ12A3-4-Z/BX传感器组合的智能小车接受遥控器信息。

无线遥控模式、自动寻迹模式取决于遥控器的信息。

无线遥控模式的前进、停止、左转、右转也是来源于遥控器的控制;自动寻迹模式的控制依靠FS2-60传感器的信息。

1.3课程设计安排

第17周,硬件外围电路设计

第18周,硬件电路调试

第19周,软件程序逐个调试成功,移植并且完成软件的融合

第20周,小车整体设计修改、完善。

第2章无线遥控&自动寻迹小车硬件设计

2.1主控芯片及接口电路

本次课程设计采用的MUC为LPC2138,LPC2138是以ARM7为内核的微控制器,具有运算频率高,功能强,I/O口丰富等优点,下面简单介绍一下基于ARM7为内核的LPC2138MCU。

首先介绍一下ARM,ARM是AdvancedRISCMachines的缩写。

是微处理器行业的一家知名企业,该企业设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。

技术具有性能高、成本低和能耗省的特点。

适用于多种领域,比如嵌入控制、消费、教育类多媒体、DSP和移动式应用等。

ARM将其技术授权给世界上许多著名的半导体、软件厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。

利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。

ARM不仅是一个公司的名字,也是一种微处理器内核的名字。

ARM微处理器资源丰富,具有很好的通用性,以其高速度,高性能、低价格、低功耗,可以广泛的应用于各个领域。

ARM的嵌入式系统其优良的性能,良好的移植性,广泛应用与各个行业。

可以说,用单片机和DSP实现的系统,ARM都可以实现。

ARM集成了丰富的片内外设资源,利用自身资源不必增加外围器件就可实现控制要求的功能。

同时使得机器人控制板的结构尺寸可以做得更小。

另外,利用ARM处理器设计的车载嵌入式系统还具有非常好的移植性,能够使得技术真正用于生活,这是其他型处理器所不具备的特点。

2.1.1ARM处理器系列

ARM处理器目前包括下面几个系列:

(1)ARM7系列

(2)ARM9系列

(3)ARM9E系列

(4)ARMIOE系列

(5)SecurCore系列

(6)Intel的Xscale系列

(7)Intel的StrongARM系列

其中,ARM7,ARM9,ARM9E和ARM10为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。

2.1.2ARM7TDMI处理器

ARM7系列处理器包括以下几种类型的核:

ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。

其中,ARM7TDMI是目前使用最广泛的32位嵌入式RISC处理器。

TDMI的基本含义是:

T:

支持16位压缩指令集Thumb;D:

支持片上DebugM:

内嵌硬件乘法器(Multiplier);I:

嵌入式ICE,支持片上断点和调试点。

ARM7系列微处理器为低功耗的32位RISC处理器,ARM7处理器具有如下的特点:

(1)具有嵌入式ICE-RT逻辑,调试开发方便;

(2)极低的功耗,适合对功耗要求较高的应用,如移动机器人产品;

(3)能够提供0.9MIPS/Mfiz的三级流水线结构;

(4)代码密度高,并兼容16位的Thumb指令;

(5)对操作系统的支持广泛;

(6)指令系统与ARM9,ARM9E和ARM10E系列兼容,便于产品升级;

(7)主频最高可达130MIPS高速的运算处理能力能胜任绝大多数的应用场合。

2.1.3LPC2138

本系统和MCU选用的是LPC2138,它具有如下特点:

(1)16/32位ARM7TDMI-S核,超小LQFP64封装;

(2)8/16/32kB的片内静态RAM和32/64/512kB的片内Flash程序存储器,128位宽度接口/加速器可实现高达60MHz工作频率;

(3)通过片内boot装载程序实现在系统编程/在应用编程(ISP/IAP),单扇区或整片擦除时间为400ms,256字节行编程时间为1ms;

(4)EmbeddedICE®RT和嵌入式跟踪接口通过片内RealMonitorTM软件对代码进行实时调试和高速跟踪;

(5)1个(LPC2131/2132)或2个(LPC2138)8路10位的A/D转换器,共提供16路模拟输入,每个通道的转换时间低至2.44us;

(6)1个10位的D/A转换器,可产生不同的模拟输出。

(仅适用于LPC2132/2138);

(7)2个32位定时器/计数器(带4路捕获和4路比较通道)、PWM单元(6路输出)和看门狗;

(8)实时时钟具有独立的电源和时钟,可在节电模式中极大地降低功耗;

(9)多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口(400kbit/s)、SPITM和具有缓冲作用和数据长度可变功能的SSP;

(10)向量中断控制器可配置优先级和向量地址;

(11)小型的LQFP64封装上包含多达47个通用I/O口(可承受5V电压);

(12)多达9个边沿或电平触发的外部中断管脚;

(13)通过片内PLL(100us的设置时间)可实现最大为60MHz的CPU操作频率;

(14)片内晶振频率范围:

1~30MHz;

(15)低功耗模式:

空闲和掉电;

(16)可通过个别使能/禁止外部功能和外围时钟分频来优化功耗;

(17)通过外部中断将处理器从掉电模式中唤醒;

(18)单电源,具有上电复位(POR)和掉电检测(BOD)电路:

CPU操作电压范围:

3.0V~3.6V(3.3V±10﹪),I/O口可承受5V的电压。

2.1.4LPC2138最小系统

嵌入式系统的最小系统主要由以下几个方面组成:

(1)电源

(2)复位电路

(3)系统时钟,一般由晶振提供此时钟

(4)底板

下面以LPC2138为微处理器为中心详细介绍最小系统的组成与设计思路

电源电路

任何电子系统都少不了电源的支持。

电源可以看成是电子系统的心脏。

电源只有给系统的电路提供持续的、稳定的能量,这样电子系统才能正常的工作。

在一个电子系统中电源的好坏直接影响到整个系统的稳定性,并在一定程度上影响整个系统的功耗。

常用的集成稳压芯片有78XX系列和79XX系列。

它们是利用串联负反馈来稳定输出电压的,性能较好。

如图3–所示为本系统的一级电源电路。

图3–3系统电源1

本系统主要靠市电经过变压器降压,桥式整流以及78XX系列和79XX系列芯片稳压供电。

LPC2138芯片供电电源为3.3V,内核供电电源为1.8V,因此系统设计为3.3V应用系统。

电源经78M05稳压至5V,再经过SPXIl17-3.3将电源稳压至3.3V。

当正确连接电源后,LED作为电源指示灯点亮。

其特点为输出电流大,精度高,稳定性高,功耗低。

电路原理图如图3–所示。

图3–4系统电源电路

由于LPC2138对供电系统和AD参考电压等要求比较高,所以得加强滤波电路的设计。

图3–5电源和参考电压滤波电路

复位电路

由于ARM芯片的高速、低功耗和低工作电压导致其噪声容限低,对电源的纹波、瞬态响应性能、时钟源监控和电源监控可靠性等诸多也提供了更高的要求,因此复位电路使用带I2C存储器的电源监控芯片CAT1025JI-30,提高了系统的可靠性。

其电路原理图如图3–所示。

图3–6系统复位电路

系统时钟电路

考虑到串口通信时的波特率能够正确的设定,本系统选用11.0592MHz外部晶振是为了使用PLL和ISP下载功能。

原理图如图3–1所示。

图3–1系统时钟电路

LPC2138的RTC需要独立的时钟源,时钟频率为32.768KHz,电路如图3–所示。

图3–8RTC时钟电路

JTAG调试下载程序接口电路

ARM公司ARM7内核采用了JATG联盟提供的标准20脚JTAG仿真调试接口。

RTCK引脚接一个4.7K下拉电阻,使系统复位后LPC2138内部JTAG接口使能,直接进入JTAG调试。

原理图如图3–所示。

图3–9JTAG接口电路

标准20脚JTAG仿真调试接口的详细定义如表3–1所示。

表3–120-pinJTAGheader管脚定义

管脚

定义

管脚

定义

1

Vref(目标板参考电压,接电源)

11

RTCK

2

Vdd(+3.3V)

12

Vss(Ground)

3

nTRST

13

TDO

管脚

定义

管脚

定义

4

Vss(Ground)

14

Vss(Ground)

5

TDI

15

nRESET(目标板复位信号)

6

Vss(Ground)

16

Vss(Ground)

7

TMS

17

NC(未接)

8

Vss(Ground)

18

Vss(Ground)

9

TCK

19

NC(未接)

10

Vss(Ground)

20

Vss(Ground)

2.2基于ARM2103遥控器的硬件设计

根据软件设计要求,无线电nRF2401传感器和ARM2103实验板引脚连接如下:

CE和P0.1,PWR和P0.3,DR1和P0.5,DATA和P0.7,CLK1和P0.9,CS和P0.11,GND和GND,VCC和3.3V连接。

按键和ARM2103实验板的引脚连接,KEY1—KEY6和P0.16—P0.21依次连接。

KEY1控制小车无线遥控模式前进,KEY2控制小车无线遥控模式停止,KEY3控制小车无线遥控模式左转,KEY4控制小车无线遥控模式右转,KEY5控制小车启动寻迹模式,KEY6控制小车启动无线遥控模式。

2.3基于ARM2103无线遥控接收信号

根据软件设计要求,无线电nRF2401传感器和ARM2103实验板引脚连接如下:

CE和P0.1,PWR和P0.3,DR1和P0.5,DATA和P0.7,CLK1和P0.9,CS和P0.11,GND和GND,VCC和3.3V连接。

ARM2103实验板P0.17和ARM2138实验板P0.21,ARM2103实验板P0.19和ARM2138实验板P0.22,ARM2103实验板P0.21和ARM2138实验板P0.23,ARM2103实验板P0.23和ARM2138实验板P0.24,ARM2103实验板P0.25和ARM2138实验板P0.25,ARM2103实验板P0.27和ARM2138实验板P0.26.以上引脚的连接用于ARM2103实验板接收到信号之后用于控制ARM2138的无线电模块控制和无线遥控模式&寻迹模式的切换使用。

2.4基于ARM2138核心控制平台

ARM2138实验板P0.17—P0.20作为激光FS2—60传感器的信号输入,P0.0、P0.1、P0.8、P0.9作为PWM输出通过H桥控制直流电机的转动。

ARM2138实验板P0.21—P0.26作为接受ARM2103实验板的控制进行无线电遥控模式&寻迹模式的切换和控制。

 

2.5H桥控制直流电机

L298H桥驱动如下图所示:

引脚1、8、15是接地,引脚9(Vss)接5V电压,引脚6(EnableA)、引脚11(EnableB)接高点平5V,对应引脚5(Input1)、引脚7(Input2)、引脚10(Input3)、引脚12(Input4)的输出引脚2(Output1)、引脚3(Output2)、引脚13(Output3)、引脚14(Output4)。

剩下引脚4(Vs),这个引脚的外加电压根据其一H桥的耐压范围,其二你所要加给H桥的电压,这个电压将决定驱动电机转速的大小。

引脚5(Input1)、引脚7(Input2)输入PWM控制小车左电机的转速,当X=Input1-Input2>0时,左电机正向转动,并且X越大,正向转速越大;

X=Input1-Input2<0时,左电机反向转动,并且X越大,反向转速越大;

X=Input1-Input2=0时,左电机停止。

Y=Input3-Input4>0时,右电机正向转动,并且Y越大,正向转速越大;

Y=Input3-Input4<0时,右电机反向转动,并且Y越大,反向转速越大;

Y=Input3-Input4=0时,右电机停止。

通过PWM的输入控制左右电机的转动,从而控制小车的行走。

图2-1H桥控制电机示意图

2.6激光传感器

本课程设计运用的寻迹传感器是FS2—60激光传感器。

图2-2FS2—60示意图

图2-3FS2—60激光传感器规格图

图2-4FS2—60外部电路连接图

FS2—60激光传感器的棕色线路连接5V电压正极,蓝色线路连接GND。

黑色线路为信号输出。

为了保护FS2—60激光传感器,因此外加电压为5V。

2.7nRF2401无线电传感器

nRF2401是单片射频收发芯片,工作于2.4~2.5GHzISM频段,芯片内置频率合成器、功率放大器、晶体振荡器和调制器等功能模块,输出功率和通信频道可通过程序进行配置。

芯片能耗非常低,以-5dBm的功率发射时,工作电流只有10.5mA,接收时工作电流只有18mA,多种低功率工作模式,节能设计更方便。

其DuoCeiverTM技术使nRF2401可以使用同一天线,同时接收两个不同频道的数据。

nRF2401有工作模式有四种:

收发模式、配置模式、空闲模式和关机模式。

nRF2401的工作模式由PWR_UP、CE、TX_EN和CS三个引脚决定。

图2—5nRF无线电传感器

在本课程设计中,只用了一个频道传输。

无线电nRF2401传感器和ARM2103实验板引脚连接如下:

CE和P0.1,PWR和P0.3,DR1和P0.5,DATA和P0.7,CLK1和P0.9,CS和P0.11,GND和GND,VCC和3.3V连接。

2.8金属探测器LJ12A3-4-Z/BX传感器

图2—6LJ12A3-4-Z/BX

这个传感器和激光传感器FS2_60有点相似,棕色线接5V正极,蓝色线接GND,黑色线为信号线输出。

当探测到金属块时,输出信号为低电平;否则为高电平。

 

第3章无线遥控&自动寻迹小车软件设计

3.1基于ARM2103无线电发送模块程序的调试

#include"config.h"

#include"nRF2410.h"

#include"nRF2410Conf.h"

//====================================================================

//功能描述:

nRF2401无线模组配套演示程序发送端程序,

//运行程序后,按下KEY1—KEY6发送信号量

//=====================================================================//按键的宏定义

#defineKEY1(1<<16)

#defineKEY2(1<<17)

#defineKEY3(1<<18)

#defineKEY4(1<<19)

#defineKEY5(1<<20)

#defineKEY6(1<<21)

//接收端地址:

0000000001

INT8UAddress[5]={0x00,0x00,0x00,0x00,0x01};

/*************************************************************************

**函数名称:

main()主函数

**函数功能:

按下KEY1—KEY6,发送信号

**入口参数:

**出口参数:

***************************************************************************/

intmain()

{

nRF2401Initial();//初始化nRF2401A

nRF2401Mode

(1);//设置nRF2401A工作方式:

发送

nRF2401SetAddress(Address,5);//设置接收端地址0000000001

while

(1)

{

if((IO0PIN&KEY1)==0)

{

nRF2401SendByte(0x01);//发送键号"1"

DelayUs(1000000);

}

if((IO0PIN&KEY2)==0)

{

nRF2401SendByte(0x02);//发送键号"2"

DelayUs(1000000);

}

if((IO0PIN&KEY3)==0)

{

nRF2401SendByte(0x03);//发送键号"3"

DelayUs(1000000);

}

if((IO0PIN&KEY4)==0)

{

nRF2401SendByte(0x04);//发送键号"4"

DelayUs(1000000);

}

if((IO0PIN&KEY5)==0)

{

nRF2401SendByte(0x05);//发送键号"5"

DelayUs(1000000);

}

if((IO0PIN&KEY6)==0)

{

nRF2401SendByte(0x06);//发送键号"6"

DelayUs(1000000);

}

}

return0;

}

/*********************************************************************************************************

**EndOfFile

********************************************************************************************************/

3.2基于ARM2103无线电接收模块程序的调试

nRF2401Initial();//nRF2401A初始化

nRF2401Mode(0);//设置nRF2401A工作方式:

接收

PINSEL1&=~(0X33333333<<2);

IO0DIR|=(0X01<<17)|(0X01<<19)|(0X01<<21)|(0X01<<23);

IO0DIR|=(0X01<<25)|(0X01<<27)|(0X01<<29)|(0X01<<31);

IO0CLR=(0X01<<17)|(0X01<<19)|(0X01<<21)|(0X01<<23);

IO0CLR=(0X01<<25)|(0X01<<27)|(0X01<<29)|(0X01<<31);

if((nRF2401RxStatus())==1)//nRF2401A有数据请求

{

nRF2401ReceiveByte(RxBuf);//接收数据

switch(RxBuf[0])

{

case0x01:

IO0SET=(0x01<<17);

DelayUs(10000000/3);

break;

case0x02:

IO0SET=(0x01<<19);

DelayUs(10000000/3);

break;

case0x03:

IO0SET=(0x01<<21);

DelayUs(10000000/3);

break;

case0x04:

IO0SET=(0x01<<23);

DelayUs(10000000/3);

break;

case0x05:

IO0SET=(0x01<<25);

DelayUs(10000000/3);

break;

case0x06:

IO0CLR=(0x0

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

当前位置:首页 > 人文社科 > 法律资料

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

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