基于光电传感器的自动循迹智能车系统设计_第1页
基于光电传感器的自动循迹智能车系统设计_第2页
基于光电传感器的自动循迹智能车系统设计_第3页
基于光电传感器的自动循迹智能车系统设计_第4页
基于光电传感器的自动循迹智能车系统设计_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、 摘 要新一代汽车研究与开发将集中表现在信息技术微电子技术计算机技术智能自动化技术人工智能技术网络技术通信技术在汽车上的应用智能汽车是是现代汽车发展的方向 光电传感器的自动循迹智能车系统采用光电传感器作为道路信息的采集传感器单片机为控制系统的核心来处理信号和控制小车行驶MC9S12系列单片机在汽车电子控制领域得到广泛应用本课题就是利用Freescale的MC9S12XS128微控制器对智能车系统进行设计智能车系统设计包括硬件电路和控制软件系统的设计硬件系统使用专门软件Altium Designer设计硬件电路系统主要包括freescale单片机最小系统电源管理系统路径识别与检测系统电机驱动系统

2、而控制系统软件的设计主要包括单片机的初始化PID控制算法路径识别算法舵机控制算法速度控制算法软件设计是用Freescale 公司的Codewarrior软件作为软件开发和仿真下载的平台最后完成了整个自动循迹智能车系统设计关键字 智能车光电传感器自动循迹控制算法PIDABSTRACT The design of autoguiding smartcar system based on photoelectric sensor New generation automobile development and researched focus on information technology m

3、icroelectronic technology computer technology intelligent automation technology artificial intelligence technology networking technology communication technology and so on The intelligent automobile is the direction in which the modern automobile developed We use the photoelectric sensor as gatherin

4、g sensor to take path information The microcontroller is used as the control system core and process the signal and controls car to run signal-chip microcomputer MC9S12 series be widespread utilized in the automobile electronic control domain I use the Freescale microcontroller MC9S12XS128 to design

5、 the intelligent vehicle system The design of intelligent vehicle system including hardware circuit and control software system I adopt the software of electronics design Altium Designer to complete designing the hardware Hardware circuit system mainly includes the freescale 抯 Single-chip Microcompu

6、ter smallest system the power source management system the way recognition and the detecting system the motor-driven system But the control software system mainly includes Single-chip Microcomputer s initialization the PID control algorithm the way recognition algorithm the steering engine control a

7、lgorithm the speed control algorithm It uses Freescale Corporations Codewarrior as the software development the simulation and downloadings platform in the software designing Finally The design of auto track smartcar system based on photoelectric sensor is completedKey words Intelligent vehicle phot

8、oelectric Sensor auto track Control algorithm PID摘 要IABSTRACTII插图清单I第1章 绪论- 1 -11 毕业设计论文内容及研究意义价值- 1 -12 毕业设计论文研究现状和发展趋势- 2 -第2章 控制系统整体方案设计- 3 -21 整体设计方案概述- 3 -22 控制系统整体方案设计- 4 - 221 模型车硬件整体方案设计- 4 -222 系统软件模块分析- 7 -223 控制算法设计方案- 8 -第3章 单片机最小系统模块- 9 -31 单片机以及最小系统简介- 9 -32 MC9S12XS128最小系统设计- 9 -第4章 电

9、源管理模块- 11 -第5章 路径识别模块和测速检测模块- 13 -51 路径识别模块- 13 -511 光电传感器- 13 -512 光电传感器发射与接收电路设计- 13 -513 路径识别传感器布局设计- 14 -52 测速检测模块- 16 -第6章 电机驱动模块- 19 -61 直流电机驱动模块- 19 -611 电机的工作原理- 19 -612 MC33886介绍- 21 -613 PWM信号控制电机的转速- 22 -62 舵机驱动模块- 23 -第7章 智能车软件的设计- 29 -71 单片机初始化- 30 -72 PID控制算法- 32 -73 路径识别算法- 34 -74 舵机控

10、制算法- 34 -75 速度控制算法- 36 -第8章 开发制作与调试- 38 -81 CodewarriorV47软件及其应用- 38 -82 BDM for S12的使用- 43 -结论和展望- 44 -致 谢- 45 -参考文献- 46 -主要参考文献摘要- 48 -附录A- 50 - 插图清单图2-1 系统信息的控制流程图- 4 -图2-2 智能车控制系统整体结构图- 5 -图2-3 系统硬件结构图- 6 -图2-4 系统软件结构- 7 -图3-1 最小系统原理图和PCB图- 10 -图4-1 电源系统结构框图- 11 -图4-2 LM7805电路图- 12 -图4-3 LM7806电

