智能车系统的软件算法设计方案

上传人:l**** 文档编号:127572748 上传时间:2020-04-03 格式:DOC 页数:53 大小:1.21MB
返回 下载 相关 举报
智能车系统的软件算法设计方案_第1页
第1页 / 共53页
智能车系统的软件算法设计方案_第2页
第2页 / 共53页
智能车系统的软件算法设计方案_第3页
第3页 / 共53页
智能车系统的软件算法设计方案_第4页
第4页 / 共53页
智能车系统的软件算法设计方案_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《智能车系统的软件算法设计方案》由会员分享,可在线阅读,更多相关《智能车系统的软件算法设计方案(53页珍藏版)》请在金锄头文库上搜索。

1、智能车系统的软件算法设计方案第一章 绪论1.1 智能车现状与研究意义1953年,世界上第一台无人驾驶牵引车诞生,这是一部采用埋线电磁感应方式跟踪路径的自动导向车1。如今,随着传感技术的不断进步以及各种智能算法的改进,无人驾驶车发展也越来越快。根据不同的应用,其速度、安全性、运行时间也大相径庭。正是由于设计的高难度性,智能车设计变得越来越复杂,集成度越来越高,功能越来越强大,也就吸引了更多的人关注这项设计。本课题是基于智能车模型系统软件算法的设计,对此的研究在课题研究方面和实际生产方面都具有可观的价值。该设计中智能车系统采用光电传感器采集道路信息,利用Freescale公司嵌入式单片机对道路信息

2、进行分析、运算,从而控制电机和舵机使智能车平稳自动运行。本课题对智能车的算法进行仿真与分析以获得性能优越的控制算法,然后通过嵌入式软件开发工具软件CodeWarrior对控制算法进行设计与实现。通过本课题的研究,可以了解智能控制系统的基本原理与其实现,掌握智能控制系统软件系统及算法的基本知识以及实现方案。还熟悉了开发软件CodeWarrior、嵌入式单片机,掌握了软件算法编写的一些方法和技巧。本课题的研究是对本专业所学知识的较系统综合的理解与应用,本课题的研究是对理论知识与实践结合的体现。1.2 需要完成的任务本设计需要完成以下几个任务:1、 设计基于光电传感器的智能车模型软件系统整体方案;2

3、、 了解智能车模型系统硬件;3、 设计、实现智能车模型道路信息采集模块软件算法;4、 设计、实现智能车模型采集信息处理与分析,以及运动控制算法;5、 熟练掌握Freescale嵌入式单片机及其开发工具的使用,并应用该硬件集开发工具实现实时控制系统;6、 配合同组同学,共同完成智能车系统的调试、测试。1.3 论文结构本论文分为七章。第一章为绪论,介绍智能车的现状与研究意义、课题主要解决的任务。第二章是智能车系统概述,介绍智能车的整体设计方案。第三章是智能车硬件设计部分,简要介绍硬件设计的电路等。第四章、第五章、第六章都是介绍智能车的软件设计,其中第四章为软件设计主流程,介绍了所使用到的单片机各模

4、块的初始化功能;第五章、第六章分别是阐述智能车的转向控制策略和智能车的速度控制策略,提出了简单控制和PID控制2个策略。第七章包括两个方面,一是对这次毕业设计所得的结论和体会做出总结,二是对本次设计中还没有实现的地方进行补充,以及对智能车的未来做出展望。第二章 智能车系统概述2.1 系统总述设计基于Freescale公司开发的MC9S08QE128单片机的自动控制器控制模型车在封闭的道路上自主循线运行。自动控制器是以单片机MC9S08QE128为核心,配合有红外发射管、驱动电机、舵机、电源电池及相应的驱动电路等元件。它能够自主识别路径,控制模型车高速稳定运行在道路上2。根据设计要求,系统可分为

5、硬件设计和软件设计。硬件设计可分为电源管理模块、道路信息检测模块、电机驱动模块、舵机转向模块、方向角检测模块、速度检测模块。软件设计又可分为数据处理与分析模块、控制模块。各模块的功能关系与逻辑关系如下:电源管理模块为各模块供电;道路信息检测模块为控制模块获取路径参数,提供智能车与道路的位置信息;控制模块则根据控制策略对电机驱动模块和舵机转向模块输出合适的控制信号;而方向角检测模块与速度检测模块测得描述智能车运行的状态量:舵机转动的方向与角度、智能车后轮的转速,并反馈给控制模块;通讯及调试部分用于在线与单片机通讯并调整单片机的有关参数。系统的方框图如图2.1所示。控制模块方向角检测模块驱动电机模

6、块舵机转向模块道路信息检测模块速度检测模块电源管理部分通讯及调试部分 为各部分供电图2.1 系统方框图Fig. 2.1 System block diagram2.2 设计方案根据智能车系统设计要求,各模块设计如下:1、 电源管理模块:系统采用7.2V 2Ah镍氢蓄电池供电,通过LM1117芯片进行降压与稳压处理。其中,单片机、方向角检测模块、速度检测模块需要5V电压,红外发射管工作电压为2V。伺服驱动电机工作电压范围4.8V到6V,直流驱动电机可以使用7.2V 2Ah镍氢蓄电池直接供电3。2、 道路信息检测模块:本系统采用14对红外发射管接收管一字型排列。用红外发射管发射的红外线,经过道路反

