基于ARM的寻迹小车_第1页
基于ARM的寻迹小车_第2页
基于ARM的寻迹小车_第3页
基于ARM的寻迹小车_第4页
基于ARM的寻迹小车_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 . . . XX郵電XX开放实验报告 题目:基于ARM的寻迹小车系 别: 信息与控制系 导师: XXX 小组成员: XXX 起止时间:2007.9.28至2007.12.1022 / 24目 录目录1ABSTRACT3第一章序言41.1课题背景41消费类电子产品应用42智能仪器、仪表类应用43通信信息类产品应用44过程控制类应用55国防武器设备应用56生物微电子应用51.2开发意义51.3课题完成功能6第二章系统各模块介绍72.1 总系统结构图72.2 电机驱动器SM-202A72.3 42BYG型号步进电机92.4 黑线检测电路102.5 电源的供给11第三章编译与仿真环境介绍113.1

2、NXP的ARM2131113.2 编译器ADS 1.2113.3 Protetus7.0与Keil for ARM16第四章系统硬件设计16第五章系统软件设计174.1软件流程图174.2 系统软件程序18第六章心得体会21参考文献22摘 要本文是基于ARM的自动寻迹小车,通过反射式光电传感器ST198或ST188来检测黑线,并把信号传给微控制器,进入相关控制程序,控制电机的转向来寻迹,终点时,同时检测到黑线停止。微控制器是NXP(Philips公司)推出的基于ARM7TDMI核的ARM2132,以ZLG(周立功)的EasyARM2131为开发板,选择容易操作的SM-202A为步进电机驱动芯片

3、,与驱动力足够大的型号为42BYG步进电机作为驱动器,电源由电池供给,组成一个完全独立的基于ARM的寻迹小车系统。介绍了ARM的编译平台ADS V1.2、Keil,仿真器平台Protues 7.0,与其操作。还介绍了ARM的C语言编程,步进电机驱动的功能与接线,还有黑线检测电路模块。给初学者一个很好的入门。关键词:基于ARM的自动寻迹小车 反射式光电传感器ST198或ST188EasyARM2131 步进电机驱动芯片SM-202A 步进电机42BYG C语言编程 ADS V1.2 KeilProtues 7.0 ABSTRACTThis article is based on the ARM

4、target homing mark car, examines the heavy line through reflection type photoelectric sensor ST198 or ST188, and passes to the signal the microprocessor, enters the dependent program, controls the electrical machinery to change seeks the mark.The microprocessor is NXP (Philips Corporation) promotes

5、based on ARM7TDMI nucleus ARM2131, (week renders meritorious service) EasyARM2131 take ZLG as the development board, SM-202A which the choice easy to operate is step-by-steps the motor-driven chip, and the driving influence enough big 42BYG achievement step-by-steps the electrical machinery, the pow

6、er source by the battery supplies, composes one completely independently to seek the mark car system. Introduced ARM translation platform ADS V1.2, simulator platform Protues 7.0, and operation. Also introduced the ARM C language programming, step-by-steps the motor-driven function and the wiring, b

7、ut also has the examination heavy line electric circuit. For beginner a very good crossing the threshold. Key word: Based on ARM target homing mark car Reflection type photoelectric sensor ST198 or ST188EasyARM2131Step-by-steps motor-driven chip SM-202AStep-by-steps electrical machinery 42BYGC langu

8、age programmingADS V1.2 Protues 7.0第一章 序言1.1课题背景嵌入式系统的应用广泛,它主要应用于以下几个方面:1消费类电子产品应用嵌入式系统在消费类电子产品应用领域的发展最为迅速,而且在这个领域中的嵌入式处理器的需求量也最大。由此可以清楚地理解“为什么从2006年开始以来中国联发科公司的MTK多媒体应用处理器的全球出货量如此巨大?”了,其2007年手机应用芯片的出货量将挑战1亿片。由嵌入式系统构成的消费类电子产品已经成为现实生活中必不可少的一部分。比如各式各样的信息家电产品,如智能冰箱、流媒体电视等。大家最熟悉的莫过于手机、PDA、电子辞典、数码相机、MP3/