11、路图- 12 -图5-1 光电传感器的基本组成- 13 -图5-2 单对红外传感器电路图- 14 -图5-3 红外探测布局的PCB图- 16 -图5-4 霍尔原理- 17 -图5-5 霍尔测速电路图- 18 -图6-1 H桥式电机驱动电路- 20 -图6-2 H桥电路驱动电机顺时针转动- 20 -图6-3 H桥电路驱动电机逆时针转动- 21 -图6-4 MC33886电机驱动原理图- 22 -图6-5 舵机工作原理示意图- 24 -图6-6 舵机输出转角与控制信号脉宽之间关系- 25 -图6-7 不同占空比的PWM波形控制的转向伺服电机状态图- 26 -图6-8 转向伺服电机控制方法图- 27

12、 -图6-9 舵机转角控制模块程序流程图- 28 -图7-1 光电传感器方案主程序流程图- 29 -图7-2 典型PID控制结构- 33 -图7-3 舵机控制流程图- 35 -图7-4 速度控制流程图- 37 -图8-1 CodearrierV47 创建新的工程窗口- 40 -图8-2 CodearrierV47的工程的初始设置窗口- 41 -图8-3 CodearrierV47的编译窗口- 42 -图8-4 BDM的PCB原理图- 43 -第1章 绪论 自动循迹智能车是一个集环境感知规划决策自动驾驶等多种功能于一体的综合系统除了特殊潜在的军用价值外还因其在公路交通运输中的应用前景受到很多国家

13、的普遍关注近年来其智能化研究取得了很大进展而其智能主要表现为对路径的自动识别和跟踪控制上路径跟踪问题的研究正吸引着国内外计算机视觉车辆工程与控制领域学者们越来越多的注意得出了很多有意义的成果这些方法可分为两类即传统控制方法和智能控制方法传统控制方法多建立在精确数学模型基础上而自动引导车系统具有复杂的动力学模型是一个非线性时延系统由于各种不确定因素的存在精确的数学模型难以获得只能采用理想化模型来近似所得到控制律较为繁琐给实际应用造成不便随着近年智能控制论的兴起一些智能控制方法如模糊控制神经网络等逐步走向完善尤其是模糊控制理论在很多地方显示出相当的应用价值以此为基础设计新概念的控制器受到人们很大关

14、注同时人们也正考虑这在各种方面包括硬件和软件的综合技术开发和研究探索智能车的技术将会趋于成熟并得到广泛的应用11 毕业设计论文内容及研究意义价值随着经济的不断发展人们生活水平的不断提高人口的急速增加膨胀从而使得汽车使用率将大大提高石油等不可再生能源的大量消耗和枯竭交通的拥堵不堪交通事故的接连不断等这些问题都摆在我们的面前而有待解决当汽车电子得以迅猛发展时智能车产生和不断探索并服务于人类的趋势将不可阻挡智能车的研究将会给汽车这个产生了一百多年的交通工具带来巨大的科技变革人们在行驶汽车时不再只在乎它的速度和效率更多是注重驾驶时的安全性舒适性环保节能性和智能性等各国科学家和汽车工作人员以及汽车爱好者

15、都在致力于智能车的研究研究的成果有很多都已应用于人们的日常生活生产之中例如在2005年1月 美国发射的勇气号和机遇号火星探测器 实质上都是装备先进的智能车辆同样在很多特殊的场合人员不宜或不便行驶车辆等情况下智能车都发挥着它难以替代的作用因此研究智能车的实际意义和取得的价值都非常重大在我国现阶段很多企业和学校也都意识到了研究智能车的重大意义和有着广阔的研究前景企业与学校联合研究共享资源的智能车研究也已有较多的合作项目本课题利用传感器识别路径将赛道信息进行存储利用单片机控制智能车行进本课题包括设计供电电路时钟电路复位电路以及通信端口传感器信号处理电路电机驱动电路以及相关控制和存储软件设计本课题的综

16、合性很强是以迅猛发展的汽车电子为背景涵盖了控制模式识别传感电子电气计算机和机械等多个学科交叉的科技创意性设计这对进一步深化高等工程教育改革培养本科生获取知识应用知识的能力及创新意识等具有重要意义12 毕业设计论文研究现状和发展趋势 随着汽车电子技术的飞速发展汽车智能化技术正在逐步得到应用汽车智能化技术使汽车的操纵越来越简单动力性和经济性越来越高行驶安全性越来越好这是未来汽车发展的趋势 图2-1 系统信息的控制流程图22 控制系统整体方案设计221 模型车硬件整体方案设计 本次设计中的核心单片机将采用MC9S12XS128型号的单片机MC9S12XS-128是一款飞思卡尔16位的单片机其开发方法

17、和工作特点都与常用的8051单片机有一定的区别如何开发这款单片机如何为单片机多个模块写入底层的驱动程序和编写优良的上层控制算法是这一模块的核心该微控制器是freescale公司推出的S12系列单片机中具有增强型的16位单片机该系列单片机在汽车电子领域有着广泛的应用S12系列单片机的中央处理器CPU12由以下三部分组成算术逻辑单元ALU控制单元寄存器组CPU外部总线频率为8MHZ或者 16MHZ通过内部锁相环 PLL 可以使内部总线速度可以达到25MHZ寻址方式有16种内部寄存器组中的寄存器堆栈指针和变址寄存器均为16位它具有很强的高级语言支持功能CPU12的累加器A和B是8位的也可以组成16位

