北京科技大学二队技术报告.docx

上传人:b****6 文档编号:5948395 上传时间:2023-01-02 格式:DOCX 页数:41 大小:371.01KB
下载 相关 举报
北京科技大学二队技术报告.docx_第1页
第1页 / 共41页
北京科技大学二队技术报告.docx_第2页
第2页 / 共41页
北京科技大学二队技术报告.docx_第3页
第3页 / 共41页
北京科技大学二队技术报告.docx_第4页
第4页 / 共41页
北京科技大学二队技术报告.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

北京科技大学二队技术报告.docx

《北京科技大学二队技术报告.docx》由会员分享,可在线阅读,更多相关《北京科技大学二队技术报告.docx(41页珍藏版)》请在冰豆网上搜索。

北京科技大学二队技术报告.docx

北京科技大学二队技术报告

第一届“飞思卡尔”杯全国大学生

智能汽车邀请赛

技术报告

 

 

学校:

北京科技大学

队伍名称:

北京科技大学二队

参赛队员:

林进鹏

陈曦

尚晓明

带队教师:

牟世堂

 

关于技术报告和研究论文使用授权的说明

本人完全了解第一届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:

参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。

参赛队员签名:

带队教师签名:

引言

首届"飞思卡尔"杯全国大学生智能汽车竞赛在清华大学的承办下终于落户中国,本届大赛采用邀请赛的方式,邀请了国内具有控制科学与工程学科博士授予点高校(含港澳)50余所,我们北京科技大学作为参赛方,有幸参加了此次“飞思卡尔智能汽车邀请赛”。

这份技术报告中,我们小组通过对整体方案、电路、算法、调试、车辆参数的介绍,详尽地阐述了我们的思想和创意,具体表现在电路的创新设计,以及算法方面的独特想法,而对单片机具体参数的调试也让我们付出了艰辛的劳动。

这份报告凝聚着我们的心血和智慧,是我们共同努力后的成果。

在准备比赛的过程中,我们小组成员涉猎控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科,这次磨练对我们的知识融合和实践动手能力的培养有极大的推动作用,在此首先要感谢清华大学,感谢他们将这项很有意义的科技竞赛引入中国;更要感谢北京科技大学相关学院对此次比赛的关注及投入,我们能有今天这样的成果离不开学院的大力支持及指导老师悉心的教导;还要感谢的是和我们一起协作的队员们,协助,互促,共勉使我们能够走到今天。

第一章、智能车方案设计思路及实现方案简介

1.1方案设计思路

 

S12

 

 

图1.1、系统的总体控制框图

本智能车控制系统采用由主办方提供的飞思卡尔16位微控制器MC9S12DG128作为唯一的核心控制单元,信号由安装在车前部的不同类型的光电传感器采集,将采集到的模拟信号或电平信号传入核心控制单元,核心控制单元对信号进行AD转换或电平判别处理后,由PWM发生模块发出四路PWM波,分别对转向舵机,直流电机,制动舵机进行控制,完成智能车的转向,前进,制动的功能。

在智能车后轮上安有光电编码器,采集关于车轮转速的脉冲信号,经由核心控制单元进行增量式PID控制方法计算后自动调节输入到电机驱动模块的PWM波的占空比,从而控制小车速度。

人机接口采用HD7279A数码管和键盘驱动显示芯片驱动8位数码管和4×4键盘,从而可与核心控制单元进行通信,实现人机交互。

1.2实现方案简介

传感器排布方面:

智能小车在行驶过程中,使用车头前端安装的十一个光电传感器采集路面信息,反馈给核心控制单元,由核心控制单元进行处理。

根据小车实际行驶中对黑线反应的情况,我们经过仔细的研究讨论,决定采用十一个传感器圆弧的排布方案。

其优势所在如下:

a.11个传感器可以准确的判断出黑线在车前的位置;

b.圆弧型排布的小车在走弯道时在对黑线的方向判断方面有显著的优势;

c.美观大方。

传感器信号的采集时,外侧我们采用了8路AD转换,将返回的电压值在核心控制器里进行二值化处理,判别传感器状态;中间3个传感器经过处理返回3路高低电平值,核心控制器可直接处理。

我们在跑道上调试小车时发现采用十一个传感器圆弧的排布方案可以极大的提高寻线精度,直线时平稳高速,转弯时平缓流畅,可以保证小车不冲出跑道。

速度控制方面:

我们采用光电编码器对驱动轮后轮的转速进行实时的检测,将反馈值提供给核心控制单元。

