黄色网页免费_ -|五仓├四会民族宗教事务理局
淘宝减肥药排行榜十强
只推淘宝安全有效的减肥药

当前位置:黄色网页免费 > 减肥产品

黄色网页免费

时间:2020-10-30 14:45  编辑:安庆上舍小学

黄色网页免费

南昌大学

硕士学位论文

基于单片机的智能车控制系统的设计 姓名:江总

申请学位级别:硕士

专业:电气工程

指导教师:万晓凤;徐晓钟 20111213

摘要 IIIII r i l III I U l I Uf Y2042186

摘要

近年来,智能汽车的发展与研究成为热门.智能控制理论与技术在交通运输 工程中越来越多的被应用,智能小车涵盖了智能控制、模式识别、传感技术、 电气、电子、计算机、机械学科的知识,智能小车的研究,对提高学生的科研 能力和社会效益,有着重要的意义。

本文以“全国大学生智能汽车竞赛"为背景,设计制作出一套智能车控制 系统,使该智能车能够自主识别赛道,自动调节速度和转向顺利完成比赛。 本课题围绕着智能车控制系统,阐述了本系统的设计原理、硬件设计和软 件设计。该智能车控制系统涵盖了赛道识别模块、速度检测模块、中央控制模 块、执行模块、调试模块。该系统以MC9S12XSl28作为核心控制器,通过光电 传感器感知赛道信息,然后根据这些赛道信息,将PID控制和baIlg-b锄g控制结 合起来,在偏差比较大的时候用bang.bang控制,在偏差比较小的时候用PID控 制,控制舵机转角以及电动机的转速,用单片机C语言编程,使智能车能够自 主识赛道,顺利完成比赛。

关键词:控制系统;MC9S12XSl28;光电传感器;速度控制;PD;

Abstract

Abstract

In recent years,intelligent car development and research become popular. Intelligent control theory and technology is more and more applied in transportation engineering,smart car cover intelligent control,pattern recognition,sensor technology,electrical,electronic,computer,mechanical subject knowledge.smart car research has an important significance in improving students’research capacity and social benefits.

On the background of“Smart Car Race by National Students in University'’,this paper studies a set of the control system of intelligent vehicle,which makes the intelligent Car able to independently identify the track,automatically adjust the speed and steering and succeed in the completion of the game.

The issue is about the control system of intelligent vehicle,expounding the principles of system design,hardware design

and software design.The control system of intelligent vehicle consists of the recognition of the track,the detection of the speed,the central control,the implementation and the debugging.As the core controller is MC9S 12XS 128,the system shows the track information by the photoelectric sensor,and then according to the track information,combime wim PID control and bang—bang control,when the deviation is relatively large use a bang-bang control,when the deviation is relatively small use PID control,control the steering angle and motor speed,晰也a single・chip C language programming,the intelligent car could be able to independently identify the track through a certain algorithm for speed control and steering control,SO it succeed in the competition.

Keyword:Control Systems;MC9S 12XS 128;Photoelectric Sensor;Speed Control;PID ’●

II

第一章绪论

第一章绪论

1.1概述

随着国民经济的持续快速发展,汽车已成为人们日常生活中不可或缺的主 要消费品之一,这是我国汽车工业发展的一个非常好的机遇。但是汽车工业的 发展带来的石油需求、环境污染等问题,也越来越受到人们的关注,而发展电 动汽车可以减缓或者避免这些问题。为此各大汽车厂商都开始投入大量的人力 物力到发展电动汽车上。

随着国民经济的持续高速发展,汽车已成为人们生活的主要消费品之一, 这对我国汽车工业来说是一个非常好的发展机遇。然而汽车工业发展带来的对 石油资源需求激增、环境污染等问题,越来越引起人们的关注,而电动汽车则 可以减少甚至避免这方面的问题。为此,国家科技部已经启动了“863"重大专 项计划来加快电动汽车的研究,这将给我国的汽车行业带来前所未有的发展。 包括电动汽车在内,对整个汽车产业来说,其中一个重要部分——汽车智 能化,蕴含着巨大的潜力,正越来越受到全世界各大汽车公司的关注。美国国 际汽车经济研究所的一份调查报告指出,下一个汽车销售的高潮将从普及“智 能化汽车"开始,新一轮的竞争焦点,将是基于信息融合技术、微电子技术、 计算机技术、智能自动化技术、人工智能技术、网络技术、通信技术等的智能 汽车(Intelligent Vehicle,IV)fl勺研究设计开发【lJ。

智能车系统是一个将环境感知、规划决策、多等级辅助驾驶等功能集于一 体的综合系统,是典型的、多学科的、综合性的高科技和高新技术的结合体, 涉及传感器技术、信息融合技术、微电子技术、计算机技术、智能自动控制技 术、人工智能技术、网络技术、通信技术等,是典型的高新技术综合体,在一 定程度上代表了一个国家的自动化智能水平【2l。

智能车辆的自主驾驶功能将给全球的交通、运输起着重大的推进作用,比 如能切实提高道路网络的利用率,改善交通拥挤的现况;减少车辆的燃油量, 缓解能源紧缺的问题;减小交通事故发生率,提高道路交通安全等。毫无疑问, 智能车辆的创新性研究将是汽车产业和交通领域的一次重大“革命"。

第一章绪论

本论文结合以飞思卡尔半导体公司的HCSl2单片机为核心的全国智能车竞 赛项目展开研究。该项赛事最初是韩国汉阳大学汽车控制实验室在飞思卡尔半 导体公司资助下举办的,是以HCSl2单片机为核心的大学生课外科技竞赛。2005年,教育部为了加强大学生实践创新能力和团队精神的培养,委托教育部高等 学校自动化专业教学指导委员会在我国也主办每年一度的全国大学生智能汽车 竞赛。参赛队伍根据组委会提供的标准汽车模型、直流电机和充电式电池,制 作一个能在专门设计的跑道上自动识别道路行驶的智能车,以跑完整个赛程用 时最短,且技术报告评分较高的参赛队为获胜者【3】。制作智能车,需要参赛队 伍自行设计和制作可以自动识别路径的方案、电机的驱动电路、模型车的车速 检测电路、转向伺服电机的驱动电路以及微控制器MC9S12XSl28控制软件的编 程等等。其专业知识涉及控制、模式识别、传感技术、汽车电子、电气、计算 机、机械等多个学科,对参赛学生的知识融合和实践动手能力的培养,以及高 等学校控制和汽车电子学科学术水平的提高,具有良好的推动作用【3】。

整个智能车的系统中,控制系统是最为重要的一个环节,直接影响该智能 车是否能够显现自主行驶。本文就是在此基础上,通过理论研究和实践相结合, 设计一个基于单片机的智能车控制系统。

1.2国内外研究现状

作为高技术领域的一个重要研究课题,智能车的研究工作得到了世界各国 的广泛关注。美、德、意、法、日等国从多种角度展开了对智能车的研究,取 得了许多有实际价值的研究成果,产生了明显的社会和经济效益。下面简要的 介绍一下他们在智能车辆领域的研究现状。