18、累加器D它的寄存器组包括如下5个部分 l 8位累加器AB或16位的累加器D 2 16位寻址寄存器X和Y是用来处理操作数的地址可分别用于源地址目的地址的指针型变量运算 3 堆栈指针SP是16位寄存器 4 程序计数器PC是16位寄存器它表示下一条指令或下一个操作数的地址 5 条件码寄存器CCRMC9S12XS128是Freescale公司推出的S12 系列单片机中的一款增强型16 位单片机片内资源丰富接口模块包括SPISCIIICADPWM 等单片机采用增强型16 位HCS12 CPU片内总线时钟最高可达25MHz片内资源包括8K RAM128K Flash2K EEPROM SCISPIPWM

19、串行接口模块脉宽调制 PWM 模块可设置成4 路8 位或者2 路16 位逻辑时钟选择频率宽它包括两个8 路10 位精度AD 转换器控制器局域网模块 CAN 增强型捕捉定时器并支持背景调试模式本次设计所提到的智能车自动控制系统就是基于此芯片设计赛车硬件电路作为系统实现其一系列控制功能的基础其设计的好坏直接关系到最终系统能否正常稳定的运行通过分析得到系统各主要功能模块电路及其与微处理器之间的逻辑关系系统整体硬件结构设计框图如下图2-2所示 图智能车控制系统整体结构图222 系统软件模块分析图2-4 系统软件结构从该结构图中可以看出系统的软件模块主要有1 单片机系统的初始化包括单片机系统时钟的初始化

20、ATD模块的初始化PWM模块的初始化增强型时钟模块的初始化还有一些输入输出口的初始化2 光电信号的采集通过对红外接收管接收道路反射的红外光后产生电压的变化采集到了有效的智能车位置信号3 光电信号的处理将采集到的电压信号存储在单片机中通过对光电信号的分析和判断来识别路径判断黑线中间位置判断道路是直线还是曲线以及通过计算判断出曲线的斜率从而进一步的控制舵机的转角和驱动电机的转速4 舵机转角的控制和电机转速的控制通过控制PWM口的信号输出可以实现对舵机转角和轮速的控制5 霍尔轮速传感信号的输入通过对输入信号的捕捉和计算实现对驱动电机的转速的测算223 控制算法设计方案 在小车的运行中主要有方向和速度

21、的控制即舵机和电机的控制这两个控制是系统软件的核心操作对小车的性能有着决定性的作用 对舵机的控制要达到的目的就是在任何情况下总能给舵机一个合适的偏移量保证小车能始终连贯地沿黑线以最少距离行驶在舵机的控制方案中有以下两种方案可供选择 方案一比例控制 这种控制方法就是在检测到车体偏离的信息时给小车一个预置的反向偏移量让其回到赛道比例算法简单有效参数容易调整算法实现简单不需复杂的数字计算在实际应用中由于传感器的个数与布局方式的限制其控制量的输出是一个离散值不能对舵机进行精确的控制容易引起舵机左右摇摆造成小车行驶过程中的振荡而且其收敛速度也有限 方案二PID控制 PID控制在比例控制的基础上加入了积分

22、和微分控制可以抑制振荡加快收敛速度调节适当的参数可以 有效地解决方案一的不足不过PID三个参数的设定较难需要不断进行调试凭经验来设定因此其适应性较差 在考虑选择中根据设计的赛道规则赛道模型与相关参数已给定即小车运行的环境基本上已经确定可通过不断调试来获得最优的参数因此选用的是PID算法来对舵机进行控制对驱动电机的控制即速度控制要达到的目的就是在行驶过程中小车要有最有效的加速和减速机制高效的加速算法使小车能在直道上高速行驶而快速减速则保证了小车运行的稳定流畅为了精确控制速度同时对速度进行监控本次设计中还引入了闭环控制的思想所以在硬件设计增加了速度传感器实时采集速度信息 下面第7章对PID算法进行

23、详细介绍 第3章 单片机最小系统模块智能车系统设计的基础微控制器即单片机单片机是系统电路的核心组件本次设计所采用的单片机是Freescale的HCS12系列产品中的一款芯片叫MC9S12XS128下面将对单片机和以MC9S12XS128芯片为核心的最小系统做一下阐述31 单片机以及最小系统简介随着大规模集成电路的出现及发展将计算机的CPURAMROM定时计数器和多种IO接口集成在一块芯片上形成芯片级的计算机因此单片机早期的含义成为单片微型计算机Single Chip Microcomputer直译为单片机又称为微控制器Microcontroller或嵌入式控制器Embedded Control