核心控制单元根据光电编码器单位时间反馈的脉冲数,采用增量式PID调节控制方法,对直流电机的转速进行准确快速的调节,减小了由于电池或场地等原因造成的速度无规则变化。

转向控制方面:

我们采用了一系列的控制算法,通过传感器反馈的路面信息,经过核心控制单元调用一系列算法进行计算,将计算结果赋给控制舵机的PWMDTYx,从而准确的控制舵机的转角。

人机交互方面:

我们采用了HD7279A键盘数码管驱动显示接口芯片,通过串行通信的方式于核心控制单元进行通信,可以通过键盘输入一些必要的参数,也可以实现小车行驶过程中的一些参数的显示。

第二章、机械结构设计

在本次智能车邀请赛中,最主要的比赛内容是速度,而车辆的机械结构无疑是影响速度的一个关键因素,鉴于这个原因,我们小组在车辆机械方面的改进也作了很多的工作,并形成了下图所示的最后外形。

图2.1外观俯视图

我们在改造、调试机械部分的过程中,遵循着四个原则:

车身更轻、摩擦更小、转向更灵、变速更快。

为实现这四个目标,我们设计了如下的机构。

2.1传感器的设计安装

为了实现减轻车身重量的目标,我们的传感器采用工作部分和控制部分集中安装的方法,保证传感器部分重量最小,以起到减轻车身的作用。

同时,考虑到车辆行驶过程的稳定,我们采用11个传感器圆弧形的排布方法。

中间的传感器向前伸出,保证有足够的前瞻性,两边的传感器以固定角度呈圆弧状排列,可以给单片机反馈回准确角度,提高舵机转向的灵活性和准确性。

如何安装传感器也是机械机构要考虑的一个问题,因为如果传感器离车太近,则前瞻性会受到很大影响;而传感器若离车太远,机构不稳定,行走过程中产生振动,会影响传感器的工作状态,无法保证稳定、准确的信号反馈。

综合考虑以上因素,我们通过实验确定了安装距离和方法。

2.2制动舵机传动机构设计

为了缩短跑完全程的时间,我们需要尽可能快的速度,但是如果速度失控,当车辆从直道进入曲率较大的弯道时,就有冲出赛道的危险,除了在程序上我们做了限制以外,机构上采用了加装制动伺服电机的方式保证车辆行驶的安全。

图2.2制动舵机示意图

2.2.3光电编码器的安装

在本次智能车邀请赛的规则中,赛道长度、形状有严格的限制,而为了更快的跑完全程,我们希望能尽量提高车速,这样在弯道前及时减速就成了我们必须考虑的问题。

通过安装光电编码器,我们能够知道车在每个时刻的速度,根据它的反馈,程序就可以迅速调整车速。

2.4系统电路板的固定及连接

在电路板的安装这部分,我们考虑到结构的稳定性,以及规则中对车辆尺寸的限制,最终决定采用高架、立体的搭接方法,用支架把主控板较高地固定在底盘上方,并在后桥制动舵机的上面安放了一个输入参数用的小键盘,这种布局可以保证车辆行驶稳定,同时,也可以比较方便的输入参数。

第三章、电路设计说明

本智能车系统的电路总体上分为逻辑控制电路和电机驱动电路两大部分。

逻辑控制电路主要由核心控制器S12单片机和周围的寻线传感器,测速传感器组成。

其对电压的稳定性有很高的要求;电机驱动电路要求的电流相对比较大,因此,二者在电路设计方面有很大的差别。

硬件设计应在可靠的基础上尽量简单化,使其满足稳定工作的基本要求,电源管理模块要保证使整个系统供电充足并稳定;传感器部分保证信息采集准确有效;电机驱动部分则需在保证正常工作的情况下尽量减少对控制部分的干扰。

同时还要保证在控制软件做改动时,硬件部分不需要作很大的改动就可以满足要求,即我们硬件的通用性。

3.1主控板的设计

3.1.1电源管理模块

 

图3.1电源管理模块原理图

电源由7.2V电池提供,分别经过以下途经对其它模块进行供电:

A、经过稳压芯片LM2940_5.0稳压后,输出5V电压以驱动单片机工作;

B、经过稳压芯片LM2940_5.0稳压后,输出5V电压以对传感器供电;

C、经过稳压芯片LM2940_5.0稳压后,输出5V电压对光码盘供电;

D、经过稳压芯片LM2940_5.0稳压后,输出5V电压对键盘显示接口电路供电;

E、接入MOSFET驱动模块,以对电机进行驱动;

F、接入转向舵机与制动舵机,驱动舵机进行转向及制动工作。

3.1.2电机驱动模块

图3.2直流电机驱动模块原理图

