石家庄学院鹿鼎技术报告_第1页
石家庄学院鹿鼎技术报告_第2页
石家庄学院鹿鼎技术报告_第3页
石家庄学院鹿鼎技术报告_第4页
石家庄学院鹿鼎技术报告_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、第十四届“恩智浦”杯全国大学生智能汽车竞赛技术报告学校:石家庄学院队伍名称:鹿鼎队参赛队员:郑佳泊沈兴悦安康带队教师:阚云飞史源平 关于技术报告和研究论文使用授权的说明本人完全了解第 14 届“恩智浦”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和恩智浦半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会 出版论中。 参赛队员签名: 带队教师签名: 日期: 目录引言1方案设计2系统总体方案的设计2整车布局3智能汽车机械结构设计4状态传感器的安装4第一章1.11.2

2、第二章2.12.1.1 车模倾角传感器的安装42.1.2 状态监控传感器的安装52.2 停车检测模块安装52.32.42.52.6第三章速度传感器的安装6前端距离传感器的安装6电路板的安装7车模机械结构的调整8硬件电路设计与实现103.1 电源电路设计103.2 电机驱动模块113.3 电磁传感器模块设计123.3.1 电磁传感器的原理123.3.2 信号的检波放大133.4 停车检测模块143.5 黑白检测15I 第四章 智能车软件设计及实践174.1 智能车控制系统方案174.2 车模形态控制原理184.2.1 直立控制184.2.2 三轮控制184.3 车模速度控制原理184.4 车模方

3、向控制原理194.5 PID 控制算法原理194.6 姿态切换处理204.7 路障处理20第五章 开发工具、制作、安装、调试过程说明215.1 开发工具215.2 蓝牙串口调试工具235.3 人机交互23结论25参考文献I附录:源程序代码IIII 引言全国大学生恩智浦杯智能汽车竞赛是受教育部高等教育司委托,由教育部高等学校自动化专业教学指导分委员会主办全国大学生智能汽车竞赛。该竞赛是以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。全国大学生“恩智浦”杯智能汽车竞赛是以“ 立足培养、重在参与、鼓励探索、追求卓越”为宗旨,鼓励创

4、新的一项科技竞赛活动。竞赛要求在规定的汽车模型平台上,使用恩智浦半导体公司的微控制器作为核心控制模块,通过增加道路传感器、电机驱动模块以及编写相应控制程序,制作完成一个能够自主识别道路的模型汽车。智能汽车竞赛的赛道路面为宽度不小于 45cm 的白色面板,赛道中间有直径0.1-0.8mm 的漆包线,其中通有 20kHz,100mA 的交变电流作为引导线。参赛 队员的目标是模型汽车需要按照规则以最短时间完成单圈赛道。 本次比赛中,本组使用大赛组委会统一提供的D 型竞赛车模,采用恩智浦公司 MK60DN512ZVLQ10 作为核心控制单元,自主构思控制方案及系统设计,包括机械结构设计、传感器信号采集

5、处理、控制算法及执行、动力电机驱动等, 最终实现一套能够自主识别路线,并且可以实时输出车体状态的智能车控制硬件系统。 在制作小车的过程中,我们对小车的整体构架进行了深入的研究,分别在机械机构、硬件和软件上都进行过更进,硬件上主要是考虑直立状态和三 轮状态的兼容并实践各种传感器的布局;软件上自主研发创新进行了多次整改。 1 第一章 方案设计本章内容简要地介绍智能车系统总体设计思路,以及一些设计方案的分析, 系统分为机械结构、控制模块、控制算法等三部分对智能车控制系统进行深入的 介绍分析。 1.1 系统总体方案的设计根据竞赛规则相关规定,变形三轮组可以使用F 型车模或者E 和 D 型车模进行改装已

6、变成三轮。主控制器采用以恩智浦(飞思卡尔半导体公司)生产的 32 位微控 制器 K60 作为核心控制器,在 IAR 开发环境中进行软件设计。车模通过车身所装的各种传感器采集赛道中的各个元素,最后通过算法控 制使车做出相应的反应从而完成比赛任务。 根据以上系统方案设计,车模系统共包括七大模块:K60 主控模块、传感器模块、电源模块、电机驱动模块、速度检测模块、调试模块。各模块的作用如下: (1)K60 主控模块:作为智能车的控制总部,将电感、陀螺仪等各类传感器采集的信号,根据控制算法做出相应的控制策略,再通过两个直流电机做出相应的反应。 (2)传感器模块:作为智能车的“侦察员”,实时的检测赛道信

