DSC_0017.JPG
DSC_0017.JPG

基于激光传感器的智能车系统设计(单驱动寻白线)

收藏

资源目录
跳过导航链接。
压缩包内文档预览:
预览图
编号:23305129    类型:共享资源    大小:36.39MB    格式:RAR    上传时间:2019-11-07 上传人:qq77****057 IP属地:江苏
30
积分
关 键 词:
基于 激光 传感器 智能 系统 设计 驱动 寻白线
资源描述:
基于激光传感器的智能车系统设计(单驱动寻白线),基于,激光,传感器,智能,系统,设计,驱动,寻白线
内容简介:
本科毕业毕业设计(论文)任务书院 别机电学院专业机械电子工程班级学生姓名学号指导教师职称题 目基于激光传感器的智能车系统设计(单驱动寻白线)毕业设计(论文)的主要任务与具体要求(有实验环节的要提出主要技术指标要求)(1)掌握微控制器的原理与应用;(2)基于激光传感器的智能车总体方案的设计和比较;(3)智能车的电源模块、电机驱动模块、舵机驱动模块和数据采集模块的设计;(4)编写智能车的相关程序;(5)调试智能车,智能车(激光传感器)的速度5m/min。进度安排(包括时间划分和各阶段主要工作内容)(1)在图书馆、Internet网上查阅相关文献资料;(1-2周)(2)整理汇总资料,进行方案设计及其比较,拟定最佳设计方案;(1-2周)(3)展开具体系统设计过程,计算设计数据,绘制结构设计草图;(2.5周)(4)电气部分设计和程序编制;(2周)(5)撰写设计论文(12000-15000字),绘制1-2张A0图纸总量;(2-3周)主要参考文献1 濮良贵、纪名刚.机械设计(第六版)M,北京:高等教育出版社,2000年;2 徐灏.机械设计手册 M,北京:机械工业出版社,1991年9月; 3 吴宗泽.机械零件设计手册(第四版)M,机械工业出版社,2004年;4 周开勤.机械零件手册(第四版)M,北京:高等教育出版社,1998年;5 潘永雄.新编单片机原理与应用M,西安:西安电子科技大学出版社 2003; 指导教师签名系(教研室)审核意见任务接受人(签名)年 月 日审核人签名: 年 月 日年 月 日备注:1、本任务书一式三份,由指导教师填写相关栏目,经系审核同意后,系、指导教师和学生各执一份。 2、本任务书须装入学生的毕业设计(论文)档案袋存档。 本科毕业论文(设计)开题报告院别机电学院专业机械电子工程班级姓名学号联系方式题目基于激光传感器的智能车系统设计(单驱动寻白线)一. 本课题的研究意义近年来,智能车辆己经成为世界车辆工程领域研究的热点和汽车工业增长的新动力,很多发达国家都将其纳入到各自重点发展的智能交通系统当中。智能车辆是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,是典型的高新技术综合体。目前对智能车辆的研究主要致力于提高汽车的安全性、舒适性,以及提供优良的人车交互界面。智能汽车的行驶控制一直以来是自动化、汽车等学科研究的目标,为了追求小车的高速和稳定的目的,人们对人工智能与机器人技术,汽车技术,自动控制技术各方面都进行了更广泛、更深入的研究,这样无疑对学术研究和生产应用都有很强的实际意义。智能车涉及到的专业知识有自动控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科,对控制及汽车电子学科水平的提高,具有良好的长期推动作用。在实际应用中,驾驶员对车辆的操作实质上可视为对一个多输入、多输出、输入输出关系复杂多变、不确定多干扰源的复杂非线性系统的控制过程。驾驶员既要接受环境如道路、拥挤、方向、行人等的信息,还要感受汽车如车速、侧向偏移、横摆角速度等的信息,然后经过判断、分析和决策,并与自己的驾驶经验相比较,确定出应该做的操纵动作,最后由身体、手、脚等来完成操纵车辆的动作。因此在整个驾驶过程中,驾驶员的人为因素占了很大的比重。一旦出现驾驶员长时间驾车、疲劳驾车、判断失误的情况,很容易造成交通事故。 通过对车辆智能化技术的研究和开发,可以提高车辆的控制与驾驶水平,保障车辆行驶的安全畅通、高效。对智能化的车辆控制系统的不断研究完善,相当于延伸扩展了驾驶员的控制、视觉和感官功能,能极大地促进道路交通的安全性。智能车辆的主要特点是以技术弥补人为因素的缺陷,使得即便在很复杂的道路情况下,也能自动地操纵和驾驶车辆绕开障碍物,沿着预定的道路轨迹行驶,这对未来的车辆智能技术的发展具有重大的意义。二. 本课题的基本内容1. 总体方案的确定 主要功能的确定以及功能结构和机构布局的初步确定。2. 智能车的电源模块的设计采用低压差型稳压芯片TPS7350设计稳压电路,输出噪声小的5v直流电,为传感器和单片机供电,使得系统正常运行。3. 电机驱动模块的设计 利用两个BTS7970,搭建H桥,组成驱动电路,驱动电机正转和反转。4. 舵机驱动模块的设计 利用S3010舵机和SD5舵机,设计舵机连杆,连接前轮转向和传感器摇头,通过输出不同的占空比,来控制舵机转向,从而使得智能车达到前轮转向和信号跟踪的目的。5. 数据采集模块的设计 通过激光传感器的分时发射技术,以及激光调制技术和采集技术,采集各个发射管的信号,并对信号进行放大和耦合处理后输入单片机;另外,经过编码器测定智能车的行驶速度信号,通过脉冲的形式输入单片机的外部中端口。6. 控制程序的设计 通过编写程序,处理激光传感器和编码器的信号,并通过PID算法,和部分局部修正算法,使输出控制信号,控制舵机转角和电机驱动。7 智能车调试调试智能车,使得智能车的速度5m/min。三课题的重点和难点课题的重点:激光传感器的设计,信号跟踪装置的设计,判断最佳行驶路径的准确度。课题的难点:信号跟踪装置的设计,激光调制技术方案的设计。四论文提纲1. 绪论2. 机械部分的设计 1) 转向机构的设计(1)舵机转向的设计(2)舵机电路的设计 2) 传动机构的设计 (1) 电动机传动方案设计(2) 差速器设计 3) 传感器的设计(1)激光传感器的设计(2)测速传感器的设计3. 单片机部分的设计1) 单片机硬件的设计2) 控制时序的设计3) 编程设计4. 机械部分和单片机部分的组装5. 运行和调试产品6. 参考文献五创新之处创新之处:本智能车通过激光传感器和编码器,设计了可根据一定轨道行驶的智能模型车。同时结合机械传动部分,设计了信号跟踪装置的技术方案,使得智能车在行驶过程中,检测装置都能够采集到有效的道路信息,这不仅提高了信号检测的可靠性,还提高了智能车系统的稳定性和速度。六参考文献1 濮良贵、纪名刚.机械设计(第六版)M,北京:高等教育出版社,2000年;2 徐灏.机械设计手册 M,北京:机械工业出版社,1991年9月; 3 吴宗泽.机械零件设计手册(第四版)M,机械工业出版社,2004年;4 周开勤.机械零件手册(第四版)M,北京:高等教育出版社,1998年;5 潘永雄.新编单片机原理与应用M,西安:西安电子科技大学出版社 2003;指导教师意见: 指导教师签名: 年 月 日教研室或系审核意见: 教研室(系)主任签名: 年 月 日 备注:本开题报告须装入学生的毕业论文(设计)档案袋存档。基于激光传感器的智能车系统设计(单驱动寻白线)毕 业 论 文(设 计)题 目: 基于激光传感器的智能车系统设计(单驱动寻白线) (英文): Smart Car Design Based on Laser sensor (Single drive look for the white line) 院 别: 机电学院 专 业: 机械电子工程 姓 名: 学 号: 指导教师: 日 期: 1基于激光传感器的智能车系统设计(单驱动寻白线)摘 要本设计硬件平台采用带MC9S12XS128处理器的S12环境,软件平台为CodeWarrior IDE 4.7开发环境,车模为1:16的仿真车模。整个设计涉及车模机械结构调整、传感器电路设计及信号处理、控制算法和策略优化等多个方面。通过实验多套方案,并进行改进和升级,针对光线强度对传感器的影响进行了大量底层和选型测试,最终确定现有的系统结构和各项控制参数。工作方式简介:通过对激光发射管的调制、发射和接收设计,单片机接收到激光返回来的赛道信息后通过处理识别前面的路径,配合编码器测速来控制速度和转向舵机,采用自制的H桥电路控制电机,使小车顺利完成比赛,并在此基础上通过调整参数再提高小车速度,优化小车行驶路径。关键词:智能车,激光传感器,控制策略,路径识别,PID算法Smart Car Design Based on Laser sensor (Single drive look for the white line) AbstractThe design hardware platform S12 with MC9S12XS128 processor envirnment.Software platform for the CodeWarrior IDE 4.7 development environment.Cars 1:16 emulation car.Throughout the design involves Cars mechanical structural adjustment.Sensor cirucuit design and signal processing.Control algorithms and strategies for optimization.Through several sets of experimental programs,and make improvements and upgrades.Been extensively tested for the influence of liaht intensity sensor.Ultmately determine the existing system structure and the control paramentersWork Profile:Through modulation of the laser tube,transmitting and receiving design,MCU receives the laser returns to track information through the identification in front fo path .With the encoder tachometer to control speed and steering servos.H-bridge circuit to control the motor using self.Make the car smooth finish.And improve the speed of the car by adjusting the parameters on this basis.Optimize the car driving path.Keywords: smart car; laser sensor; control strategy; path identification;PID algorithm目录1绪论11.1概述11.1.1主芯片MC9S12XS128 功能概述11.1.2MC9S12XS128B最小系统设计31.2智能车发展和应用前景61.2.1智能车的发展历史61.2.2应用前景72车模安装92.1前轮机械调节92.1.1主销内倾角92.1.2主销后倾角102.1.3前轮外倾角102.1.4前轮前束102.2后轮机械调节112.2.1传动齿轮的调节112.2.2后轮距的选择122.2.3离地间隙的调整122.2.4差速器的调节122.3舵机的安装及转向分析122.3.1舵机的转向分析132.3.2整车布局143方案的论证与选择153.1路径识别路径识别信号部分153.1.1激光传感器的选择153.1.2激光传感器及其支架的安装153.2电动机驱动与调速163.3速度检测203.4本章小结204硬件电路设计214.1电源电路214.1.1激光传感器的供电214.1.2舵机供电214.1.3其他器件的供电224.2电机驱动224.3激光传感器234.4测速电路244.5本章小结245系统软件设计255.1主流程255.2赛道情况检测275.2.1激光传感器信号采集275.2.2黑线信息的提取275.2.3 路径信息采集及处理方法285.3速度检测305.4本章小结306开发与调试316.1开发环境的应用316.2BDM调试器的使用346.2.1Hiwave初始参数设置346.3程序下载366.4程序调试386.5本章小结387总结39参考文献40致谢41附录A42附录B54基于激光传感器的智能车系统设计(单驱寻白线)1 绪论1.1 概述本设计的任务主要是简述基于激光传感器采集信号,单片机控制的自动寻迹小车的设计方法,包括智能车的电路设计、软件设计、车身机械设计调整、控制芯片的运用、控制算法的实现和制作过程的调试策略等等。整个设计过程涵盖了电工与电子技术、编控制程、传感技术(如速度传感、光电传感等)、信号处理、模式识别、制图、计算机、机械、电子通讯等多门学科。1.1.1 主芯片MC9S12XS128 功能概述MC9S12XS128 是飞思卡尔半导体公司的汽车电子类产品,早在飞思卡尔还没有从摩托罗拉分离出来前就已经诞生了。它隶属于飞思卡尔单片机的S12 系列,其内核为CPU12 高速处理器。MC9S12XS128 的封装有两种,一种为80 引脚的,它没有引出扩展总线,且AD 转换只引出了8 路;一种为112引脚的,两种都采用了表面贴片式封装。下图为112 引脚的MC9S12XS128 引脚图:图1.1 MC9S12XS128引脚图MC9S12XS128 拥有丰富的片内资源,有16路AD转换,精度最高可设置为10位;有8路8位PWM 并可两两级联为16位精度PWM,特别适合用于控制多电机系统。它的串行通信端口也非常丰富,有2 路SCI,2 路SPI 此外还有IIC,CAN总线等端口,并且采用了引脚复用功能,使得这些功能引脚也可设置为普通的IO 端口使用。此外,它内部还集成了完整的模糊逻辑指令,可大大简化我们的程序设计。以下是它的系统结构图:图 1.2 MC9S12XS128的系统结构图1.1.2 MC9S12XS128B最小系统设计以MC9S12XS128B芯片为核心的最小系统,如图1-3所示。该系统主要包括以下几个部分:时钟电路、串口电路、BDM接口、供电电路、复位电路和调试用LED灯。各部分的功能分别如下:(1)时钟电路为单片机提供一个外接的16MHz的石英晶振。(2)串口的RS-232驱动电路可实现TTL电平与RS-232之间的转换。(3)BDM接口允许用户通过该接口向单片机下载和调试程序。(4)供电电路主要是给单片机提供+5V的电源。(5)复位电路是通过一个复位芯片给单片机一个复位信号。(6)调试用的LED灯和单片机的PORTB口相连,供程序调试使用。图1.3 最小系统图 1、时钟电路时钟电路是单片机系统可靠运行的关键之一。如果时钟电路在设计上存在问题,会造成时钟电路不稳定,且时钟电路的高频响应噪声会引起系统的兼容性下降,会成为系统永久的隐患。这种不稳定因素带来的不可靠性会给整个系统的调试工作带来极大的困难,设计人员一般很难发现会是由于时钟电路设计不合理或辅助元器件参数有问题造成的。因此,在辅助元器件参数的选择、印刷电路板的布线等方面给予很大的重视。在设计时钟电路时,可以使用有源振荡器作为外部时钟,并且振荡器的频率不必太高,积累足够的经验后再使用频率更高的晶振。若使用无源石英晶振时,也可以不使用内部锁相环倍频电路。标准的MC9S12XS128单片机的时钟电路,通过吧一个16MHz的外部晶振接到单片机的外部晶振输入接口EXTAL和XTAL上,然后利用MC9S12XS128内部的压控振荡器(VCO)和锁相环(PLL)把这个频率提高到25MHz,使之作为单片机工作的内部总线时钟。值得注意的是,MC9S12XS128单片机的外时钟电路既可以使用串联振荡电路,也可以使用并联振荡电路。使用串联振荡电路时,XCLKS引脚即PE7引脚要拉低,而使用并联振荡电路或外部有源振荡器时,该引脚要拉高。因此,在最小系统的设计中,通常会设计一处跳线,方便选择外部有源振荡器还是串联振荡电路。图所示是最小系统外接无源晶振的接口电路。若直接使用有源振荡器,则可以接一个16MHz的外部有源晶体振荡器,经单片机内部分频后得到一个8MHz的总线时钟。由于EXTAL的输入电压为2.5V,故有源晶体振荡器输出的时钟信号必须经分压后才可以和EXTAL连接。对于锁相环模块,需要加上一个如图1.5所示的滤波电路。其中,VDDPLL引脚由单片机内部提供2.5V电压,XFC端是压控振荡器(VCO)的电压控制器,通过给锁相环电路编程,以数字方式锁定VCO的控制端电。而Cs,Cp和Rs的取值与晶振、REFDV寄存器和SYNR寄存器有关,需要通过计算得出,若其参数选择不当,会是VCO的控制端电压抖动,导致系统工作不正常。图1.4 最小系统外接无源晶振的接口电路 图1.5 锁相环滤波电路 2、串行口的RS-232驱动电路通过串口驱动电路中的RS-232电平转换芯片,单片机可以利用异步通信协议与PC机通信。RS-232电平转换芯片可以实现TTL电平与RS-232电平之间的转换,然后再通过9芯串行口与PC进行串口通讯。 3、电源电路HCS12单片机的芯片内部使用3V电压,而I/O端口的外部供电电压为5V。通常需要采用滤波电路改善系统的电磁兼容性,降低系统对电源的高频干扰。4、复位电路复位电路的作用是产生一个低电压信号给MC9S12XS128的RESET端,使系统上电启动。在最小系统中,通常使用低电压复位芯片MC34064,使上电复位更加可靠。而在设计系统目标板时,也可以只用一只0.1F的电容替代电路中的MC34064。同时,在系统目标板上通常添加一个手动复位按钮,以方便调试时使用。5、BDM接口BDM接口是连接BDM调试工具,其中BDMIN接口是接BDM调试工具,向MC9S12XS128单片机下载程序用的。若下载相应的BDM调试工具软件到目标板后,这块板就具有了BDM调试器功能。BDMOUT接口是当开发上的应用程序为BDM调试器程序时,此接口可以用做BDM调试器的输出口。如果不打算将这块目标板用作BDM调试器,可以不引出BDMOUT接口,从而有更多的I/O口可供用户的应用程序使用。 6、单片机并行口及驱动能力并行口模块是单片机中最简单的I/O模块,其他功能模块如SCI,SPI,PWM,CAN等在不作为相应功能模块使用时,也可以作为并行口模块使用。如果在单片机的并行口上连接一些发光二极管(LED)可用于调试时显示系统的应用程序的某些状态。S12单片机的引脚共有92个,都可以当做I/O引脚使用。特别是A口、B口、K口常用于CPU总线扩展时的总线接口,它们不用做中线扩展是只能作为并行口使用。并行I/O口上有一个方向寄存器,他控制并行I/O口时用于输入还是输出。若方向寄存器相应位清零,表示该位用于输入;往方向寄存器相应位写1,表示改位用于输出。为安全考虑,单片机的I/O口在复位时,方向寄存器是清零的,即复位后所有I/O口都默认为输入口。并行I/O口在初始化时,要往相应的方向寄存器位写1,才能将改口定义为输出。对于定义为输出口的单片机引脚,可输出逻辑1或逻辑0,在5V供电的情况下,逻辑1不低于4.2V,逻辑0不高于0.8V。如果不作特别说明,一般单片机的I/O口的驱动能力相当于一个TTL晶体管的驱动能力。TTL晶体管导通时,输出为0,相当于输出端接地,允许流过晶体管的典型电流为4mA;TTL晶体管截止时,输出端通过片内的上位电阻保持输出端高电平。当作为高电平输出用时,与高电平可能的输出电流相比,低电平有较强的吸收电流的能力,不能指望有单片机向外提供功率,也不能指望单片机输出的高电平可以直接点亮一个LED灯,而要利用晶体管的导通,靠外部供电来驱动输出设备。这样,当单片机的引脚输出高电平,晶体管截止,相当于开路,LED熄灭。S12单片机的I/O接口有较强的电流吸收能力,各I/O接口可以允许10mA吸收电流,此时输出端仍能保证不高于0.8V。11.2 智能车发展和应用前景1.2.1 智能车的发展历史1953年,美国Barrett Electric 公司制造了世界上第1台采用埋线电磁感应方式跟踪路径的自动导向车,也被称作“无人驾驶牵引车”。20 世纪60 年代和70年代初,AGV仍采用这种导向方式。但是,20 世纪70 年代中期,具有载货功能的AGV在欧洲得到了应用并被引入到美国。这些自动导向车主要用于自动化仓贮系统和柔性装配系统的物料运输。在20 世纪70年代和80年代初,AGV的应用领域扩大而且工作条件也变得多样化,因此,新的导向方式和技术得到了更广泛的研究与开发。2美国国防远景研究规划局DARPA从2004年开始举办无人车大奖赛,以百万美元的奖金吸引各大高校和企业参与无人驾驶车辆的研究工作。根据研究人员的记录,他们曾经以为导航是比赛中比较难攻克的部分,结果却发现这部分是很容易自动化的,相反对于“驾驶”这一人类最容易掌握的技能的自动化实现却是最难的,要让机器像人一样的去驾驶显然有很长的路要走,最顶尖的队伍采用了比人类知觉还要灵敏的高级传感器。往往人类认为最容易使用的技能恰恰是机器人最难实现的,比如学习能力和思考。上海交通大学、法国国家信息与自动化研究所(lNR叫和葡萄牙cnimbra大学联合组成的CyberC3项目组,重点研究面向城市环境的无人自动驾驶车辆,旨在为未来的城市提供一种灵活、高效、安全、环保的新型公共交通工具。经过研究,人们发现如果能把人放置在车路系统之外,便可以比较容易降低事故率。因此,车辆自动驾驶是智能交通系统的重要组成部分。3“飞思卡尔”杯智能车竞赛于2000年在韩国首次举办,我国于2006年8月举办第一届“飞思卡尔”杯全国智能车竞赛,当时吸引了来自全国50所高校的112支代表队的参与。在2007年的第二届智能车竞赛中,来自全国26个省(自治区)、直辖市的130余所院校的242支队伍分为5个赛区进行角逐,比赛场面空前激烈。4截至2011年止“飞思卡尔”杯全国智能车竞赛已经成功举办了五屇,汽车在规定的跑道上行走,所用的时间最短者即可获胜,现在智能车的速度有了很大的提高,在弯道处和上下坡时的速度自动控制方面的软件和硬件技术都大大加强,路径识别和信号处理的速度也比以前快很多。1.2.2 应用前景智能车又称轮式移动机器人 ,集环境感知、规划决策、自动行驶等功能于一体 ,集中地运用到自动控制、模式识别、传感器技术、电气、计算机、机械等多个学科 ,是典型的高新技术综合体。目前它已成为世界众多发达国家重点发展的智能交通体系中的重要组成部分,也是世界车辆工程领域研究的热点和汽车工业增长的新动力。合适的控制核心是智能汽车实现自主驾驶的重要问题。智能车在运行过程中自主辨识道路信息,并作出控制决策传递给车辆的执行机构以实现自动驾驶,所以控制器是智能车整体性能的关键。我国学者郭孔辉院士在研究人一车一路闭环系统的基础上基于经典的控制理论提出了“最优曲率模型”,该方法的思路是分别对预期轨道和被控汽车建立数学模型,然后通过对整个系统的稳定性、实时性等性能指标进行分析建立驾驶员模型。这种方法为研究人一车一路闭环系统提供了个很好的思路。而由于汽车动力学系统具有较强的非线性特性,对其建立准确的数学模型是很困难的,同时这种方法的计算工作量也比较大,因此在实际应用中受到了一定的限制。近年来,随着模糊控制、神经网络等智能控制理论的发展,这些先进的控制技术也逐渐被应用于智能汽车的研究上。飞思卡尔公司为汽车智能化提供了很多技术支持,功能越来越完善。其中用HCS12芯片控制的智能汽车竞赛已经成功的举办了五届,汽车在规定的跑道上行走,所用的时间最短者即可获胜,现在智能车的速度有了很大的提高,在弯道处和上下坡时的速度自动控制方面的软件和硬件技术都大大加强,路径识别和信号处理的速度也比以前快很多。而且在第四屇智能汽车竞赛中,又加入创意赛这个项目,全国赛时一共有10支队伍参赛,这个项目的比赛规则限制很少,参赛队伍可以充分发挥创新能力,使这个比赛向智能机器人的方向延伸。第五屇智能汽车竞赛采用了新车模,新车模与现实中的汽车更为接近,并且采用双横臂式独立悬架,使比赛在机械结构上更有发挥空间。激光传感器(Laser Sensor transducer)利用激光传感器技术进行测量的传感器。它由激光传感器器、激光传感器检测器和测量电路组成。激光传感器是新型测量仪表,它的优点是能实现无接触远距离测量,速度快,精度高,量程大,抗光、电干扰能力强等。常见的激光传感器头有以下几点来分类,根据激光传感器头的级别,分成玩具级、亚工业级和工业级三种,据激光传感器头的调焦方式来说,分为内调焦和外调焦两种,根据激光传感器头的外围电路来说,分为带限流电路和不带限流电路两种。目前能够用于智能汽车路径识别的传感器主要有光电传感和CCD/CMOS传感器。光电传感器寻迹方案的优点是电路简单、信号处理速度快,但是其前瞻距离有限;摄像头寻迹方案的优点则是可以更远更早地感知赛道的变化,但是信号处理却比较复杂。结合实际,我们选用了市场上常见的亚工业级内调焦的激光传感器,并拆除外壳使用其裸板,减轻车子的重量。串行接口通信在智能车信号采集和相关控制方面已经得到了广泛应用,可以利用 VC + +6. 0等软件都可以实现串口数据的获取,同时也可以用基于 MATLAB的串行接口通信 ,实现车速数据的采集、处理以及实时控制。 随着比赛难度的增加,对光、机、电三方面的要求更高,同时随着经验的积累和技术的成熟,车子对行走要求更高,必须达到高速而平稳,对机械结构的要求是简单而高效。智能汽车发展趋势是采用低重心紧凑型设计,信号处理速度快,抗干扰能力强等。车模安装及机械调整 2 车模安装模型车底盘采用的是等长双横臂式独立悬架,四轮驱动。模型车共有7处参数可调。模型车的基本尺寸如表2.1表 2.1基本参数尺 寸轴距198mm前轮距137mm后轮距 138mm/146mm车轮直径52mm传动比18/762.1 前轮机械调节对车模机械部分主要做了一下调整1)前轮倾角调整;2)后轮差速机构调整。对前轮的调整,目的只是想让车模在行进中轮子总是只有滚动而没有横向的滑动。这样就减小摩擦提高灵活性,对差速机构的调整是为了提高车模过弯的性能。为了保证车模转向轻便,行驶稳定,车模的前轮安装要有一定的角度位置要求。也就是通常所说的前轮定位。包括转向节主销后倾、转向节注销内倾、前轮外倾和前轮前束。2.1.1 主销内倾角主销内倾角是指主销装在前轴略向内倾斜的角度,它的作用是使前轮自动回正。内倾角度越大时前轮自动回正的作用就越强烈,但转向时也越费力,轮胎磨损增大;反之,内倾角度越小时前轮自动回正的作用就越弱。我们没有对此参数进行调整。调节主销内倾角也是为了获得一自动回正力,如果在主销后倾中做了调节,在此就不必再对主销内倾角进行调节。图2.1 前轮主销内倾角调节2.1.2 主销后倾角主销后倾角是指主销装在前轴,上端略向后倾斜的角度。它使车辆转弯时产生的离心力所形成的力矩方向与车轮偏转方向相反,迫使车轮偏转后自动恢复到原来的中间位置上。由此,主销后倾角越大,车速越高,前轮稳定性也愈好。主销内倾和主销后倾都有使汽车转向自动回正,保持直线行驶的功能。不同之处是主销内倾的回正与车速无关,主销后倾的回正与车速有关,因此高速时后倾的回正作用大,低速时内倾的回正作用大。图2.2 前轮主销后倾角调节2.1.3 前轮外倾角对赛车的转弯性能有直接影响,它的作用是提高前轮的转向安全性和转向操纵的轻便性。前轮外倾角俗称“外八字”,如果车轮垂直地面一旦满载就易产生变形,可能引起车轮上部向内倾侧,导致车轮联接件损坏。此处可根据实际情况,调整5左右的外倾角。前轮外倾角和前轮前束的配合调节对参赛车模来说主要是为了减小转向阻力,使车模转向轻便。可通过更换外倾角配件来调节外倾角,调节舵机左右横拉杆来调节前束。2.1.4 前轮前束是指两轮之间的后距离数值与前距离数值之差,也指前轮中心线与纵向中心线的夹角。前轮前束的作用是保证汽车的行驶性能,减少轮胎的磨损。前轮在滚动时,其惯性力会自然将轮胎向内偏斜,如果前束适当,轮胎滚动时的偏斜方向就会抵消,轮胎内外侧磨损的现象会减少。此处一般调整为0前束。2.2 后轮机械调节本次比赛车模不含有变速器、传动轴离合器等常见的汽车部件。只有电动机、差速器和传动轴等动力传动部件(如图2.3所示),因此可调部分只有差速器、轮距和传动齿轮等。 图2.3 后轮机械实物图2.2.1 传动齿轮的调节齿轮传动对模型车驱动能力有很大影响,因此对其加速性能也有很大影响。如果齿轮配合过紧会增加动力负担,导致加速变缓;过松将无法带动小车,甚至打坏齿轮。可以肉眼刚能看得到间隙为基本状态,逐步调节,直到运动时不发出撞齿声,同时也不出现闷响(这种状态说明齿轮过于紧)为佳。传动部分实物图如图4-4所示。传动齿轮的调节见图2.4。 图2.4 差速器和齿轮配合的调节2.2.2 后轮距的选择 模型车可通过更换后轮红色部件调整后轮距,为了增加模型车的稳定性和降低模型车侧翻和侧滑的可能性,本车采用了大轮距,见图2.4。2.2.3 离地间隙的调整 尽量调低底盘高度,降低重心,可以增加车模行驶的稳定性并减小侧滑。同时保持前轮底盘低于后轮底盘的状态,可以增加前轮的抓地能力,提高加速效果等。可以通过使用EX-18垫片调节底盘前半部分离地间隙,通过变换后轮卡圈来调节底盘后半部分的离地间隙。后轮高度调节如图2.5所示。图2.5 后轮高度调节2.2.4 差速器的调节差速器的松紧程度对模型车的转弯性能、加速性能有较大的影响。差速器越松对转弯越有利,但是不利于模型车的加速,如果差速器过松,还会导致差速器严重的滑动,使得编码器测得的速度与实际速度不符等。差速器越紧越有利于加速,但是不利于转弯。综上应选择一折中的程度,即半锁状态,新车模在未调节差速器时即处于这种状态。差速器实物图见图2.5,调整方法见图2.5所示。2.3 舵机的安装及转向分析原模型车提供的舵机角度调节头如下图所示2.6(a)所示,力臂相对较短,在转弯度较大的跑道时,舵机就要转过很大的角度,很容易舵机进入左右两极限而出现卡死现象。同时角度调节头与转向连杆连接力臂才12cm,力臂短,转过的弯道角度相同,舵机转过的角度就要很大,输出功率大,容易卡舵损坏舵机齿轮组。为了保护舵机不在卡舵的时候损坏舵机齿轮组,可在原配的舵机和转向连杆之间的连接器上设有缓冲装置,但缓冲装置有弹性会导致转向迟钝。故我们利用覆铜板自行制作了舵机的力臂,用于舵机盘和转向连杆之间的连接。由于在一定的工作电压下舵机的转动速度是一定的,加长舵机转向力臂可以增加其响应速度,但过长的舵机转向力臂增加舵机的负担,影响转向的力度,甚至会打断舵机内部齿轮,通过试验取一长度适中的舵机力臂,舵机安装方式如下2.6(b)所示。 (a) 舵机原装力臂 (b) 改善后力臂图2.6 舵机的安装2.3.1 舵机的转向分析 转向是车模最重要的性能之一,也是车子控制的难点所在,合适的机械调整方式对转向性能有很大的影响。车模在高低不同速度下表现出不同的转向特性,尤其在高速时会有很多新问题出现。比如高速行驶过急弯时由于车模来不及进行过弯调整而产生直冲,如果此时舵机转向极限(偏转程度)过大或控制不好,极易产生前轮整体跳动的现象,严重影响了车模的平稳行驶,限制了速度。 高速转向过程中还会产生侧向力,产生侧向加速度,为了平衡侧向力,轮胎会同时产生相反的侧向力,进而出现侧偏角度,车模重心发生偏移。可以通过调节底盘刚度和后悬架来完善相应的性能,如图2.7所示在后悬架上加两个长度合适的弹簧来进行进行缓冲调整。图2.7 后悬架加弹簧2.3.2 整车布局鉴于赛车和赛道的特点,采用“低重心,紧凑型”设计,并架高舵机以提高响应速度。而且由于驱动电路的改进,电机动力性提高的同时热负荷也显著增加了,所以为电机专门设计了散热片,提高了赛车持续调试和比赛的能力。同时设计了强度高,质量轻的安装架。图2.8 模型车整体布局3 方案的论证与选择该系统由MC9S12XS128作为中央控制器,需要接收的信号有路径识别信号、速度信号,输出的控制信号有舵机转向信号、速度控制信号,这几个信号为基本信号(如图3.1):中央控制微控制器MC9S12XS128路径信息输入速度信息输入转向控制信号输出速度控制信号输出图3.1 系统基本结构框图3.1 路径识别路径识别信号部分 3.1.1 激光传感器的选择本激光传感器的发射管,三脚激光传感器头是我经测试后觉得最适合小车用的激光传感器头,该激光传感器头波长:650nm 直径:6.3mm 长:12mm 功率:5mW,发射点状红色光斑,内调焦距(可调节光斑大小)。具有做工精良,体积小,质量轻,性能优越,方便固定等的特点,综合性能十分优秀,传输时间激光传感器工作时,先由激光传感器二极管对准目标发射激光传感器脉冲。经目标反射后激光传感器向各方向散射。部分散射光返回到传感器接收器,被光学系统接收后成像到雪崩光电二极管上。雪崩光电二极管是一种内部具有放大功能的光学传感器,因此它能检测极其微弱的光信号。所以用该传感器做智能车的信号探测。3.1.2 激光传感器及其支架的安装1、 支架的选取各个部件中对整车重心影响最大的三个分别是激光传感器支架、电路板和电池。其中因激光传感器重心较高,对小车重心影响较大,所以选择质轻的安装支架非常关键。为了追求一定的稳定性,选用轻质铝片固定激光传感器模块,采用这种方式固定激光传感器电路板,刚性好,重量轻。其较高的稳定性使得可以方便地安装激光传感器电路板而不必担心对激光传感器安装方位产生影响。2、 激光传感器的安装激光传感器的作用是检测道路的信息,相当于人的眼睛,其视野范围和前瞻距离决定了小车的过弯性能和速度。所以激光传感器电路板的安装方式要适当。为了获得更大的的前瞻,将激光传感器电路板架在约22cm的高度,以60度的角度射向地面,使传感器能达到最大的前瞻距离(可达到40cm),可以让系统对赛道信息提前获取并更快更好地做出决策,从而更容易弯道提前减速,直道提前加速并走出更节省路程的路径。图3.2激光传感器电路板安装图3.2 电动机驱动与调速电机型号RS385S(R表电机外形为圆形,S表强磁系列,38为电机转子直径,5转子槽数,S磁性材料为异性)电动机的基本参数如表3.2。表3.1 电动机基本参数工作电压空载电流负载电流空载转速堵转电流启动电流启动电压负载转速DC7.2V700mA3.9A20000rpm10%5.2A400mA0.6V15000rpm10%在智能车设计中,电压可以控制电动机的转动方向;而控制直流电动机的转速,则有不同的方案,较常规的方法是采用PWM控制。驱动电路既可以直接采用MC33886电机驱动芯片,也可以采用大功率MOS管来自行设计电机驱动电路,还可以用场效应管搭建H桥电路。方案一:采用大功率MOS管组成电机驱动电路;用这个方法电路非常简单,控制只需要一路PWM,在管子上消耗的电能也比较少,可以有效地避免多片MC33886并联时由于芯片分散性导致的驱动芯片某些片发热某些不发热的现象。但是缺点是不能控制电机的电流方向,在小车的刹车的性能的提升上明显有弱势,而且电流允许值也比较小。图3.3 MOS管组成电机驱动电路方案二:通过电机驱动模块,控制驱动电机两端电压来对模型车加速运行,或对其进行制动,采用飞思卡尔半导体公司的集成桥式驱动芯片MC33886。MC33886最大驱动电流为5A,导通电阻为140毫欧姆,PWM频率小于10KHz,具有短路保护、欠压保护、过温保护等功能。体积小巧,使用简单,但由于是贴片的封装,散热面积比较小,长时间大电流工作时,温升较高,如果长时间工作必须外加散热器,而且MC33886的工作内阻比较大,又有高温保护回路,使用不方便。方案三:采用4个场效应管搭成的H桥电路,它由2个P型场效应管Q1、Q2与2个N型场效应管Q3、Q3组成,P型管在栅极低电平时导通,高电平时关闭;N型管在栅极高电平时导通,低电平时关闭,场效应管是电压控制型元件,栅极通过的电流几乎为“零”,电路图如图3.9所示。图3.4 H桥驱动电路正因为这个特点,在连接好下图电路后,控制臂1置高电平(U=VCC)、控制臂2置低电平(U=0)时,Q1、Q4关闭,Q2、Q3导通,电机左端低电平,右端高电平,所以电流沿箭头方向流动。设为电机正转。控制臂1置低电平、控制臂2置高电平时,Q2、Q3关闭,Q1、Q4导通,电机左端高电平,右端低电平,所以电流沿箭头方向流动。设为电机反转,如图3.6所示。图3.5 H桥驱动电路方案四:采用两片英飞凌公司的半桥驱动芯片BTS7960搭成H桥电路来控制电机,BTS7960的芯片内部为一个半桥。INH引脚为高电平,使能BTS7960。IN引脚用于确定哪个MOSFET导通。IN=1且INH=1时,高边MOSFET导通,OUT引脚输出高电平;IN=0且INH=1时,低边MOSFET导通,OUT引脚输出低电平。其缺点是成本高。电路如图3.7所示。 图3.6 BST7960 H桥驱动电路基于上述理论分析比较,我选择方案三,使用4片场效应管组建H桥电路,并对电路进行了优化,场效应管是电压驱动器件,只要栅极电压稍高一点就能使管子导通,单片机P口输出的电压不太够,所以还要增加栅极驱动电路,可以用cmos与非门CD4011,场效应管P管用IRF4905,N管用IRF3205,电路图如图3.9所示。图3.7采用CD4011的H桥驱动3.3 速度检测为了使得模型车能够平稳地沿着赛道运行,除了控制前轮转向舵机以外,还需要控制车速,使模型车在转弯时不会因为速度太快而冲出赛道。因此,在模型车上安装测速装置是很有必要的。测速的方式有很多,比如采用霍尔传感器和磁钢、采用测速发电机、转角编码盘、反射式光电检测和霍尔传感器检测等等。方案一:采用霍尔传感器和磁钢将霍尔传感器和磁钢分别安装在车架和车轴的适当位置,小车行驶时,每转动一圈,霍尔传感器产生开关信号,通过在单位时间对其计数可计算出车辆行驶的瞬时速度,累计开关信号可计算出小车行驶的距离。但是这种方法要求在轴上嵌入磁钢,实现复杂,并且不可能放太多磁钢所以精度不高。方案二:采用红外对管和编码盘将一个带有孔的编码盘固定在转轴上,然后由红外对管检测编码盘的孔对红外线的阻通。原理和霍尔开关很接近,但在实际的硬件的实现上很简单。方案三:测速发电机原理是将旋转机械能转化成电信号,适合于测量速度较高的旋转物体的速度。采用电磁感应的原理重量轻,精度高。 经过以上理论分析和比较,采用方案三,使用欧姆龙公司编码器E6A2-CS3C 200P作为测速部分。3.4 本章小结经过对各种方案的仔细论证和比较,我们最终采用如下方案:(1)路径识别模块: 采用架高的激光管作为传感器。(2)电动机驱动与调速模块:H桥电路控制。(3)车轮检速模块:使用欧姆龙公司编码器测速的测速方案。4 硬件电路设计4.1 电源电路电源模块是整个智能车能否良好运行的最重要的基础,良好的电源模块可以大大减小系统出现疑难故障的几率,并且稳定的电源模块也是系统各个部分协调工作的必要条件之一。全部硬件电路的电源由7.2V,2A/h 的可充电镍镉电池提供。由于电路中的不同电路模块所需要的工作电压和电流容量各不相同,因此电源模块应该包括多个稳压电路,将充电电池电压换成各个模块所需要的电压。电源系统主要要为单片机、及光电检测电路(+5V)、转向舵机(+7.2V)、后轮驱动电路(+5V和+7.2V)三大部分分别提供稳定的直流电源。由于电池组的输出电压只有7.2V,而输出要求5V,不能使用最普通的并且常见的直流稳压电源芯片7805和7806,因为他们要求输入输出电压压差至少在3V以上,所以我们选用了低压降的LM2940作为5V电压的稳压模块,它的最低压降只有0.8V。电源系统的结构框图如下图4.1所示。7.2V 2000mAh镍镉电池LM2940-5.0LM2940-5.0LM2940-5.0舵机电机驱动单片机激光传感器测速电路电动机图4.1 电源系统结构框图4.1.1 激光传感器的供电为了减小电源电路设计的复杂性,我们选用市场上新开发的激光传感器,可以直接对其进行+5V的供电。这样大大简化了电源电路的设计,提高了供电效率。4.1.2 舵机供电试验得知在伺服电机能承受的供电电压下其响应速度随着电压的提高而加快,整辆车的电源都是由7.2V电池供电,最高电压7.2V左右,因此直接采用电池电压供电。4.1.3 其他器件的供电S12单片机、测速电路等采用低压差稳压芯片LM2940-5.0供电;电机驱动电路H桥的V+接口直接采用电池供电。如果把所有接到5V的电源都从一个口输出,万一出现异常状况(例如大电流),单片机必然重启,因此需要多个稳压芯片同时工作,以保证单片机正常工作。图4.2 电源电路图4.2 电机驱动 采用由与非门CD4011组成的栅极驱动电路如图4.3:图4.3 电机驱动电路4.3 激光传感器激光传感器是赛道探测的重要部分。然后再送到PB口进行信号采集。图4.4 激光模块电路图图4.5激光传感器分时电路图4.4 测速电路使用欧姆龙E6A2-CS3C 200P,由5V供电,电路使用一片LM2940CT-5.0其工作原理是电机转动时带动编码器转动,测速装置就产生一系列脉冲,把这一系列的高低电平送到单片机的PT7接口,单片机捕捉这一系列高低电平的上升沿和下降沿。通过累积一定时间内的脉冲个数,可以计数出相应的速度值。4.5 本章小结1、电源电路为各个模块提供动力。2、电机驱动选用H桥电路控制,实现正反转。3、激光传感器信号提取。4、测速电路的选用欧姆龙编码器计算脉冲法测速。5 系统软件设计系统的软件设计由三大部分组成:1、小车的状态信息检测;2、控制算法;3、执行控制。其中,状态信息检测部分包括道路信息检测、速度检测;道路信息检测由激光传感器采集和处理两部分组成。利用了单片机MC9S12XS128的TIM模块、PIT模块、PWM模块和SCI串口模块等。开发工具是Metrowerks的Code Warrior IDE V4.5编译器,主要用C语言进行代码的编写。调试工具使用清华大学摩托罗拉MCU应用开发中心的BDM调试套件。5.1 主流程智能车采用激光传感器作为寻线传感器,激光信号采集处理是整个软件的核心内容。在智能车的转向和速度控制方面,使用“两边夹逼,提取中心”控制算法,配合使用理论计算和实际参数补偿等办法,使在寻线过程中智能车达到了稳定快速的效果。系统软件设计共分四大模块:信号采集、信号处理、速度调节和伺服电机控制。在系统上电后,进行激光信号的采集,然后对采集的数据进行处理和计算,给出控制量。当激光信号采集完成后,通过逐行读取数据,进行黑线的获取,计算黑线的中心位置,设定为默认的中心线。根据黑线位置,计算出赛道大致曲率和控制舵机转向,结合实时检测的速度值进行控制直流电机转速从而达到控制速度的目的。比如在直到时采用加速控制,在弯道时采用减速控制,使小车更快完成全程。程序的主流程图如图5.1所示系统初始化中断使能测速使能激光信号采集赛道白线中心提取分析当前角度速度状态速度传感器加速通过NO开始是否进入弯道是否达到速度上限继续加速NO继续循环减速通过YesYes图5.1 系统主流程图5.2 赛道情况检测5.2.1 激光传感器信号采集激光传感器的输出信号可以直接接到单片机的IO口,然后利用单片机MC9S1XS128的TIM模块的外部中断,获得速度信号。通过实验,我们在单片机不超频的情况下(即BUS_CLOCK24MHz),能够采集到足够的控制信号个数,这已经满足我们的控制要求。另外,我们尽量的缩短信号控制和检测周期,但同时也不影响控制要求。5.2.2 黑线信息的提取激光传感器采集回来的信号量大,如果对它们都进行处理的话,数据处理量大使编程困难,故我们选择一行数据进行处理,已经能够满足道路的辨别,数据量足够进行黑线的提取以及计算赛道的曲率。对于黑线信息的提取,采用“两边夹逼,提取重心”的方法法来获取黑线的中心。主要是分成30列的信息,分时处理,其算法流程图如下:建立一维数组,用于存储30个点的信息定时中断中断使能取30个点信息放入数组循环12次取完30个信息放入数组从30数据提取左边点、右边点取左右边极限的平均数,作为道路黑线的信息没有黑线点的情况黑线点是1-3的情况黑线点超过3的情况控制舵机和速度梯形修正图5.2 黑线提取5.2.3 路径信息采集及处理方法根据采集点电平高低(数值大小)来提取前方路面黑线信息,用硬件二值化,低电平二值化后为1,表示黑线,高电平二值化后为0,表示白色路面,通过提取黑线中心位置来判断路况。本智能车通过片内I/O口每周期采集30个有效点,用于分析赛道类型。根据提取到的黑线位置信息把路况分为图5.4至图5.7四种情况。每一周期的信号采集回来,可以根据采集回来的点判断路况。如果每行黑线的中心线的横坐标与中间线所在横坐标的差值积分绝对值小于3,说明小车可能在走直道或者是S型到,采用就把这个偏差忽略方法,不对舵机进行调整,使小车保持原来的运动状态;这样小车在走直道是就不会因为激光传感器的一点偏差而左右抖动,在S型道时,可以实现“抄近道”行驶,行走顺畅。如果每行黑线的中心线的横坐标与中间线所在横坐标的差值积分为负值,说明是左转弯,控制舵机转过与之对应的角度,使小车向左转;如果差值的积分为正值,说明前方右转弯,控制舵机向右转过相应角度,小车右转弯。图5.3 直线路况图图5.4 S弯路况图图5.5 左转弯路况图图5.6 右转弯路况图5.3 速度检测速度的检测对整辆车的控制精度和运行操作是相当重要的,相当于闭环控制系统中的反馈信号一样,直接影响着整个智能车系统的稳定性,采用欧姆龙EA6-CS3C 200P/R测速装置,小车车轮每转动一圈,编码器采集脉冲200个。5.4 本章小结1、确定程序主流程2、路况信息的检测3、速度检测提高控制精度和稳定性6 开发与调试本章将对开发和调试工具以及测试环境作相关说明。本车在开发和调试中所使用的开发环境为Metrowerks 公司的集成开发环境 Metrowerks Corewarrior IDE4.5,调试器为清华大学工程物理系开发的BDM,辅助调试工具有数字电表、数字示波器等。通过以上各软件工具的配合使用,再加上良好的测试环境,使得小车的开发和调试能够顺利而快速地完成。6.1 开发环境的应用Corewarrior IDE是Metrowerks为其DSP和微处理芯片所推出的专用可视化集成开发环境,功能强大,除了能编译代码外还具有芯片仿真等功能。下面以一个简单的实例来说明使用Corewarrior IDE开发的全过程。1、建立工程:打开Corewarrior IDE,执行File|New命令,进入如图6.1所示复选框,新建一个工程。图6.1 新建工程复选框然后选择HC(S)12 New Project Wizard,在右边Project name和Location处分别填写工程名称和存储路径后点击【确定】,进入“新建工程向导”。2、选择芯片:在向导的第2步中选择相应的单片机(MC9S12XS128),如图6.2所示。图6.2 选择单片机3、选择运行模式:Full Chip Simulation为电脑模拟,TBDML模式为使用BDM下载程序,如图6.3所示,选择以上两个模式。图6.3 选择运行模式之后就可以按照向导默认的选项,直到设置完成出现图6.4所示界面。图6.4 新建工程结束由图6-4可见位于左边的工程项目管理器中已经包含了一些文件,这些文件是开发环境自动生成的,下面讲述其中主要文件的用途:1、readme.txt是Metrowerk对工程文件结构的说明。2、Sources文件夹中包含了源文件main.c,用户自定义的头文件(.h文件)也要放在该文件夹下面。3、Startup Code文件夹中有一个初始化文件Start12.c,其作用是初始化硬件系统和建立C语言程序运行环境。4、Prm文件夹中包含.prm文件,其定义了编译和下载的信息。主要用来设置程序下载的地址和安装中断向量。5、Libraries文件夹中包含了所选芯片的头文件mc9s12xs128.h等相关文件,单片机各模块的应用都要根据该文件的定义来完成,同时也可以根据该头文件方便地对单片机进行操作。6.2 BDM调试器的使用6.2.1 Hiwave初始参数设置 1、 在开发环境安装目录的prog文件夹下可以找到名为Hiwave.exe的图标,双击它即可打开调试软件。2、 然后将BDM调试器与计算机相连,此时系统会提示安装相应的驱动程序,选择配套光盘目录下2-TBDML DLL Driver文件夹下的bin_tbdml_win_driver_11文件夹即可完成驱动的安装。在右下角命令窗口中输入set gdi命令,同样要添加光盘2-TBDML DLL Driver文件夹下的bin_tbdml_gdi_dll_11文件,添加完确认后会提示设置相关参数,如图6.4所示,应将晶振频率设置为16.00(M)。然后选择OK,设置完成该项参数。 图6.5 Hiwave调试环境设置3、 将BDM与单片机连接,然后在命令窗口中通过键盘方向键调出刚才输过的命令set gdi,回车确认后有提示选择相应型号的单片机,在此选择MC9S12XS128B,如图6.5所示。至此完成了所有基本参数的设置。 图6.6 选择单片机型号6.3 程序下载BDM连接成功之后,就可以向单片机下载程序了。步骤如图6.7-6.9,写入程序过程中,会出现一个对话框供使用者选择是否写入新程序,如图6.8,点击“确定”写入新程序,点击“取消”不写入新程序。图6.7 程序擦写窗口图6.8 新写入程序对话框图6.9 完成写入程序下载程序完成后,可在线调试程序,观察车子传感器,电机,舵机等的运行情况,如图6.8所示。图6.10 程序在线调试6.4 程序调试Hiwave 具有丰富的调试功能,在本车的调试过程中配合电视机的使用几乎不需要使用别的上位机软件。现对其各窗口功能作简单介绍如下:Source:查看所下载的代码,并具有设置断点,单步调试等功能。二者相互结合能很快的找出程序里的BUG。Assembly:显示汇编代码。Registers:显示当前寄存器的值。Memory:显示内存数值。Command:命令行,具体的命令可以键入help查看。6.5 本章小结1. Corewarrior IDE应用于程序编写。 2. Hiwave用于程序调试。7 总结在本智能车的设计和制作过程中尽量采用单片机片内资源,努力减少硬件开支,达到了简化电路设计,提高了电路系统的集成化和稳定性等。MC9S12SX128片内资源利用情况如下表所示: 表7.1 MC9S12SX128B片内资源利用情况用途功能模块使用端口激光传感器信号采集I/O口PB速度采集脉冲捕捉PT7 伺服电机控制PWM PP23 电机控制PWM PP01、PP45 状态显示灯I/O口PORTB 定时PIT模块 现场数据记录EEPROM 起始线检测备用I/O口PM0PM5、PP7 从上表可见单片机端口资源和各功能模块均得到了充分利用,强大的处理器功能的有效利用使得本智能车的电路设计顺利达到了目标,符合设计之初所追求的原则。53参考文献1王威HCS12微控制器原理及应用M北京航空航天大学出版社,2007.10.2卓晴,黄开胜学做智能车挑战飞思卡尔杯M北京航空航天大学,2007.3苏鑫.小型智能车自动驾驶系统设计与实现D. 西安:西安理工大学,2008.4张兆惠. 基于微处理器的智能车控制系统开发与研究D.大连理工大学,2008.5邵贝贝单片机嵌入式应用的在线开发方法M清华大学出版社,2004:50646杨可桢,程光蕴机械设计基础M北京:高等教育出版社,1999:80-100.7郑莉,董渊,张瑞丰C+语言程序设计M清华大学出版社,2006.108吴怀宇,陈磊,章政大学生智能汽车设计基础与实践M子工业出版社,2008:84-969李华蒿,王伟.Protel路原理图与PCB设计108例M中国青年出版社,2006:32-7510陈学平,兰帆.Protel 2004电路设计与电路仿真M清华大学出版社,2007:36-9211杨拴科.模拟电子技术基础M高等教育出版社,2005.1112黄开胜,陈宋.汽车理论与智能模型车机械结构调整方法D.清华大学汽车安全与节能国家重点实验室,200613卓晴智能汽车自动控制器方案设计D.清华大学自动化系,200614安鹏,马伟使用S12单片机控制舵机D.清华大学工程物理系,200715杨国田,白焰摩托罗拉68HC12系列微控制器原理M应用与开发关系,中国电力出版社. 2003.9.16黄开胜,金华民韩国智能模型车技术方案分析D.电子产品世界,2006(5):150-15217王柏盛编C程序设计M高等教育出版社,2004 18陈锦昌计算机工程制图M华南理工大学出版社,200519何立民单片机高级教程M北京:北京航空航天大学出版社,200420常越编MC68HC08单片机原理及C语言开发实例M北京:北京航空航天大学出版社,2005:40-15221 谭浩强编C程序设计M北京:清华大学出版社,1999:87-18622 沈长生编常用电子元器件使用一读通M北京:人民邮电出版社,2004致谢本次毕业设计的制作和准备虽然只有短短的两个多月,但是对于我自己来说,这个课题和比赛我已经做了两年多了。从2009年正式参加比赛,接触智能车以来,包括比赛,比赛前的准备,基础知识的积累和技术难关的攻坚,这不仅让我巩固了书本上所学的理论知识,而且广泛了解和学习了相关、相近学科的知识和先进的科学发展趋向。在这里我要特别感谢杨永老师。老师不仅在我做毕业设计的时候耐心地对我进行指导,在比赛准备过程当中跟我们一起攻破道道技术难关,给了我们很多技术上的支持,让我们从理论到实践有了一条连接的桥梁。更重要的是杨老师在平时中不仅教导我怎样做人,在日常生活中,更关心我的学习,关心我的点点滴滴。在这里还要感谢实验室的同学和师弟们,在那里我们共度了许多愉快的时光,一起讨论问题,一起解决问题,一起分享做车时的酸甜苦辣。附录A程序代码:#include /* common defines and macros */#include /* derivative information */#pragma LINK_INFO DERIVATIVE mc9s12xs128/*宏定义*/#define center 1380/1316 82 / 打角舵? 1320 左大右小 #define center_y 1410/1490 /摇头舵机 futaba3010 1390 #define y_center 16 #define y_max 1810/1511 /摇头舵机 1561 1811 1790 #define y_min 1010/1211 / 1161 911 990 #define d_max 1565 /打角舵机 #define d_min 1197 #define juli 3000#define AD_centery 57 #define AD_centerd 126#define K_3 0/70#define tiaoz 16#define uint unsigned int#define uchar unsigned char#define sint signed int#define schar signed char/*变量声明*/unsigned char zhidao_cnt,zhidao_ago_cnt,zhidao_flag,ROAD_TEMP15,ROAD_MODE,ROAD_MODE_1,sche_js=0,ting,tingche,kk;signed int heipian10=0,0,0,0,0,0,0,0,0,0,heipian_1,heipian_2,t;unsigned char sam25,sams25,samss25,sams_ago525,sams_ago_22025,dingshi,jicheng,cd,cj_flag,G_flag,heixian,heixianshu,heixian_1,heixian_2,wei,wei_1,wei_2,wei_3,K_1,K_2,xuxian,s;unsigned int ms,pulse_speed,yaotou,yaotouss,yaotous,dajiao,dajiao_ago,S=0,B,M=0,SB,m,m_1,m_m; /,y_max,y_minsigned int speed,shi_speed,zhi_speed,wan_speed,i_speed,ideal_speed,zhengzhuan,fanzhuan,K_p,K_i,K_d,uk,Ek,Ek_1,Ek_2,Ek_3,ck,ck_1,ck_2,yaojl20,error; int SS_flag=0,S_flag=0,zuox_S_flag,zuod_S_flag,youx_S_flag,youd_S_flag,cha; int max_record=0,min_record=center_y+700,max_record_s=0,min_record_s=center+700,n=0;unsigned char S_flag_sp=0,zuox_S_flag_sp=0,zuod_S_flag_sp=0,youx_S_flag_sp=0,youd_S_flag_sp=0,SS_flag_sp=0, qi_ding,qi_ding_cnt,wei_ago20=0,qian,bai,shi,ge;unsigned int RUN_MODE=0,start_scan_cnt=0,wei_sum=0,play,ju_li,juli1;int a1,a2,a3,a4,a5,cha_ad_ll,cha_ad_sj,wei_cha,aa1,aa2,aa3;char cishu,sudu,ceju,AD_fany,AD_fand,AD_gan_1,AD_gan_2,AD_fany_ago; unsigned char shuma10=0xf7,0x24,0x9d,0x3d,0x2e,0x3b,0xbb,0x25,0xbf,0x3f;/段选unsigned char speed_14=10,10,9,9; /保守 /37 28 32 26unsigned char speed_24=13,13,12,12;unsigned char speed_34=14,14,13,13;unsigned char speed_44=15,15,14,14; /第一次跑 上半场unsigned char speed_54=16,15,14,13;unsigned char speed_64=17,15,16,16; /第二次 下半场能跑完 可能2.8 比较流畅/unsigned char speed_64=21,15,14,12;unsigned char speed_74=18,16,17,17; /较快 unsigned char speed_84=18,17,17,16; /能跑完 可能2.9 弯道多时unsigned char speed_94=19,17,18,18; / 不翻车 跑得完 直道多时 10.68sunsigned char speed_104=20,16,18,18; / 不翻车 跑得完 直道多时 10.68sunsigned char speed_114=21,15,18,18; / 不翻车 跑得完 直道多时 10.68sunsigned char speed_124=22,14,18,18; / 不翻车 跑得完 直道多时 10.68sunsigned char speed_134=23,13,19,19; / 不翻车 跑得完 直道多时 10.68s/unsigned char speed_74=16,14,11,10;/unsigned char speed_84=16,15,11,10;unsigned char speed_i4;/*函数声明*/void init_PLL(void);void init_AD(void);void ECT_init(void);void Timer(void);void pwm_init(void);void SciInit();void SciTx(unsigned char text);void delay(int ms);void chu_li_2(void);void angle(void);void speed_PID(void);void stop(void);void boma(void);void shuju(void);void IOkou(void);void fuzzy(void);void Road(void);/*函数初始化*/*函数初始化*/ void init_PLL(void) /超频-64MHz CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0xc0 | 0x07; REFDV=0xc0 | 0x01; POSTDIV=0x00; _asm(nop); _asm(nop); _asm(nop); _asm(nop); while(!(CRGFLG_LOCK=1); CLKSEL_PLLSEL =1; void init_AD(void) ATD0CTL1=0x00; ATD0CTL2=0X40; ATD0CTL3=0XF8; ATD0CTL4=0X35; ATD0CTL5=0X30; ATD0DIEN=0x00; void ECT_init(void) PACTL=0X50; /下降沿计数 PACNT=0X0000; void Timer(void) PITCFLMT_PITE=0; /disable PIT (10-1,1600-1,是250us) 100us PITMUX=0X00; / ch0 connected to micro timer 0 PITCE_PCE0=1; /enable timer channel 0 PITMTLD0=10-1; /time base 240 clock cycles ,its 0.1M Hz PITLD0=1600-1; /INTVERAL micro time bases /400 12800/64000=0.2ms=200us PITINTE_PINTE0=1; PITCE_PCE1=1; /enable timer channel 0 /PITMTLD1=10-1; /time base 240 clock cycles ,its 0.1M Hz PITLD1=2000-1; PITINTE_PINTE1=1; /enable interupt channel 0 /*/ PITCFLMT_PITE=1; /enable PIT /-PWM初始化- void pwm_init(void) PWME=0X00; /禁止PWM输出 PWMCTL=0XC0; /67 45级联 01 23不级联 冻结下允许计数 等待下允许输入时钟 PWMPRCLK=0X54; /舵机0100 0100 ClockA=64/16=4MHz 电机 ClockB=64/32=2MHz PWMSCLA=2; /PWMSCLA=2 ClockSA=4/(2x2)=1MHz PWMSCLB=1; /PWMSCLB=2 ClockSB=2/(1x2)=1MHz PWMCLK=0XE0; /1110 0000 0=SA 1=SA 2=B 3=B / 4=A 5=A 6=SB 7=SB PWMPOL=0XFF; /PWME1开始输出为高电平 PWMCAE=0X00; /左对齐 PWMPER1=22; /(1/1000k)x(PER+1)=T 180kHZ 激光调频 PWMDTY1=6; PWMPER0=255; PWMPER2=200;/占空比=(DTY+1)/(PER+1) PWMPER3=200; PWMDTY2=100;/反转 PWMDTY3=180;/正转 PWMPER45=15000; /打角 周期20ms 1/1MHz*20000周期为20ms PWMPER67=15000; /摇头 周期0.15ms / PWMPER67=3333; /摇头 周期0.15ms S-D5 PWMDTY45=center; /打角中值 PWMDTY67=center_y; /摇头中值 PWME_PWME0=0; PWME_PWME1=1;/PWM调制 PWME_PWME2=0;/反转 PWME_PWME3=0;/正转 PWME_PWME5=1;/打角 PWME_PWME7=1;/摇头 void SciInit() DDRM=0x01; SCI0BDH=0x00|0x01;SCI0BDL =0xA0; /64000000/1A0H/16=9600 / SCI0ACR2=0x07; /开中断检测SCI0CR2=0X2C; /*RIE=1,TE=1,RE=1*/SCI0CR1=0;/*0 normal,no parity*/ /SCI0SR2=0X04; /10位 /SCI0ASR1=0; /清中断/*-发射端程序-*/void SciTx(unsigned char text) unsigned char temp;/while(CTSR);temp=SCI0SR1; while (!(SCI0SR1&0x80); /wait for output buffer empty SCI0DRH=0;SCI0DRL=text; /delay1(20);/*-接受端程序-*/*char SciRx(void)char result,temp;temp=SCI0SR1; while(!(SCI0SR1&0x20);result=SCI0DRL;return result; */ /数据初始化/void shuju(void) uchar k; dingshi=0
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:基于激光传感器的智能车系统设计(单驱动寻白线)
链接地址:https://www.renrendoc.com/p-23305129.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

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