直流电机驱动采用大功率的MOSFET和继电器的组成驱动电路,单片机通过如图3.2中PWM引脚输入PWM波,以调节M1和M2口的输出电压之差,从而调节电机转速,并且在DIR_CONTROL口输入高低电平,通过使继电器换向,给电机反向电压,实现制动功能。

在实际运用中发现使用反向电压制动,效果良好,但是对继电器的损耗比较大。

3.1.3控制模块

核心控制模块仅由MC9S12DG128B构成,将PORTA口与PORTB口作为普通信号的输入和输出,在实际中我们将PORTB口作为输入高低电平信号的光电传感器的信号输入口,而将AD口作为输入模拟信号的对管光电传感器的信号输入口。

将PM口作为键盘显示电路的接口。

引出PWM7和PWM5作为控制电机与舵机的PWM波输出口,PWM1、PWM3作为制动电机的接口。

图3.3控制模块原理图

3.1.4接口模块

图3.4接口模块原理图

接口模块的作用即外部设备单片机的接口,分别有电机接口,转向舵机接口,制动舵机接口,光电编码器接口,键盘显示模块接口,电源接口。

3.2传感器模块

作为智能车的“眼睛”,光电传感器感知地面情况的能力对小车行驶状态的影响很大,经过多次摸索、试验,我们终于设计出一套高效,可行的方案。

我们采用两种传感器感知地面的情况:

一种是采用带有选频能力的输入高低电平的传感器,另一种是输出模拟电压的光电对管的传感器。

这样做的原因是带有选频能力抗干扰较好的传感器相对于返回模拟量的传感器消耗能量比较大,在这样一个电量有限的情况下,尽量减小不必要的功耗是相当必要的。

这款单片机拥有8路的AD转换口,我们使用了8路的简单对管电路返回8路模拟电压,使用单片机本身的A/D转换功能模块进行信号处理,再设定门限比较电平,将采集道的模拟信号进行二值化处理,从而判别黑线的位置。

这样既做到了判别黑线,又达到了省电的目的。

3.2.1带有选频抗干扰能力的光电对管传感器

传感器电路如图3.6所示,在一个高频信号发生器的作用下,产生一路高低频交变的信号电流,然后通过一个三极管放大后供给两路LED灯发光,并用两个电位器分别控制LED灯的光强,最后用一个与信号发生器频率同步的接收管接收光信号,并反馈给单片机。

在回路中,我们还添加了另一路LED发光二极管,用来实时检测传感器的工作情况。

实际使用过程中,这种传感器对地面适应能力强,在一定程度上对外来的干扰光有较强的抗干扰能力。

图3.5传感器电路原理图

这种传感器定位能力强,在小车行驶过程中被用作夹住黑直线,由于它比较灵敏,当车稍稍偏离直线时,传感器可以快速将状态返回给单片机,以使单片机作出及时的反应,较快的调正小车行驶方向。

3.2.2采用A/D转换的光电对管传感器

传感器电路如图3.7所示,发射部分是由高亮的红色发光二极管和限流电阻串连组成,接收部分是由接收管和一个可调电阻组成,并配合有一个电容平滑输出,减小外界突然出现的强光干扰。

这种传感器功耗比较小,电路简单,不易出现复杂问题。

图3.6传感器电路原理图

第四章、HCS12控制软件主要理论、算法说明及代码设计说明

智能小车的控制软件采用模块化的程序结构。

从结构上看,系统程序主要包括一个主体循环程序,增量式PID速度控制程序,中断服务程序,寻线控制算法程序,速度控制算法程序以及其他一些控制程序。

涉及到的单片机硬件资源如表4.1所示。

表4.1控制模块说明

程序实现的功能

使用的模块

电机速度控制

PWM发生模块

舵机转角控制

PWM发生模块

PID反馈脉冲计数

定时器模块,脉冲累加器

传感器模拟电压处理

A/D转换模块

人机交互

SCI串口通信

光电传感器信号处理

普通I/O端口

调试信息记录

EETS2K模块

4.1主程序

图4.1主程序流程图

流程图如图4.1所示。

系统首先对各种设备进行初始化,然后选择进入参数修改程序。

参数设定完毕之后打开中断,最后循环执行位置速度控制程序。

4.2各种初始化程序

包括端口初始化函数,PID初始化函数,四路PWM发生初始化函数,计数器中断初始化函数,人机接口模块初始化函数,如图4.2。

图4.2各模块初始化流程图

 

4.3PID调节程序