24、ler近年来单片机结合专用集成电路Application Specific Integrated CircuitASICReduce Instruction Set ComputerRISCEmbedded Processor适用于数据与数值分析信号处理智能机器及图像处理等高技术领域所谓的单片机最小系统是指在单片机外部增加尽可能少的元件电路组成一个让单片机可独立工作的系统32 MC9S12XS128最小系统设计本节将介绍以MC9S12XS128芯片为核心的最小系统的组成如图3-1所示该最小系统主要包括以下几个部分组成时钟电路BDM接口供电电路复位电路和调试用的LED灯时钟电路为单片机提供一个外

25、接的16HZ的石英晶振BDM接口允许用户通过该接口向单片机下载和调试程序供电电路主要是给单片机提供5V的电源复位电路是通过一个复位芯片给单片机一个复位信号调试用的LED灯和单片机的PORTB口相连供程序调试使用图3-1 最小系统原理图和PCB图第4章 电源管理模块 电源模块为系统其他各个模块提供所需要的电源设计中除了需要考虑电压范围和电流容量等基本参数之外还要在电源转换效率降低噪音防止干扰和电路简单等方面进行优化所以说可靠的电源方案设计是整个硬件电路稳定可靠运行的基础本次设计的全部硬件电路的电源由72V2Ah的可充电镍镉蓄电池提供由于电路中的不同电路模块所需要的工作电压和电流容量各不相同因此电

26、源模块应该包含多个稳定电路将充电电池电压转换成各个模块所需要的电压电源模块整体供电的可框图如图4-1 图4-1 电源系统结构框图下面将对几种主要供电电压电路进行设计15V电压主要为单片机信号调理电路红外对管以及部分接口电路提供电源电压要求稳定且噪声小电流容量大于500mA本次低压降采用型号为LM7805的稳压芯片LM7805具有大电流低功耗电路简单可靠的优点其电路图如图4-2图4-2 LM7805电路图26V电压主要是为舵机提供工作电压实际工作时舵机所需要的工作电流一般在几十毫安左右电压无需时十分稳定6V低压降采用型号为7806的三端线性稳压器7806稳压电路把72V的电池电压转换为6V的电压

27、供给舵机使用其电路图如下图图4-3 LM7806电路图 372V电压这部分直接取自电池两端电压主要为后轮电机驱动模块提供电源第5章 路径识别模块和测速检测模块51 路径识别模块路径识别模块是智能车系统的关键模块之一路径识别方案的好坏直接关系到最终性能的优劣本设计采用的是光电传感器实现智能车路径识别功能所谓光电传感器寻迹方案即路径识别电路由一系列发光二极管接收二极管组成由于赛道中存在轨迹指示黑线落在黑线区域内的光电二极管接收到的反射光线强度与白色的赛道不同由此判断行车的方向511 光电传感器光电传感器是利用光电器件把光信号转换成电信号的装置光电传感器工作时先将被测量转换为光量的变化然后通过光电器

28、件再把光量的变化转换为相应的电量的变化从而实现非电量的测量光电传感器的基本组成如下图5-1 光电传感器的基本组成512 光电传感器发射与接收电路设计本项目中选用的是红外对管RPR-220作为传感元件RPR-220是一种一体化反射型光电探测器其发射器是一个砷化镓红外发光二级管而接收器是高灵敏度硅平面光电三级管 它有如下三大特点塑料透镜以提高灵敏度内置的可见光过滤器以减小离散光的影响体积小结构紧凑传感器电路如下图5-2所示 图5-2 单对红外传感器电路图工作原理 当小车在白色地面行驶时装在车下的红外发射管发射红外线信号经白色反射后被接收管接收一旦接收管接收到信号那么图中光敏三极管将导通比较器输出为

29、低电平当小车行驶到黑色引导线时红外线信号被黑色吸收后光敏三极管截止比较器输出高电平从而实现了通过红外线检测信号的功能将检测到的信号送到单片机IO口当IO口检测到的信号为高电平时表明红外光被地上的黑色引导线吸收了表明小车处在黑色的引导线上同理当IO口检测到的信号为低电平时表明小车行驶在白色地面上513 路径识别传感器布局设计通过分析可知寻迹传感器模块的设计是整个智能小车设计中的最重要的一部分其作用相当于人的眼睛和耳朵采集外部路面的信息并将其送入MCU微控制器进行数据处理其能否正常工作直接影响着小车对路面的判断以及小车下一步的行动因而其布局的合理性与有效性对小车稳定而又快速的行驶起着至关重要的作用