在美国,早在1954年,Barret Electronics公司就研制出了世界上第一台自 动引导的车辆系统AGVS,是最早的关于智能车的研究,该系统还在South Carolina州的Mercury Motor Freight公司的仓库内投入运营,用于物品的自动运 输。同时,美国俄亥俄州立大学和加州大学以及其他一些研究机构也正在进行 全自动车辆的研制与改进工作。美国卡内基.梅隆大学机器人研究所研制了一台 能够完成传感器信息融合、图像理解和车体横向控制等功能的NabLab.5系统智 能车。1995年6月,NabLab.5进行了从宾州的匹兹堡到加州的圣地亚哥行程4587公里的实验,其中自主驾驶部分占98.2%。另外,CMU大学研制出了一种类似

2

第一章绪论

于行星探测车的“流浪者"号智能车,此车具有多种环境感知能力,能在非结 构动态环境中实现自学习、自推理等功能,并能在沙漠中进行自主控制和几千 公里以外的人工遥控【4】。由美国喷气推进实验室开发的一种微型智能车——纳 漫游车,用于协助火星车的工作。它的可移动柱杆的关节带有轮子结构,是腿 式机器人和轮式机器人结构的结合,它可以在底盘朝上时自动翻转,实现自动 矫正功能,并能在微重力的环境下行走。