9、MP4等。可以说离开了这些产品生活会失去很多的色彩。也许不久的将来,如果没有了这些消费类电子产品,生活就像以前没有电一样很不方便。即将上市的苹果公司i-Phone手机中的嵌入式ARM处理器的数量,估计会达到4个以上。2智能仪器、仪表类应用这类产品可能离日常生活有点距离,但是对于开发人员来说却是实验室里的必备工具,比如网络分析仪、数字示波器、热成像仪等。通常这些嵌入式设备中都有一个应用处理器和一个运算处理器,可以完成一定的数据采集、分析、存储、打印、显示等功能。可以说这些设备对于开发人员的帮助很大,大提高了开发人员的开发效率,可以说是开发人员的“助手”。3通信信息类产品应用这些产品多数应用于通信

10、机柜设备中,如路由器、交换机、家庭媒体网关等。在民用市场使用较多的莫过于路由器和交换机了。通常在一个典型的VOIP系统中,嵌入式系统会扮演不同的角色,有网关(gateway)、关守(gatekeeper)、计费系统、路由器、VOIP终端等。基于网络应用的嵌入式系统也非常多,可能目前市场发展最快的就是远程监控系统等监控领域中应用的系统了。4过程控制类应用过程控制类应用主要指在工业控制领域中的应用。对生产过程中各种动作流程的控制,如流水线检测、金属加工控制、汽车电子等。汽车工业已开始在中国取得了飞速的发展,汽车电子也在这个大发展的前提下迅速成长。汽车发动机控制器ECU是汽车中最为复杂且功能最为强大

11、的嵌入式系统,它包含电源、嵌入式处理器、通信链路、离散输入、频率输入、模拟输入、开关输出、PWM 输出和频率输出等各大模块。正在飞速发展的车载多媒体系统、车载GPS导航系统等也都是典型的嵌入式系统应用。美国Segway公司出品的两轮自平衡车,其部就使用嵌入式系统来实现传感器数据采集、自平衡系统的控制、电机控制等。5国防武器设备应用如雷达识别、军用数传电台、电子对抗设备等。在国防军用领域使用嵌入式系统最成功的案例莫过于美军在海湾战争中采用的一套Adhoc自组网作战系统了。利用嵌入式系统设计开发了Adhoc设备安装在直升机、坦克、移动步兵身上构成一个自愈合自维护的作战梯队。这项技术现在发展成为Me

12、sh技术,同样依托于嵌入式系统的发展,已经广泛应用于民用领域,比如消防救火、应急指挥等应用中。6生物微电子应用指纹识别、生物传感器数据采集等应用中也广泛采用嵌入式系统设计。现在环境监测已经成为人类突出要面对的问题,可以想像随着技术的发展,将来的空气中、河流中都可能存在着很多的微生物传感器在实时地检测环境状况。而且还在实时地把这些数据送到环境监测中心,以达到检测整个生活环境避免发生更深层次的环境污染问题。这也许就是将来围绕在我们生存环境周围的一个无线环境监测传感器网。对于已经过去的SARS等重大流行性疾病,人类可以在嵌入式系统的协助下与之对抗。1.2开发意义现在全世界嵌入式处理器的品种已经超过1

13、000多种,流行的体系结构多达30多个,嵌入式处理器的寻址空间也从64KB到2GB不等,其处理速度可以从0.1MIPS2000MIPS等。一般来说可以把嵌入式处理器分成以下4类: MCU(Micro Controller Unit)嵌入式微控制器,如:单片机、ARM; MPU(Micro Processor Unit)嵌入式微处理器; 嵌入式DSP处理器(Digital Signal Processor); 嵌入式片上系统(SOC)。8位的单片机将被ARM所取代,且ARM的优势也将赶上DSP。DSP的优点在于其并行性和高速的乘法运算性能,其主要应用在通信、电机控制、图象处理、硬盘控制等领域。但

14、是ARM9的处理速度已经达到了1.1MIPS/MHz,时钟可以达到233MHz。而新出的ARM10可以达到700MHz。在处理速度上已经可以和DSP抗衡了。在开发成本上,ARM远远低于DSP。在生产成本上,ARM的价格也低于DSP。在开发难度上ARM低于DSP,因为 ARM的编程要灵活得多。在接口上,许多ARM芯片都置了多个USB口、串口。有些还置了集成音频接口和LCD控制器(可以达到彩色)。有些ARM芯片有PWM输出,可以取代DSP在电机控制等方面的应用。有些ARM还具备实时钟功能。Altera出了置FPGA的ARM,这可以取代DSP在通信方面的应用。有些ARM置DMA控制器,可以取代DSP