7、号,为主 控模块做出正确的抉择提供最及时的信息更新。 (3)电源模块:为整个系统提供稳定合适的电源供给。(4)电机驱动模块:驱动两个直流电机完成主控模块的所反映的加减速和转向。 (5)速度模块:电机转速控制采用 PID 控制,通过 PWM 控制驱动电路 调整电机的转速,完成智能车速度的闭环控制。 (6)调试模块:主要采用拨码和人机交互用于发车之前各个细节参数的改变使车更好的适应赛道。 2 第一章 方案设计1.2 整车布局此次项目设计选用的是北京科宇通博科技生产的智能车 D 型模型车,配套的电机型号为 RS-380。这款车模具备小巧灵活,惯性小,风阻小,转向性能优良等一系列优点。智能车的控制采用

8、的是双后轮驱动方案,通过改装添加前端辅助轮,让其符合大赛的规则。 改装完成之后如图 1- 1 车模外观所示。 图 1-1 车模外观图 1- 1 车模外观3 第二章 智能汽车机械结构设计智能汽车各系统的控制都是在机械结构的基础上实现的,因此在设计整个 软件架构和算法之前一定要对整个模型车的机械结构有一个全面清晰的认识, 然后建立相应的数学模型,从而再针对具体的设计方案来调整赛车的机械结构, 并在实际的调试过程中不断的改进优化和提高结构的稳定性。本章将主要介绍 智能汽 模型车型车的机械结构和调整方案。 2.1 状态传感器的安装本届比赛中车模需要完成直立状态和三轮状态的切换,所用到的传感器主要有MP

9、U-6050 和TCRT5000 红外反射传感器,从而实现状态的转化和保持。2.1.1 车模倾角传感器的安装车模倾角传感器包括陀螺仪和加速度计。它们都是表贴元器件,单独固定在 一块小电路板上,然后将其与车身相互固定,从而保证检测数据的可靠性。在安装时我们将其前固定到了一个“C 型“片的上端,铁片的下端再于车模固定, 这样可以调整铁片的弯度,实现传感器和车模最适合的角度。 安装如 图 2- 1 “C”型铁片 所示。图 2- 1 “C”型铁片4 第二章 智能车机械结构设计 在安装时我们尽量让传感器的角度尽量的兼顾“三轮”与“直立”两种状 态,为的是后期的调试过程中两种状态的兼顾。 2.1.2 状态

10、监控传感器的安装状态转换检测的传感器我们使用的是 TCRT5000 红外反射传感器,并为了增加它的准确性在不同位置安装了两个 TCRT5000 红外反射传感器同时在其旁边各增加了一个发光二极管。为了两种状态都可以使用它们检测到,我们选择 将其安装在车模的尾部,并靠近下端的位置。 安装如图 2- 2 黑线及停车检测安装位置 蓝框所示。 图 2- 2 黑线及停车检测安装位置2.2 停车检测模块安装本组采用的终点线检测传感器为霍尔元件。终点处放置有永久磁铁,磁铁 附近存在的强磁场会引发霍尔传感器闭合导通,会产生边沿信号而引起系统发生中断。安装如 图 2- 2 黑线及停车检测安装位置 红框所示。 5

11、第十四届全国大学生智能汽车邀请赛技术报告 2.3 速度传感器的安装测速装置在智能车系统中占有非常重要的地位,其要求是分辨能力强、精度高和检测时间短。从精度要求来看,光电编码器最为合适,且集好,抗干扰能力强。最终采用光电编码器作为系统的测速模块。但光电编码器体积较大,会使车重增加。根据速度控制精度的要求,采用了龙邱编码器 512 线的小型编码器,安装在 D 车模设计的编码器固定位置,安装可靠性高,且便于安装 和拆卸。 安装如图 2- 3 编码器安装位置 所示。 图 2- 3 编码器安装位置2.4 前端距离传感器的安装解决本届新增的路障,我们是在车模上安装了测距传感器。大赛要求是前后一米的距离反应

12、,所以说传感器的有效距离不用太远,但是因为车速的影响, 它检测的时间必须短一些。因为车模还会有状态的改变,所以它也不可以太重。 6 第二章 智能车机械结构设计 经过我们对多个距离传感的挑选最后我们采用的是红外测距传感器 GP2Y0A21YK0F 模块,它满足了我们的所有要求。 因为车模会有两个模式的转化所以我们安装了两个角度测量的距离传感 器,用来分别检测车模前端的障碍物。 安装如 图 2- 4 测距安装位置 所示。2.5 电路板的安装图 2- 4 测距安装位置为了使小车具有较好的稳定性及速度性能,使小车能够具备较大的提速空间,我们在搭建小车时尽量选择降低重心,使车模的倾角变化范围变大,从而进