在欧洲,意大利Parma大学信息工程系研制的带有摄像机、霍尔效应传感 器、IO接口板、信息输出装置和奔腾200MMX的PCARGO试验车,使用Linux 操作系统,在1998年6月进行了具有大量的高架桥和隧道2000公里的长距离 实验。在试验中,ARGO试验车自动驾驶里程达到总里程是94%[4】。德国慕尼 黑联邦国防大学与奔驰汽车公司合作研制开发了VAMP试验车,装有道路检测 与跟踪RDT和障碍物检测与跟踪ODT视觉系统,具有强大的自动驾驶功能。 法国帕斯卡大学的Peugeot系统,将CCD摄像机和速度传感器以及集成了计算 机功能的一块数字信号处理卡都安装在雪铁龙汽车上,该车在数百千米不同路 况的自动行车试验中最高时速达130km/h[4】。

在亚洲,日本千叶技术研究所在2004年宣称研制出一名叫“阿吕西格尼亚 一号"的新型智能车,它的8个汽车轮子各带一个智能腿,组合安装在汽车上, 由30个发动机带动,使其按一定的规律运动,具有人腿的行走功能,可以自由 前进、后退、跨越像楼梯等障碍物【4】。夜视、后视报警系统、防撞设备、前方 防撞和车道偏离报警系统等都已应用在某些汽车上。本田公司、尼桑公司和丰 田公司都在先进安全性车辆计划中发展类似于这种的行车安全子系统,它们包 括:车道定位系统、前车距离控制系统、自动控制系统、障碍物警报系统、驾驶 员打盹报警系统和夜间行人报警系统等[2】。

在我国,关于智能车的研究起步较晚,但发展迅速,差距也在逐步减小。 一汽和国防科技大学机电工程与自动化学院共同研发了中国第一辆自主驾驶车 辆,采用最先进的计算机视觉导航方案,能实时分辨岔道、斑马线和虚线,能 自适应能车体姿态变动和自然光照的变化,具有很强的自主驾驶功能【2】。清华 大学计算机系智能技术与系统国家重点实验室研究开发的THMR系列智能车辆 系统。其最新一代的智能车THMR-V系统装备了超声波测距、光码盘和电子罗 盘等传感测量元件,同时载有DGPS互补定位系统,激光雷达测距仪LMS220和摄像机远近距离处理系统等主要设备,兼有面向高速公路和一般道路的功能。 3

第一章绪论

在智能车辆的自主导航方面处于国内领先水平的吉林大学,其智能车辆课题组 正在研制第四代视觉导航车辆—JLUIV.Ⅳ,能感知车辆周围环境、完成图像处 理、导航路径识别及决策控制,可实现路径自动跟踪、自动转向和自动行驶【4】。 上海交通大学牵头研制的首辆无人驾驶智能车采用发射激光并捕捉反射光判断 前方1800范围内的障碍物的方式控制,可以在特定校园环境中自由行驶,最高 车速达27km/h。

由上述可以看到目前智能车辆技术在实际应用汽车上还只局限在智能速度 适应、自动操作、智能检测导航、碰撞预警系统、危险报警系统等辅助驾驶上, 还不能实现完全的全智能控制,但随着科学技术的发展,车辆智能化是未来汽 车的发展方向,适应性强、环境适应性好、安全可靠的智能车辆将是汽车领域 的一个研究热点。

从2005年起,开始举办了一年一度的飞思卡尔杯全国大学生智能车竞赛, 该大赛是在飞思卡尔半导体公司资助下举办的大学生课外科技竞赛。组委会提 供一个标准的汽车模型,要求参赛队伍以飞思卡尔半导体公司的8位、16位微 控制器作为核心控制单元制作智能车,让其能够沿着白色赛道上的25mm宽的 黑色导航线行驶,跑完赛道单圈用时最短者胜出。

1.3课题研究的内容和安排

本文是在参加全国大学生智能汽车竞赛制作的智能车基础上,设计制作出 一套智能车控制系统,使得智能车能够自主识别赛道,顺利完成比赛。其具体 的研究内容和章节安排如下:

第l章为引言,简单的介绍了选题的背景和意义、智能车的发展历史、国 内外研究现状以及各国大学生智能车大赛的开展情况。

第2章为控制系统的设计原理,本章首先阐述了智能车控制系统的工作原 理,介绍了控制系统的组成及各个模块的原理。

第3章为智能车控制系统的硬件设计,本章重点介绍了智能车控制系统的 各个模块的硬件设计过程。

第4章为智能车控制系统的软件设计,首先介绍了软件开发的平台,分析 了软件设计的流程图,着重阐述了智能车控制系统各个模块的软件编写。

第5章为全文总结与展望。

4

第二章系统设计原理

第二章系统设计原理

2.1系统设计分析和系统整体方案的选定

2.1.1系统设计要求

该控制系统的设计要求是:控制智能车能自主识别赛道,自主完成转向, 自行进行加减速,在起跑区自动启动,跑完一圈后能在停车区自动停止,能在 不冲出跑道的条件下尽快的跑完全程完成比赛。比赛的跑道由宽度为50cm的白 色KT板拼接而成,KT板中心贴有宽度为25mm的黑色引导线。赛道特征包括 直道、连续弯道、十字交叉、圆弧弯道、坡道等。赛道示意图如下:

一j≯簪1;;:j鬻|:。?。l

舅 5i |『 ~~幺P挲 11I 圜 卜N黑矽l il 卜。,噩;

i :lI L l瞳 蠢鬣 ,】 酗 l 『;

l 圈 _

第二章系统设计原理

2.2控制系统整体设计思路

在选定控制系统的路径识别方案后,智能车相对于跑道中心黑色引导线的 位置信号由车体前方的光电传感器采集,经单片机处理后,计算出智能车相对 于跑道中心线的位置,用于赛车的运动控制决策,同时单片机内部PWM模块发 出占空比可变的PWM波,驱动直流电机对智能车进行加速和减速控制以及舵机 对智能车的转向控制,使智能车在跑道上能够沿着跑道上的黑色引导线自主行 驶,并以尽量快的速度跑完全程。为了对智能车的速度进行精确的控制,在智 能车后轴上安装有光电编码器,采集车轮转速的脉冲信号,经单片机捕获后获 得智能车的速度信号,对速度采用PID和b纽g.b趾g结合进行控制,完成智能车 速度的闭环控制。整个控制系统的框图如下:

驾鬻潮雾 谓试模数删嬲㈣嬲獬攀秽

鬻鬻黪瓣瓣l

I麓囊鹚箍蓼黪,j

模块一 。\鞴瀚瞩<

电机驱动一

模块一 骶9S12XSl 28。

矿 i j

主控模块铲一

速度羧稽_.j一 。横孝鹫 。

转向舅宅摊

筷糖

图2-2控制系统整体框架

该控制系统主要分为七大模块:MC9S12XSl28主控模块、赛道检测模块、 电机控制模块、转向控制模块、速度检测模块、调试模块、电源模块。

2.2.1MC9S12XSl28主控模块

该模块是整个控制系统的“大脑“,它将采集光电传感器、测速传感器和 其他传感器的输出信号,处理这些信号,根据控制算法做出控制决策,驱动直 流电机和转向舵机,完成对智能车的控制。该主控模块的控制芯片为 MC9S12XSl28。该芯片是Freescale公司的S12系列当中的一款增强型的16位

第二章系统设计原理

单片机,该单片机片内资源丰富【6】,内部包含的模块有SCI、SPI、IIC、CAN、 PWM、A/D、PIT、定时器等,内部还具有8K SRAM、128K flash 2K DataFlash, 如此丰富的资源使其在汽车电子行业备受青睐,当然它也完全满足本控制系统 的设计要求。

2.2.2赛道检测模块

该模块是智能车的“眼睛",可以通过一定的前瞻性,提前感知前方的跑道 信息,为智能车的“大脑"做出决策提供必要的依据和充足的反应时间。跑道 检测采用的是光电传感器。光电传感器又有两种方案可供选择,分别是红外和 激光。近年来激光方案以其大前瞻、高抗干扰性获得了大家的青睐。因此我们 的光电传感器也采用激光传感器。激光传感器采集道路信息的原理是:由激光 发射管发射经过调制后的激光照射到跑道上,由于组成跑道的KT板是白色的而 贴在KT板中心的黑色引导线是黑色的,两者的反射系数不一样。激光在照在白 色KT板上时会产生漫反射,反射回来的光比较多,而照在KT板中心的黑色引 导线上时就基本被吸收,只有非常少的反射。所以接收管接收到的光强不一样, 从而导致接收管的特性曲线变化发生不同,因此就可以区别出白色和黑色,找 到中心黑色引导线的位置。如下图所示:

图2-3光电传感器原理

2.2.3电机驱动模块

电机驱动模块驱动直流电机完成对智能车的加速减速控制。本系统中的直 流电机调速方式采用的是脉冲宽度调制(PwM)的高频开关控制方式,也称直 流PWM调速方式。PWM调速方式的优点是:主电路简单、使用的器件少;较 高的开关频率、电流连续好;稳速精度好、调速范围宽;动态响应好等。P W M调速的原理是:使用脉冲宽度调制的方法,把恒定的直流电源电压调制成频 率一定、宽度可变的脉冲电压序列,从而改变平均输出电压的大小,以调节电

7

刁 , /-

机转速[7】。为了使智能车能够正反转,电机驱动的主电路有多种形式,在本系 统中使用的是H桥。全桥驱动原理示意图如下:

羔U l

卜%

卜M‘

图2.4电机驱动全桥原理

在图中当M 1、M4导通,而M2、M3断开时,电流经M1、电机、M4流 入地,使电机顺时针转动,当M2、M3导通时而M1、M4断开时,电流经M3、 电机、M2、流入地,使电机逆时针转动[8】。因此可以通过控制桥臂的导通时机 和导通时长来控制电机的转动方向和转动速度。

2.2.4转向舵机模块

在本控制系统中使用FUTABA.S3010舵机来完成转向。舵机也称伺服机, 是一个闭环系统。

输出转轴

电源线‰

地线GND

控制线

图2-5舵机示意图

舵机使用PWM信号驱动,不同的占空比对应不同的转动角度。其输出角度 与输入信号脉冲宽度的对应关系如下图所示:

8

输念箍轰氅德度 舵枫输出鞋转角

!耀:嚣 l l o.5ms 刚一yV

r]!竺 国训

厂]毯鲤 固一o.

n耋地 目∞。

图2.6舵机转角输出与脉冲宽度输入关系示意图

舵机的原理是:由单片机发出P W M信号给舵机,经由舵机内部电路板上 的控制IC判断出转动方向和转动角度,再驱动舵机内部的电机开始转动,通过 多级的减速齿轮将动力传至舵机摆臂,同时由位置检测器检测摆臂的位置信号, 判断摆臂是否已经到达指定的位置。位置检测器其实就是跟摆臂的轴连在一起 的一个可变电阻,当摆臂转动时可变电阻器的电阻值也会随之改变,藉由检测 电阻值便可知转动的角度[9】。

在本系统中通过给舵机不同占空比的P wM波来控制前轮的转动角度。 2.2.6电源模块

电源模块是整个系统的动力来源,电源的稳定性直接影响了整个硬件电路 的稳定性。电源不稳定容易导致单片机复位、传感器输出的信噪比变差等一系 列问题。在接下来的硬件设计一章中会详细介绍本系统的电源设计。

2.2.7速度检测模块

为了使智能车的速度获得更高的控制精度,更好的稳态特性,更好的动态 响应,速度控制采用闭环控制。闭环控制中速度检测是重要的一环。没有速度 检测就根本谈不上闭环。

速度检测的方法有很多种,现在国内外用到的主要有:光电码盘测速法、 测速发电机测速法、漏磁测速法、离心式转速表测速法、霍尔元件测速法、振 动测速法和闪光测速法等[10】。在本控制系统中采用的是光电码盘测速法。这是 通过测出转速信号的频率或周期来测量电机转速的一种测速方法。光电码盘与 电机相连,随着电机的转动,码盘也随着一起转动,码盘上刻有光栅,码盘的 9

一端是一个发光装置,另外一端是光敏接受装置,通过光栅的作用,持续不断 的开放或封闭光的通路,接收端的光敏元件的输出端就可以得到频率与转速成 正比的方波脉冲序列,将这个脉冲序列送到单片机处理,就可以计算出电机的 转速T[11]。采用的是型号为YZ25D-4S.1VB.200B的光电编码器来测速。电气 参数为:单A相、电压输出型、适用5V电压、200脉冲。不需要外加电路,信 号输出端可以接入单片机的脉冲累加端口(PT7口)进行测速,简化了硬件电路 的设计。在本控制系统中,该光电编码器不仅完成测速的功能,还完成路径记 录的功能。

2.2.8调试模块

调试模块在智能车的调试过程中起着非常重要的作用。该调试模块需要实 时的将智能车的状态诸如车速、位置反映出来。本控制系统使用的调试模块包 括液晶显示器,NRF905无线模块和红外遥控模块。液晶显示器使用的是诺基亚 5110液晶显示屏,该屏有体积小、编程简单、功耗低等特点【12】,能方便的将智 能车的一些参数显示出来,方便我们查看智能车的运行状态。NRF905无线模块 将智能车在赛道上跑得过程的一些参数、状态发送到上位机,方便我们调试。 红外遥控的作用是,在调试过程中当智能车跑出赛道或出现意外情况时可以使 其快速的停下来,防止撞上赛道周围的障碍物,减小对车的损害。

图2.7无线模块实物图

10

图2-8液晶模块实物图 图2-9遥控模块实物图

第三章智能车控制系统硬件设计

第三章智能车控制系统硬件设计

本部分在智能车控制系统的设计中十分重要,是下一步软件运行的平台, 直接关系着智能车系统的稳定运行和整车性能。

整个控制系统的硬件分为:主控模块、电源模块、激光传感器模块、电机 驱动模块。

3.1主控模块

3.1.1MC9S12XSl28单片机简介

MC9S12XSl28是Freescale公司的S12系列中一款增强型的16位单片机。 S12系列单片机采用CPUl2作为中央处理器,CPUl2由以下三部分组成:算术 逻辑单元ALU、控制单元和寄存器组。虽然该CPU外部总线频率设计为16MHZ, 但是通过内部锁相环(PLL)的倍频作用,内部总线速度最高可以达到96MHZ。它 的寻址方式有16种。其内部寄存器、堆栈指针和变址寄存器的长度均为16位。 CPUl2的内部寄存器组包括以下5个部分:

1)8位累加器A、B或它们构成的16位累加器D。

2)16位寻址寄存器X和Y,用来处理操作数的地址。

3)16位寄存器堆栈指针SP。

4)16位程序计数器PC。用来指向下一条指令或下一个操作数的地址。 条件码寄存器CCR[13]。