30、个人认为在传感器的布局中要解决两个问题信息检测的精确度和信息检测的前瞻性 一般寻迹传感器的布局常见的有以下几种方案 方案一一字形布局 反射式光电传感器在小车前方一字形简单排布在一字形中传感器的间隔有均匀布局和非均匀布局两种方式均匀布局不利于弯道信息的准确采集通常采取的是非均匀布局考虑到弧度信息采集的连贯性非均匀布局的理论依据是等角度分布原则即先确定一合适的定点从顶点依次等角度画射线射线与传感器水平线相交的位置即为传感器的位置这种方案信息检测相对连贯准确使控制程序算法简单小车运行连贯稳定 方案二M形布局 传感器呈M形排布这种方案的优点在于拓宽了边沿传感器的检测范围更适合于小车快速行进中的弯道检测

31、但相对一字形布局来说M形布局不利于信息检测的稳定易于产生振荡不利于小车行驶的稳定 方案三活动式传感器布局 前面两种方案都是固定的布局方式使传感器对赛道有一定的依赖在这个方案中传感器的位置是可以在一定范围内灵活排布的这种方案的布局思路是传感器在安装板上的位置是可调的先将传感器排布成为矩形点阵根据不同的赛道情况而灵活地作出调整就可以设计出不同的布局方式而适应不同的赛道这样对不同赛道有更强的适应性但这种方案可调性大临时调节较难其次机械设计中体积较大增加了小车的重量不利于加减速 在方案选择中最终采用的是上述第一种方案通过比较得到的结论是对第一种第二种和第三种方案进行综合考虑由于本次比赛的赛道相关参数已

32、知而且赛道只有直道和弯倒两种可以在测试中对赛道进行模拟赛道变化不大因此没有必要采取比较复杂的第二种和第三种方案方案具体布局的PCB图如图5-3 图5-3 红外探测布局的PCB图52 测速检测模块为了使得模型车能够平稳地沿着赛道运行除了控制前轮转向舵机以外还需要控制车速通过对速度的检测可以对车模速度进行闭环反馈控制在车轮没有打滑的情况下车速正比于驱动电机的转速车速检测一般是通过检测驱动电机转速来实现的比赛中所使用的常见测速方法如下1霍尔传感器霍尔传感器是一种磁传感器它的工作原理是霍尔效应它是德国物理学家霍尔于1879年研究载流导体在磁场中受力的性质时发现的如图1所示在半导体薄片两端通以控制电流I

33、并在薄片的垂直方向施加磁感应强度为B的匀强磁场则在垂直于电流和磁场的方向上将产生电势差为UH的霍尔电压它们之间的关系为U k 5-1 图5-4 霍尔原理式中d 为薄片的厚度k称为霍尔系数它的大小与薄片的材料有关通过对一定时间内脉冲信号数量的捕捉可以计算出车轮的转速霍尔具有体积小成本低反应快获取信号准确等优点只是霍尔元件与磁钢之间距离不一调节2 测速电机测速电机实际上是一种微型直流发电机其输出电压和电机转速成正比测速发电机的输出电动势具有斜率高特性成线性无信号区小或剩余电压小正转和反转时输出电压不对称度小对温度敏感低等特点光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的

34、传感器光电编码器是由光栅盘和光电检测装置组成光栅盘是在一定直径的圆板上等分地开通若干个长方形孔由于光电码盘与电动机同轴电动机旋转时光栅盘与电动机同速旋转经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速具有体积小精度高工作可靠接口数字化等优点PWM信号来完成由于设计的智能车没有倒车功能所以电机只工作在正转方向上做功与发电两种状态为了简化驱动电路设计将采用集成电机驱动芯片MC33886对电机进行控制MC33886为典型的H桥式驱动电路通过控制输入的信号可以控制两个半桥的通断来实现电机的顺转与倒转由于智能车不需要倒车为了扩大芯片的驱

35、动能力 把两个半桥并联使用下面介绍一下H桥式电机驱动电路 H桥式电机驱动 图中所示为一个典型的直流电机控制电路电路得名于H桥式驱动电路是因为它的形状酷似字母H4个三极管组成H的4条垂直腿而电机就是H中的横杠注意图及随后的两个图都只是示意图而不是完整的电路图其中三极管的驱动电路没有画出来如图所示H桥式电机驱动电路包括4个三极管和一个电机要使电机运转必须导通对角线上的一对三极管根据不同三极管对的导通情况电流可能会从左至右或从右至左流过电机从而控制电机的转向 图 H桥式电机驱动电路要使电机运转必须使对角线上的一对三极管导通例如如图413所示当Q1管和Q4管导通时电流就从正极经Q1从左至右穿过电机然后

36、再经Q4回到电源负极按图中电流箭头所示该流向的电流将驱动电机顺时针转动当三极管Q1和Q4导通时电流将从左至右流过电机从而驱动电机按特定方向转动电机周围的箭头指示为顺时针方向 图 H桥电路驱动电机顺时针转动图所示为另一对三极管Q2和Q3导通的情况电流将从右至左流过电机当三极管Q2和Q3导通时电流将从右至左流过电机从而驱动电机沿另一方向转动电机周围的箭头表示为逆时针方向 图 H桥电路驱动电机逆时针转动CPU 发出PWM 波通过MC33886 驱动芯片控制电机的电压 PWM3 输出PWM波经由IN1 口输入OUT1 输出电机调速信号通过预设的DUTYCYCLE对电机的转速进行调解工作电压5-40V导