13、一步提高稳定性和快速性。因此将电路板安装在了靠近电机的部位,从而实 现降低重心,提高小车的稳定性的目的。 电路板安装如 图 2- 5 电路板安装 所示。 7图 2- 5 电路板安装 第十四届全国大学生智能汽车邀请赛技术报告 2.6 车模机械结构的调整由于两轮直立小车的直立行驶及转向都是通过后轮实现的,因此当小车在转向时,模型车的轮胎与轮毂之间很容易发生相对位移,可能导致在加速时会损失部分驱动力,而且使小车的状态不稳。因此,我们在实际调试过程中对车轮进行了粘胎处理,可以有效地防止由于轮胎与轮毂错位而引起的驱动力损失的情况。根据行车的需要,我们对机械进行了调整。智能车的整体参数,包括车体重心、舵机

14、、电机放置的位置、高度、传感器排布方式等,都对整个智能车系统的稳定运行起到至关重要的作用,因此小车的布局以精简、可靠、稳定为前提、尽量保持小车的左右平衡,以及寻找一个合适的重心,保证小车能够 稳定的抓住地面。 对于“直立”状态来说,整个车子的重心高低十分重要。过高的重心会使车子在转向的时候容易侧翻、抬,容易产生系统的不稳定;对于速度控制,很小的倾角就会产生较大的加速度,不利于精确地控制速度。但是车子的重心也不能过低,首先过低的重心会使车子在过坡时车底碰到坡道,其次过低的重心不利于车子迅速加速。 对于“三轮”状态来说,车子的前端应该尽可能重一些。前面轻的话在状态转换的时候、上坡的时候容易发生“乌

15、龟翻蛋”现象导致状态突变完成不了比赛的任务。当然也不易过重,太重的话会严重影响到直立的状态导致其“无 限加速”,导致电机负荷太大损坏电机。 车模上的两个电机位置不能改变,可以改变位置的结构只有电池和主板的位置,电磁支架的长度不仅影响着前瞻,也对车体的平衡有很大影响。为了达8 第二章 智能车机械结构设计 到较远前瞻,必须把电感架到较远的位置,会引起车重心特别靠前,后轮正压力不足导致甩尾。为了使重心后移,我们尝试了很多传感器支架的搭建方式, 使得保证结构稳定的前提下尽量减轻重量。我们把电池往后移,达到了预期的 效果。 图 2- 6 电池支架形状9 第三章 硬件电路设计与实现3.1 电源电路设计电源

16、是整个智能车系统动力的来源。稳定的电源是系统正常可靠工作的保证。在设计的时候,需要考虑电源转换效率,降低噪声,防止干扰和电路简单等方面的问题。 本车使用的是飞思卡尔智能车比赛组委会提供的 7.2V,2000mAh Ni-Cd 可 充电蓄电池,由于各个器件所需的工作电压,电流各不相同,因此要对电源电压 进行调节。本系统主要包括以下几种不同的工作电压:7.2V 电源电压直接给电 机驱动 MOS 供电;经 5 V 稳压模块稳压后给电磁检测两级放大电路及编码器电路供电。 本车的稳压电源电路含有 5 V 稳压模块,5 V 稳压电路主要用到的芯片是 tps7350。 本次电路 5V 的电源分成 5 个稳压

17、芯片来提供。5 个相同的 5V 电源模块分别用于为核心板、运放电路、编码器等传感器和距离传感器还有为 H 桥芯片IR2184S 提供用于升压模块的 5V 电源.LM2940 为电磁传感器模块和逻辑转换芯片提供电源。我们电源的分离是为了减小传感器电源的稳定。电感采集传感器是模拟传感器,电源的纹波将影响传感器的性能。减小电源的纹波的大小可 以保证传感器的可靠性。 稳压电源模块电路如 图 3- 1 电源管理模块 所示。 10图 3- 1 电源管理模块 第三章 硬件电路设计与实现 3.2 电机驱动模块驱动电路的基本原理是 H 桥驱动原理,目前流行的 H 桥驱动电路有:H桥集成电路,如 MC33886;

18、集成半桥电路,如 BTS7970 等;MOS 管搭建的 H 桥电路。 我们采用 HIP4082 全桥驱动芯片 电机驱动电路。 及四个 MOSFET组成全桥的驱动模块电路如图 3- 2 电机驱动模块 所示图 3- 2 电机驱动模块11 第十四届全国大学生智能汽车邀请赛技术报告 3.3 电磁传感器模块设计电磁传感器是小车最重要的模块之一,传感器性能的好坏直接影响到信号 的采集精度以及小车的控制性能。因此在智能车设计过程中,我们着重对传感器模块进行了研究。 根据组委会的规定,电磁组赛场信号是基于频率为 20KHz ,电流为 100mA 的 交变电压产生的磁场信号。智能车通过检测该磁场信号获取当前赛道