7、射回来后,被红外接收管接收。由于白色与黑色吸收红外线的强度不同,所以不同位置上的红外接收管接收到强弱不同的反射红外线,就可以判断出黑线与智能车的相对位置。3、 电机驱动模块与舵机转向模块:电机驱动采用飞思卡尔公司的电机驱动芯片MC33886,舵机控制采用S12单片机输出的PWM(Pulse Width Modulation)占空比不同,来确定转角方向。4、 方向角检测模块:采用电位器检测舵机的转角与转向。电位器选用了日本Sakae精密单圈线绕电位器。电路连接简单,使用方便。通过电位器把舵机的转角与转向变成模拟的电压信号,经单片机内的ADC(Analog-to-Digital Converter

8、)采集,可以得出较精确的数值。5、 速度检测模块:该模块采用光电编码器。在后轮的轴上安装一个齿轮和一对红外发射管与红外接收管,当转动后,齿能挡住红外接收管接收、槽可以通过红外线。计算被挡住的次数,可知在某时间内,通过的齿数,已达到检测智能车速度的目的。6、 通讯与调试部分:为了方便在线调试智能车,采用了嵌入式单片机开发调试接口BDM(Background Debug Mode)模块、按键与液晶显示电路,及嵌入式软件开发工具软件CodeWarrior。第三章 智能车系统硬件设计智能车的硬件结构框图如图3.1所示。MC9S08QE128I/OPWMECTPWM红外传感器组速度传感器舵机控制电路舵机

9、电机控制电路直流电机图 3.1 硬件结构图Fig. 3.1 Hardware structure系统由MC9S08QE128作为中央处理器 ,联系各个模块,接受外部探测得到信号,根据软件算法发出控制指令来控制电机和舵机,使智能车沿着道路的中心黑线行驶。3.1 BDM模块、时钟模块和MCU模块1、 BDM调试模块电路如图3.2所示。图 3.2 BDM模块电路Fig. 3.2 BDM circuit2、 晶振时钟模块电路如图3.3所示。图 3.3 时钟电路Fig. 3.3 Clock circuit3、 MCU(Micro Controller Unit)芯片MC9S08QE128管脚电路如图3.

10、4所示。图 3.4 单片机芯片电路Fig. 3.4 MCU circuitMC9S08QE128的管脚连接如下:1) PTF0PTF7、PTB0PTB5、PTA6、PTA7连接到红外发射管与红外接收管。2) PTC1、PTC2分别作为PWM1、PWM2输出,控制电机与舵机。3) PTG0PTG3、PTH0、PTD0PTD1连接到LED(Light Emitting Diode)显示模块。4) PTD4PTD7作为按键的输入。5) PTE4PTE7作为按键LED输出。以上3个模块:BDM模块、时钟模块和MC9S08QE128单片机可以整合在一块PCB(Printed Circuit Board)

11、板上。3.2 按键模块、显示模块和通讯模块1、按键模块电路如图3.5所示。图 3.5 按键模块电路图Fig. 3.5 Keyboard circuit2、显示模块电路如图3.6所示。图 3.6 显示模块电路图Fig. 3.6 Display circuit3、串口通讯接口电路如图3.7所示。图 3.7 串口通讯接口电路Fig. 3.7 Serial Communications Interface circuit本节的3个模块也可以集成在一块PCB板上。3.3 红外传感器组电路智能车采用14对红外传感器分为7组作为道路信息采集传感器。其中两个红外传感器电路如图3.8所示。图 3.8 两个红外传

12、感器电路Fig. 3.8 Double IR circuit3.4 电源模块和电机控制模块1、电源模块电路如图3.9所示。图 3.9 电源模块电路Fig. 3.9 Power circuit电源模块包括了5V电压,这是给单片机、方向角检测模块供电;2V供给红外发射管工作;4.8V到6V是为伺服驱动电机即舵机供电;直流驱动电机可用7.2V。上述电压均通过芯片LM1117稳压与升压处理后得到。2、电机控制模块电路如图3.10所示。图 3.10 电机模块电路Fig.3.10 Motor circuit第四章 智能车系统软件设计主流程智能车系统的软件设计包括三部分:智能车的状态信息检测、控制算法和执行

13、控制。其中,状态信息检测部分包括道路信息检测、速度检测、方向角检测。道路信息检测由红外发射管收集管和处理两部分组成。涉及MC9S08QE128的ATD(Asynchronous Time Division)模块、ECT(Enhanced Capture Timer)模块、PWM模块、外部中断等的使用。开发工具是Code Warrior IDE V6.1编译器,主要用C语言进行代码的编写。系统软件的主流程是:主程序持续采集并记录信息,包括道路信息、速度信息、方向角信息。当检测到的数据触发中断后,对相应的数据进行处理并计算控制量,控制舵机转向和驱动电机加减速,然后等待下一场数据的到来。主流程图如图

14、4.1所示:测速中断按键中断初始化采集并记录信息分析处理信息控制驱动电机和舵机显示通讯图4.1 软件主流程Fig. 4.1 The main program flow4.1 系统初始化本系统需要初始化的模块包括系统模式、I/O口、TPM(Timer/Pulse-Width Modulator)、ADC、KBI(Keyboard Interrupt)等。完整的初始化程序如下:void SystemInitial(void)/System Mode Initial SOPT1 = 0x43; /Close COP,Disable STOP,choose TPM3CH4,BKGD,RESET SOP

15、T2 = 0x08; SCGC1 = 0x70; /Open TPM2,TPM1,ADC; Close IIC2,IIC1,SCI2,SCI1 SCGC2 = 0xD4; /Open DBG,FLS, ,KBI, ,RTC; Close IRQ,ACMP,SPI2,SPI1/I/O Initial PTDDD = 0x00; PTDPE = 0xff; PTEDD = 0x0f; PTEPE = 0xff; PTJDD = 0xff; PTJPE = 0xff;/TPM1_Detect Speed:f= 10KHz TPM1C0SC = 0x44; TPM1MOD = 100; TPM1SC = 0x4a;/TPM2_Servo: PTA1 Pin served as Steering Gear. f= 50Hz TPM2C0SC = 0x24;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号