18 朱杰 避障机器人技术报告

上传人:e****s 文档编号:60773145 上传时间:2022-03-09 格式:DOC 页数:51 大小:4.41MB
返回 下载 相关 举报
18 朱杰 避障机器人技术报告_第1页
第1页 / 共51页
18 朱杰 避障机器人技术报告_第2页
第2页 / 共51页
18 朱杰 避障机器人技术报告_第3页
第3页 / 共51页
点击查看更多>>
资源描述
壁 障 小 车 技 术 报 告学 校: 江苏城市职业学院班 级: 09应用电子1班姓 名: 朱杰学 号: 18 目 录摘 要I第一章 引 言1 设计背景介绍11.2 本文章节安排及文献综述2第二章 方案选择52.2 C8051F360微处理器7第三章 硬件介绍20第四章 机械结构设计194.1 车模组装与改造194.1.1 车模组装194 前轮定位的调整194.1.3 差速的调整204.1.4 电路板的固定与安装20第五章 硬件系统设计与实现315.1 电源模块315.2 电机模块32第六章 软件系统设计与实现556.1 系统初始化55第七章 开发与调试617.1 软件开发环境介绍617.2 小车车整体调试61第八章 结论63 总结63 展望63参考文献I附录A:C8051F360 封装管脚图及信号说明48-Pin TQFPI摘 要此文基于我们所学的单片机、嵌入式控制及红外传感等相关知识,设计一个可以自动壁障的机器人。学习嵌入式系统的开发应用技术,应该是在基于某种嵌入式微处理器核的系统芯片应用平台上进行。鉴于CIP-51系列处理器核的优良特性及其在业界的广泛应用状况,并结合使用基于机器人工程驱动的嵌入式实训平台的需要,本节对如何构造CIP-51嵌入式开发环境等根本情况进行介绍。第一章 引 言 设计背景介绍机器人作为机械电子学、计算机技术、人工智能等的典型载体被广泛地用来作为工科生的讲授课程之一;模型机器人那么逐渐成为素质教育,技能实践的选题之一,各种机器人比赛正蓬勃开展。于信息技术教育与机器人教育的过程中发现,智能机器人涉及了信息技术的几乎所有内容,可以让学生接触并看到信息技术的全景,尤为重要的是智能机器人是信息技术的开放性开发平台,学生可以充分发挥想象力去开发各种智能装置,从而培养学生对信息技术的开发能力,在开发的过程中,培养各种能力,激发学习的兴趣。因此,智能教育机器人平台就显得非常重要,直接关系到学生知识的学习、能力的锻炼、知识的应用及创新思想的形成。以应用为中心的嵌入式系统,以计算机技术为根底,软硬件可裁减,适应对功能、可靠性、本钱、体积、功耗等综合性严格要求的专用计算机系统。嵌入式系统与通用计算机系统相比,具有以下特点:?1?相对于通用计算机系统,嵌入式系统的软硬件资源较少。一般嵌入式系统都是功耗低、体积小,结构紧凑、软件实时性强。?2?嵌入式系统的开发需要特殊方法和专用工具,每一种嵌入式系统之间存在很大的差异。在嵌入式系统的开发、设计等阶段都离不开通用计算机系统。?3?嵌入式系统的设计与开发在大多数情况下考虑的是系统的本钱。嵌入式系统设计初期的处理器选择要考虑很多方面的因素,其中本钱的大小占有很大比重。由于本钱、功耗、功能的不断扩展、运行环境的不可预知性等因素起了极大的负面影响,制约了机器人技术的开展。基于嵌入式系统的机器人控制器以其功耗低、体积小、集成度高、可靠性强等无可比较的优势,为机器人技术的开展提供了广阔的前景。以C8051F360 应用处理器为核心,开发和设计一款开放式的机器人控制系统,它包括机器人主控系统、机器人传感器系统、机器人执行系统、上层编程软件系统。机器人上层编程软件系统编写机器人的应用控制程序,通过仿真器、UART 或USB 把应用程序下载到机器人主控系统中,根据机器人传感器系统采集的数据对机器人执行系统进行控制,从而实现机器人的执行功能。1.2 本文章节安排及文献综述本文系统的介绍了制作本智能模型车的各项技术。具体章节安排如下:第一章 引言 介绍了本次比赛的背景,引出下文。第二章 方案选择 将智能车控制系统分解为模块,分别从各个模块讨论本壁障小车系统将要采用的控制方案。在这局部中,为了确定方案我们查找了很多文献,有关于传感器和传感器技术的,如参考文献3,4;还有关于机器人技术的,如参考文献5;以及关于去年比赛的论文,如参考文献6。第三章 机械结构设计 介绍了智能车的搭建与调整,以及摄像头、光栅编码器与电路板的安装。应用了一些相关的汽车理论知识,如参考文献8。第四章 硬件系统设计及实现 分析智能车系统各组成局部为实现特定功能应采用什么样的电路,能到达最好效果同时产生的噪声和对其他电路的干扰最小。参考的主要资料是芯片的datasheet,如参考文献7,9,10,11,12。第五章 理论分析与算法实现 从建模的角度分析车的运动形式,最后得出控制算法。其中,数学根底理论参考了文献13。在控制算法上,我们比照了模糊控制和PID控制,最终采用模糊控制。主要参考文献有14,15,16。第六章 软件系统设计与实现 介绍了本智能车系统的初始化,并且壁障程序的设计与分析第七章 开发与调试 介绍了软件开发的环境,以及对各局部的调试方法。我们软件开发环境为 Silicon Labs 集成开发环境,因此,我们仔细研究了Silicon Labs 使用指南参考文献17。第八章 总结与展望 总结了几个月来的工作,对未来进行了展望。第二章 方案选择本智能车系统采用模块化设计,分为测量模块、控制模块和执行模块。机器人主控器系统是机器人控制系统的核心,它有硬件系统和软件系统两局部组成。(1)硬件系统机器人主控系统硬件包括:微处理器、存储器、键盘电路、LCD液晶显示电路、I/O驱动电路、电源供电电路等。硬件电路框图如图1-2-3所示。 (2)软件系统机器人主控系统软件包括:系统启动程序、各模块硬件设备驱动程序、实时操作系统Real Time Operating System,RTOS等。软件框图如图1-2-4所示。机器人传感器系统起到了环境数据采集及处理的作用,它把处理的数据传给机器人控器系统。它有模拟量传感器系统和数字量传感器系统组成。(1)模拟量传感器系统模拟量传感器系统包括:红外测距、灰度、接近开关、温度传感器等。其硬件系统框图如图1-2-5所示。(2)数字量传感器系统数字量传感器系统包括:模拟量传感器扩展模块、电子罗盘、光电传感器扩展模块等。其组成包括:MCU、模拟量传感器、I2C通讯接口等,实现数据采集、数据处理和数据传输的功能。 图1-2-3机器人控制器系统硬件框图图1-2-4机器人主控制器系统软件框图图1-2-5模拟量传感器系统硬件框图机器人的所有动作均由起执行系统完成,对于小型机器人来说,它的执行系统一般由直流电机驱动机械传动机构来完成动作。本实验平台主要设计轮式机器人的执行系统,完成前进、后退、左转弯、右转弯等根本功能。这儿把执行系统分成轮式机器人本体设计、电机驱动设计、轮子驱动设计三局部。机器人本体设计包括传感器的位置安装、着地点的位置、重心位置等的设计;电机选择控制精度较高的步进电机;轮子驱动采用两轮驱动的方式。基于C8051F系列单片机的集成软件开发平台IDE对于工程研发人员来说是一个功能强大的开发工具。在EWARM 环境下可以使用C/C+和汇编语言方便地开发嵌入式应用程序。比较其他的ARM 开发环境,IAR EWARM 具有入门容易、使用方便和代码紧凑等特点。2.2 C8051F360微处理器C8051F360器件是完全集成的混合信号片上系统型MCU。其主要特性如下:1高速、流水线结构的8051兼容的CIP-51内核可达100MIPS。(2 ) 高速、流水线结构的与8051 兼容的微控制器核可达100MIPS。 3全速、非侵入式的在系统调试接口片内。 4真10位、200 ksps ADC,16路单端/差分模拟输入,带模拟多路器。 510位电流输出DAC。62周期的16 x 16乘法和累加引擎。 8达32KB 的片内FLASH 存储器1024字节被保存。 91280字节片内RAM。1064KB地址空间的外部数据存储器接口。 11硬件实现的SMBus/ I2C、增强型UART和增强型SPI串行接口。124个通用的16位定时器。13具有6个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列PCA。14片内上电复位电路、VDD监视器和温度传感器。 15两个片内电压比较器。 16多达39个端口I/O容许5V电压。具有片内上电复位电路、VDD监视器、看门狗定时器和时钟振荡器的C8051F36x器件是真正能独立工作的片上系统。FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。片内Silicon Labs二线C2开发接口允许使用安装在最终应用系统上的产品MCU进行非侵入式不占用片内资源、全速、在系统调试。调试逻辑支持观察和修改存储器和存放器,支持断点、单步、运行和停机命令。在使用C2进行调试时,所有的模拟和数字外设都可全功能运行。两个C2接口引脚可以与用户功能共享,使在系统编程和调试功能不占用封装引脚。每种器件都可在工业温度范围-40到+85内用100 MIPS或50 MIPS的电压工作。端口I/O 和/RST 引脚可容许高达5V 的输入信号。C8051F36x 有48脚TQFP 、32 脚LQFP 和 28 脚QFN也称为MLP 或MLF三种封装,均为无铅封装符合RoHS 标准。定货信息见表1-2-1。原理框图见图1-2-6。表1-2-1产品订货信息2.2.1 CIP-51TM 微控制器核1与8051指令集完全兼容C8051F36x系列器件使用Silicon Labs的专利CIP-51微控制器核。CIP-51与MCS-51TM指令集完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。C8051F36x系列器件的外设是标准8052的所有外设的超集,包括四个16位计数器/定时器、一个具有扩展波特率配置的全双工UART、一个增强型SPI 端口、1280字节内部RAM、128字节特殊功能存放器SFR空间和多达39 个I/O引脚。图1-2-6原理框图2速度提升CIP-51采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。在一个标准的8051中,除MUL和DIV以外所有指令都需要12或24个系统时钟周期,最大系统时钟频率为12-24MHz。而对于CIP-51核,70%的指令的执行时间为1或2个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。CIP-51共有111条指令。表1-2-2列出了各种指令执行时间指令执行时所需的系统时钟周期数所对应的指令条数。CIP-51 工作在最大系统时钟频率100MHz时,其峰值性能到达100MIPS。图1-2-7给出了几种8位微控制器内核工作在最大系统时钟时的峰值速度的比较。表1-2-2各种指令执行时间执行周数数1 22/433/544/558 指令数26 50516731213增加的功能C8051F36x SoC 系列MCU 在CIP-51内核和外设方面有几项关键性的改良,提高了整体性能,更易于在最终应用中使用扩展的中断系统为CIP-51 提供16个中断源标准8051中只有7个,允许大量的模拟和数字外设独立于微控制器工作,只在必要时中断微控制器。一个中断驱动的系统需要较少的MCU干预,因而有更高的实际性能。这些增加的中断源在建立一个多任务实时系统时非常有用。MCU 有8个复位源:上电复位电路POR、片内VDD监视器在电源电压下降到低于VRST 时强制CPU复位、看门狗定时器、时钟丧失检测器、由比较器0提供的电压检测器、软件强制复位、外部复位引脚复位和FLASH非法访问保护电路复位。除了POR、复位输入引脚及FLASH操作错误这三个复位源之外,其他复位源都可以被软件禁止。在一次上电复位之后的MCU初始化期间,WDT可以通过软件被永久性使能。图1-2-7 MCU 峰值执行速度比较C8051F36x 器件的内部振荡器在出厂时已经被校准为24.5MHz 2%。该内部振荡器周期可以由用户以大约0.5%的增量调整。器件内还集成了外部振荡器驱动电路,允许使用外部晶体、陶瓷谐振器、电容、RC 或CMOS 时钟源产生系统时钟。如果需要,系统时钟源可以在内部和外部振荡器电路之间自由切换。外部振荡器在低功耗应用中也是非常有用的,它允许MCU从一个低速节电时钟源运行,在需要时周期性地切换到快速最高达25 MHz的内部振荡器。另外,用片内提供的PLL可以到达更高的系统时钟速度,从而提高处理能力,如图1-2-8所示。CIP-51 有标准8051的程序和数据地址配置。它包括256字节的数据RAM,其中高128字节为双映射。用间接寻址访问通用RAM的高128字节,用直接寻址访问128字节的SFR地址空间。数据RAM的低128字节可用直接或间接寻址方式访问。前32个字节为4个通用存放器区,接下来的16字节既可以按字节寻址也可以按位寻址。图 1-2-8 片内时钟和复位程序存储器包含32KB/16KB的FLASH。该存储器以1024字节为一个扇区,可在系统重编程,且不需特别的外部编程电压。图1-2-9给出了MCU系统的存储器结构。2.2.3 片内调试电路C8051F36x器件具有片内Silicon Labs 2线C2接口调试电路,支持使用安装在最终应用系统中的产品器件进行非侵入式、全速的在系统调试。Silicon Labs的调试系统支持观察和修改存储器和存放器,支持断点和单步执行。不需要额外的目标RAM、程序存储器、定时器或通信通道。在调试时所有的模拟和数字外设都正常工作。当MCU单步执行或遇到断点而停止运行时,所有的外设ADC和SMBus除外都停止运行,以保持与指令执行同步。开发套件C8051F360DK具有开发应用代码和对C8051F36x MCU进行在系统调试所需要的全部硬件和软件。开发套件中包括开发者工作室软件和调试器、集成的8051汇编器、调试适配器、一块安装了相应MCU的目标应用板和所必需的电缆及墙装电源。开发套件需要一个运行Windows98 SE或更高版本Windows操作系统的PC机。对于开发和调试来说,Silicon Laboratories IDE接口比采用标准MCU仿真器要优越得多。标准的MCU仿真器要使用在板仿真芯片,还需要将MCU插到应用板上的插座中。SiliconLaboratories的调试环境既便于使用又能保持高精度模拟外设的性能,如图1-2-10所示。图1-2-9存储器组织C8051F36x器件最多有39个I/O引脚四个8位口和一个7位口。端口的工作情况与标准8051端口类似,但有一些改良。每个端口引脚都可以被配置为模拟输入或数字I/O引脚。被选择作为数字I/O的引脚还可以被配置为推挽或漏极开路输出。在标准8051中固定的“弱上拉可以被总体禁止,提供节电能力。数字交叉开关允许将内部数字系统资源映射到端口I/O引脚见图1-2-11。可通过设置交叉开关控制存放器将片内的计数器/定时器、串行总线、硬件中断以及其它数字信号配置为出现在端口I/O引脚。这一特性允许用户根据自己的具体应用选择所需通用端口I/O、数字资源和模拟资源的组合。图1-2-10开发/在系统调试示意图图1-2-11 数字交叉开关原理框图端口032.2.5 串行端口C8051F36x系列MCU内部有一个SMBus/I2C接口、一个具有增强型波特率配置的全双工UART和一个增强型SPI接口。每种串行总线都完全用硬件实现,都能向CIP-51产生中断,因此需要很少的CPU干预。2.2.6可编程计数器阵列除了4个16位的通用计数器/定时器之外,C8051F36x片内还包含一个计数器/定时器阵列见图1-2-12PCA原理框图。PCA包括一个专用的16位计数器/定时器和6个可编程捕捉/比较模块。计数器/定时器由一个可编程的时基驱动,时基可以在下面的6个时钟源中选择:系统时钟/12、系统时钟/4、定时器0溢出、外部时钟输入ECI、系统时钟和外部振荡器时钟源/8。外部时钟源选择对实时时钟功能非常有用,在这种情况下由外部源给PCA提供时钟,而内部振荡器驱动系统时钟。 图1-2-12 PCA原理框图每个捕捉/比较模块都有六种独立的工作方式:边沿触发捕捉、软件定时器、高速输出、频率输出、8位或16位脉冲宽度调制器。此外,捕捉/比较模块5还可用作看门狗定时器WDT。在系统复位后,捕捉/比较模块5即被配置和使能为WDT方式。PCA捕捉/比较模块的I/O和外部时钟输入可以通过数字交叉开关连到端口I/O。2.2.7比较器C8051F36x器件内部有两个电压比较器,可由用户软件使能/禁止和配置。可以通过输入多路选择器将端口引脚配置为比较器输入。每个比较器都提供两个可连到端口引脚的输出:一个锁存输出和/或一个非锁存异步输出。比较器的响应时间是可编程的,允许用户在高速和低功耗模式之间选择。正向和负向回差电压也是可编程的。比较器能在上升沿、下降沿产生中断,或在两个边沿都产生中断。当处理器工作在空闲方式时,这些中断可用作“唤醒源。比较器0还可以被配置为复位源。图1-2-13给出了比较器0的原理框图,图1-2-14给出了比较器1的原理框图。图1-2-13 比较器0原理框图注意:图1-2-12和图1-2-14中示出的第一组选择端口I/O引脚针对48脚器件C8051F360/3。第二组端口I/O引脚针对32脚和28脚器件C8051F361/2/4/5/6/7/8/9。更多的信息请参见CPTnMX存放器。2.2.8 10位电流输出DACC8051F360/1/2/6/7/8/9内部有一个10位电流方式数/模转换器IDA0。IDA0的最大输出电流可以有3种不同的设置:、1mA和2mA。IDA0具有灵活的输出更新机制,允许无缝满度变化,支持无抖动波形更新。IDA0提供三种更新方式,允许IDA0输出在写IDA0H、定时器溢出或外部引脚边沿到来是更新。图1-2-15给出了IDA0的功能框图图1-2-14 比较器1原理框图图1-2-15 IDA0功能框图第三章 硬件介绍基于机器人工程驱动的嵌入式教学实训平台主控制器的实物如图1-2-16所示,同时按照实际使用需要将其接口大致划分为几个部份如表1-2-3所示。图1-2-16 基于机器人工程驱动的嵌入式教学实训平台主控制器实物图正反面表1-2-3 基于机器人工程驱动的嵌入式教学实训平台主控制器接口接口名称接口说明接口A电源接口BJTAG接口接口C液晶显示屏接口接口D模拟传感器数据跳接口接口E液晶显示屏接口接口F灰度阵列/键盘接口接口GC8051F360芯片接口HSPI接口接口I电机驱动板接口接口J模拟传感器接口接口LUSB接口接口MI2C接口.1电源如图1-2-16接口A所示。基于机器人工程驱动的嵌入式教学实训平台主控制器由9V/12V电源供电,使用电源适配器或者使用电池供电,分别是:9V/12V给电机供电;5V给I/O口驱动、数字和模拟传感器等供电;3.3V给主控芯片、传感器采集系统、串口等供电。基于机器人工程驱动的嵌入式教学实训平台主控制器电源供电系统框图如图1-2-17所示。电源系统所用芯片如表1-2-4。表1-2-4 电源系统芯片列表芯片VS2576数量11功能9V转5V(1) 9V12V转5V电源设计这局部电源设计采用开关稳压芯片VS2576,该芯片输出5V电压,输出电流可达3A,稳定度高,加上滤波电容,性能可以满足要求。电路如图1-2-18所示。图1-2-17 系统供电电源框图图1-2-18 9V12V转5V电源电路图采用开关稳压芯片AMS1117-3.3,该芯片输出电压3.3V,输出电流可达5A。电路如图1-2-19所示。图1-2-19接口A说明如表1-2-5所示:表1-2-5接口A说明名称说明SW1上拨:关闭电源下拨:开启电源JP149V电源插入接口5V05V电源指示灯3V3使用方法:使用前,请将SW1上拨关闭电源,然后插入电源,再将SW1下拨开启电源。3.1.2 JTAG接口如图1-2-16 接口B所示,JTAG口(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行调试和仿真。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG模块采用了10PIN仿真调试接口,如图1-2-20所示,表1-2-6为对应管脚定义。20PIN的插座连接C8051F360芯片的JTAG接口,插座的信号配置要和ARM LM LINK调试器接口一致。JTAG调试电路设计如图1-2-20所示。图1-2-20JTAG插针示意图表1-2-6 F360的JTAG插座管脚定义PIN号名称1VDD 2 , 3 , 9GND5/RST7/RST/C2CK610 NC使用方法:调试程序以及下载程序时将 JTAG接口按照缺口方向接上。不使用时拔下。3.1.3 电机控制信号输出口图1-2-16将电机控制信号输出口分为如下所示的12个组。电机物理幅员相对应布局说明如表1-2-7所示:表1-2-7 物理幅员相对应布局说明名称JP1电机控制信号输出口1JP2电机控制信号输出口2JP3电机控制信号输出口3JP4电机控制信号输出口4JP5电机控制信号输出口5JP6电机控制信号输出口63.1.4 模拟传感器数据输入接口接口E的定义与说明如表1-2-8所示:表1-2-8 接口C的定义名称说明JP2第 0 通道模拟传感器数据输入接口JP3第 1 通道模拟传感器数据输入接口JP4第 2 通道模拟传感器数据输入接口JP5第 3 通道模拟传感器数据输入接口JP6第 4 通道模拟传感器数据输入接口JP7第 5 通道模拟传感器数据输入接口JP8第 6 通道模拟传感器数据输入接口JP9第 7 通道模拟传感器数据输入接口按照图1-2-16物理幅员相对应的模拟设备接口布局说明如表1-2-9所示:表1-2-9 模拟设备接口定义说明管脚JP2JP3JP4JP51VDD5VVDD5VVDD5VVDD5V2ADC0ADC1ADC2ADC33AGNDAGNDAGNDAGND管脚JP6JP7JP8JP91VDD5VVDD5VVDD5VVDD5V2ADC4ADC5ADC6ADC73AGNDAGNDAGNDAGND使用方法: AD0AD7分别是第0通道模拟传感器数据输入接口第7通道模拟传感器数据输入接口的模拟数据输入端。使用时请以电源管脚为参考连接即可。板子上3针的接口右端到左端分别是是电源、ADC、地线。接传感器时请注意不要接反。3.文本转语音音频接口l 文本转语音控制器主要是通过SPI 实现与文本转语音语音模块的通讯。在我们的设计里,主要只实现SPI 模块到文本转语音的数据传送, 以及文字转发音功能。SPI 模块与文本转语音模块之间的通讯遵循SPI 协议。文本转语音模块事物图如图1-2-21所示:图1-2-21 语音模块接口JP3说明如表1-2-10所示:表1-2-10 接口JP3说明名称说明JP3-1JP3-2JP3-3文本转语音模块MISO引脚JP3-4文本转语音模块MOSI引脚JP3-5文本转语音模块CS引脚JP3-6文本转语音模块CLK引脚JP3-7文本转语音模块RESET引脚JP3-8GND地线3. 液晶显示屏如下图,LCD液晶显示器采用5*7的双行点阵显示屏,它的接口框图如图1-2-22所示。利用C8051F360的通用输入/输出口对1602进行控制,到达显示的功能。图1-2-22 1602显示屏1602接口定义如表1-2-17:表1-2-171602接口定义第四章 机械结构设计在智能车比赛中,最主要的比赛内容是速度,而模型车的机械结构无疑是影响速度的关键因素之一。鉴于这个原因,我们对模型车的机械结构做了很多的工作,进行了大量的调整,到达了比较满意的效果。4.1 车模组装与改造4.1.1 车模组装模型车的组装工作看似简单,却需要很多的耐心和经验。首先,仔细阅读说明书。通过阅读模型车的装配图,可以了解各个不同零件的用途和安装顺序。然后,根据模型车的装配图组装智能车模型。由经验得到,在组装过程中,不但要注意模型车的组装顺序,而且由于模型车零部件较小,组装过程中要防止零部件滑落和丧失。特别是,由于模型车上的大局部零部件材质均为塑料,在拧螺丝以及对零件进行加工时要格外的小心,以免损坏。4 前轮定位的调整在调试中我们发现,模型车过弯时,转向舵机的负载会因为车轮转向角度增大而增大。为了尽可能降低转向舵机负载,我们对前轮定位进行了调整。前轮定位的作用是保障汽车直线行驶的稳定性,转向轻便和减少轮胎的磨损。前轮定位参数主要包括:主销后倾角、主销内倾角、前轮外倾角和前轮前束8。主销后倾角是主销轴线与地面垂直线在汽车纵向平面内的夹角。主销内倾角是主销轴线与地面垂直线在汽车横向断面内的夹角。前轮外倾角是汽车横向平面与车轮平面的郊县与地面垂线之间的夹角。在一般情况下,主销后倾角为0-3度,主销内倾角为0-10度,前轮外倾角为0度或者1度。在本模型中,后倾角过大会使得模型车转向沉重,从而使舵机转向存在严重的滞后,故在模型车中将主销后倾角调整为0度;主销内倾角过大不仅会使得转向变得沉重,还将加速轮胎的磨损,因此将主销内倾角控制在5度以内;前轮外倾角和前轮前束分别设为0度、0mm。4.1.3 差速的调整模型车的差速对转弯时的影响很大,差速不好会导致后轮空转,发生侧滑现像。我们通过添加推力轴承和润滑油的手段,改良差速装置,使得模型车在转向时,右轮与后轴之间的摩擦大大降低,从而提高了差速的效果,从而提高了小车的转向性能。4.1.4 电路板的固定与安装在电路板的安装这局部,我们考虑到结构的稳定性,以及规那么中对车辆尺寸的限制,最终决定采用高架、立体的搭建方法,即用支架把主控板较高地固定在底盘上方。这种布局可以保证车辆行驶稳定。第五章 硬件系统设计与实现硬件电路的设计是自动控制器的根底。智能汽车竞赛指定飞思卡尔公司S12系列的16位单片机MC9S12DG128作为核心控制处理器。本智能车采用了组委会提供的开发板MC9S12EVKC作为单片机最小系统,并在此根底上增加了各种接口电路板组成整个硬件系统。下面将对硬件设计中除了单片机最小系统之外的其他几个主要的模块设计进行讨论。5.1 电源模块电源模块为系统其他各个模块提供所需要的电源。设计中,除了需要考虑电压范围和电流容量等根本参数之外,还要在电源转换效率、降低噪声、防止干扰和电路简单等方面进行优化。可靠的电源方案是整个硬件电路稳定可靠运行的根底。全部硬件电路的电源由配发的标准车模用7.2V 2000mAh Ni-cd蓄电池提供。由于电路中的不同电路模块所需要的工作电压和电流容量各不相同,因此电源模块应该包含多个稳压电路,将充电电池电压转换成各个模块所需要的电压。主要包括以下不同的电压。l 5V电压。主要为单片机系统、信号调理电路以及局部接口电路提供电源,电压要求稳定、噪声小,电流容量大于500mA。l 12V电压。主要为CCD图像传感器提供12V的工作电源。l 7.2V电压。这局部直接取自蓄电池两端电压,主要为舵机、后轮电机驱动模块和局部接口电路提供电源。除了7.2V电压可以直接由蓄电池获得,5V电压需要通过降压稳压电路获得,12V电压通过升压稳压电路获得。电机驱动电路的电源可以直接使用蓄电池两端电压。模型车在启动过程中往往会产生很大的冲击电流,一方面会对其他电路造成电磁干扰;另一方面由于电池内阻造成电池两端的电压下降,甚至会低于稳压电路所需要的最低电压值,产生单片机复位现像。为了克服启动冲击电流的影响,可以在电源中增加容值较大的电解电容,也可以采用缓启动的方式控制电机。在启动时,驱动电路输出电压有一个渐变过程,使得电机启动速度略为降低从而减小启动冲击电流的幅度。5.2 电机模块直流电机的控制由单片机的PWM信号来完成,驱动芯片采用飞思卡尔半导体公司的半桥式驱动器MC33886。其工作电压为5-40V,导通电阻为120m,输入信号为TTL/CMOS,PWM频率小于10KHz。电路如图 3.7 所示。 图 3.7 MC33886电路示意图其中D1、D2是MC33886的使能端,IN1、IN2为输入端,OUT1、OUT2为其输出端。单片机通过PWM通道的占空比控制电机速度,IN2 和IN1分别接到PP1和 PP0上控制电机的正转和反转速度因为电机工作频率小于10KHz,所以一个通道控制电机速度就够了,正转为智能车加速,当转弯时利用了反转PWM波来控制电机的减速;D1和D2接到单片机的IO口上控制电机转动方向正转或反转。第六章 软件系统设计与实现6.1 系统初始化在各模块中,MC9S12DG128微控制器模块是控制核心,其他模块的初始化正是通过对单片机内部设置实现的。系统的初始化主要是对MC9S12DG128内部各存放器,各端口进行设置,并定义自变量,分配存储空间,使之满足系统要求。下面仅给出单片机初始化的结果,未涉及到的端口与模块不予描述17。n 工作模式 通过软件与硬件的结合,选定单片机工作模式为普通弹片模式。n 时钟设置单片机内部的总线频率为24MHz,CPU单元工作频率是总线频率的2倍为48MHz。n 存储空间分配对内部地址资源的分配采用普通单片工作模式初始化时默认的配置,即$0000到$0400为存放器地址空间,$2000到$3FFF为内部RAM地址空间,$4000到$7FFF为一块固定的Flash EEPROM地址空间,$8000到$BFFF为页面Flash EEPROM地址空间,$C000到$FFFF为一块固定的Flash EEPROM地址空间,其中$FF00到$FFFF为中断向量地址空间。n 复用端口设置 A端口为普通输入端口 J端口为中断输入端口 P端口为PWM信号输出端口n 各模块初始化 PWM模块0通道独立使用,4、5通道合并为一16位的PWM通道使用;PWM时钟选择为总线频率8分频即3MHz。 定时/计数器模块全部通道设置为定时模式;时钟选择为总线频率8分频即3MHz。此外,初始化时也对下面需用到的自变量进行了定义与赋初值,在此不作赘述。第七章 开发与调试7.1 软件开发环境介绍Silicon Labs集成开发环境(以下简称IDE)是一套完整独立的软件程序它为设计者提供了用于开发和测试工程的所有工具。程序的主要特点包括: 工程界面; 编辑器具有全功能窗口字体可配置; 调试器具有设置断点观察点单步等功能; 工具链接集成支持汇编器编译器和链接器; 可定制的工具菜单用于集成其它编译器或开发工具; Silicon Labs 配置向导可为指定的目标环境产生配置代码。7.2 小车车整体调试传感器调试红外距离感应模块是专为机器人设计的测障传感器,如图2-2-15所示。它通过发射红外线并测量红外线被反射的强度来输出反映和物体距离的电压信号,有效距离 1080厘米。红外测距功能如表2-2-6所示:图2-2-15 红外测距传感器表2-2-6红外测距功能编号名称/功能1VCC 电源线2GND 地线3Vo 输出信号线4发射管5接收管3红外测距模块的技术规格探测距离:10-80cm标准电流消耗:33-50 mA输出量:模拟量输出,输出电压和探测距离成比例电机调试1、正确连接PC 机、调试器和51实验平台;2、翻开电源,翻开Siliconlab IDE;3、翻开工程,编译、链接、进入调试、运行程序,观察小车的运动状态; 4、在app_main.c文件的app_main函数中编写简单的复眼运用程序,再次调试观察。代码例程下面是PWM实验的总体流程图: 图2-2-5 PWM实验的总体流程实验代码主要由以下函数组成: 函数名:void PWM_Init() 函数功能:PWM初始化函数名:void PWM_Port_Init()函数功能:PWM端口配置 函数名:void DC_Motor(uc motor_num,uc direction, uc motor_speed) 函数功能:改变PWM占空比整体调试第八章 结论 总结经过一组成员的努力,我们完成了壁障小车车系统的制作。整个车模硬件电路简单,在红外传感器的控制下,通过判断,使模型车转向准确稳定,能够完成壁障功能。该模型车在满设计要求的前提下,具有良好稳定性,并能够以较快的速度行驶。在最初的方案选择阶段,通过比较不同方法可能得到的结果明确了我们研究的方向。在机械设计方面,我们对模型车的性能不断的探索改良了前轮定位、差速、舵机力矩等,使得舵机的转向更加灵活、更容易控制,打滑现象根本解决。在图像采集和图像处理方面,我们以S12单片机为核心,结合摄像头的安装设计了合理的采集方法,并对采集的图像用阈值二值化方法进行处理,降低干扰。 展望同时由于时间的缺乏,在模型车的研究中还有许多需要改良的地方:1、本文所建立的智能小车车的运动模型是在理想情况下建立的,其实际情况要复杂的多,所建立的模型过于简单。另一方面,智能汽车是一个高度非线性化、时变的系统,如何对模型中的参数进行估计以及使模型更能反映实际车辆运动是一个需要进一步解决的问题。2、 在实现避障的功能从原理上是通过分析红外测距传感器的测量值判断障碍物的位置,然后驱动电机避开障碍物。通过连接三个红外测距传感器,机器人可以探测到120度的视角范围的障碍物,在障碍物较乱的情况下还是具有一定挑战性的3、 调试程序中可以在对程序有更深的理解会对我们今后的研究有很大帮助参考文献1 卓晴,黄开胜,邵贝贝.学做智能车挑战“飞思卡尔杯M.北京:北京航空航天大学出版社,2007.2 邵贝贝.单片机嵌入式应用的在线开发方法M.北京:清华大学出版社,2004.3 周继明,江世明,彭解华.传感器技术与应用M.长沙:中南大学出版社,2005.4 Ramon Pallas-Areny, John G. Webster. 传感器和信号调节(第二版)M.北京:清华大学出版社,2003.5 宗光华.机器人的创意与实践M.北京:北京航空航天大学出版社,2004.6 卓晴,王琎,王磊.基于面阵CCD的赛道参数检测算法.7 MC33886 Technical Data, Freescale Semiconductor July 2005.8 余志生.汽车理论第3版M.机械工业出版社,2004.9 LM1117 800mA Low-Dropout Linear Regulator, National Semiconductor February 1999.10 MC34063A/E DC-DC Converter Control Circuits, Motorola.11 Motorola MC9S12DG128 Device User Guide Motorola, Inc.12 LM1881 Video Sync Separator, National Semiconductor June 2003.13 熊万龙.基于Kalman滤波器的自主车辆定位方法研究J.湖南:国防科技大学学位论文,2005.14 殷人昆,陶永雷,谢假设阳,盛绚华.数据结构(用面向对象方法和C+描述) .北京:清华大学出版社.2005.15 关柏青.基于彩色视觉和模糊控制的移动机器人路径跟踪J.河北工业大学学位论文.2002.16 M.北京:国防工业出版社,2004.17 飞思卡尔HC08/HCS12 系列微控制器开发环境- Codewarrior使用指南.18 孙景琪等,视频技术与应用.北京工业大学出版社.19 .附录 实验例程void main() unsigned int ad_test;unsigned int i = 0;SystemInit(); while(1) DodgeObstruction();void DodgeObstruction()unsigned char ad_distance_left = 0;unsigned char ad_distance_midl = 0;unsigned char ad_distance_rigt = 0;while(1)ad_distance_left = GetIR_Distance(2);ad_distance_midl = GetIR_Distance(3);ad_distance_rigt = GetIR_Distance(4);if(ad_distance_left40 & ad_distance_midl40 & ad_distance_rigt40)DC_Motor(1,0,60); DC_Motor(3,0,60);DC_Motor(2,0,60);DC_Motor(4,0,60);if(ad_distance_rigt40)DC_Motor(1,0,60); DC_Motor(3,0,60);DC_Motor(2,2,10);DC_Motor(4,2,10);if(ad_distance_midl40)DC_Motor(1,2,70); DC_Motor(3,2,70);DC_Motor(2,2,70);DC_Motor(4,2,70);if(ad_distance_left40)DC_Motor(1,2,10); DC_Motor(3,2,10);DC_Motor(2,0,60);DC_Motor(4,0,60);void DC_Motor(unsigned char motor_num,unsigned char direction, unsigned char motor_speed)unsigned char SFRPAGE_save = SFRPAGE; SFRPAGE = CONFIG_PAGE;if(!motor_speed)switch(motor_num)case 1:PCA0CPH0 = 255;break;case 2:PCA0CPH1 = 255;break;case 3:PCA0CPH2 = 255;break;case 4:PCA0CPH3 = 255;break; case 5:PCA0CPH4 = 255;break;case 6:PCA0CPH5 = 255;break; default: break;else switch(motor_num)case 1:PCA0CPH0 = 255 - (motor_speed+116);break;case 2:PCA0CPH1 = 255 - (motor_speed+116);break;case 3:PCA0CPH2 = 255 - (motor_speed+116);break;case 4:PCA0CPH3 = 255 - (motor_speed+116);Break; case 5:PCA0CPH4 = 255 - (motor_speed+116);break;case 6:PCA0CPH5 = 255 - (motor_speed+116);break; default: break;switch(direction)case 0: if(motor_num=1) P3 &= 0x20; /P1.3 = 0,即DIR0置0if(motor_num=2) P1 &= 0x10; /P1.4 = 0,即DIR1置0if(motor_num=3) P1 &= 0x20; /P1.5 = 0,即DIR2置0if(motor_num=4) P1 &= 0x40; /P1.6 = 0,即DIR3置0if(motor_num=5) P3 &= 0x40; /P3.6 = 0,即DIR4置0break;case 1: if(motor_num=1) PCA0CPH0 = 255;if(motor_num=2) PCA0CPH1 = 255;if(motor_num=3) PCA0CPH2 = 255;if(motor_num=4) PCA0CPH3 = 255;if(motor_num=5) PCA0CPH4 = 255;if(motor_num=6) PCA0CPH5 = 255;break;case 2: if(motor_num=1) P3 |= 0x20; /P3.5 = 1,即DIR0置1;if(motor_num=2) P1 |= 0x10; /P1.4 = 1,即DIR1置1;if(motor_num=3) P1 |= 0x20; /P1.5 = 1,即DIR2置1;if(motor_num=4) P1 |= 0x40; /P1.6 = 1,即DIR3置1;if(motor_num=5) P3 |= 0x40; /P3.6 = 1,即DIR4置1;break;default: break;SFRPAGE = SFRPAGE_save;附录A:C8051F360 封装管脚图及信号说明48-Pin TQFP图 A-1 48-Pin TQFP 封装管脚图
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


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

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


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