19、信息。在传 感器模块的研究过程中,我们测试了大量的电感,发现只有 10mH 的电感能够得 到较为规整的正弦波。频率和赛道电源频率一致,且随著电感距通电 导线距离的 增加幅值逐渐衰减。 3.3.1 电磁传感器的原理我们选用磁传感器,磁传感器的应用首先在于选型,为了找出适合的磁传感器,我们查阅了许多的产品资料,进行了大量的电感测试,发现只有在10mH 电感中,得到感应电动势曲线是较为规整的正弦波,频率和赛道电源频 率一致,为 20kHz,幅值较其他型号的大,且随导线距离变化,规律为近大远 小。其他电感得到信号不好,频率幅值变化杂乱,不宜采用。 本设计采用 LC振放大整流的方法来得到最终的信号。 谐

20、图 3- 3 LC 并联谐振电路 12 第三章 硬件电路设计与实现 图中感应电动势,R0 为等效电阻,L 是感应电感的电感值,C 为谐振电 容。 电路的谐振频率为: 已知感应电动势的频率为 =20KHz,感应电感的值 L = 10 mH,可以计算 出谐振电容的容值为 C = 6.33109F,通常在市场上可以买的到的标称 电容 与上述值最接近的值为 6.8Nf,为此我们试验了及中容值在 6.8nF 的电容, 最后 发现 6.8nF 矫正电容对信号具有较好的选频滤波作用。 3.3.2 信号的检波放大通过并联谐振电路产生的感应电动势幅值在 20mV-100mV 左右,不能直接送 到单片机的 AD

21、口进行模数转换,因此需要将信号进行放大。官方给出的放大电 路采用三极管进行放大,但是用三极管进行放大有一个不可避免的缺点就是温漂大,因此我们放弃了使用三极管放大的方案。经过多次试验,我们选定 AD8629 作为放大电路的运放芯片,AD8629 具有低电压漂移,高通频带, 轨到轨的输入 输出特性,完全能够满足放大电路的设计需要。由于 AD8629 是单电源运放,因 此我们在同相端加了 VCC/2 的基准电压,保证了能够进行全波放大, 同时我们在 个输入输出端增加了隔直电容抑制共模信号。从放大器输出的信号为峰峰值在 3V 左右的正弦信号,如果直接进行电压采样,将会增加软件滤波的工作量,因 此我们设

22、计了二倍压整流电路和 RC 滤波电路,使得将要送入采样的信号为较为 稳定的直流信号,幅值与电感距通电导线的距离成比例。为了获得更大的电压摆 幅,倍压整流电路中的二极管我们选用了肖特基二极管 SS14,这类二极管的开 启电压约为 0.2V 小于一般的硅二极管的开启电 压(约 0.7V)。最终方案确定如 图 3- 4 运放电路板 所示。 13 第十四届全国大学生智能汽车邀请赛技术报告 图 3- 4 运放电路板3.4 停车检测模块终点线停车传感器传统使用干簧管传感器,电磁组多年的使用已经证明了稳定可靠的特性。由于今年新增赛道元素颠簸路面,使干簧管不再那么稳定, 要细致的滤波程序对其进行优化。除此之外

23、,干簧管还容易损坏。综上原因, 们讨论使用其他传感器代替它。在运动控制课堂上,老师曾经讲述过电动车 其需我上霍 尔开关的相关信息。于是我们查阅相关资料,并决定使用一款霍尔开关进行测试: HAL145 全极霍尔开关。 HAL145 全极霍尔开关霍尔微电子是一款基于混合信号的全极性非低功耗 霍尔传感器。HAL145 工作频率 30KHZ,无输出上升和下降时间,它采用先进的斩 波稳定技术,提确、稳定的磁性开关点。它由反向电压保护器、电压调整器, 霍尔电压发生器、信号放大器,史密特触发器和集电及开路的输出级组成。它是 一种双磁极工作的磁敏电路,适合于矩形或者柱形磁体下工作。 145 全极霍尔元 件工作