15、在硬盘行业的地位。连通信行业在国占领先地位的华为和中兴都已经购买ARM核了。可见ARM在DSP的传统行业已经是步步为赢了。我本人认为:先学好单片机,包括它的汇编与C51开发,有单片机的基础,再学ARM;开始时,把ARM当作功能强大的单片机使用,即不要涉与操作系统;最后向嵌入式驱动开发,这要很深功,是这领域的专家级人物了。1.3课题完成功能本课题是一个完全独立的基于ARM的寻迹小车系统,能寻黑线前进,到终点停。用电池供电,有5V、12V,Easy2131板3V由5V通过USB分压供给。闭合电源,小车前移,通过车前的光电传感器来检测黑线。黑线时输出为低电平,白线时为高电平,这样有白到黑时,就可生成

16、一下降沿,进入下降沿触发的中断程序,控制一电机后转,从而改变了车向。就这样小车寻线前进。终点横置两条黑线,小车到时,两传感器同时检测到黑线,处理相关程序控制小车停。第二章 系统各模块介绍2.1 总系统结构图电机驱动器所需时钟信号CP由ARM2131的PWM提供;42BYG型步近电机的力矩对我们的应用来说足够大,很好用,需12V电压;ARM2131的3V电压由5V分压而来;检测黑线用反射式光电传感器ST188或ST198,并有相关的模块电路。这里都用电池供电,不仅要满足所需电压,还要考虑电流,即达到额定功率。因5V电源要为五个模块供电:两电机驱动器、两黑线检测电路、ARM2131,故满足其功率须

17、两个电池并联;8节充电电池提供1300MA、10.42V,电机为12V、0.5A,故可带动两电机。2.2 电机驱动器SM-202A高细分驱动器SM-202A:特点: 电源电压不大于+40VDC 斩波频率大于35KHZ 输入信号与TTL兼容 无CP脉冲电流自动减半 最大驱动电流1A/相 可驱动两相或四相混合式步进电机 双极性恒流斩波方式 光电隔离信号输入 SM-202A型:2、4、8、16、32、64、128、256;SM-202型:2、5、10、20、40 驱动电流可由开关设定 外型尺寸:85*59*19 重量:0.11kg引脚说明 +45V,GND端为外接直流电源,直流电压围为+12V+40

18、V。 A+,A-端为电机A相,B+,B-端为电机B相。 +COM端为光电隔离电源公共端,典型值为+5V,高于+5V时应在CP,DIR与FREE端串接电阻。 CP端为脉冲信号,下降沿有效。 DIR端为方向控制信号,电平高低决定电机运行方向。 FREE端为驱动器使能,高电平或悬空电机可运行。低电平驱动器无电流输出,电机处于自由状态。电气特性 (Tj=25) 输入电压+12V-+40V,典型值为+30V。 输出相电流0.15、0.25、0.40、0.5、0.6、0.7、0.85、1.00A。 信号逻辑输入电流10mA-25mA。 下降沿脉冲时间大于5us。 绝缘电阻大于500M。使用环境与参数 冷却

19、方式;自然冷却或强制风冷。 使用环境;尽量避免粉尘与腐蚀性气体。 温度;0°C- +50°C。 湿度;40- 89%RH。细分数由开关K1、K2、K3来选择。为降低成本, 两三个驱动器可共用一个电源。但应提高电源的额定功率和额定输出电流并需注意散热。注意:调节好CP与相应的细分数,CP太小,电机磁场没足够时间建立,会卡住不转。2.3 42BYG型号步进电机 电动机的选择。方案一:采用普通的直流电机。直流电机具有优良的调速特性,调速平滑、方便。调整围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转。能满足各种不容的特殊运行要求。方案二:采用

20、步进电机,步进电动机的一个显著的特点就是具有快速启动和停止能力,能够达到我们所要求的标准。如果负荷不超过步进电机所能提供的动态转矩值,就能够立即是步进电机启动或反转。其转换灵敏度比较高。正转、反转控制灵活。由于寻迹对于直流电机,很难控制其达到要求,因此采用步进电机作为动力源。其图、参数、接线图为:,C应改为A非,D应改为B非。2.4 黑线检测电路探测路面黑线的基本原理:光线照射到路面并反射,由于黑线和白纸对光的反射系数不同,可以根据接收到的反射光强弱来判断是否是黑线。利用这个原理,可以控制小车行走的路迹。下面几种可行的方案是根据本原理设计的:方案一:采用普通的发光二极管与光敏电阻组成的发射接收