在连续控制系统中,按偏差的比例(P)、积分(I)、微分(D)进行控制的PID控制器获得了广的应用,它的结构简单,参数易于调整,适应性强,对于那些控制模型不准,参数变化较大的被控对象,采用PID控制器往往能得到满意的控制效果。

用计算机算法来代替模拟式PID控制的数字PID控制算法不断改进和完善,显著地扩展了它的功能。

本例采用增量式数字PID程序以PWM方式来对直流电机进行调速。

增量式数字PID调节的数学表达式。

其中Kp为比例常数,Ti为积分时间常数,Td为微分时间常数,T为采样周期。

………………………公式1

…………………………………………………………公式2

 

对位置式算式加以变换,可以得到PID调节算法的另一种实用形式(增量算式)

……公式3

可以得到一个方程,这个方程,经常用来在计算机上做逻辑运算。

这种算法用来控制步进电机特别方便,对直流电机的控制也可以采用。

如图4.3为增量式PID控制算法程序框图。

 

图4.3增量式数字PID控制程序流程图

本车采用增量式PID算法的具体流程图如图4.4所示。

图4.4PID算法流程图

4.4寻线算法程序

寻线算法程序是由一套基于求重心的算法演变而来的,这种算法的优点是能够根据传感器返回的状态值,得到车的重心偏离黑线的程度。

通过一定的计算方法,计算出舵机应该转的角度,并且在一定程度上拥有抗拒微小干扰的能力。

具体算法如下介绍。

a.将每个传感器进行加权处理,如图4.5所示。

 

图4.5传感器取值分配图

b.当传感器检测到黑线时相应的传感器返回所在的权值,并计算偏离程度。

其计算公式为:

Departure=

………………………………………………公式3

 

 

图4.6传感器工作示意图

例如图4.6所示,左侧权值为-6和-8的传感器在黑线上,此时计算偏离的程度为:

Departure=((-8)+(-6))/2=-7

即此时车偏离的重度为-7。

c.偏离程度和舵机转动角度所对应的PWM脉宽建立模型,拟合二者的函数关系曲线。

在这里我们认为舵机转动的角度是和PWM脉宽成线性的正比关系,因此作出一次函数来唯一的确定舵机转动的角度是和脉宽的PWM关系。

我们建立的一次函数方程为:

TurnAngle=PWMMiddle+Departre*PWMHarf/10……………公式4

其中:

TurnAngle为舵机应转的角度

PWMMiddle为车轮摆正是舵机PWM脉宽应赋的PWMDTYx的值

Departure为由传感器状态求得的偏离程度

PWMHalf为舵机由中心摆到车轮允许的最大值PWMDTYx的变化值

由此,我们求出了在不同的传感器状态下舵机应转的角度。

4.5程序调试与车况参数检测方法(使用EEPROM)

1.为了准确的得到小车在行驶中的最大值,我们使用EEPROM来记录小车在行驶过程中的最大值和当时的传感器状态。

2.在进行A/D转换的调试时,我们不但用到了键盘实时观察A/D转换的结果,还使用EEPROM来记录A/D转换的结果值。

3.在小车冲出赛道的实验中,我们使用EEPROM来记录冲出赛道时的速度和当时的传感器状态。

第五章、开发工具、制作、安装、调试过程说明

5.1开发工具

程序的开发是在组委会提供的CodeWarriorIDE下进行的,包括源程序的编写、编译和链接,并最终生成可执行文件。

CodeWarriorforS12是面向以HC1和S12为CPU的单片机嵌入式应用开发软件包。

包括集成开发环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器。

5.2调试过程

我们使用的单片机的FLASH中预先下载了监控程序,由CodeWarrior生成的可执行文件就是在这个监控程序的引导下,由计算机的串口下载到单片机的FLASH中的。

因为这种方法既方便快捷又安全可靠,所以我们选用了这种方法而放弃了用S12特有的BDM方法进行程序的调试。

具体的操作方法如下:

从MC9SDG128开发板开始,将RS232-232串口线接到PC的串口COM1上。

使用WINDOWS下的超级终端通信软件:

执行“开始”|“程序”|“附件”|“通信”|“超级终端”命令。

将COM1设置成9600波特率,8位、无效验位,1个停止位,不使用硬件流量控制。

插上+5V电源,按开发板上的复位按钮,在PC的超级终端上就会显示提示信息。

在超级终端内键入E擦除单片机的FLASH,然后键入F将.S19文件下载到单片机的FLASH内。

这样,我们编写的程序就能在单片机中运行了。

需要说明的是,开机后4秒钟后才会自动运行用户程序。

第六章、模型车的主要技术参数说明

6.1智能车外形参数

车长:

39cm

车宽:

20cm

车高:

9.8cm

车重:

1.456kg

6.2电路部分参数

我们小组所改造的智能车采用一块比赛标准7.2V电池供电,电路中共有17个电容,容量总计95.366μ法。

当模型车全功率开动时,功耗约为50W。

6.3传感器的种类和个数

本车的传感器部分由两种传感器构成:

带有选频能力的传感器可以在一定程度上抗干扰(共3个),

没有选频能力,使用的AD转换方式的传感器共8个。

6.4除了车模原有的驱动电机、舵机之外伺服电机数量

除了车模原有的驱动电机、舵机之外使用了2个伺服电机。

结论

自我们组队以来,每个成员都在课余时间尽自己最大的力量来解决问题优化方案开拓创新,我们不仅把在课堂上所学的理论知识化为实际,还在需要的方面大量的学习了新的理论知识,开拓了视野的同时提高了综合能力。

这部小小的车子,从速度到转角,从参数设置到程序编排,从每一个细小的齿轮螺丝到总体的车身设计,无处不闪烁着队员们智慧的光彩

我们在技术报告中详细的介绍了这部车子从概念的诞生到成长为一部成熟稳定的作品的全过程,主要包括我们的设计思路和制作过程,还有在修改方案时对各种方法优劣的对比取舍。

经过几个月不懈的努力与反复计算试验,我们确定下了现在使用的传感器的排布方案,电路方案以及机械方面的细节工作。

这是从许多套方案中精心比较后选取组合的,具有稳定高速准确等优点。

对于二十号的比赛,我们有信心也有勇气拿出我们的实力与各高校的选手们一决高下。

取得好的成绩固然是每个人最大的梦想,可是更为宝贵的是我们在这个过程中学到的知识,还有合理分工,团结合作,激流勇进的精神。

这是我们大家共同努力的成果,成功将属于我们每个人!

 

参考文献

[1]邵贝贝.嵌入式实时操作系统[LC/OS-Ⅱ(第2版)[M].北京.清华大学出版社.2004

[2]臧杰,阎岩.汽车构造[M].北京.机械工业出版社[M].2005

[3]安鹏,马伟.S12单片机模块应用及程序调试[J].电子产品世界.2006.第211期.162-163

[4]童诗白,华成英.模拟电子技术基础[M].北京.高等教育出版社.2000

[5]沈长生.常用电子元器件使用一读通[M].北京.人民邮电出版社.2004

[6]王厚枢.传感器原理[M].北京.航空工业出版社.1987

[7]刘光斌等.单片机系统实用抗干扰技术[M].北京.人民邮电出版社.2003

[8]宗光华.机器人的创意设计与实践[M].北京.北京航空航天大学出版社.2004

[9]殷召生.AVR单片机在直流伺服控制系统中的应用[M].北京.工业设计计算机.2002

[10]张伟等.ProtelDXP高级应用[M].北京.人民邮电出版社.2002

[11]司利增.汽车防滑控制研究——ABS与ASR[M].北京.人民交通出版社.2003

附录

源程序:

main.c

/*

**==============================================================================

**SMARTCARLABOFUSTB

**

**FILENAME:

main.c

**Description:

themainfunctionofthisproject

**Author:

ChenXi

**DATE:

2006-07-29

**MODIFYDATE:

****-**-**

**REMARK:

**********

**version:

1.0

**==============================================================================

*/

#include/*commondefinesandmacros*/

#include/*derivativeinformation*/

//#include

#include"7279.h"

#pragmaLINK_INFODERIVATIVE"mc9s12dj128b"

/*===============================================================

程序中使用到的宏定义

===============================================================*/

#defineDir_GoPTM_PTM3=1//电机正转

#defineDir_BackPTM_PTM3=0//电机反转

#defineLeftBrakePWMDTY23=130

#defineRightBrakePWMDTY23=175

#defineStartPWMDTY23=154

#defineMiddle300//AD二值化处理的门限值

#definePWM_TOTAL26//正中时的PWM与最偏是的PWM值的差

#definePWM_Middle147//车正中时的PWMDTY67的植

/**传感器位置定义*

//B口3个传感器

#defineMiddleStatePORTB&0x02//00000*00000

#defineMiddleLeftPORTB&0x06//0000**00000

#defineMiddleRightPORTB&0x03//00000**0000

#defineLittleLeftPORTB&0x04//0000*000000

#defineLittleRightPORTB&0x01//000000*0000

//B口和AD

#defineADLeft01(PORTB&0x40)&&(ucAD_Port&0x10)//000**000000

#defineADRight01(PORTB&0x01)&&(ucAD_Port&0x08)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1