MC9S12XSl28的片内资源十分丰富,内部模块包括SPI、SCI、IIC、A『D、 PWM、CAN、PIT等,因此,它在汽车电子领域备受青睐。其中脉宽调制(PWM) 模块应用非常灵活,通过设置控制寄存器可设置成4路8位或者2路16位, 通过逻辑时钟选择频率宽。MC9S12XSl28片内具有8K SRAM、128K Flash、2K DataFlash。单片机的内部资源结构框图如图3.5所示:

12

第三章智能车控制系统硬件设计

图3-1MC9S12XSl28单片机结构框图

3.1.2单片机最小系统

单片机虽然将CPU、ROM、RAM以及I/O等集成在一个芯片中,但要使单 片机能够工作,还需要一些外部电路,主要包括电源电路、晶振电路、I/O驱动、 通信接口等,一般把单片机和这些外围电路统称为单片机最小系统。它的硬件 部分主要包括:晶振电路、BDM调试接口和复位电路。其电路图如图3.2所示:

U

图3-2下位机核心控制模块

13

第三章智能车控制系统硬件设计

一 卜

激光接收一 SO-S3-'

濑光发射., ^O-^30

●●

拨码开关一 ▲哇一^7p

●t “

电机驱动一 P2(正转)P3(反转)B7(使能如

.J

.J

舵机控制p P1一

一 .J

光电编码器p P7(脉冲累加).,

无线., IO—17.o

液晶p BO-"B5p

图3.3系统IO管脚分配

3.2电源管理模块

电源模块为系统其他各个模块提供所需要的电源。设计中,除了需要考虑 电压范围和电流容量等基本参数之外,还要在电源转换效率、降低噪声、防止 干扰和电路简单等方面进行优化。可靠的电源方案是整个硬件电路可靠稳定运 行的基础。按照智能车系统的设计要求,需对组委会提供的7.2V电池进行合理 的电压分配,设计规划出的电源模块如图所示。

图3-4电源管理模块整体框图

3.2.15V稳压电源

5V电源模块用于为单片机系统、传感器模块等供电。常用的稳压电源类型 有串联型线性稳压电源如LM2940、7805等和开关型稳压电源如LM2596、 14

第三章智能车控制系统硬件设计

LM2575等两大类。串联型线性稳压的优点是纹波小、电路结构简单,缺点是效 率较低,功耗大;开关型稳压电源的优点是功耗小,效率高,缺点是电路比较 复杂,纹波大【14】。对于单片机,需要提供稳定的5V电源,由于LM2940的稳 压的线性度非常好【15】,所以选用LM2940.5单独对其进行供电;而其它模块则 需要通过较大的电流,而LM2596.5,带载能力大,缺点是其纹波电压大【16】, 不适合做单片机电源,不过对其它模块供电还是能保证充电的电源。利用 LM2940.5和LM2596.5对控制系统和执行部分开供电,可以有效地防止各器件 之间发生干扰和电流不足的问题,使得系统能够稳定地工作。

I玎

图3.5LM2940电路图

j二V 11..

一I一● 一VCC—L菲一 5。I善bnw^=r2.nn^^:习船乃叨1

Ll Ll心596T-j D

l !C3

=兰cB

匕c・

3、鼬I-C印 220l埋 -'C9一_、1缸C

p o:Jl盎:

C呻

220I:谭 104j ’==.

ral‘,lD l

r

图3.6LM2596.5.0电路图

3.2.36V稳压电源

智能所用的舵机工作电压在4.8.6V之闻,了解舵机的工作原理后发现,提 高舵机工作电压,可使其响应速度加快,但是过高的电压会使舵机烧毁,所以 15

第三章智能车控制系统硬件设计

舵机的工作电压设计为5.8V。因此必须选用输出电压可调的的稳压芯片来获得 我们所需的电压。我们一开始使用的是LMlll7-ADJ为我们的舵机供电,在后 来的调试过程中我们发现LMlll7.ADJ的压差太高了,当电池电压不够的大和 小车加速过程中会使舵机供电不足影响转向。在查找稳压芯片的技术资料后, 我们采用利用LM2941.ADJ低压差稳压芯片为舵机供电,由于压差足够小,既 能满足供电要求,又能解决由于电池电压下降引起的各种问题。

图3.7LM2941电路图

3.2.37.2V电压

主要为后轮电机驱动模块提供电源,这部分直接取自电池两端电压,经过 BTS7960芯片对电机进行驱动。

3.2.43.3V电压

主要用于对调试工具无线模块和液晶模块进行供电,我们选用的是 LMll 17.3.3。

3.3激光传感器模块

’●

为了方便控制和顺利通过坡道,我们使用了上下两排激光传感器。上排激 光传感器入射角度大、前瞻大,下排激光传感器入射角度小、前瞻小。

3.3.1接收部分

我们使用的激光接收管为开光量输出的激光接收管,实物如图所示:

16

第三章智能车控制系统硬件设计

图3—8激光接收管实物图

这是激光传感器专用调制接收管,管子其实相当于一个IC,里面有锁相环 电路,自动增益控制,配合透镜可以达到很大的前瞻距离。接收管的参数为:接收管接收光的波长在500NM一980NM之间,接收光为频率在160K一200K,占 空比20.30%之间的调制波。只对这个频率和占空比的信号有很高的灵敏度,对 于其他的灵敏度很低,增强抗干扰能力。接收管的电路图如下:

图3-9激光接收部分的原理图

为了增强前瞻和增大接收管的接收范围,在接收管上套了一个透镜,利用 透镜的聚焦作用,使接收管的接收范围和接收距离大大增强。实物如下图所示:

图3.10激光接收模块

17

第三章智能车控制系统硬件设计

3.3.2激光发射部分

由接收管的特性我们知道,接收管只接收频率和占空比在一定范围的调制 光,因此激光发射我们要进行调制发射。比较常用的方案是使用专用的调制管 来产生所需的调制光,我们并没有采取这样的方案,而是直接用单片机的PWM 口产生所需的PWM波驱动MOS管1RF9630来驱动激光发射管进行发射,实际 效果很好。通过这种方式,产生的调制光的频率和占空比可灵活调整,产生时 接收管最灵敏的调制光。由于接收管上加了透镜,接收管的接收范围大大增加, 接收管可以同时接收多个激光发射管发出的发射光,因此我们使用一个接收管 对应多个发射管的方式制作激光传感器。整排激光传感器我们使用了12个激光 发射头和4个激光接收管。因为跑道中心黑线的宽度为25ram,为了使激光传感 器检测跑道中心黑线的灵敏度提高,12个激光发射头两两间距为12ram,因此 每个时刻至少有两个激光发射头发出的光照射在赛道中心黑线上。激光传感器 原理图如下所示:

蒈一毋器:实物图如下所示:

图3.11激光传感器原理图

图3.12整排激光传感器

上面我们讲到,加上聚焦透镜之后,一个激光接收管可以接收到多个激光 发射管发出的反射光,如果同时让所有激光发射管点亮的话,激光接收管接收 18

第三章智能车控制系统硬件设计

到的信息就是乱的,根本就不知道接收到的是哪个激光发射管发出得反射光。 因此为了避免激光管之间的相互干扰,我们使用了两片3.8译码器74HC238和 两片ULN2803来分时点通激光管进行发射,即每个时刻只有一个激光发射管被 点亮,同时检测最接近这个激光发射管的激光接收管,看是否接收到该激光发 射管发出的反射光,当该激光发射管发出的光照射在跑道的白色部分时,产生 漫反射,激光接收管能够接收到反射光,因此可判定该激光发射管照射的是白 色部分;当该激光发射管发出的光照射在跑道的中心黑色引导线上时,光基本 被吸收,反射非常少,激光接收管无输出,因此可判定该激光发射管照射到的 是黑色引导线,通过这个激光发射管在整排激光传感器中的位置就可以判断出 跑道中心黑色引导线的位置。依次类推,即能识别出赛道中心的黑色引导线。 激光分时点通电路原理图如下:

K百 B

l c

Y0I Yl OEI Y2

I融Y3I—OE2B Y4

I Y6Y5

l GxD Y71. ..........................一 SN74HC238D

U6

溉 YO 9j二 GXD 0盯l O{12ol可3Ot忑4O盯5o乙]陌 0Ur7Olm l窖aUTl 17OUr216oI玎315o{m 140Lrr513OUT6120L'T7It OUT8

IⅨl OUTl卜÷KX:. E艟

OL'T2卜_*<Z÷::l 蓁 L N 4O — L ' T 40L ' T 50L ' T 6L N ' 7O L ' T 70L ' T g 擎 l卜诤…一 lⅨ5卜-漱 lⅨ6卜÷文 l卜÷争:IⅨS卜_必 G.N。D C O M D I 五赢菊瓦r 图3.13激光分时点通电路

‘● 3.3.3下排激光传感器

下排激光传感器的原理图跟上排完全一样。唯一不同的是激光接收管没有 加透镜。因为下排激光传感器并不要检测很远的距离,只需检测近处的跑道信 息,不用透镜就能达到很好的效果。下排传感器的~个重要作用使智能车能顺

19

孚 笋 一∞ 瓢 耽 耶 晰 一 ∞ A B )一瞰

锨一一一一 ∞一一 湖

第三章智能车控制系统硬件设计

利通过坡道。因为上排传感器照射比较远,入射角度大,在上坡过程中会出现 一段盲区,不利于智能车的控制,而下排传感器由于入射角度小在上坡过程中 不会出现盲区,因此在上排出现盲区的时候切换到下排就可以顺利通过坡道。 下排传感器的作用不进如此,还能结合上排传感做路径识别,同时还起到识别 起跑线的作用。

图3.14下排传感器实物图

图3.15上下两排传感器安装实物图

3.4电机驱动模块

电机驱动采用2片半桥功率驱动芯片BTS7960B组合成一个全桥驱动电路, 驱动直流电机转动。BTS7960B是智能化的大电流半桥集成芯片,广泛应用于直 流电机驱动。其内部带有一个P沟道的高端MOSFET、一个N沟道的低端 MOSFET和一个控制IC[17]。内部集成的控制IC具有逻辑电平输入、电流诊断、 20

第三章智能车控制系统硬件设计

斜率调节、死区时间产生和过流、过压、超温、欠压及短路保护功能。BTS7960B 的通态电阻值非常小,典型值为16n疵,驱动电流大,可达43A,通过调节芯 片的SR引脚的外接电阻值的大小可以调节MOS管导通和关断时间。IS引脚输 出电流检测信号。INH引脚为使能引脚,IN引脚用于确定内部的两个MOSFET 哪个导通。当IN为高且INH为高时,高端MOSFET导通;当IN为低且INH 为高时,低端MOSFET导通【18】。通过对下桥臂开关管进行频率为25kHz的脉 宽调铝IJ(PWM)信号控翻]BTS7960B的开关动作,实现对电机的正反向PWM驱动、 反接制动、能耗制动等控制状态。电路原理图如下:

黟目箩

图3-16电机驱动原理图

图3.17电机驱动模块实物

21

第四章智能车控制系统软件设计

第四章智能车控制系统软件设计

软件是整个控制系统的灵魂,软件的好坏直接影响着系统的性能。本控制 系统要完成的功能是:控制智能车能自主识别赛道,自动完成转向,加速减速, 启动和停止。因此本控制系统的软件主要包括路径识别、速度控制、转向控制、 调试模块、安全策略等。

4.1路径识别

路径识别模块主要是完成对赛道信息的检测,得出智能车的位置信息,为 后面的速度控制和转向控制决策提供依据

4.1.1传感器检测

在上一章我们提到,为了避免激光发射管之间的相互干扰,各个激光发射 管是分时点通发射的,即一个时刻只有一个激光发射管被点亮。我们通过PIT 定时中断来实现,PIT定时器周期为200us。用两个12位的数组Signal_LaserO[12】 和Signal 分别来保存上下两排12个激光管的信号,数组的每个元素 只有两个.值.La,serl和[12]01,0代表该激光发射管照射在白线上,1代表该激光发射管照 射在黑线上。程序流程图如下:

图4-l激光检测程序流程图

22

第四章智能车控制系统软件设计

程序源码如-F[191:

撑pragma CODE_SEG—№AR_SEG NON BANKED//200us定时器中断服务函数,在该函 数中进行数据采集

void

interrupt

66PlT0(void)

{

PITCFLMT PITE=0;

PITTF_月Fo=l;

if(PTIS&(I<<(OUT/3)))

Signal』aser0[OUT]=0;

else

Signal_Laser0[OUT]=l:

if(PTIT&(I<<(OUT/3)))

Signal_Laserl[our]=O:

else

Signal_Laserl[OUT]=1;

if(Send__CNT<I 1)

Send_CNT++;

else

{

Send—ChIT=O;

Scan—Finish=l;

)

OUT=Send—CNT/4+3・(Send_CNT%4);

PORTA=PORTA&OxFO IOUT;

PITCFLMT—PITE=1;

)

4.1.2位置识别

通过上面讲到的传感器检测将激光管的信号保存在数组Sign姐-Laser0[]和 Signal_Laserl[】中,Signal_Laser0[]保存的是上排激光管的检测信号, Signal_Laserl[]保存的是下排激光管的检测信号。下面以上排为例介绍如何利用 这个数组识别出赛道中心黑色引导线的位置。

检测到的信息不是马上就能用的,还应该先经过滤波。因为可能由于跑道 不干净或者环境光照的一些影响,检测到的信号难免会有一些噪声,需要将这 些噪声滤除才能使用。我们滤波的思路是:由于跑道中心的黑色引导线是连续

第四章智能车控制系统软件设计

变化的并且采用周期短(为2.4ms),因此当前检测到的黑线与上次采样周期检 测到的黑线位置不会突变。利用这个原理可以滤除大部分的干扰。

位置计算采用的是加权平均法。对每个激光管赋予一个权值,如下图所示:

图4-2传感器权值分配图

具体算法为:

SUM_Signal+=Signal_LaserO【i】・Label_Laser[i];

position=SUM_Signal/Count;

Label_Laser[i]数组中存放的就是各个传感器的权值,Signal_LaserO[]是经过 滤波后的传感器的信息。通过这样的方法就可以计算出智能车相对于黑色中心 引导线的位置,为下面的速度控制和转向控制决策提供依据。位置识别的程序 流程图如下:

【加杈处秘

I位置计瓤.

图4.3位置计算程序流程图

4.2舵机控制

由上面的位置识别程序计算出智能车的位置后,就要计算出舵机的控制量 来控制舵机转向。舵机控制我们采用的是分段PD控制。从系统的稳定性、响应

第四章智能车控制系统软件设计

速度、稳态精度和超调量等各方面来考虑,比例系数Kp,微分系数Kd的作用 如下【20】:

(1)比例系数Kp的作用是消除误差,加快系统的响应速度。Kp取值越大, 系统的响应速度也越快,但同时也容易产生超调,甚至可能会导致系统不稳定。 Kp取值得过小,则会使系统的响应速度变慢,从而使调节时间变长,使系统的 动态、静态特性变坏。

(2)微分系数Kd的作用表现在对系统的动态特性能的影响,其作用主要 是抑制在响应过程中偏差向任何方向的变化,就是提前预报偏差变化。但Kd取 值过大,会使响应过程提前制动,从使调节时间延长,微分系数Kd还会降低系 统的抗干扰性能[211。

应用在小车上的PD控制器输入的是中心线偏移量,输出的是舵机转角值, 公式如下:

PWMDTYO 1=sPD->Proportion幸error+sPD->Derivative宰derror

式中的error是中心线偏移量,derror是微分量。

在调试过程中不断调节KP和KD的参数使PD控制器达到理想的状态。开 始我们使用的是固定P参数的PD控制,但在调试过程中发现这样会使小车走直 道的时候左右晃动,不稳定,于是我们通过MATLAB模拟仿真发现,使用分段 PD能达到更好的效果。最后使用了分段PD控制达到了理想的效果。PD计算程 序如下:

/幸・幸}・宰・・・宰・・幸宰・・转弯PD计算幸・・・・・・・・・・・・・・・・・/

int PD_Calculate(ehar Label,PD+sPD)

{

char error;,

char den'or;

charP=Label;

if(p<O)

P2‘p;

i如>11)

P=1l:

sPD->Proportion=Angle_P[BaseV][p];

error=La6el-sPD->Setpoint;

derror=Label-sPD->LastError.Data[sPD->LastError.rear];

SeQueue_PDIn(&sPD->LastError,Label);

第四章智能车控制系统软件设计

return(sPD->Proportion・error+sPD->Derivative・derroO;

>

将这个程序计算出来的PWM占空比的值并不能马上送给舵机,还要限幅滤 波才能输出给舵机,这样可以防止输出过大而损坏舵机。

4.3速度控制

智能车能平稳地行驶是最基本要求,但这并不意味着这是最简单的要求, 因为速度控制的好坏直接影响整车的许多方面,比如直道的速度提升,转弯速 度,减速性能等。为了提高对速度控制的稳定性和精确性,一般采用闭环控制。 本模块主要包括速度检测计算、给定速度计算、控制算法三个部分。

4.3.1速度检测计算

速度检测算法有三种,M法测速,T法测速,M/I"法测速。M法测速原理 是在固定的时间T内计算编码器输出脉冲的个数M1,再根据实验测出的被测轴 旋转一周编码器输出的脉冲数目Z,即可方便地计算出被测轴的转速,计算公式 为n=60M1/ZT。M法测速在速度高和编码器线数高的场合应用比较多。T法测 速原理是在编码器输出的两个相邻脉冲的时间间隔内对另外一个已知频率为f 的高频时钟脉冲进行计数,设计数值为M2,并由此来计算转速,速度计算公式 为n=60f/ZM2。T法测速的特点是适用于低速段。M厂r法测速是将M法和T法 结合起来,既检测一定的时间T内的编码器输出脉冲个数M1,又检测同一时间 按间隔内高频时钟脉冲的个数M2,并由此来计算转速,计算公式n=60M1f/ZM2。 M/T法测速结合了两者的优点,即能测量高速也能测量低速[221。在本控制系统 中应用的测速算法为M法。在一定的时间间隔内读取脉冲累加器的脉冲数目, 从而测的小车的速度。

4.3.2给定速度计算

智能车在不同的路况应有不同的速度,直道尽量的快,在入弯时应减速, 出弯时应适当的提速。为了使智能车在不冲出跑道的情况下以最快的速度跑完 全程,要给智能车一个合理的速度。我们采用的算法是,根据偏差查表法。就 是以智能车相对于中心黑色引导线的偏差为索引,进行查表。偏差越小,速度 就越大,偏差越大,速度越小。同时为了使速度的连续性变好和更能反映路况

第四章智能车控制系统软件设计

的变化,查表得出得值并不是立即送到给速度控制器,而是利用最近10次的查 表值求平均值,将这个平均值输入给速度控制器。

4.3.3速度控制算法 .

闭环控制的方法有很多,包括PID控制、bang-bang控制等。

①PID

PID(比例.积分.微分)控制器是有50多年应用历史的实用化的控制器, 是应用最为广泛的控制器。PID控制器的特点是简单易懂,不需精确的系 统模型等先决条件就能方便使用,因而被人们广泛的应用[23】。・

PID控制器由三个单元组成,分别是比例单元(P)、积分单元(I)和 微分单元(D)。其输入e(t)与输出U(t)的关系为

u(t)=Kp(e((t)+1/TiJe(t)dt+Td枣de(t)/dt)式中积分的上下限分别是0和t 因此传递函数为:G(s)=U(s)/E(s)=Kp(1+l/(Ti・s)+Td・s)

其中Kp为比例系数;Ti为积分时间常数;Td为微分时间常数【24】。 (g)bang.bang控制

所谓Bang.Bang控制,实际上就是一种时间最优控制,它的控制函数总是 取在容许控制的边界上,要么取最大,要么取最小,仅仅在这两个边界值上进 行来回切换,其作用跟一个继电器类似,所以它是一种位式开关控制。这种控 制方式在某些方面可以获得比常规的PID控制更优越的性能。在动态性能上不 仅有过渡时间短这一特点,而且在超调量等其他指标上也具有一定的改善【25】。 我们最先选用了增量式的PID算法,在实际的调试过程中我们发现这 种方法达不到理想的加速减速性能,于是我们采用了bang—bang控制,达到 了理想的加速减速性能但是也有不足,于是我们将PID控制和bang—bang控 制结合起来,在偏差比较大的时候用bang-bang控制,在偏差比较小的时候用 PID控制,用PID控制保证精度,用bang-bang控制保证力度,达到了理想的效 果。程序如下:

..

/.¨・・・・・¨¨¨・・速度PID计算幸・¨・¨・・・¨¨‘¨・/

int PIDCalc(PID・PP,char NextPoint)

{char dError,Error;

Error 2pp->SetPoint-NextPoint;

pp->SumError+2Error,

dError=pp->LastError—pp->PrevError;

第四章智能车控制系统软件设计

pp->PrevError=pp->LastError,

pp->LastError=Error,

return(pp->Proportion・Error+pp->Integral・pp->SumError/100+pp->Dedvative・

dEn'or);

}

,.¨¨..¨¨¨・¨¨・・・速度b粕分b锄g控制¨・宰¨・¨¨¨・・,

void Bang_bang(byte set Speed,byte PulseNUM)

{

if(Pulse_NUM《=SeLSpeed)

{

PWMDTY2=100;

PWMDTY3=O;

)

else

{

PWMDTY2=O:

PWMDTY3=100;

>

)

4.4安全策略

跑道中有特殊路段,诸如如十字交叉线、坡道、起跑线等。对这些路段加 以识别并采取相应的安全策略是十分必要的。特殊路段特征明显,通过程序可 以精确的识别,在识别后采取相应的安全策略,如减速、变参、扩大扫描区域

在蟹

守。

起跑线:起跑线的识别是非常重要的一个环节,起跑识别没做好就有可能 使小车在中途停下来或者不能及时停车影响比赛成绩。我们利用下排激光传感 器的边上两个激光管来识别起跑线,调试结果表明这是一种非常有效的起跑线 识别方法。使用两个激光管进行数线,这样做会使十字交叉也会被计数,因此 我们比赛前用拨码开关设定十字交叉的个数,这样就可以准确的识别起跑线。 . 十字交叉:十字交叉的处理也非常关键,处理不好就会使小车走错方向。我 们使用滤波算法将十字交叉滤去,做到了眼中有十字交叉,心中无十字交叉, 使小车能够安全顺利的通过十字交叉。

4.5整体程序框图

主函数程序流程图如下:

图4-4主函数流程图

4.6软件开发平台

本控制系统的软件开发平台为CodeWarrior。CodeWarrior是由Metrowerks 公司推出的软件集成开发环境(简称IDE)[26],飞思卡尔公司所有系列的单片机 均可在CodeWarrior IDE平台上进行开发。CodeWarrior IDE为软件开发者提供 了一系列的工具,有项目管理器,源代码编辑器,源代码浏览器,编译器,调 试系统【27】。CodeWarrior IDE支持诸如C、C++和Java等的高级语言,同时还 支持大多数微控制器的汇编语言。

CodeWarrior for S12是面向以S12为CPU的单片机嵌入式应用开发软件包, 它能够为本控制系统用到的单片机MC9S12XSl28提供配套的应用程序开发工 具。包括集成开发环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、 项目工程管理器、C交叉编译器、汇编器、链接器以及调试器【28]。

誓洳‘鞭n“)(气矗国囊麓■◇镌I籀国翻 ::=2一二.:_。。=二1=22221====2=====:2:=…。:d曩参.1J.托,日.蠢.h幔:;iI槲诺i鳓i;“矗i;

/●■f■舯t★■●■■■■■■}■●■■■■■■■■■●■■■●■■'JJt'●*■

ECT输入捕键胡姑化

■★’*¨*竹●t●''★■¥■■,■■●●■t■●t¨■■■H●●t'■,

void j=f:r Inl:(void)

{//g_ucPidFlag=0

//E uc5peedstart:i,

ICO硎・If=OV"-Nf STSC_P,2一鼯-7:Tl茧Rl 1融I-i://PT7通道

,‘,,上升沿捕捉

//PT7媲能

心≥8i;;秀臻

//定畔器使能

图4-4CodeWarrior软件界面

在目标程序的下载使用的是清华大学 Freeseale MCU&DSP研究中心设计 的在线调试工具…BDM[29]。BDM的使用大大方便我们的调试。 0,n 3

k∞弘卜 蒉西沈卜 佟K 让 ;=

第五章总结与展望

第五章总结与展望

5.1结论

本文主要完成的工作和取得的成果如下:

1、完成了智能车控制系统的硬件设计,包括激光传感器、电机驱动器、主 板。这些电路的设计都经历了计算机软件仿真、万能板实验和印制PCB板[30】 三个阶段。在每个阶段都遵循简单、实用、高可靠性的设计原则。 一

2、在软件设计平台上编写了一套较完善的软件程序,能让本系统控制智能 车顺利跑完全程。

5.2进一步工作的方向

当然,由于时间和技术方面等原因,该智能车控制系统的性能还不够完善, 软、硬件须进一步改进。目前存在的主要问题是当智能车的车速提高后,转向 控制性能变差,入弯转向不及时,而在直道时容易晃动。这需要进一步的改善。

31

致谢

致谢

在这几个月论文设计过程中,遇到了很多困难,但在老师和同学的大力帮 助下,让我克服了重重困难,最后成功完成了这个毕业设计.在此,我要感谢 所有帮助过我的人和单位.首先我要特别感谢指导老师万晓风老师,在百忙之 中能抽出宝贵的时间来指导我们,给我提出了许多宝贵的意见.在此,我向万 晓凤老师表达深深的感谢.

另外我还要感谢我的母校,为我提供了这么好的条件!最后衷心感谢我的 家人,他们在生活上给我最好的保证,使我能安心学习,顺利毕业.

32

参考文献

【l】喻扬涛.基于视觉的汽车转弯灯识别算法研究【D】.云南师范大学,2006

【2】支高英.智能车辆视觉导航算法的研究【D】.天津工业大学,2009

【3】胡杰.基于16位单片机MC9S12DGl28智能模型车系统开发研究【D】.武汉理工大学,

2008

【4】郝建领.无线遥控智能车控制系统【D】.西安:西安电子科技大学硕士学位论文,2007.

【5】卓晴,黄开胜,邵贝贝.学做智能车——挑战”飞思卡尔”杯【M】.北京:北京航空航天大学

出版社.2007.

… …。 一’ ’‘。 【6】MC9S12DTl28Device User Guide.Freescale Semiconductor'Inc,July 2005.

【7】陈伯时.电力拖动自动控制系统——运动控制系统[M】.北京:机械工业出版社,2003.

【8】MOTOROLA SEMlCoNDUCToR TECHNICAL DATA MC33886/D,Rev 4.0,10/2003.

【9】9李华,刘鸣:机器人关节及转向装置——舵机的原理及应用四.高校实验室工作研

究,2010

【101张自友.基于交变磁场检测的路径识别智能车控制系统设计阴.乐山师范学院学报,

2010年

【ll】王瀛洲,张媵英,卢海松,杨婷.基于光电码盘的精确差分控制研究【J】.科技创新导

报,2011年33期

【12】古流明.LCD显示屏及接口技术详解【J】.电子制作,2011年07期

【13】王朝盛.基于16位单片机MC9S12DGl28B智能车系统的设计【D1.天津:天津工业大学

硕士学位论文,2007

【14】王瀛洲.智能车自主寻迹系统硬件的设计分析田.仪器仪表用户,2011年

【15】Datasheet of LM2940,National Semiconductor Company

【16】Datasheet of LM2596,National Semiconductor Company

【17】戴烨.基于无线晰一Fi嵌入式监控系统的研究【D】.上海大学,2011

【18】王名发.智能车竞赛中直流电机调速系统的设计与比较【D】.微型机与应用,2009

【19]谭浩强.C程序设计[M】.北京:清华大学出版社,2005.7

【20】张薇.船舶运动智能PID控制研究【D】.哈尔滨工程大学,2008

【2l】温淑焕.不确定性机器人力/位置智能控制及轨迹跟踪实验的研究【D】.燕山大学,2005

【221毕恩兴.基于单片机控制的智能车测速算法研究[J】.

【23】仲明伟.自行车机器人的嵌入式控制系统设计【D】.北京邮电大学201

l 【24】刘晓鹏.纸机质量控制系统关键技术的研究[D】.曲阜师范大学,2009

【25】刘松.远程电机控制AMT控制方法研究【D】.上海交通大学,2011

【26】李连葆,张辉;用CodeWarrior开发系统调试MCF5206e[J].电子质量,2006年10期 [27】卓晴,黄开胜,邵贝贝.学做智能车——挑战“飞思卡尔”杯[M】.北京:北京航空航天大学

出版社。2007.

【28】佚名.CodeWarrior General【EB/OL]33

http://fomms.freescale.com/t5/CodeWarrior-General/CodeWardor-for-S 12一X—V5—9-Syntax-c oloring-for-stdng-literals/td-p/52050

[29】佚名.BDM for S 12BDM for S 12(TBDML)用户手册V 34[OL].清华大学

【30】肖玲妮,徐淑正.张玲.Protel 2004电路设计【M】.北京:清华大学出版社,2006.8.

附录 附录一:整车实物图

附录

附录

附录二:程序源代码

#include<hidef.h>产cIDmmon defines and macros’| #include”derivative.h” 卜derivative.specific definitions・| #include”LCD5l 10.h”

#include”Telecontr01.h”

//define LAST ERROR NUM l 0

#define Laser Label BIAS Min 3

#define Laser Label B认S Max 20

#define Pulse Number l 85

#define B认S 3

#define Speed MM 8

#define Speed Shm 7

#define Right 250

#define Left 280

#define Start Line BL~S 3

byte Start_Line_Signal[2];

byte LaserO_Black-Flag=O;

byte Laserl—Bl∞l【_Flag=O;

byte Start_Line_flag=0:

byte circle=0:

word LaserO NUM=0,Laserl NUM=0:

byte Crossing_.NUM 20:

#define Laser Middle 3077//3090

char Servo POS;

word Last=Laser Middle;

char P』【12】-{l,l,1,l,1,1,l,l,l,1,1’2};

byte XuXian_Flag=0;

word XuXian Nurn=0:

byteReFind=O:

word ReFind Middle=0:

byte

Left Find=0:

byte Right_Find=0; 。・ #define Road Record NUM 30

typedef struct

{

char Road_Type;

}t Road;

附录

t Road Road Info;

byte Road—Record—Finish=0;

typedef struct

{

char Data[Road_Record_NUM];

int rear;,

}tRoad Record_SeQueue;

t_Road_Re圮ord_SeQueue Road Record;

void Road_Record_SQIn(t_Road_Record_SeQueue・Q,char X) {

Q->Data[Q->rear]=x:

Q->rear=(Q->rear+1)%Road_Record NUM;

)

#define Middle 2788//2845

char POS;

wordNUM=O;

im Delta_Angle;

int Last_Delta 2O:

byte Scan—Finish 2O;

byte Speed_Table[8][16]=

{

{37,36,35,34,33,32,31,30,30,30,30,30,30,30,30,30},

{45,45,44,44,43,43,42,42,41,41,40,39,38,37,37,37},

{50,50,49,49,49,49,49,48,47,46,45,44,43,42,41,40}, {60,60,59,58,57,56,55,53,51,49,48,47,46,45,44,43},

{75,74,73,72,71,68,65,62,58,55,52,48,46,45,44,43}, {90,89,88,87,85,82,79,76,73,70,67,64,61,59,57,55},

{90,89,88,87,85,83,81,79,77,75,71,68,65,62,61,60},

{100,97,94,91,88,85,82,79,76,73,70,67,64,62,61,60}, );

typedef struct

{

.

word Length;

byte Ramp;

byte Miss_S;

}tRamp;

tRamp Ramp={0,0,0);

byte podao_flag=0;

#define Ramp_Bias 4

37

。

猜你喜欢

最安全有效的减肥药

最安全有效的减肥药

编辑:小徐

现在的减肥药真的是真假难分,在选择减肥药的同时也应该更加小心,减肥药多种多样,那么如何才能选择最安全有效的减肥药,也成了很多小仙女的内心疑问,下面就跟着黄色网页免费小编一起看一下,如何选择最安全有效的减肥药。 最安全有效的减肥药选购方法 1、首先需要观察产品的外包装,在包装中可以看到其配方是不是含有激素,含有激素的减肥药对身体的内..

吃减肥药失眠

吃减肥药失眠

编辑:小徐

随着现在流行以瘦为美,很多人会不顾身体的健康选择减肥药,达到快速减肥瘦身的效果,但是很多减肥药都是有副作用的,副作用比较轻的就是失眠现象,那么吃减肥药出现失眠是怎么回事儿?如果出现失眠后,我们应该怎样缓解? 吃减肥药失眠是怎么回事 减肥药中富含安非他命,所以减肥药服用了太多会有失眠现象,服用减肥药期间,身体会逐渐出现抗药性,身..

最新文章