21、方案,如图1-1所示。其工作原理:当无光照时,光敏电阻呈现高阻状态,又分压公式可知,电阻R2无压降三极管截止,三极管的集电极输出高电平;反之,当有光照的时候,光敏电阻接收到反射的光,其阻值下降,由分压公式,R2有压降三极管导通,输出低电平,利用高低电平可以判断控制小车的形程和方向。本方案能达到基本的控制要求,但是它的缺点在于容易受到外界光线的干扰,不易于控制小车的行迹,损坏了信号采集的效果。主要是因为可见光的反射效果跟地表的平坦程度、材料的反射情况有关直接影响到检测效果。图并不是此图,我用的是双极放大,且通过双极后,检测黑线为低电平,白的为高,不用加非门,就能适合中断触发。若要图,可跟老师要。

22、1-1发光二极管与光敏电阻组成的发射接收方案 方案二:脉冲调制的反射式红外发射接收器。由于采用该有交流分量的调制信号,侧可大幅度减少外界干扰;另外红外发射接收管的最大工作电流取决于平均电流。如果采用占空比小的调制信号,再平均电流不变的情况下,瞬时电流很大(50100mA),大大提高了信噪比。如图1-2所示。它的优点是消除了外界光线的干扰提高了灵敏度。1-2脉冲调制的反射式红外发射接收方案由以上两种方案比较可知。方案二虽然比方案一优势大,但是我们做的小车要求不是很高,方案一基本能满足要求,并且电路简单,工作还比较可靠,因此我们选择方案一作为小车的寻迹传感器。2.5 电源的供给没好用的电

23、池,应该能找到好用的。而这耗了我很多时间。第三章 编译与仿真环境介绍3.1 NXP的ARM2131其功能特点请见周立功的深入浅出ARM7LPC213x/214x(上册),在到处学术抄袭情况下,这是一本很认真地书。ARM2131是ARM7TDMI核,三级流水线,部集成几种很通用的模块,寄存器不是很多,管脚也不是很多,这就很适合初学者,可把它当作功能强大的单片机使用,不必熟悉ARM体系结构与汇编指令,而用C写,其余的事由编译器完成。3.2 编译器ADS 1.2ARM编译器有IDE、ADS、IAR、Keil等。对于我们来说,常用的是ADS、Keil,相对好用。ADS1.2的安装请见相关的介绍。ARM

24、2131工程模板用周立功现成的,主要用的命令有:Compile、Make、Debug。调试软件AXD不会用,它全是汇编指令。ARM2131支持并口在线仿真,用的是JTAG;并口与串口写程序,写在flash。并口软件为H-JTAG V0.6.0,串口软件为LPC_ARM_ISP_V2.2.3,都能在.zlgmcu.下到。JTAG仿真。装好软件,连接好并口,打开,其界面为:点击,读取芯片型号。选择DebugInRAM, Compile、Make、Debug。进入AXD界面,点击ProjectCreat target,点击ADD,增加C:/Program Flies/H-JTAG/H-JTAG.de

25、l文件。然后点击运行,就写入到RAM中了,可仿真了。并口写,前面都一样,只是要选DebugInFLASH,点击,进入并做如下设置。再Compile、Make,就可生成HEX文件,这文件用来烧程序、加载到Proteus中来仿真。点击或H-JTAG中的,有如下界面,并做如下设置:然后,点击、,OK!但我从来没写成功过,因写到87%就停了。若有问题可Email、Tel取得周的技术支持。串口写程序。打开,其界面为:做如下设置:连接好串口,短接上JSP1,P0.0与TXD0, P0.1与RXD0接上。点击,弹出,按板子的复位键并确认,就读出了芯片型号。分别点击、,程序就固定了,断开JSP1,按复位键就能

26、跑片子了。注意:只有断开JSP1才能跑程序。3.3 Protetus7.0与Keil for ARM双击来打开,然后加载元件、画图。跟做单片机时一样用。Keil for ARM 可用 Keil 2、Keil 3,也和单片机一样操作,不过要进行一些配置,这里就不提了,请参考其他的。第四章 系统硬件设计硬件接线如下图:P0.5接DIR1; P0.6接DIR2 ;P0.7接CP,两电机共用一条; P0.16接ZuoZhuan,为其中一光电传感器的输入信号;P0.20接YuoZhuan,为另一光电传感器的输入信号。SM-202A的EA可不接。注意:都要共地线,ARM2131、SM-202A、电机、黑线