37、通电阻120 毫欧姆输入信号TTLCMOSPWM 频率 10KHz具有短路保护欠压保护过温保护等 图6-4 MC33886电机驱动原理图613 PWM信号控制电机的转速PWM脉冲宽度调制控制通常配合桥式驱动电路实现直流电机调速非常简单且调速范围大它的原理就是直流斩波原理电机的转速与电机两端的电压成比例而电机两端的电压与控制波形的占空比成正比因此电机的速度与占空比成比例占空比越大电机转得越快当占空比1时电机转速最大PWM控制波形的实现可以通过模拟电路或数字电路实现例如用555搭成的触发电路但是这种电路的占空比不能自动调节不能用于自动控制小车的调 速而目前使用的大多数单片机都可以直接输出这种PWM

38、波形或通过时序模拟输出最适合小车的调速我们使用的单片机它是16位单片机可提供路PWM 直接输出频率可调占空比可调控制电机的调速范围大使用方便单片机有个IO口 内部设有2个独立的计数器完全可以模拟任意频率占空比随意调节的PWM信号输出用以控制电机调速在实际制作过程中认为控制信号的频率不需要太高一般在400Hz以下为宜占空比16级调节也完全可以满足调速要求并且在小车行进的过程中占空比不应该太高在直线前进和转弯 的时候应该区别对待若车速太快则在 转弯的时候方向不易控制而车速太慢则很浪费时间这时可以根据具体情况慢慢调节20ms左右的脉冲信号脉冲信号的宽度决定舵机输出舵盘的角度舵机输出转角与控制信号脉宽

39、之间的关系如下图6-6图6-6 舵机输出转角与控制信号脉宽之间关系控制信号PWMPulse Width Modulate脉宽调制波在特定的频率和占空比转向伺服电机会转动特定的角度图描述了在不同占空比的条件下转向伺服电机所转过的角度给出了量化后的结论图6-7 不同占空比的PWM波形控制的转向伺服电机转向伺服电机由于小车前轮转向只能在度范围内所以用于小车转向的PWM波的占空比范围为5-10之间右转极限位置时PWM波占空比为5左转极限占空比为10频率为50HZ在了解了转向伺服电机的控制方法后利用单片机的PWM通道产生相应频率和占空比的PWM波形即可实现对转向伺服电机的控制进而实现对小车转向的控制PW

40、M模块的相应通道使得该通道输出PWM波频率为520Hz同时设置PWM极性即起始电平为高电平 舵机停止控制子程序用来停止舵机动作并恢复其到初始状态具体实现方法为设定通道输出PWM波的高电平时间为147ms并延时一段时间后关闭PWM输出舵机转向角度控制子程序实现设定PWM调制波的脉宽使其高电平宽度从121ms 147ms173ms可调所对应舵机转向角度为-38°0° 38°下图6-9 表示了舵机控制模块的工作过程图6-9 舵机转角控制模块程序流程图第7章 智能车软件的设计车辆之所以能实现智能行驶自动驾驶居于核心地位是控制算法随着微控制器技术的发展控制器的资源愈加丰富功

41、能日趋强大为实现更高智能的控制算法提供了良好的平台本设计采用的是基于光电传感器的设计方案软件的设计中程序的主流程是先完成单片机的初始化包括IO模块PWM模块计时器模块定时中断模块初始化之后通过无限循环语句不断的重复执行路径检测程序数据处理程序控制算法程序舵机输出及驱动电机输出程序其中定时中断用于检测小车当前速度作为小车速度闭环控制的反馈信号光电传感器方案主流程图如图7-1所示图7-1 光电传感器方案主程序流程图71 单片机初始化单片机初始化主要包括锁相环初始化IO端口初始化PWM初始化定时中断的初始化输入捕捉通道初始化AD转换模块初始化以及各种变量和常量初始化以下列出几种初始化代码锁相环初始化

42、锁相环即PLL技术通过设置锁相环可以改变单片机的时钟频率void PLL_init void 系统时钟的初始化因当时摸索欠考虑时钟初始化比较乱需要改进 CLKSEL_PLLSEL 0 选定外部时钟为1时选择锁相环时钟 时钟选择寄存器初始化 CLKSEL 0 选择外部晶振为时钟源PLLCTL_PLLON 0 锁相环电路禁止PLLCTL_PRE 1 实时中断允许PLLCTL_PCE 1 允许看门狗PLLCTL_AUTO 1 选择高频宽带控制PLLCTL_SCME 1 探测到外部时钟失效时产生自给时钟信号SYNR 8 时钟合成寄存器初始化REFDV 0X07 时钟分频寄存器初始化 与上句为做实验时确