24、温度范围可以在:-4085 度, 电压电压工作范围: 2.524V。并且全极 性霍尔开关不分磁场的 S N 极(对赛道下面磁铁的正反放置没有要求),只要存 在强度足够大的北极或南极磁场,霍尔开关器件就能打 14 第三章 硬件电路设计与实现 开;。要保证其远离电机,电机内部的 磁 场会触发开关。其次,终点线的磁标直径比较小,霍尔开关在放置其正上方大概 2cm 之外,就不会触发开关。所以要尽量靠近车声底部。 图 3- 5 霍尔元件 图 3- 6 霍尔元件外围电路3.5 黑白检测本届比赛的三轮组新增赛道断路,识别断路区达到形态转变的目的, 我们经过筛选选择了识别 5cm 黑边的方案用来检测断路,经过

25、筛选我们使用了TCRT5000 红外反射传感器并自主设计电路使其更佳精简,并更加准确。 自制电路如 图 3- 7 黑白检测 所示15 第十四届全国大学生智能汽车邀请赛技术报告 图 3- 7 黑白检测 16 第四章 智能车软件设计及实践4.1 智能车控制系统方案整个系统是 NXP 半导体公司 K60 微控制器为主控 MCU,通过 6050 的角度采集并处理实现对智能车形态的控制,通过电感对模拟信号进行采集并由运放进行处理,并最后由 MCU 输出 PWM 进行差速转向、电机速度的控制;另外使用编码器采集速度,进行速度闭环控制;及其各个检测模块的采集信号并作出相 应的处理 该系统的软件结构主要分为:

26、系统初始化模块、人机交互模块、车模角度采集处理模块、电感数据采集处理模块、速度采集处理模块、姿态检测模块、路障检测模块、电机控制输出模块和停车检测模块。 开始YESYESNONO各个模块检测 停车检测 17YES停车结束 电机控制输出 速度采集并处理 方向转化 电感采集并处理 状态转化 角度采集并处理 人机交互模块 系统模块初始化 第十四届全国大学生智能汽车邀请赛技术报告 4.2 车模形态控制原理4.2.1 直立控制车模直立控制是通过驱动车模两个电机完成的。控制原理与我们熟悉的一阶倒立摆相近。车模会有一个机械平衡位置,当车模在这个位置时,在没有其他外力作用的情况下,由于重力及阻力会相互平衡,使

27、车模所受合外力为零, 车模会保持直立状态不变。但是,实际情况是,车模是一个质量相对分散的物体,机械平衡位置不好人为确定,另外,外力也不是一成不变的,因此,需要我们外加力使车模保持平衡。这时,就需要我们控制两个电机随车模的位置变 化而做出相应的反应。 4.2.2 三轮控制车模三轮状态的控制相比直立状态来说比较简单,但是因为车模结构前端较轻的影响,导致三轮状态下加速容易将前端高高抬起,所以我们加入了小幅度的角度环用来控制车模不能大幅度的抬头。 4.3 车模速度控制原理车模的速度控制,我们使用的是PID 串级控制的策略。 首先,我们要理解直立车前进和后退是怎样实现的。通过前面的分析,我们知道直立车有

28、一个机械平衡位置,在这个位置上,车模的重力与其他的阻力是相互抵消的,车模可以保持静止。但是,如果车模的位置在这个位置之下, 重力的分力就会大于阻力的分力,车就会在重力的作用下向下倒。当我们加入电机控制车模直立后,如果我们给定的期望倾角是大于车模的机械平衡位置的, 那么系统就只会在期望位置才会没有输出。但是,这个期望位置是在平衡位置之下 的,所以车会在重力的作用下向下倒,当车倒过设定位置后,系统就会做出反 应,将车往期望的位置上拉,这时电机就要向前转,才能将车向上拉。如 此反复,车模就会向前行驶,这就是车模速度控制的基本原理。 18 第四章 智能车原件设计及实践 由于车模运行较快,对系统的快速响

29、应有较高的要求,所以我们去掉了积分项,只用了 PD 控制,P 项能提供一个回正力,而 D 项能提供一个阻尼力, 同时也在一定程度上提升了前瞻性。为了保证直立控制的有效性,让车模不倒下,我们把方向控制器的控制周期设为 8ms,是角度控制器周期的两倍,这样就减小了方向控制器在电机输出上的比重。控制器的输出是一个量,然后两个 轮分别加上这个量和减去这个量,以些让电机有一个电压差,让电机实现差速。 4.4 车模方向控制原理对于车模方向控制,使用左右电感进行“差比和”运算,得出车模偏离赛道中线信息,进行比例控制。同时使用陀螺仪采集车模转向角速度进行微分控制,将控制结果以不同符号叠加到两电机上,实现电机转

