基于ARM 的智能寻迹小车

上传人:1666****666 文档编号:36106823 上传时间:2021-10-29 格式:DOC 页数:42 大小:1.90MB
返回 下载 相关 举报
基于ARM 的智能寻迹小车_第1页
第1页 / 共42页
基于ARM 的智能寻迹小车_第2页
第2页 / 共42页
基于ARM 的智能寻迹小车_第3页
第3页 / 共42页
点击查看更多>>
资源描述
天津职业技术师范大学Tianjin University of Technology and Education毕 业 设 计专 业: 班级学号: 学生姓名: 指导教师: 二一二 年 六 月天津职业技术师范大学本科生毕业设计基于ARM的智能寻迹小车The Design and Implementation of ARM-based Tracing Car专业班级:学生姓名:指导教师:系 别:2012年6月摘 要 自动寻迹车AGV (Automatic Guided Vehicle)是以微控制器为控制核心、蓄电池为动力、装有非接触导引装置的无人驾驶自动导引运载车,其自动作业的基本功能是导向行驶、认址停准和移交载荷。作为当代物流处理自动化的有效手段和柔性制造系统的关键设备,AGV已经得到了越来越广泛的应用,对AGV的研究也具有十分重要的理论意义和现实意义。 本文对基于ARM的自动寻迹小车进行设计,通过反射式光电传感器ST198或ST188来检测黑线,并把信号传给微控制器,进入相关控制程序,控制电机的转向来寻迹;接近终点时,检测到黑线停止。本设计选取NXP(Philips公司)推出的基于ARM7TDMI核的ARM2132作为微控制器,以ZLG(周立功)的EasyARM2131为开发板,选择容易操作的SM-202A为步进电机驱动芯片,及驱动力足够大的直流电机作为驱动器,电源由电池供给,组成一个完全独立的基于ARM的寻迹小车系统。本文在硬件设计的基础上,介绍了ARM的编译平台ADS V1.2、Keil,仿真器平台Protues 7.0等软件系统。通过软件和硬件的相结合实现相应功能。 关键词:AGV;反射式光电传感器;EasyARM2131;直流电机 ABSTRACTAGV (Automatic Guided Vehicle) is the unmanned driver automatic guided vehicle; its control center is the microcontroller; its driving power is storage battery, and its basic function of automatic action is guided driving, recognizing the address, stopping precisely and unloading. As the valid measure of contemporary logistics processing automation and the key equipment of flexible manufacture system, the AGV has already got more and more extensive application, so that the research on AGV has very important theory meaning and realistic meaning.This article is based on the ARM target homing mark car; examines the heavy line through reflection type photoelectric sensor ST198 or ST188; passes to the signal the microprocessor; enters the dependent program; and controls the electrical machinery to change seeks the mark. The microprocessor is NXP (Philips Corporation) based on ARM7TDMI nucleus ARM2131, EasyARM2131 made by ZLG is chosen as the development board; SM-202A easy to operate is chosen as the step-by-steps motor-driven chip, the driving influence enough achievement step-by-steps the electrical machinery; the power is sourced by the battery supplies; and the car system is made. It is introduced that ARM translation platform ADS V1.2, simulator platform Protues 7.0, and operation. The function is realized by hardware and software. Key word: AGV; Reflection type photoelectric sensor;EasyARM2131;DC motorI目 录1引言12ARM与智能车22.1ARM22.2智能车72.2.1AGV的主要系统构成82.2.2AGV-AGV地面(上位)控制系统92.2.3AGV-AGV车载(单机)控制系统93系统硬件设计113.1直流电机模块113.2电源模块123.3寻迹蔽障红外对管模块处133.3.1红外对管的概述133.3.2红外对管的应用133.3.3红外线接收头174系统程序设计214.1主程序流程图214.2模块程序设计流程图224.2.1寻迹模块224.2.2避障模块225系统调试245.1硬件调试245.1.1静态调试245.1.2联机调试245.2软件调试255.3系统调试25结 论27参考文献28致 谢29附录I 电路原理图30附录II 控制源程序31天津职业技术师范大学2012届本科生毕业设计1 引言自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。本设计就是在这样的背景下提出的,指导教师已经有充分的准备。本题目是结合科研项目而确定的设计类课题。设计的智能电动小车具有自动寻迹、避障功能。智能车要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给小车一个视觉功能。避障控制系统是基于自动导引小车(AVGauto-guide vehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并作出判断和相应的执行动作。确定如下方案:在现有玩具电动车的基础上,加装光电、红外线、实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至MCU(ARM)进行处理,然后由MCU根据所检测的各种数据实现对电动车的智能控制。该智能小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、执行部分、CPU。智能车要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外反射式传感器来充当。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。MCU驱动直流电机一般有两种方案:第一,勿需占用ARM资源,直接选择有PWM功能的MCU,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用MCU资源,难以精确调速,但MCU选择余地较大。考虑到实际情况,本文选择第二种方案。MCU使用ARM Cortex-M3,配合软件编程实现。本设计采用ARM Cortex-M系列中Cortex-M3。以M3为控制核心,利用红外线传感器检测道路上的障碍,控制电动小汽车的自动避障,以及自动停车,并可以自动记录时间、里程和速度,自动寻迹。 30天津职业技术师范大学2012届本科生毕业设计2 ARM与智能车2.1 ARMARM处理器是世界上最流行的嵌入式处理器,广泛应用于个人通信等嵌入式领域。在嵌入式领域,8位处理器已经不再胜任一些复杂的应用,比如GUI,TCP/IP,FILESYSTEM等,而ARM芯片凭借强大的处理能力和极低的功耗,非常适合这些场合。所以现在越来越多的公司在产品选型的时候考虑到使用ARM处理器,现在全世界嵌入式处理器的品种已经超过1000多种,流行的体系结构多达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的优点在于其并行性和高速的乘法运算性能,其主要应用在通信、电机控制、图象处理、硬盘控制等领域。但是ARM9的处理速度已经达到了1.1MIPS/MHz,时钟可以达到233MHz。而新出的ARM10可以达到700MHz。在处理速度上已经可以和DSP抗衡了。在开发成本上,ARM远远低于DSP。在生产成本上,ARM的价格也低于DSP。在开发难度上ARM低于DSP,因为 ARM的编程要灵活得多。在接口上,许多ARM芯片都内置了多个USB口、串口。有些还内置了集成音频接口和LCD控制器(可以达到彩色)。有些ARM芯片有PWM输出,可以取代DSP在电机控制等方面的应用。有些ARM还具备实时钟功能1。Altera出了内置FPGA的ARM,这可以取代DSP在通信方面的应用。有些ARM内置DMA控制器,可以取代DSP在硬盘行业的地位。连通信行业在国内占领先地位的华为和中兴都已经购买ARM核了。可见ARM在DSP的传统行业已经是步步为赢了。本系统采用意法半导体(ST)公司的STM32系列微处理器。STM32系列32位闪存微控制器使用来自ARM公司具有突破性的Cortex-M3内核,该内核是专门设计与满足集高性能、低功耗、实时应用、具有竞争性价格于一体的嵌入式领域的要求。STM32系列微控制器采用32位的ARM Cortex-M3内核,主要特点如下: (1) 最高工作频率为72MHz;(2) 具有单周期硬件乘法器和除法器; (3) 32Kb128Kb闪存程序存储器,6Kb至20Kb的SRAM; (4) 多重自举功能; (5) 2.0至3.6伏供电和I/O管脚; (6) 上电/断电复位(POR/PDR )、可编程电压监测器(PVD)、掉电监测器; (7) 内嵌416MHz高速晶体振荡器; (8) 内嵌经出厂调校的8MHz的RC振荡器; (9) 内嵌40KHz的RC振荡器; (10) 内嵌PLL为CPU提供时钟; (11) 2个12位模数转换器,1s转换时间(16通道); (12) 串行线调试(SWD)和JTAG接口; (13) 7通道DMA控制器,支持的外设:定时器、ADC、 SPI、I2C和USART; (14) 所有I/O口可以映像到16个外部中断。STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。STM32F101xC、STM32F101xD和STM32F101xE基本型系列使用高性能的ARM Cortex-M3 32位的RISC内核,工作频率为36MHz,内置高速存储器(高达512K字节的闪存和48K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含1个12位的ADC、4个通用16位定时器,还包含标准和先进的通信接口:多达2个I2C接口、3个SPI接口、和5个USART接口。STM32F101xx大容量基本型系列工作于-40至+85的温度范围,供电电压2.0V至3.6V,一系列的省电模式保证低功耗应用的要求。STM32F101xx大容量基本型系列产品提供包括从64脚至144脚的3种不同封装形式;根据不同的封装形式,器件中的外设配置不尽相同。下面给出了该系列产品中所有外设的基本介绍。STM32的整体结构框图如图2-1。图2-1整体结构框图本系统使用的Cortex-M3是一个32位的内核,在传统的单片机领域中,有一些不同于通用32位CPU应用的要求。 它的优势有: 1、先进的内核结构:ARM最新的、架构先进的Cortex-M3内核; 2、优秀的功耗控制:高效率的动态耗电机制;性能出众而且功能创新的片上外设; 3、高度的集成整合:电源监控器、上电复位等; STM32固件函数库; 主要模块包括时钟发生器、实时时钟RTC、中断、DMA控制器、A/D转换器、TIM定时器、USART模块等。这里重点介绍复位和时钟控制模块、内置“看门狗”模块。STM32共有3种形式的复位:系统复位、电源复位和备份区复位。系统复位将复位除时钟控制寄存器(CSR)中的复位标志和备份区域的寄存器外所有的寄存器。通常,系统复位由外部复位、看门狗复位、软件复位和低功耗管理复位信号触发。电源复位由上电/掉电复位(POR/PDR复位)触发。发生电源复位后,除备份区域外的所有寄存器均复位。 备份区域由主电源和备用电池供电。当供电正常时,备份区域仅由其控制寄存器(RCC_BDCR)的BDRST位触发软件复位。当主电源和备用电池均不供电时,其中一个电源的突然上电也会引起备份区域的复位。STM32的系统时钟可来自3个不同的时钟源:HIS振荡器时钟、HSE振荡器时钟、PLL时钟。每个时钟源都可以在不需要时关闭,以降低系统整体功耗。外部设备还具有下面两个二级时钟源:32kHz的低速内部RC振荡器(LSI_RC)用来驱动独立的看门狗和选择性的驱动用于从停止/待机模式自动唤醒的RTC; 32.768kHz的低速外部晶振(LSE)来选择性驱动实时时钟RTC。HSE时钟为高速外部时钟信号,既可以通过控制器的OSC_IN和OSC_OUT引脚跨接4 16MHz的无源晶体振荡器,也可以只通过OSC_IN接入一个最高为25MHz占空比为50%的外部时钟信号。HSE是否稳定靠时钟控制寄存器(RCC_CR)中的HSERDY标志位指示。启动时,时钟直至硬件置位该位后才能释放。HSE振荡器也可以通过控制寄存器RCC_CR中的HSEON位来打开或禁用。HIS时钟信号由控制器内部的RC振荡产生,频率为8MHz,既可作为系统时钟,也可以2分频后作为PLL的输入。HIS时钟不需要任何外围器件即可实现,不过其频率精度较低,需要校验。系统复位后,出厂的校验值会装载到时钟控制寄存器(RCC_CR )的HSICAL7:0位中。与HSE类似,HIS在RCC_CR寄存器中也有HISRDY标志位指示其是否稳定。同时,也有HISON位来控制HIS的打开或禁用。微控制器的内部有PLL可将HIS时钟或HSE时钟倍频。PLL在使用前必须配置好,当PLL启动之后,配置好的参数将不能被修改。LSE振荡器是一个32.768kHz的低速外部晶体,它是实时时钟的高精度专用时钟源。通过设置备份区域控制寄存器(RCC BDCR)的 LSEON位可以打开或禁用LSE。同时,在RCC _BDCR寄存器中也有LSERDY标志可以指示LSE晶体是否稳定。LSI RC振荡器是一个低功耗的时钟源,可以为独立看门狗(IWDG)和自动唤醒单元(AWU)运行在停止和待机模式时提供时钟。它可以通过设置控制/状态寄存器(RCC_CSR)的LSION位来打开或者禁用。与LSE类似,RCC_CSR寄存器中也有一个LSIRDY位指示LSI是否稳定。系统复位后,HIS振荡器被选择为系统时钟。更改系统时钟的选择必须遵循“先设置,后切换”的原则,即当一个时钟被选择为系统时钟时,它必须处于准备好的状态。如果尚未准备好,那么切换必须等待时钟准备好才能进行。STM32处理器内置2个看门狗,这两个看门狗(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时,触发一个中断或产生系统复位。两者适用情况:独立看门狗(IWDG)最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独工作,并且对时间精要求较低的场合。窗口看门狗(WWDG)最适合那些要求看门狗在精确计时窗口起作用的应用程序。1、独立看门狗(IWDG)独看门狗(IWDG)由专用的32kHz的低速时钟为驱动;因此,即使主时钟发生故障它也仍然有效。窗口看门狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的为。在键寄存器(IWDG_KR)中写入0xCCCC,开始启用独看门狗;此时计数器开始从其复位值0xFFF 递减计数。当计数器计数到末尾0x000 时,会产生一个复位信号(IWDG_RESET)。无论何时,只要键寄存器IWDG_KR 中被写入0xAAAA, IWDG_RLR中的值就会被重新加载到计数器中从而避免产生看门狗复位。2、窗口看门狗(WWDG)窗口看门狗通常被用来监测由外部干扰或可预见的逻辑条件造成的应用程序背离正常的运序而产生的软件故障。除非递减计数器的值在T6 位变成0 前被刷新,此看门狗电在达到可编程的时间周期时,会产生一个MCU 复位。在递减计数器达到窗口寄存器值之前,如果递减计数器值的第7 位(在控制寄存器中)被刷新, 那么也将产生一个MCU 复位。这表明递减计数器需要在一个有限的窗口中被刷新。主要特性: 可编程的自动运递减计数器 条件复位 当递减计数器的值小于 0x40,(若看门狗被启动)则产生复位。 当递减计数器在窗口外被重新装载,(若看门狗被启动)则产生复位。 如果启动看门狗,且允许中断,当递减计数器等于0x40 时产生早期唤醒中断(EWI),它可以被用于重装载计数器以避免WWDG 复位。功能:如果看门狗被启动(WWDG_CR 寄存器中的WDGA 位被置1),并且当7 位(T6:0)递减计数器从0x40 翻转到0x3F(T6 位清零)时,则产生一个复位。如果软件在计数器值大于窗口寄存器中的值时重新装载计数器,将产生一个复位。正常情况下,WWDG从设置的计数值递减到窗口寄存器的值(这个要被储存在WWDG_CR 寄存器中的值必须在0xFF 和0xC0 之间)时,会产生一个中断,应在中断程序中对WWDG_CR寄存器进行写操作,以防止MCU发生复位2。图2-2智能小车整体设计结构2.2 智能车AGV(Automated Guided Vehicles)又名自动导航车,无人搬运车,激光导航车。最早出现与20世纪70年代。指装备有电磁或光学等自动导引装置,能够沿规定的导引路径行驶,具有安全保护以及各种移载功能的运输车,其显著特点的是无人驾驶,AGV上装备有自动导向系统,可以保障系统在不需要人工引航的情况下就能够沿预定的路线自动行驶,将货物或物料自动从起始点运送到目的地。一般可透过电脑来控制其行进路线以及行为,或利用电磁轨道(electromagnetic path-following system)来设立其行进路线,电磁轨道粘贴于地板上,无人搬运车则依循电磁轨道所带来的信号进行移动与动作。目前,在企业的物流系统和离散制造的装配系统中已经起着非常重要的作用。它以电池为动力,装备有电磁或光学等自动导航装置,能够独立自动寻址,并通过计算机系统控制完成无人驾驶及作业3。图2-3 AGV基本组成架构2.2.1 AGV的主要系统构成AGV系统的控制是通过物流上位调度系统、AGV地面控制系统及AGV车载控制系统三者之间的相互协作完成的,AGV系统的硬件结构和AGV系统的软件结构曾有国外专家对AGV控制系统需解决的主要问题做了恰当的比喻:Where am I? (我在哪里?)Where am I going?(我要去哪里?) How can I get there?(我怎么去?),这三个问题归纳起来分别就是AGV控制系统中的三个主要技术:AGV的导航(Navigation),AGV的路径规划(Layout designing),AGV的导引控制(Guidance)。为了能够解决好这些问题,AGV系统的构成也必然复杂:AGV控制系统分为地面(上位)控制系统、车载(单机)控制系统及导航/导引系统,其中,地面控制系统指AGV系统的固定设备,主要负责任务分配,车辆调度,路径(线)管理,交通管理,自动充电等功能;车载控制系统在收到上位系统的指令后,负责AGV的导航计算,导引实现,车辆行走,装卸操作等功能;导航/导引系统为AGV单机提供系统绝对或相对位置及航向。 AGV系统是一套复杂的控制系统,加之不同项目对系统的要求不同,更增加了系统的复杂性,因此,系统在软件配置上设计了一套支持AGV项目从路径规划、流程设计、系统仿真(Simulation)到项目实施全过程的解决方案。上位系统提供了可灵活定义AGV系统流程的工具,可根据用户的实际需求来规划或修改路径或系统流程;而下位系统也提供了可供用户定义不同AGV功能的编程语言。2.2.2 AGV-AGV地面(上位)控制系统AGV地面控制系统(Stationary System)即AGV上位控制系统,是AGV系统的核心。其主要功能是对AGV系统(AGVS)中的多台AGV单机进行任务分配,车辆管理,交通管理,通讯管理等4。任务管理:任务管理类似计算机操作系统的进程管理,它提供对AGV地面控制程序的解释执行环境;提供根据任务优先级和启动时间的调度运行;提供对任务的各种操作如启动、停止、取消等。 车辆管理:车辆管理是AGV管理的核心模块,它根据物料搬运任务的请求,分配调度AGV执行任务,根据AGV行走时间最短原则,计算AGV的最短行走路径,并控制指挥AGV的行走过程,及时下达装卸货和充电命令。 交通管理:根据AGV的物理尺寸大小、运行状态和路径状况,提供AGV互相自动避让的措施,同时避免车辆互相等待的死锁方法和出现死锁的解除方法;AGV的交通管理主要有行走段分配和死锁报告功能。 通讯管理:通信管理提供AGV地面控制系统与AGV单机、地面监控系统、地面IO设备、车辆仿真系统及上位计算机的通信功能。和AGV间的通信使用无线电通信方式,需要建立一个无线网络,AGV只和地面系统进行双向通信,AGV间不进行通信,地面控制系统采用轮询方式和多台AGV通信;与地面监控系统、车辆仿真系统、上位计算机的通信使用TCP/IP通信。 车辆驱动:小车驱动负责AGV状态的采集,并向交通管理发出行走段的允许请求,同时把确认段下发AGV5。2.2.3 AGV-AGV车载(单机)控制系统AGV车载控制系统(Onboard System),即AGV单机控制系统,在收到上位系统的指令后,负责AGV单机的导航,导引,路径选择,车辆驱动,装卸操作等功能。导航(Navigation):AGV单机通过自身装备的导航器件测量并计算出所在全局坐标中的位置和航向。导引(Guidance):AGV单机根据目前的位置、航向及预先设定的理论轨迹来计算下个周期的速度值和转向角度值即,AGV运动的命令值。路径选择(Searching):AGV单机根据上位系统的指令,通过计算,预先选择即将运行的路径,并将结果报送上位控制系统,能否运行由上位系统根据其它AGV所在的位置统一调配。AGV单机行走的路径是根据实际工作条件设计的,它有若干“段”(Segment)组成。每一“段”都指明了该段的起始点、终止点,以及AGV在该段的行驶速度和转向等信息。车辆驱动(Driving):AGV单机根据导引(Guidance)的计算结果和路径选择信息,通过伺服器件控制车辆运行。AGV小结:首先,给大家两个英文单词Navigation(导航),Guidance(导引),这两个单词的意思是不一样的。导航是指确定自身的位置及航向;而导引是根据目前的位置、航向及理论轨迹来计算下个周期的速度值和转向角度值。有了这个概念后,我们分析一下磁带导引、电磁导引或其它形式的“有线”导引。他们都只能称为导引,而不叫导航。因为,这些导引方式只需AGV的相对位置,而与全局坐标无关!这也是为什么这类导引的AGV相对简单的原因:不需要复杂的导航计算(Dead-reckoning),甚至不需要导引计算,只需根据传感器的差分信号进行简单的转向控制。建议朋友们,不再说磁导航,而是叫磁带导引(Magnetic Tape Guidance)和电磁导引也称线导(Wire Guidance)6。AGV的导航/导引技术多种多样,不同的场合可采用不同的导引技术。单一的导引技术无法覆盖所有的应用:例如在有叉车行驶的场合我们就不宜选用磁带导引,可选用将导引线埋入地下的电磁导引;在由于工艺需要,路径需要经常变化的场合,可考虑激光导引7;在路径复杂的场合应尽量考虑“无线”方式(激光,陀螺),因为“有线”模式,只能是真正地理意义上的“路”,而“无线”模式的路径是虚拟的,可以重叠,交叉,可以乱得像一团麻,而即使这样,AGV的运行在系统的调度下也是有序的,路径的选择也是最优的,所谓“条条大路通罗马”。AGV就能像汽车一样,在受到前方车辆阻挡时还能够找到其它的路径,从而提升AGV系统的作业效率8。天津职业技术师范大学2012届本科生毕业设计3 系统硬件设计 智能小车采用前轮驱动,前轮左右两边各用一个直流电机驱动,调制后面两个轮子的转速起停从而达到控制转向的目的,后轮是万象轮,起支撑的作用。将循迹光电对管分别装在车体下的左右。当车身下左边的传感器检测到黑线时,主控芯片控制左轮电机停止,车向左修正,当车身下右边传感器检测到黑线时,主控芯片控制右轮电机停止,车向右修正。避障的原理和循线一样,在车身右边装一个光电对管,当其检测到障碍物时,主控芯片给出信号报警并控制车子倒退,转向,从而避开障碍物。本模块主要是对采集信号进行分析,同时给出PWM波控制点击速度,起停。以及再检测到障碍主动蔽障等作用。图3-1 系统原理框图3.1 直流电机模块本设计是利用ARM 来作为MCU来控制直流电机,直流电动机带动齿轮组,来决定小车左右轮的转与否和转的快慢。通过设置PWM波的占空比来控制直流电机的转速,占空比越大,转速越快,越小转速越低9。模块运用框图如图3-2所示。MCU (ARM)直流电机检测信号图3-2系统模块原理框图3.2 电源模块本设计用的光敏器件是个红外对管。红外对管是红外线发射管与光敏接收管,或者红外线接收管,或者红外线接收头。红外对管与半导体二极管在结构上是类似的,其管芯是一个具有光敏特征的PN结,具有单向导电性,因此工作时需加上反向电压。如图3-3所示。工作原理:当有红外线光照时,携带能量的红外线光子进入PN结后,把能量传给共价键上的束缚电子,使部分电子挣脱共价键,从而产生电子-空穴对(简称:光生载流子)。它们在反向电压作用下参加漂移运动,使反向电流明显变大,光的强度越大,反向电流也越大。这种特性称为“光电导”。图3-3 AD电压测量模块3.3 寻迹蔽障红外对管模块处3.3.1 红外对管的概述图3-4红外线接收头红外对管特征10: 红外线接收管是将红外线光信号变成电信号的半导体器件,它的核心部件是一个特殊材料的PN结,和普通二极管相比,在结构上采取了大的改变,红外线接收管为了更多更大面积的接受入射光线,PN结面积尽量做的比较大,电极面积尽量减小,而且PN结的结深很浅,一般小于1微米。红外线接收二极管是在反向电压作用之下工作的。没有光照时,反向电流很小(一般小于0.1微安),称为暗电流。红外对管分类: 红外线接收管有两种,一种是光电二极管,另一种是光电三极管。光电二极管就是将光信号转化为电信号,光电三极管在将光信号转化为电信号的同时,也把电流放大了。因此,光电三极管也分为两种,分别别是NPN型和PNP型。 红外对管作用11: 红外接收管的作用是进行光电转换,在光控、红外线遥控、光探测、光纤通信、光电耦合等方面有广泛的应用。3.3.2 红外对管的应用1、AD采样实现避障功能12图3-5蔽障功能电路图针对一些红外接收管容易收到可见光的影响,从而改变其阻值,容易造成系统的误判,可以考虑采用上面的电路。100-100K欧姆,是红外接收管在不同光线条件下(市内-阳光直射)的阻值的大小。在正常的光线下通过IOA0口A/D采集到一个电压值作为一个参考电压。 当随着光线变化时,IOA0口读进来的电压值也就发生变化,这个使用通过IOA4、IOA5、IOA6、IOA7依次选通,选择最接近参考值的电压作为判断电压。 该电路可以避免可见光带来的干扰,检测障碍物的距离在0-15cm。效果不错,缺点是引用占用IO口较多,操作较为复杂。2、 直流驱动避障电路图3-6直流驱动寻迹蔽障图直流驱动红外探测器电路的设计与参数计算电路如图所示。W1和R1及V1构成简单直流发光二极管驱动电路,调节W1可以改变发光管的发光光强,从而调节探测距离,NE555及其外围原件构成施密特触发器,其触发电平可通过W2控制,接收管V2和电阻R2构成光电检测电路。通过NE555第3脚输出的TTL电平可以直接驱动单片机I/O口13。 由于555输出信号为TTL电平,单片机检测方便。缺点是容易受可见光干扰。3、交流调制驱动避障电路 图3-7交流调制驱动避障电路LM567及其外围芯片构成音频检频器,其检频频率f0由R4、C5决定。其中f0为检频频率,当R4=10K,C5=222时,f0=41KHz。这一震荡信号经过V3扩流后,驱动发光管,这样处理后可以保证发光频率与检频频率严格一致使LM567的输出仅与光强有关。为进一步提升探测距离,我们还设立了一级交流放大器,其增益约为240倍,虽然这样大的放大倍数放大器的线性和稳定性会较差,但对于频率检测不会造成太大的影响14。4、液滴检测电路 图3-8液滴检测电路无液滴落下时,接收管与发射管正对,接收管接收到的光强较强,有液滴滴下时,下落中的水滴对红外光有较强的漫反射、吸收及一定的散射作用,导致接收光强的较大改变,接受光接收到的信号经一级施密特触发器,送单片机的中端口,据此就可以正确的谈测出液滴的滴落。 解决了因液体透明而使得发射不明显的问题。红外循迹电路采用反射接收原理配置了反射式红外线光电传感器。该传感器包括一个红外发光二极管、一个红外光敏三极管及其上拉电阻15。红外发光二极管发射一定强度的红外线照射物体,红外光敏三极管在接收到反射回来的红外线后导通,发出一个电平跳变信号。此套红外光电传感器固定在底盘前沿,贴近地面。正常行驶时,发射管发射红外光照射地面,光线经白纸反射后被接收管接收,输出高电平信号;电动车经过黑线时,发射端发射的光线被黑线吸收,接收端接收不到反射光线,传感器输出低电平信号后送微控制器处理,判断执行哪一种预先编制的程序来控制小车的行驶状态。前进时,驱动轮直流电机正转,进入减速区时,由微控制器控制进行PWM变频调速,通过软件改变脉冲调制波形的占空比,实现调速15。图3-9电动车的光电检测电路小车循迹原理是小车在画有黑线的白纸 “路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”黑线。笔者在该模块中利用了简单、应用也比较普遍的检测方法红外探测法。当小车在白色地面行驶时,装在车下的红外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到信号,那么图3-3中电三极管将导通,输出低电平,经LM324电压比较器送MCU控制。当小车行驶到黑色引导线时,红外线信号被黑色吸收后,光电三极管截止,输出高电平,从而实现了通过红外线检测信号的功能。将检测到的信号送到单片机I/O口,当I/O口检测到的信号为高电平时,表明红外光被地上的黑色引导线吸收了,表明小车处在黑色的引导线上;同理,当I/O口检测到的信号为低电平时,表明小车行驶在白色地面上。即当小车底部的某边红外线收发对管遇到黑带时输入电平为高电平,反之为低电平。为了保证小车沿黑线行驶,采用了两个检测器并行排列,左右方向都可以进行控制,控制精度得以提高。在小车行走过程中,结合查询方式,通过程序控制小车行走轨迹。如果左方向偏离黑线,则右侧的探头就会检测到黑线,把信号传送到MCU,进行处理校正。控制其向右转;如果右方向偏离黑线,则左侧的探头就会检测到黑线,把信号传送到MCU,进行处理校正。控制其向左转。从而保证小车沿黑线行驶。电路中的可调电阻可调节灵敏度,以满足小车在不同光度的环境中能够寻迹。由于接收对管装在车底,发射距离的远近较难控制,调节可调电阻,灵敏度不高,因此采用在对管上套塑料管,屏蔽外界光的影响,灵敏度将大幅提升。在该电路中,加比较器LM324的目的是使模拟量转化为开关量,便于处理16。3.3.3 红外线接收头图3-10红外线接头采用小型设计、内屏蔽模块封装,可以做红外线解码实验,红外线遥控器等等。配合遥控器完成遥控解码及红外遥控实验。在红外遥控系统中作为接收元件广泛应用于1、视听器材(如VCD、DVD、DVB、TV等) 2、家庭器材(如冷气机,电风扇、电灯等)3、红外线摇控(如玩具等) 金属封装红外线接收管,适用于各类光电转换的自控仪器,传感器.各类光电检测器的信号光源.根据驱动方式可获得稳定光.脉冲光,缓变光.常用于控制,报警等方面.持点;采用反射功能的结构形式,光功率较强,低驱动电压,易与晶体管电路匹配.结构坚固耐震.可靠性高.金属玻璃封装器件,耐磨耐温性好. 接收器对外只有3个引脚:Out、GND、Vcc与单片机接口非常方便,如图7所示。 脉冲信号输出接,直接接单片机的IO 口。 GND接系统的地线(0V); Vcc接系统的电源正极(+5V);四、红外线探测法检测信号红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号,再通过LM324作比较器来采集高低电平,从而实现信号的检测。避障亦是此原理。电路图如图3-11。市面上有很多红外传感器,在这里我选用TCRT5000型光电对管。图3-11循迹原理图此套红外光电传感器固定在底盘前沿,贴近地面。正常行驶时,发射管发射红外光照射地面,光线经白纸反射后被接收管接收,输出高电平信号;电动车经过黑线时,发射端发射的光线被黑线吸收,接收端接收不到反射光线,传感器输出低电平信号后送MCU处理,判断执行哪一种预先编制的程序来控制玩具车的行驶状态。前进时,驱动轮直流电机正转,进入减速区时,由单片机控制进行PWM变频调速,通过软件改变脉冲调宽波形的占空比,实现调速。最后经反接制动实现停车。前行与倒车控制电路的核心是桥式电路和继电器。电桥上设置有两组开关,一组常闭,另一组常开17。3-12电动车的方向检测电路(a)3-13电动车的方向检测电路(b)电桥一端接电源,另一端接了一个三极管。三极管导通时,电桥通过三极管接地,电机电枢中有电流通过;三极管截止时,电桥浮空,电机电枢中没有电流通过。系统通过电桥的输出端为转向电机供电。通过对继电器开闭的控制即可控制电机的开断和转速方向进而达到控制智能车前行与倒车的目的,实现随动控制系统的纠偏功能。前行与倒车控制电路所示。3-14前行与倒车控制电路4 系统程序设计 系统软件设计说明本系统软件采用模块化结构,由主程序循迹子程序、蔽障字程序、中断子程序显示子程序控制电机速度子程序算法子程序构成17。4.1 主程序流程图 图4-1主程序框图4.2 模块程序设计流程图在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法18。模块程序设计法的主要优点是:1、单个模块比起一个完整的程序易编写及调试;2、模块可以共存,一个模块可以被多个任务在不同条件下调用;3、模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。4.2.1 寻迹模块循迹框图:图4-2 循迹框图循迹程序:(见附录)4.2.2 避障模块避障框图:图4-3 避障框图避障程序:(见附录)5 系统调试根据方案设计要求,调试过程共分三大部分,硬件调试,软件调试,软件和硬件联调(即系统调试)。电路按模块逐个调试,各模块调试通过后再联调。程序先在最小系统板调试,通过后再软硬联调19。5.1 硬件调试5.1.1 静态调试线路的检查:通过目测和使用万用表,检查线路连接的正确性,有无断路或短路,有无虚焊的存在等。检查各主要元器件是否因为焊接而损坏,比如数码管等。核对元件:检察元件是否安装正确,有无损坏等。检查电源系统:在加入集成电路之前,应检查加入电源的品质,包括电源的电压以及负载能力等。只有当电源满足要求后,才能加上所有的元器件进行上电调试。5.1.2 联机调试虽然经过了静态测试,但仍有不少的硬件故障要在软硬件联机调试中才能发现。所以联机调试很有必要,具体操作如下:测试晶振电路和复位电路:这是单片机应用系统工作的最基本的条件,可用示波器或逻辑笔进行检查。测试存储器:将数据写入存储单元并读回比较,写入与读出的数据如果是一致的则表示存储单元能正常工作,否则有短路,断路或器件损坏的情况。测试I/O口和I/O设备:编写简单的测试程序,单独支持某一I/O口和与之相连的I/O设备,如果能自如的支配或控制,则表明I/O通道的工作正常。将通过以上的检测,如果各个测试环节,如果最终各环节都正常,那么硬件测试应该没问题了。5.2 软件调试程序模块编写完成后,首先通过汇编和编译。有些开发软件的功能比较强,能够模仿ARM的运行模式,直接在pc机上就可以调试编写的软件。对于大多数情况,还是需要把程序装入ARM系统中进行联机调试。直到每一个程序模块调试成功19。本设计中用ARM编程软件ADS1.2进行编写程序(汇编语言和C语言),对其中的部分电路进行仿真,ADS1.2编译器把汇编语言编写的源程序与ADS1.2内涵的库函数装配在一起,通过编译器编译生成目标文件。利用下载软件将程序代码下载到目标芯片中。1.小车的测试调试步棸:对于小车的整体来说测试要按照模块来进行,一般我认为应分为以下几个步骤:首先测试电源的工作情况,各个模块能否得到良好供电。红外对管安装完成后按照第三章中的方法依次测试每个光电管的电压变化情况,完成后根据测试数据调节电位器选择合适的参考电压然后依次测量比较器或运放的输出端有无根据检测到黑线的情况产生相应的电平变化,若没有则检查相应的电路和元件好坏,测试成功后进行下一步。检查ARM能否正常的烧写程序和工作。用ARM产生不同占空比的信号控制直流电机进行转角测试,找出小车转向的参考点和对应的PWM设置参数。测试前电机的工作情况并试验在不同频率和占空比的情况下电机的驱动能力。将外红对管和直流电机联合,编写程序测试转向情况。编写测试程序让小车初步运行。反复测试各参数变化对小车的影响,找出最有效的配置。对小车运行过程中各种可能出现的情况进行测试,发现问题、找出解决方法。整理数据,优化算法和程序设计。5.3 系统调试焊接完所有模块后,就要对系统的静态测试,就是对组成系统的各个模块分别进行功能测试,使其实现预定功能。在对各个模块调试完毕之后,再对整个系统进行整机联调。连接好电源,注意正负极性,连接好所有的I/O口,编写简单的测试程序,单独支持某一I/O口和与之相连的I/O设备,如果能自如的支配或控制,则表明I/O通道的工作正常。通过以上的检测,如果各个测试环节,如果最终各环节都正常,那么硬件测试应该没问题了。程序模块编写完成后,首先通过汇编和编译。有些开发软件的功能比较强,能够模仿ARM的运行模式,直接在pc机上就可以调试编写的软件。对于大多数情况,还是需要把程序装入单片机系统中进行联机调试。直到每一个程序模块调试成功。当硬件调试和软件模块调试之后,就可以进行系统调试。在系统调试时,应将全部硬件电路都接上,应用程序模块也都组合好,进行全系统软硬件调试。系统调试的任务是排除软硬件中的残留错误。使整个系统能够完成预定的工作任务,达到要求的技术性能指标。参考文献结 论本文介绍了AGV的基本理念,在讨论了循迹、避障等功能模块的原理后,讨论并确定了本系统的各项功能模块的所用期间。进而对相关模块的具体电路进行了设计。最后编写了系统的软件程序,完成了设计之初的功能要求。主要成果有:1、选用了功能强大的Cortex-M3微控制器作为自动导航车的控制器,能良好的处理检测数据,更为以后的系统扩展提供了空间。2、采用反射式红外线光电传感器作为循迹器件,硬件上三点并列的设计辅以检测程序,能准确的实现循迹功能。3、设计了带有“看门狗”技术的软件程序,保证了系统的良好运行。4、设计装配出了自动导航车实物。有待改进的地方: 随着科技进步和技术的发展,AGV的应用必将更加广泛,AGV的发展方向是规模化和智能化,所以再进一步研究要将群体通信和网络管理加入其中。AGV系统在技术上日趋成熟.其自身的运行速度、载重量、转弯半径、停车定位精度等技术指标不断提高,导向方式更加灵活,系统优化调度技术更加完善,应用领域也在不断拓宽。在今后研究中单一的导航已不能够满足提高导航与跟踪控制的精度,应采用多信息融合方法,以提高自动引导车运行的状态测定精度,从而提高自动引导车的导航与跟踪控制精度。为了提高AGV的可靠性和稳定性,在实际运用中CPU应采用工控机,直流电机应改为伺服电机。 AGV作为物流处理自动化的有效手段,在我国有着广阔的应用前景。因此投入必要的人力、物力、财力,研制出适度柔性化、高可靠性、低成本的AGV系统,必将带来一定的经济效益和社会效益。参考文献1 叶著. 磁导式AGV控制系统设计与研究.武汉:武汉理工大学,2006. 2王田苗.嵌入式系统设计与实例开发.北京:清华大学出版社,2004.3宋长会.移动机器人控制系统设计与研究. 哈尔滨:哈尔滨工程大学,2006.4龚根华.轮式移动机器人控制系统设计与研究. 北京:北京航空航天大学,2004.5李磊,叶涛,谭民等.移动机器人技术研究现状与未来.机器人.2002. 6 Satoshi Hoshino, Jun Ota, Akiko Shinozaki, Hideki Hashimoto. Improved design methodology for an existing automated transportation system with automated guided vehicles in a seaport container terminal. 2007, 21(3):3-57周立功.ARM嵌入式系统实验教程.北京:北京航空航天大学出版社,2004.8周立功 张华.深入浅出ARM7LPC213x/214x北京航空航天大学出版社,2009.9李玲娟.多细分两相混合式步进电机驱动器的研制.西北工业大学,200410刁奉丽.二相混合式步进电机微步驱动技术的研究与实现,西安理工大学,2006.11杨和平,周旋,童军.步进电机的特点及应用.黑龙江科技信息,2007.12韩利虎.浅谈步进电机的基本原理.内蒙古石油化工, 2007,11:240.13 徐淦卿,陈珏,程东杰.红外物理与技术.第1版,西安:西安电子科技大学出版社,1989. 14 张建奇,方小平.红外物理.第1版.西安:西安电子科技大学出版社,2004. 15 王宗陪.步进电动机的发展及建议.微电机,2004,37(4) 16 孔祥东.多细分三相混合式步进电机驱动器研究及实现.大连理工大学,2005.17 黄智伟、税梦玲 全国大学生电子
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!