43、定的参数与理论参数有差距可重新设置CLKSEL_PLLSEL 1 选定锁相环时钟 此句被注解掉PLLCTL_CME 1 时钟监控允许 锁相环控制寄存器初始化PLLCTL_PLLON 1 while CRGFLG_LOCK 循环直到该位为1即时钟频率已稳定CLKSEL_PLLSEL 1 选定锁相环时钟 PWM初始化PWM初始化主要包括以下6个步骤禁止PWM选择时钟选择极性选择对其模式对占空比和周期编程使能PWM通道void PWM_init void 脉宽调制模块的初始化参考中文PPT PWME 0 关闭PWMPWMCNT01 0 01通道被禁止PWMCTL_CON01 1 01共同组成16位通

44、道作为舵机的控制信号输入口 为1级联为0分开PWMCTL_CON45 0 分别组成8位通道 分别为驱动电机的正反转的输入口PWMCTL_PSWAI 1 不准许等待模式下分频时钟禁止运行PWMCTL_PFRZ 1 不准许冷结模式下PWM波形输出PWMPOL 0X03 对应通道脉冲起始位为高电平 极性为1PWMCLK 0X33 0145分频PWMPRCLK 0X03 A_CLOCK BUS_CLOCK8 3MHZPWMSCLA 15 比例因子寄存器设置PWM寄存器的工作频率 SA_CLOCK A_CLOCK215 100KHZPWMCAE 0X00 输出波形左对齐否则中心对齐PWMDTY01 80

45、 初始化时可任意设置PWMPER01 2000 设置PWM01通道频率100KHZ2000 50HZPWMPER4 20 设置PWM4频率为5KHZPWMPER5 20PWMDTY5 10PWMDTY4 15 占空比为1520初始化时可任意设置PWME 0X13 使能PWM PID是建立在经典控制理论基础上的一种控制策略PID控制器作为最早实用化的控制器已经有五十多年的历史现在仍然是最广泛的工业控制器PID控制器最大的特点是简单易懂使用中不需要精确的系统模型等先决条件因而成为应用最广泛的控制器 PID控制器系统原理框图如图7-2所示 图7-2 典型PID控制结构在PID控制其中其输入为设定值r

46、 t 与被调量实测值y t 构成的控制偏差信号e t e t r t -y t 7-1其输出为该偏差信号的比例积分微分的线性组合也即PID控制规律 7-2式中为比例系数为积分时间常数为微分时间常数在PID调节作用下控制器对误差信号e t 分别进行比例 P 积分 I 微分运算 D 其结果的加权和构成系统的控制信号u t 送给被控象加以控制 比例环节的主要作用是的值增大时系统的响应速度加快闭环系统响应的幅值增加当达到某个值系统将趋于不稳定 当增加积分时间常数Ti的值时系统超调量减小而系统的响应速度将变慢因此积分环节的主要作用是消除系统的稳态误差其作用的强弱取决于积分时间常数Ti的大小当增加微分时间

47、常数时系统的响应速度增加同时响应的幅度也增加因此微分环节的主要作用是提高系统的响应速度由于该环节产生的控制量与信号变化速率有关因此对于信号无变化或者变化缓慢的系统不起作用 73 路径识别算法 路径识别算法是通过的AD端口将光电管接收端转化的电压值读入单片机道路中心线相对于各个红外接收管的距离所引起的电压变化经AD转换成相应的数字量然后通过插值运算可以得到更加精确的路径信息74 舵机控制算法方向控制策略的作用是控制小车在不同类型的赛道下对小车位置与黑色引导线之间偏差的修正输入是赛道识别的结果有效前瞻和位置偏差输出是舵机控制量我们采用了PID算法 Y N 图7-3 舵机控制流程图75 速度控制算法

48、小车运行中另外一个关键的物理量是速度由于小车在运行过程中有较大的时延和惯性从控制信号输出到舵机响应到位有一段时间延迟同时小车运行本身的惯性也使得车体难以按照理想状况立即调整完毕时延加惯性的系统特性对于小车通过弯道时影响尤其明显进入弯道后速度过快容易冲出赛道而速度过慢可能会导致动力不足卡停在弯道处同时小车进入直道时需要尽可能提升速度并保持在一定范围内避免因为速度过快影响直道稳定性如果没有速度闭环仅仅依靠对电机的开环控制这是无法实现的在小车实际运行中电机接受到控制信号后从初始转速提升到期望转速需要经历 35 秒的加速过程延迟是相当大的因此除了使用PID对于位置偏差量进行控制外本项目对小车速度也进行