30、向控制。由于传感器加上二极管倍压检波之后,出来的直流信号纹波有20mV-50mV 左右,采用12 位精度 AD 进行采样,每一份 1/4096=0.25mV, 所以,我们把放大后的信号不经过检波直接送入单片机进行采样。为了获取更稳定的数据信息,我们对数组中 的数据进行了滤波处理。 4.5 PID 控制算法原理在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制, 简称 PID 控制,PID 控制是最早发展起来的控制策略之一,由于其方法简单、可靠性高易于调整,是智能车控制系统中经常采用的控制算法。 PID 控制器的参数整定是控制系统设计的核心内容,他是根据被控过程的特性确定 PID

31、控制器的比例系数(Kp)、积分系数(Ki)和微分系数(Kd)的大 小。PID 控制器整定的方法很多。我们采用上位机示波器观察各参数变化的软件观察曲线法来整定 PID 参数,以先比例后积分再微分的调整顺序。先整定比例部分,去掉积分和微分项,使之成为纯比例调节,比例系数由 0 开始,观察示波器图像,直至系统出现振荡;加入积分控制,先置积分系数一较大值, 并将第一步整定得到的比例系数略微缩小,然后减小积分系数,使在 保持系统良好动态性能的情况下,静态误差得到消除;加入微分控制。在第二步的基数 上继续的增大 Kd,同时相应地改变比例系数和积分系数,观察示波器图像, 以 19 第十四届全国大学生智能汽车

32、邀请赛技术报告 获得满意的调节效果和控制参数。反馈 PID 调解如 图 4- 1 PID 控制原理示意图 所示。 图 4- 1 PID 控制原理示意图 4.6姿态切换处理在车模检测到断路区的 5cm 黑线时 TCRT5000 红外反射传感器会有明显的电压变化,检测到此电压变化时就表明已经进入断路区,再通过 6050 反馈的角度通过 PID 计算进而对电机控制,实现从直立状态变为三轮状态的过程。在后半程中如果 6050 检测到车模有向上抬起的趋势,小的角度压制会将车模再次押回三轮状态。 4.7 路障处理经过传感器的检测,探测到前方有路障的同时会对电感加以处理,让车暂 时失去对电感的检测进而代替的

33、是一个模拟的曲线带着车继续前行,在绕过路障的时候再次将电感激活,重新找会赛道中线。 20 第五章 开发工具、制作、安装、调试过程说明第五章 开发工具、制作、安装、调试过程说明完成智能车软、硬件设计和制作后,需要进行系统调试和优化,包括电机调试以及稳定性调试等,最终获得理想的运行状态。通过各种调试工具获得控制器的运行数据,进而通过分析数据判断单片机是否按照设计的算法执行。 5.1 开发工具IAR for ARM 7.8集成开发环境,IAR使用界面如使用的开发调试平台为图 5- 1 IAR 使用界面 所示:图 5- 1 IAR 使用界面IAR 集成了 C / C +编译器,汇编器,链接器和调试器到

34、一个完全集成的开发环境,功能强大的插件和集成,包括在线调试探测器以及用于静态分析和运 行时分析集成工具的完整产品组合,可用于绝大部分单片机、嵌入式系统的开发。 如图 4-1-1 所示,利用 1AR 7.8 和 JLINK 下载器,可以进行一系列的调 试工作,如 动态调试、监视寄存器状态、设置断点等,这样能快速地帮,助我们找 21 第十四届全国大学生智能汽车邀请赛技术报告 到软件或硬件的问题。22 第五章 开发工具、制作、安装、调试过程说明5.2 蓝牙串口调试工具通过蓝牙模块实现单片机与上位机的通信,实时地发送采集到的赛道信息、 车体姿态信息、速度信息、PID 算法中的控制输出结果等,调试过程中

35、可以直观地看赛道电感值变化,以及各个元素电感值的特点等,为调试提供了极大的便利。 图 5- 2 串口调试助手5.3 人机交互使用的是 0.96 寸 oled 屏显示赛道信息和各个参数,为比赛中调试提 供了极大的便利。 23 第十四届全国大学生智能汽车邀请赛技术报告 图 5- 3 人机交互系统所用到的屏24 结论自报名参加“恩智浦”杯智能汽车竞赛以来,我们小组成员查找资料,设计 机构,组装车模,编写程序,分析问题,最后终于完成了最初目标,定下了现在 的方案。在此份技术报告中,我们主要介绍了准备比赛时的基本思路,包括机械、电路、以及控制算法的思想。 在传感器布局,我们分析了前几届中出现的电感排布方