27、检测模块。总的说,其电路简单。调式电路时,要善于使用检测工具,万用表、示波器等。还要就是要坚持,成功终属你的。第五章 系统软件设计4.1软件流程图总流程图中,先进行管脚设置,包括:管脚功能选择、方向选择、置“1”还是清“0”;再PWM2初始化,提供CP;设置中断,分配中断到向量中断,设置中断服务程序地址,设置外部中断的触发电平与极性,使能个中断、IRQ中断。然后,等待中断。定时是用来,控制电机所转角度。定时长短由实际测量中的经验值决定。有可能角度过大超线,那就重新定时想另外一边转;也有可能转度不够,那就再转。外部中断程序,包括左传、右转。先把定时器关了,再判到终点没,并有去干扰延时,也为经验值

28、,可改动。中断程序都要清除中断标志与通知VIC中断处理结束,以响应下次中断和其他中断。4.2 系统软件程序#include "config.h"#definePWM2(2 << 14)/P0.7#defineDIR1(1 << 5)/P0.5#defineDIR2(1 << 6)/P0.6#define KEY1(1 << 16)/P0.16,EXINT0#define KEY5(1 << 20)/P0.20,EXINT3void _irq IRQ_youzhuan(void);void _irq IRQ_zuoz

29、huan(void);void _irq IRQ_Timer0(void);void DelayNS (uint32 dly)/延时程序uint32 i;for ( ; dly>0; dly-)for (i=0; i<5000; i+);void PWM2_Init()PWMPR = 0x00;/不分频,PWM计数频率为FpclkPWMMCR = 0x02;/PWMMR0与PWMTC匹配时复位PWMTCPWMPCR = (1 << 0) |/PWM2单边沿控制 (1 <<10);/使能PWM2输出 PWMMR0 = Fpclk/400;/PWM速率控制/计数

30、初值,T=1/400s,/经验值,电机转速PWMMR2 = PWMMR0/2;/PWM1的位置,方波作为STK_CLK PWMLER = 0x05;/锁存0,2的PWM匹配值PWMTCR = 0x02;/复位PWMTCPWMTCR = 0x09;/使能PWMvoid Timer0_Init(void)T0TC=0;/定时器设置为0T0PR=0;/时钟不分频T0MCR=0x03;/设置T0MR0匹配复位T0TC,并产生中断标志T0MR0=Fpclk/10;/1/10s定时,/经验值,小车转弯角T0TCR=0x01;/启动定时器0T0IR= 0x01;/清除中断标志void EINT_Init(v

31、oid)VICIntSelect=0;/设置所有中断匹配为IRQ中断VICVectCntl0 = 0x20 | 14;/分配EINT0中断到向量中断0 VICVectAddr0 = (uint32)IRQ_zuozhuan; /设置中断服务程序地址 EXTMODE = 0x01;/设置EINT1为边沿触发。/极性寄存器使用默认值,0,下降沿 VICVectCntl1 = 0x20 | 17;/ 分配EINT3中断到向量中断1 VICVectAddr1 = (uint32)IRQ_youzhuan; / 设置中断服务程序地址 EXTMODE = EXTMODE | 0x06;/设置EINT3为边

32、沿触发。/极性寄存器使用默认值,0,下降沿EXTINT = 0x09;/ 清除EINT0、EINT3中断标志VICVectCntl2 =0x20 | 4;/分配Timer0中断到向量中断2 VICVectAddr2 = (uint32)IRQ_Timer0; /设置中断服务程序地址 T0IR = 0x01; VICIntEnable = (1<<4)|(1 << 14) | (1 << 17);/使能Timer0、INT0、EINT3中断IRQEnable();/使能IRQ中断void _irq IRQ_Timer0 (void)IO0SET = DIR2;

33、/输出为1IO0CLR = DIR1;/输出为0T0TCR=0x00;/禁止定时器0while( (T0IR & 0x01) !=0 )/等待外部中断信号恢复为高电平 T0IR = 0x01;/清除EINT0中断标志 VICVectAddr=0x00;/通知VIC中断处理结束void _irq IRQ_zuozhuan(void)T0TCR=0x00;/禁止定时器0if( (IO0PIN & KEY5 ) = 0 )DelayNS (10);/去干扰,3.9msif( (IO0PIN & KEY5 ) = 0 )/同时检测到黑线,停PWMTCR = 0x00;/禁止PWMelseIO0SET = DIR1 | DIR2;/输出为1Timer0_Init(); while (EXTINT & 0x01) != 0)EXTINT = 0x01;/清除EINT0中断标志VICVectAddr=0x00

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论