49、闭环控制在速度控制中如何获取小车当前速度以及如何对小车进行减速是两个关键问题为了能对速度进行检测前面的章节中已详细说明了本设计中采用的霍尔式速度传感器这里就不再赘述了下面就重点介绍一下小车的减速这里考虑了两种方方案 方案一 使电机短时间停机这种案可控性强适合于轮轴自锁的电机如减速电机与步进电机但由于小车的惯性作用从刹车到停止需要一个缓冲时间这样容易造成小车由直道进入弯道时容易冲出跑道限制了小车的直道速度而且使小车在弯道运行时连贯性很差 方案二 电机瞬时反转来快速降低小车速度这种适合于直流电机这相当于给小车一个反向力矩来迅速降低小车的速度很明显其减速效率优于方案一经实验验证其速度上连贯性也优于方

50、案一 为进一步精确控制小车速度还需要引入闭环速度控制把采用速度传感器检测到小车的实时速度通过实际速度与期望速度之间的比较确定小车速度状态以及决定加速或减速的强度大小如果没有速度闭环虽然也可以较好的实现速度控制但是不能灵活地根据小车的实时速度来进行调整这会降低小车对赛道的应变能力会降低小车的整体速度速度控制的闭环流程图如图7-4 以下程序示意出了本项目采用的速度控制方案 if BrakeTime 0 BrakeTime表示减速时间 BrakeTime- 冷却时间处理减速功能子函数 else if小车偏离赛道比较严重和小车刹车就绪 启动减速功能给定刹车强度减速冷却开始 else 根据小车状态和当前

51、速度决定小车的速度 程序设计中通过调整减速时间BreakTime以及减速功能子函数里设定的速度参数来控制减速的程度通过实验得出结论在良好识别弯道的前提下可以达到迅速降低电机转速而满足小车过弯的要求 Y N Y N 图7-4 速度控制流程图第8章 开发制作与调试在本次设计中所采用的智能车软件开发工具为由清华大学开发的专门Motorola S12系列微处理器的BDM调试工具以及由MetroWerks 公司开发的Codewarrior 47编译器 BDM背景调试手段与传统调试方法最大区别在于其能在不影响单片机运行的前提下很好的监视单片机的运行状态观察内部的存储器及IO资源的情况这一优点摒弃了传统的仿

52、真器调试手段实现了在线运行在线调试的目的提高了软件调试的效率与准确性小车的硬件开发工具主要为Altium Designer Summer 09通过该软件来完成电路原理图的绘制及PCB板制作下面对Codewarrior 47和BDM调试工具作简要介绍81 CodewarriorV47软件及其应用Codewarrior软件是Metrowerks公司开发的软件集成开发环境IDE intergrated develop inviroment Freescale的单片机都可以在codewarier IDE软件下进行开发Codewarrior IDE 为软件开发提供了一系列的工具Codewarrior I

53、DE为软件开发提供了一系列的工具其中包括 项目管理器为软件开发人员管理上层的文件将项目进行分组管理比如文件或目标系统跟踪状态信息比如修改日期决定编译顺序或每次编译应包括哪些文件与插件一起提供版本控制功 编辑器利用颜色来区分不同的关键字允许用户利用颜色机制自定义关键字自动检查括号范围利用菜单在不同的文件或函数中导航 搜索器搜索一个特定的字符串用特定的字符串代替查找到的字符串允许使用常规表达式提供文件比较功能 源代码浏览器标志符变量名称函数名称数据库利用数据库来对代码快速定位对所有的标志符连接到用到它的代码中 编译系统编译器将源代码编译成机器码链接器将目标文件链接成可执行文件 调试器利用标志符数据

54、库进行源代码级调试支持各种标志符数据库开发人员可以在不同的操作系统下使用 codewarrior IDE 来开发自己的件这些操作系统包括 Windows Macintosh Solaris 和 Linux IDE在不同作系统下的界面完全相同支持CC和 Java多种语言IDE支持许多通用的桌面或嵌入式处理器支持插件工具开发环境界面统一在软件开发过程中通常需要经过以下几个步骤新建创建新项目源文件编辑按照一定的规则编辑源代码注释编译将源代码编译成机器码同时还会检查语法错误和进行编译优化链接将编译后的独立的模块链接成一个二进制可执行文件调试对软件进行测试并发现错误CodearrierV47的创建新的工

55、程窗口图8-1 CodearrierV47 创建新的工程窗口CodearrierV47的工程的初始设置窗口图8-2 CodearrierV47的工程的初始设置窗口CodearrierV47的编译窗口图8-3 CodearrierV47的编译窗口82 BDM for S12的使用BDM是Motorola的一种调试接口全称是Background Debug Mode是一个内嵌于MPU 的调试单元BDM for S12即TBDML 硬件由清华大学Freescale MCUDSP 应用开发研究中心研制采用Daniel Malik设计的TBDML该工具是支持 Freescale MC9S12 系列 16 位单片机的 BDM 调试工具采用USB接口与PC通信以下是BDM的PCB原理图图8

温馨提示

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

评论

0/150

提交评论