36、法,综合考虑到今年 环岛元素以及程序的稳定性、简便性,我们最后敲定了现在的电感排布,并通过在电在查反复实践决定了传感器的数量和位置。在电路方面,我们以模块形式分类, 源管理,电机驱动,接口,控制,信号采集,传感器这六个模块分别设计, 找资料的基础上决定了我们最终的电路图。在算法方面,我们使用 C 语 言编程, 经过小组成员不断讨论、改进,终于设计出一套比较通用的,稳定的程序。在这套算法中,我们结合路况调整车速,做到直线加速,弯道减速,保证在最短时间跑完全程。 在这几个月的备战中,在场地、经费方面都的到了学校和学院的大力支持, 在此特别感谢一直支持和关注智能车比赛的学校和学院领导以及各位老师。同

37、时也感谢比赛组委会能组织这样一项很有意义的比赛。 现在,在历时近十个月的充分准备之后,我们有信心在比赛中取得优异成绩。 也许我们的知识还不够丰富,考虑问题也不够全面,但是这份技术报告作为我们 五个月辛勤汗水来的结晶,凝聚着我们小组每个人的心血和智慧,随着它的诞生,这份经验将永伴我们一生,成为我们最珍贵的回忆。 25 参考文献1 邵贝贝. 嵌入式实时操作系统LCOS-(第 2 版)M. 北京清华大学2004 2 邵贝贝. 单片机嵌入式应用的在线开发方法M北京清华大学2004 3 王晓明. 电动机的单片机控制M北京. 北京航空航天大学2002 4 臧杰,阎岩. 汽车构造M. 北械工业2005 5

38、安鹏,马伟S12 单片机模块应用及程序调试J. 电子产品世界. 2006第 211 期162-163 6 童诗白,华成英模拟电子技术基础M北京. 高等教育2000 7 沈长生常用电子元器件使用一读通M北京. 人民邮电2004 8 宗光华机器人的创意设计与实践M北京. 北京航空航天大学2004 9 张伟等Protel DXP 高级应用M北京. 人民邮电2002 10 张文春. 汽车理论M北械工业2005 I 附录:源程序代码void main()DisableInterrupts; /程序中涉及到中断初始化时先关中断,以免产生BUGuart_init(VCAN_PORT, VCAN_BAUD);

39、/ 串口初始化 前为端口(改端 口时要改) 后为波特率 藍牙IIC_init();/I2c 初始化led_init(LED2);led_init(LED3);while(MPU6050_Init();/陀螺仪初始化while(mpu_dmp_init();ftm_pwm_init(MOTOR_FTM, MOTOR1_PWM,MOTOR_HZ,0);/电机 PWM 右前 模块 通道 频率 占空比 ftm_pwm_init(MOTOR_FTM, MOTOR2_PWM,MOTOR_HZ,0);/电机 PWM 右后 模块 通道 频率 占空比 ftm_pwm_init(MOTOR_FTM, MOTOR4

40、_PWM,MOTOR_HZ,0);/电机 PWM 左前 模块 通道 频率 占空比 ftm_pwm_init(MOTOR_FTM, MOTOR3_PWM,MOTOR_HZ,0);/电机 PWM 左后 模块 通道 频率 占空比 初始化 初始化 初始化 初始化 gpio_init(FTM2_CH2_PIN,GPO,0);/ 电机端口 初始化 gpio 脚方向 输出初始状态,gpio_init(FTM2_CH3_PIN,GPO,0);/ 电机端口 初始化 gpio 脚方向 输出初始状态,gpio_init(FTM2_CH4_PIN ,GPO,0);/ 电机端口 初始化gpio 脚方向 输出初始状态,端

41、口引端口引端口引gpio_init(FTM2_CH5_PIN,GPO,0);/脚方向 输出初始状态, gpio_init(TCLK1,GPO,0);模块 通道 引脚 速度 gpio_init(TCLK2,GPO,0);模块 通道 引脚 速度 gpio_init(FTM0_CH0_PIN,GPI,1);方向 gpio_init(FTM1_CH0_PIN,GPI,1);方向 电机端口初始化 gpio端口引/ 编码器端口初始化 / 编码器端口初始化 / 端口初始化 / 端口初始化 II 附录:源程序代码ftm_pulse_init(FTM0, FTM_PS_1, TCLK1);/右轮 通道 0 不分

42、频E0编码器初始化 ftm_pulse_init(FTM1, FTM_PS_1, TCLK2 ) ;/左轮 通道 1 不分频E7编码器初始化 adc_init(ADC0_SE14); adc_init(ADC0_SE15);adc_init(ADC0_SE12);/ADC 初始化電感 右 /ADC 初始化電感 左 /ADC 初始化電感 中gpio_init(PTD5,GPO,1);led(LED2,LED_ON);enable_irq(PIT_CH0_IRQn);/开使能 IRQ 中断pit_init_ms(PIT0,5);/定时器 0定时 5 毫秒 EnableInterrupts; whi

43、le(1)stopcar();/开总中断(凡是用到中断的,都需要的)/*用来上位机新的一组数据开始,要保存数据必须发送它*/Send_Begin(); Testdata_generate(); Send_Variable();/上位机发送开始/获取采集的数据 /发送变量到上位机 void pit0_irq (void)Speed_time+; Direction_time+;Balance_Control();/平衡控制函数DirectionControlOutput();/方向平滑输出函数if(Direction_time=2)III 第十四届全国大学生智能汽车邀请赛技术报告 Directi

44、on_time=0;DirectionControl();/方向控制SpeedControlOutput(); /速度平滑输出Speed_Measure();/速度脉冲检测if(Speed_time=20)Speed_time=0; SpeedControl();/速度控制 MOTORcontrolOut();/电机输出控制stopcar();/停车 /PIT_Flag_Clear(PIT0); /清除中断标志int32 MOTOR_Speed_Left = 0; int32 MOTOR_Speed_Right = 0;int LDuty;/总输出int RDuty;/总输出int Angle

45、ControlOut;/直立输出float Cbh_New;/差比和/左电感float floatfloatVAR_L; VAR_R;VAR_M;float VAR_L_NEW;/滤波之后float VAR_R_NEW;float VAR_M_NEW;int Speed_time=0;int Direction_time=0;/速度周期IV 附录:源程序代码float g_fSpeedControlOutNew;/新速度float g_fSpeedControlOutOld;/输出速度float g_fSpeedControlOut;float g_fSpeedControlIntegral=

46、0;int32MOTOR_Speed_Ture;float fDelta;/测试 float MOTOR_Speed;int Direction_time;/方向周期 float g_fDirectionControlOutNew; /方向控制float g_fDirectionControlOutOld;float DirectionControlOut; int max_R=0,min_R=0; int max_L=0,min_L=0;int max_M=0,min_M=0;/方向控制输出/* 电机速度测量 */ void Speed_Measure(void)static int32 p

47、tA0_data,ptH2_data;/* you 电 机 速 度 相 关 控 制 */ MOTOR_Speed_Right = ftm_pulse_get(FTM1);/右轮ftm_pulse_clean(FTM1);ptH2_data = gpio_get (PTH2); if(ptH2_data=1)MOTOR_Speed_Right=-MOTOR_Speed_Right;if(ptH2_data=0)MOTOR_Speed_Right= MOTOR_Speed_Right;/* 左电机速度相关控制结束 */* zuo 电 机 速 度 相 关 控 制 */MOTOR_Speed_Left

48、 = ftm_pulse_get(FTM0);/左轮V 第十四届全国大学生智能汽车邀请赛技术报告 ftm_pulse_clean(FTM0); ptA0_data = gpio_get (PTA0);if(ptA0_data=1)MOTOR_Speed_Left= MOTOR_Speed_Left;if(ptA0_data=0)MOTOR_Speed_Left=-MOTOR_Speed_Left;void MOTOR_Control(int32 LDuty, int32 RDuty)if (LDuty = 0)LDuty = range_protect(LDuty, 0, MOTOR_MAX)

49、; ftm_pwm_duty(MOTOR_FTM, MOTOR3_PWM,0);990! / 限幅保护 / 占空比最大 ftm_pwm_duty(MOTOR_FTM, MOTOR4_PWM,LDuty);/ 占空比最大 990!elseLDuty = range_protect(-LDuty, 0, MOTOR_MAX);/ 限幅保护 ftm_pwm_duty(MOTOR_FTM, MOTOR4_PWM,0);/ 占空比最大 990!ftm_pwm_duty(MOTOR_FTM, MOTOR3_PWM,LDuty);/ 占空比最大 990!if (RDuty = 0)RDuty = range_protect(RDuty, 0, MOTOR_MAX); ftm_pwm_duty(MOTOR_FTM, MOTOR2_PWM,0);990!/ 限幅保护/ 占空比最大 ftm_pwm_duty(MOTOR_FTM, MOTOR1_PWM,RDuty);最大 990! / 占空比 VI 附录:源程序代码elseRDuty = range_protect(-RDuty, 0, MOTOR_MAX);/ 限幅保护ftm_pwm_duty(MOTOR_FTM, MOTOR1_PWM,0);/ 占空比最大 990!

温馨提示

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

评论

0/150

提交评论