锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

智能车竞赛技术报告 | 节能信标组 - 合肥工业大学 - 烂虾队

时间:2022-10-11 10:30:00 低压并联电容器组不平衡保护原理a智能集成电力电容器1300瓦电机配多大电容电力节能连接器18瓦电机用多大电容10x16mm铝电容器

简 介: 本文以第十六届全国大学生智能车竞赛为背景,介绍了节能信标组智能车设计生产的技术信息。根据比赛的具体情况,自制质量轻、灵活的车型。以 Infineon公司生产的 32位单片机 TC212是核心控制器 AURIX DevelopmentStudio作为一个开发环境,我们独立构思控制策略和算法结构;在智能汽车开发过程中,通过比较各种解决方案,我们决定使用三轮结构的模型。最终计划的想法是:首先通过 LCC无线接收模块将接收线圈获取的交流电能转换成直流电能,使用自制的超级电容组对电能进行储存和转换,通过数字摄像头采集信标信息, MCU对传感器采集的数据进行处理分析,车辆通过双电机差速灵活转向,使车辆能够在最短的时间内完成比赛。

关键词 智能车单片机PID控制信标节能

第一章


??能源汽车是一种以汽车电子为背景的技术创意设计,涵盖控制、模式识别、传感技术、电子、电气、计算机、机械等学科,由主要路径识别、速度采集、角度控制和速度控制模块组成。其设计和开发涉及控制、模式识别、传感技术、汽车电子、电气、计算机、机械等学科,可分为传感器检测部分、执行部分、 CPU。

??全国大学生智能汽车竞赛以基于培训、参与、鼓励探索、追求卓越为指导思想,旨在促进高校素质教育,培养大学生综合知识应用能力、基本工程实践能力和创新意识,激发大学生从事科学研究和探索的兴趣和潜力,倡导理论联系实际的学习风格和团队合作人文精神,为优秀人才的脱颖而出创造条件,鼓励创新的科技竞赛。目前,智能汽车竞赛已经开发了八个基本的四轮组、全向行进组、双车接力组、节能信标组、电磁越野组、自行车拉力组、智能视觉组、专业基础组和创意组。赛车速度和质量越来越高,竞争越来越激烈。
??节能信标组的汽车模型平台上使用节能信标组 Infineon作为核心控制模块,公司的
微控制器通过增加道路传感器、电机驱动模块和编写相应的控制程序,生产出具有独立识别信标和无线充电功能的模型汽车。针对节能信标组的任务要求,我们采用自制的结构性能稳定和转弯性能较好的三轮结构的车模,使用摄像头采集赛道信息,控制芯片选择更节能的 TC212单片机。

??本技术报告主要从机械、硬件、软件、调试工具等方面详细介绍了模型的设计和生产方案,以及我们在汽车生产过程中积累的经验,希望能给未来的参赛者带来灵感和帮助。

第二章 械结构


??能源汽车的核心是控制策略和算法。然而,机械结构也是限制赛车的巨大瓶颈。如果赛车的程序结构很好,但机械部件做得不好,其运行状态将受到很大限制,特别是对于今年要求较高的节能信标组。现场安装了几个无线节能信标,每个信标由白色和蓝色灯罩组成。信标灯板和无限发射线圈安装在白色灯罩下,高度较低;信标控制器安装在蓝色灯罩下,可串联现场所有信标,形成高度较高的信标系统。这就要求自制模型不仅要有充电和寻灯两个基本功能,还要有越野功能。

??此外,充电线圈和磁标位置也是模型设计中的一个大问题,充电线圈位置太低容易受到蓝色灯罩的影响,过高会降低充电速度,磁标位置过高会影响灯效果,过低也会受到蓝色灯罩的影响,如果高模型防止模型在运行过程中翻车,同时基于节能的角度不应太重,这对参赛者设计车模结构的能力是一个很大的考验。

2.1整车布局和车型选择

??(1)摄像头模块的安装应尽可能保证在车模中心;
??(2)用轻便的碳纤杆作为摄像头杆的材料和车的主体框架;
??(3)尽可能低、灵活地安装磁标;
??(4)尽可能保持汽车的对称性。

??节能信标组可自制车模,也可使用成品车模,使节能信标组车模有更多的选择,但哪一种最适合测试。与三轮车相比,四轮车的转弯半径相对较大,不仅需要控制电机,还需要控制舵机。但是三轮车只需要控制两个电机,并且可以完成前进和转向,所以最终使用三轮车。我们的第一辆车 F车模改装采用 F原装电机,但由于车型过重,最终被废弃。在确定最终车型之前,我们也试过了 3D打印车模和激光切割碳纤维板打印车模和激光切割碳纤维板也放弃了这两种方法。为了减少能耗,发挥电机的最佳性能,需要严格控制汽车的重量。最后,我们用碳杆完成了整个车模的施工,重量得到了很好的控制。相关车模照片如图所示 2.1.1、图 2.1.2、图 2.1.3所示。

▲ 图2.1.1 整车俯视图

▲ 图 2.1.2整车正视图

▲ 图 2.1.3整车侧视图

2.安装2摄像头

??我们没有使用双摄像头的结构有两个原因。首先,节能信标组应尽可能满足节能的要求,双摄像头将增加功耗。其次,我们选择了功耗较低的主要核心 TC212.单片机系统的资源不能支持两个摄像头的运行,内存资源不能支持双摄像头图像处理算法的执行。

??摄像头模块的安装应尽可能保证位于车辆模块的中碳纤维作为摄像头杆的材料,以确保摄像头在驾驶过程中受到车身抖动的影响最小。

▲ 图 2.2.1摄像头安装正视图

▲ 图 2.2.2摄像头安装侧视图

2.3磁标的安装

??磁标的安装对节能信标组非常重要。这些问题是一个整体,必须统一考虑选择什么样的磁标,安装多少磁标,如何安装磁标,安装在哪里。

??前几年年的信标组规则中,磁标的安装有几个限制,即最多可以安装四个磁标,磁标与模具底盘或车轮的直线距离不得超过 5cm,但对今年的节能信标组没有限制。根据实际调试情况,可能有两个猜测原因。首先,信标灯不易触发灭灯效果。今年使用的节能信标灯触发灭灯依赖于位于信标灯板上的霍尔元件感应,信标灯板覆盖着白色灯罩。即使磁标接地,也与霍尔元件有一定的距离。如果磁标的数量和位置在这种情况下仍然受到限制,那么在比赛中会有很多车围着信标灯转动,但不能熄灭灯,这将极大地影响外观和比赛体验。

??第二个原因也是我们认为最重要的原因,即对于节能信标组,磁标的数量不会无限增加,磁标的位置也不会无限延长。我相信所有参赛者都会以实际效果为选择标准。即使他们有一些看似好的想法,他们也只能后发现效果一般,只能忍受放弃。比如,我们曾经有过一个想法,既然今年对于磁标的数量和位置没有限制,那我们把磁标往前伸的很长,这样我们就可以提前灭灯了,每个灯我们少跑 10cm,那么 我们可以少跑25盏灯 250cm,这可以节省一些能量和时间,也是一个很好的优化方案。但当我们实际开始测试时,我们发现它并不那么简单。一旦磁标伸长,汽车的转向就不像以前那么灵活了。同时,模型的重心向前移动,后驱动轮与地面的摩擦减少,整个汽车的运行状态发生变化。在严重的情况下,车轮甚至会离开地面。这个时候我们就想,在车后加一些配重,或者加一些磁标来增加磁标的数量不就解决了吗?然而,这违反了节能的原则。节能车要求车型尽可能轻。如果为了提前熄灯,增加整车的运行能耗,会使车辆处于运行状态。

▲ 图 2.3.1合肥工业大学“臭鱼队”省赛车模

  在我们看来,今年节能信标组的车模设计,实在是一个矛盾的集合体,底盘不能太高不能太低、车速不能太快不能太慢、磁标不能太多不能太少。我们要做的,正是在这些矛盾中找到一个平衡点。于是,根据我们上面对于磁标安装的想法,我们自行设计了一款车模,作为我们学校参加省赛的另外一辆车,同时也是对我们想法的一种检验。这辆车除了充电模块是独立的电路板外,其余电路全部画在一块一体电路板上,这款一体板同时作为车模的底盘和主题框架,尽量减轻整车的重量。整个车模磁标数量很少,主要靠最前方的磁标和充电线圈前方的磁标进行灭灯。这辆车虽然不够节能,但效果还不错,在我们调试过程中按照省赛预赛规则灭 15个灯最好的一次仅用了 37秒,然而到了决赛的赛场上却没有发挥出这辆车的优势。经过我们赛后的分析,车前的磁标对于整车的运行影响是不可忽视的一个因素,这也从侧面反映出这种结构鲁棒性的欠缺。

  于是,我们不断尝试新的车模结构。车模结构一旦改变,磁标的位置也要跟着改变。我们最终采用了碳素杆搭建车模的结构,并将磁标放置在万向轮两侧,这样,车轮经过信标时磁标也经过霍尔元件,以此达到灭灯的目的,同时也在线圈周围安装了三个磁标,保证线圈在信标灯上时能触发充电。

▲ 图 2.3.2万向轮两侧磁标

▲ 图 2.3.3线圈两侧磁标

2.4电机的选择

  对于节能电机的选择,通常最常用的方案有直流有刷电机、普通无刷电机和空心杯电机。有刷直流电机具有结构简单、成本较低和便于控制的优势,但是相对来说工作效率并不是很高,如果选择不合理,通常并不能在节能组的比赛中取得优异的成绩。普通无刷电机并没有有刷电机的换向器,无刷直流电动机是采用半导体开关器件来实现电子换向的,即用电子开关器件代替传统的接触式换向器和电刷。它具有可靠性高、无换向火花、机械噪声低等优点,而且无刷电机的效率相对于普通有刷直流电机要高上不少。但是控制更加复杂,需要对应的电子调速器,其制作的工作量与难度均大于目前的智能车直流电机驱动。

  在制作车模的过程中,我们首先使用了直流电机,它可以提供较高的速度和很大的扭矩,可以很顺利的完成比赛任务,但缺点也很明显——能耗较大,不太适合需要节能的组别。因此我们后来选用了空心杯电机。

  在电机选择时,我们重点关注电机的转速、扭矩、堵转扭矩、额定电流、堵转电流及转矩常数等参数。转速代表了小车理论上的最大速度;从扭矩和堵转扭矩上可以定性推断出该电机能否正常驱动小车,加速时间大概多久等;后面三个参数则与电机的能耗情况息息相关。除此之外,空心杯电机的转速一般较高,但扭矩很小,我们所设计的车模本身重量较大,不增加减速器很难驱动,选择多大的减速比也是我们必须考虑的一个问题。带有减速器的空心杯电机一方面增加了扭矩,另一方面又降低了减速,减速比过大车模速度很慢;减速比太小,车模需要较大的 PWM才能驱动,驱动时还要一段时间进行加速。减速的较大的电机更适合于短距离的找灯运行,减速比较小的电机则在长距离找灯中更有优势。

  总得来说,一款性能合适的空心杯电机加上一个具有减速比的减速器可以达到较好的效果。在选择空心杯电机时,我们主要考虑了 Faulhaber、maxon和驰海电机,驰海的空心杯电机大多没有自带编码器,设计机械结构较为困难,因此我们把目光放到了 Faulhaber和 maxon电机上,二者相比较而言,当电机的转速扭矩相差不大的情况下 Faulhaber电机要比 maxon重一些,但扭矩相对要大一些。由于原厂的电机价格太高,我们选择在网上购买二手电机,这就大大缩小了我们的选择空间,我们在网上买到了几款可能合适的 Faulhaber和 maxon电机进行了测试,最终选择了一款二手 maxonre系列电机。虽然存在质量较大、减速比不够完美等缺点,但也基本可以满足使用要求。

2.5车轮选择与安装

  我们在选择车轮时,主要考虑了电机的转速和扭矩。由于我们所选的电机减速比过大,导致其转速很慢,而扭矩较大,因此我们决定使用轮径更大的车轮来获取较高的车模运行速度,同时还可以保证车模的较高底盘,防止车模被灯罩卡住。我们最终选择了在网上买到的一款 70*21mm车轮,如下图所示:

▲ 图 2.5.1车轮示意图

  所选电机的出轴直径为 3mm,因此我们使用了一个内径为 3mm的法兰盘,并在车轮的对应位置打孔,进行轮子与电机的连接。为了节能,我们使用了重量较小的铝合金法兰盘。值得注意的是,铝合金法兰盘容易发生形变,使用时需要注意防范剧烈撞击以及不当操作。

▲ 图 2.5.2法兰盘示意图图、车轮安装图

 

第三章 件设计


3.1TC212单片机系统硬件设计框架

  节能信标车硬件的设计最重要的一个原则就是稳定,抗干扰能力强,其次才是高效。本设计以英飞凌公司的 32位单片机 TC212为核心,配有电源电路、传感器电路、测速电路,执行机构以及它们的驱动电路构成了智能车的硬件系统。硬件系统结构如图 3.1.1所示。

▲ 图 3.1.1智能车硬件系统结构图

  在图 3.1.1中, TC212是本系统的核心控制器。相对于 32位的英飞凌其他芯片,英飞凌的这款 TC212具有性价比高、功耗低、集成程度高等特点,其丰富的硬件资源也满足节能信标车的设计需求。

  单片机最小系统采用了自主设计的 TC212核心板,原理图如图 3.1.2所示。电源模块使用了输出为 5V的 LMS1117-5V和输出为 12V的 TPS61088,分别用于给编码器和电机驱动供电,同时还采用了输出为 3.3V的 TPS63070,用于给核心板、摄像头、 OLED、蓝牙无线通信模块供电。

▲ 图 3.1.2TC212核心板原理图

  其中,电机驱动及控制模块是用来控制电机转动,包括加减速、正反转及转向;测速传感器用来获取电机转速,以实现电机的闭环控制。 OLED与按键构成人机交互模块,用于系统参数的设定和系统运行状态的获取。电源管理模块用来为各个模块供电。

3.2电源管理模块

  根据比赛的统一规则,节能信标组需要使用超级电容组给全部硬件电路提供电能。我们使用的是 5串 2.7V的 60F超级电容作为车模的供能元件,由于其自身特性,所储存的能量和电压有以下关系, J=1/2CU*U,所以其电压是不稳定的,而且放电是非线性。由于电路中的不同电路模块所需要的工作电压和电流容量各不相同,因此电源模块应该包括多个稳压电路,将超级电容组电压转换成各个模块所需要的电压。系统电压分配图如图 3.2.1所示。

▲ 图 3.2.1电压分配图

3.2.1主控及各种传感器的供电

  虽然节能信标组是第十六届全国大学生智能车竞赛新设立的组别,但节能组已经出现好几年了,出现了一个又一个优秀的方案,有一款芯片始终备受各参赛队伍的青睐,那就是德州仪器的 TPS63070。TPS6307x是一款具有低静态电流的高效降压-升压转换器,适用于那些输入电压可能高于或低于输出电压的应用。在升压或降压模式下,输出电流可高达 2A。此降压-升压转换器基于一个固定频率、脉宽调制 (PWM)控制器,此控制器通过使用同步整流来获得最高效率。在低负载电流情况下,此转换器进入省电模式以在宽负载电流范围内保持高效率。转换器可被禁用以大大减少电池消耗。在关断期间,负载从电池上断开。此器件采用 2.5mm*3mmQFN封装。

  核心板、摄像头、无线通信模块使用 3.3V供电,因此 3.3V的电源需要较大的功率,并且因为输入的电压是不稳定的,常见的低压差线性稳压芯片不太适用于此场景,因此我们选用了稳压芯片 TPS63070,电路原理图如图 3.2.1.1所示。

▲ 图 3.2.1.1传感器及主核心供电电路

3.2.2电机驱动供电

  电机驱动的供电电压通常是由选用的电机决定的,最后我们选择使用 12V作为电机驱动的供电电压,选用的芯片依旧是德州仪器的,此款芯片早年在充电宝上工作过,也算是经受过实战的考验。 TPS61088采用自适应恒定关断时间峰值电流控制拓扑结构来调节输出电压。在中等到重负载条件下, TPS61088工作在 PWM模式。在轻负载条件下,该器件可通过 MODE引脚选择下列两种工作模式一种是可提高效率的 PFM模式;另一种是可避免因开关频率较低而引发应用问题的强制 PWM模式。可通过外部电阻在 200kHz至 2.2MHz范围内调节 PWM模式下的开关频率。

  TPS61088还实现了可 (VQFN)封装编程的软启动功能和可调节的开关峰值电流限制功能。此外,该器件还提供有 13.2V输出过压保护、逐周期应用过流保护和热关断保护。 TPS61088采用 20引脚 4.50mm*3.50mm VQFN。原理图如图 3.2.2.1所示。

▲ 图 3.2.2.1电机驱动供电电路

3.3电机驱动模块设计

  智能车电机驱动的方案早已经非常成熟,目前智能车比较流行的驱动方案有 BTN和 BTS集成驱动和分立元件搭建的 MOS管全桥驱动, BTN只需要两块芯片和少许外围即可实现对单个电机的控制,相比之下分立元件搭建的电机驱动更加复杂,但是其驱动功率要比集成驱动大得多。由于我们选择了功率较低的空心杯电机,对于驱动功率的要求并不大,因此我们选择了功率更低且更为简单的集成驱动芯片。由于电机的额定电压可达 12V,我们最终选择 TB6612FNG 芯片。其最大的驱动电压有 15V,平均电流可以达到 1.2A,满足电机需求的同时体积小巧,电路简单,而且还较为节能。电机驱动原理图如下图所示。

▲ 图 3.3.1电机驱动电路原理图

3.4测速模块设计

  为了精确控制智能车的速度,需要设计速度反馈电路检测智能车运动速度,同时获取车模运动的里程信息。

  我们所选用的 moxon电机有 6根接线,分别为电机电源正极、 5V、A相、 B相、 GND以及电机电源正极。其中 5V和 GND分别为编码器的正负极, A相、 B相两根数据线输出编码器数据,我们使用了该编码器来获取电机的速度信息。此编码器为 16线编码器,每转一圈信号线就会产生 16个脉冲,将两根信号线分别接到单片机的 P02_8和 P33_5口进行脉冲累加,然后用单片机定时器定时,每 5ms记一次数据,作为小车速度的参考值,然后清空脉冲累加器,在定时计数。编码器接口电路如图 3.4.1所示。

▲ 图 3.4.1编码器接口电路

3.5功率检测模块设计

  此模块用于检测车模运行功率的功率检测。加入这个功能,最初的想法就是为了在后期调试车模时能够发现因为控制不利而导致的功率异常情况,以此来优化控制,降低功耗,并且该功能还可以对堵转等异常情况实现保护。主要电路的构成是由电阻分压的电压检测和电流检测构成,通过单片机 ADC端口对电压和电流进行采集,计算出当前功率,通过无线模块传回上位机进行分析。原理图如图 3.5.1所示。

▲ 图 3.5.1功率检测电路

3.6人机交互模块设计

3.6.1拨码开关电路

  设计拨码开关电路如图 3.6.1.1所示。拨码开关有四位,每位可以独立开合。 SW1~SW4端分别接单片机的 I/O端口。当开关闭合时,相应端为低电平。当开关断开时,相应端为高电平。改变拨码开关的开合状态,可以改变单片机 I/O口的值,单片机根据从 I/O口读到的值进行相应的操作,从而实现了单片机的控制, I/O口采用内部上拉。

▲ 图 3.6.1.1拨码开关电路

3.6.2蓝牙电路设计

  蓝牙是一种无线技术标准,可实现固定设备、移动设备之间的短距离数据交换。将 PC机蓝牙与蓝牙设备连接,编写程序与通讯协议,通过 PC机可以实现远程小车状态检测。

▲ 图 3.6.2.1蓝牙电路

3.6.3OLED电路设计

  通过 OLED显示屏可以用来实现调参、状态检测等功能。

▲ 图 3.6.3.1 OLED电路

3.6.4状态指示灯电路设计

  设计状态指示灯主要也是为了便于通过观察小灯状态便于智能车的调试与监测。

3.7无线充电电路设计

  在第十六届全国大学生智能车竞赛中的节能信标组,通过无线信标发送的高频( 150kHz,遵循无线充电(电力传输)设备无线电管理暂行规定)磁场获得最大不超过 50W的充电功率,为车模上的超级法拉电容充电。由于充电功率最高限制,因此车模所使用的电量越小,所需充电时间越少,进而节省了比赛时间。相比于往届无线节能组的充电方案,今年节能信标组在无线电磁波频率、输出功率上限,还是在恒功率控制方案等方面都与之前无线节能组比赛系
  统有所不同,所以在高效电能接收方面也会与以前电能接收不同。

  在以前智能车竞赛无线节能组电能接收方面,主要方式有两大类:

  ① 恒功率接收方案。这个方案在“如何把大象装进冰箱”中进行了描述。很多参赛队伍在此基础上进行了改进。
  ② 简单直接充电方案,也称傻充方案。由于往届无线充电功率较小,虽然电能发送模块限制为 30W,但是实际电路接收到的功率也只有十几瓦,因此无论是恒功率接收、还是建议接收方案都不会对电路有特殊的要求。但是随着充电功率的增加,在无线电能接收方案、

  电路制作、器件选择等方面都需要进一步的优化,以保证充电电路的高效、可靠。

3.7.1充电方案的选择

  通过阅读卓老师文章《火中取栗》,对于节能信标组充电方案进行了对比。新的无线发送模块不仅提高了发送功率上限,也通过 LCC网络补偿保证了无线电磁场恒定,这就使得接收线圈方案可以更加的稳定可靠。

  充电方案可以简单的给电能接收线圈串联(注意:不是并联)谐振电容,然后通过全桥整流后直接对法拉电容充电。这种方案利用发送模块的功率限制能力保持在充电的稳定性。但是在充电一开始会有很大的电流冲击,有可能会造成整流二极管损坏。充电最高电圧主要取决于电容组耐压值和电源电路方案的选取。 LCC电路具有恒流特性,电流值大小取决于谐振的电感电容值,卓老师推文中给出了基本计算公式,基于理论计算值进行后期微调,可以得到较好的充电效果。

  在接受电路中通过 LCC补偿网络,可以保证接受电流的稳定性。同时在不改变接收线圈尺寸和匝数的情况下,只是通过调整 LCC的参数便可以调整接受电流的大小。由于 LCC补偿网络的恒流特性,法拉电容充电电压理论上可以非常高,因此,需要在接受的过程中即时观察法拉电容上的电压,一旦超过阈值,则需要车模迅速离开充电区域。

  经过对比与实验,最终采用 LCC网络补偿的充电方案。

3.7.2充电线圈的选择

  无线充电接收线圈通常是使用纱包线制作而成的,主要原因是因为电流在高频的情况下电流分布变得不均匀。大部分电流会集中在导体表面附近。这种现象称之为趋肤效应。除了使用纱包线外还可以使用铜箔绕制线圈。这两种方法都尝试过,因为最终整流方案的选择,所以最后还是选用纱包线制作的成品线圈。和往年不同的是,今年接收功率有所增加,故选取的接收线圈为 200股利兹线绕制而成的。

3.7.3整流电路的选择

  目前比较常见的整流方案有全桥整流、全波整流、倍压整流等,这三种方案对比来看,全波整流的效率理论是最高的,其次是倍压,最后是全桥。

  结合前面 LCC补偿网络的方式,经过实验,最终采用 LCC补偿网络+全桥整流的方式给法拉电容充电。

3.7.4LCC网络的制作与效果

▲ 图 3.7.4.1计算公式

  制作 LCC电路过程中,我们尝试了 5A,10A,20A的肖特基二极管,最终选取了 20A肖特基二极管。电感、电容值的选取,主要基于以上公式,其中,串联、并联的高频电容值,对充电效果影响较大的是串联电容值,因此配电容时应基于理论值进行微调,使谐振频率稳定于 150kHz。制作结果以 5个 30F/2.7V法拉电容串联为例,可以控制在 10s内充电至 10V。

 

第四章 法实现及软件设计


  件是存在于单片机内一系列指令的集合,是智能车设计的核心部分,需要花费很多的精力去设计编写。优秀的软件运行在良好的硬件平台上,将使智能车能够平稳高速地行驶。

  根据节能信标组的规则我们知道,如何快速平稳地寻找信标灯,如何优化自己的路径,如何让车运行消耗的能量更少,如何权衡速度与节能之间的比重关系,这些在比赛中尤其重要,但是难点就在信标灯的全局检测以及赛道信标灯的位置和亮灯顺序的不确定性。所以选择一种稳定可靠的方式就特别重要。主要思路有以下几点:

  1、图像采集与处理

  对于摄像头采集到的信标图像,通常为不规则图形,所以需要进行一定的处理(如取坐标中值等算法)准确地确定其位置。除此之外,场地内部还有若干蓝色灯罩,如若能识别出蓝色灯罩并进行规避,则会在整场比赛中较大的提升车模的整体运行状态和运行速度。然而,想要在算法上通过单个数字摄像头同时准确识别出信标灯和蓝色灯罩实在困难,并且会降低图像的处理速度,属于得不偿失的行为。因此,我们在算法上并不对蓝色灯罩进行识别,而是在车模的机械结构上加以改进,使其具有一定的越野功能。

  2、关于中途充电策略的思考

  本次比赛中节能信标组所使用的信标系统有一大特点,即每个信标灯上都能进行充电,只要车模能停在灯上并触发信标的霍尔元件。这就使得今年的节能组相较于往年的节能组有着较大特殊之处,能在比赛中途补充电能。关于中途充电,大致可以分为两种类型,一种是当电能运行到一定时间时,让车模平稳的停下来,并使充电线圈停落在白色灯罩的合适位置上进行充电,充完电后继续运行;还有一种是将充电线圈放置在车模正下方,每找完一个灯后让车在信标的正上方原地旋转,在这个间隙补充电能。我们分别对这两种方案进行了测试,它们的优点都在于能减少第一次充电的时间,但缺点也很显著,即无法保证车模中途停落的位置,尤其是当蓝色灯罩放在小车的行驶路径上且距离目标信标的很近时,这使得车模运行过程中的不确定性因素大大增加。综合各种方案的优缺点与实际调试情况,我们最终决定“中途偷电”的方式。在保证能一次灭灯且迅速转向的前提下,让小车转向的过程中停留在充电线圈上,使其“自行充电”。同时找到一个平衡点,使其第一次充的电量加上中途“偷来”的电量能跑完全程。

  3、电机 PID算法

  采用增量式 PID。设置期望速度,解算出当前速度与期望速度值的偏差,通过闭环控制使当前速度快速的达到期望速度。

4.1图像采集与处理

  我们使用带有红外滤光片的逐飞 MT9V034总钻风摄像头,滤除可见光的干扰,保留红外光,从而识别出信标发出的红外光,判断出信标的具体位置。

▲ 图 4.1.1普通算法处理识别

  然而,使用带有红外滤光片的摄像头识别信标灯容易受到外界杂光的干扰,尤其是阳光的干扰。对于今年的节能信标组,快读准确的找到信标灯在比赛中尤为关键,因此我们针对这种现象设计了抗干扰性较强的阳光算法,实测效果如下所示。

▲ 图 4.1.2阳光算法处理识别

4.2过程优化

  对于今年的节能信标组来说,中间过程的优化非常关键。尤其是在国赛的规则下,在 3分钟的比赛时间内,比拼最终灭灯数量。试想,若是能优化跑灯过程中的某一个动作,比如灭完一个灯去寻找下一个灯的衔接动作,让这个动作变得更快更节能,那么将带来非常可观的收益。例如,经过我们在国赛之前的测试,我们在 3分钟内最好的情况下可以灭 67个灯,如果每一个灯的找灯过程能节省 0.1秒,那么整个过程便可以节省 6.7秒,这节省下来的时间可以用来多灭 2个灯,或是用来多充一些电;同理,如果每一个过程多节省一点能量,那么最终节省的能量将是 67个过程节省的总能量,这样我们便可以缩短充电时间多跑几个灯。当然,这种过程的优化并不是无限制的。总有那么一个拐点,过了这个点后会发现整个效果没有以前好了,我们要做的就是无限逼近这个拐点。节能组嘛,就是要追求卓越,玩的是细节,挑战的是更极限。

  运行速度是智能车竞赛的一大看点。对于往届的信标组,在运行速度上几乎不需要多加思考,提速就行了,抢灯是越快越好。然而节能信标组不行,因为它受到节能这个条件的制约。速度一旦大了,转向时要么减速,要么需要一个很大的转弯半径,这两种无论哪一种都会消耗更多的能量,使充电时间增加,也就是说,速度大了反而会使总运行时间变长。但速度很慢同样不行,毕竟中间过程也很长,这样同样会使总运行时间变长。因此,如何在速度与节能之间进行权衡也很重要。

  除此之外,灭灯的准确率也很重要。相信今年节能信标组的车友都遇到过车从灯上过却灭不了灯的情况,如果能保证一次灭灯,那么将节省很多时间和能量。当然,这需要在机械上和程序上同时下功夫,根据车的机械结构来修改程序,根据车的程序需求来修改机械。

  总结来说,过程的优化需要机械、硬件和软件的同时进行,不能将其分割开来。例如,如果我想保证一次灭灯,那么我就需要在适当的地方增加磁标来触发霍尔元件,但这会使得车的重量增加,从而加大了能量消耗;如果我降低车的底盘让磁标高度更低,那么我需要考虑磁标是否会碰到蓝色灯罩从而影响车的整体结构;如果我采用在程序上降速的方法实现稳定灭灯,也得考虑总体运行时间是否会变长。正所谓“牵一发而动全身”,如何在这些矛盾中权衡,是我们过程优化的关键,最好的方法就是根据实际调试情况进行权衡。

4.3PID算法介绍

【通用经典控制论,省略..】

 

第五章 能车开发调试


5.1开发工具

  程序开发在 AURIX Development Studio下进行, AURIX Development Studio是英飞凌公司于 2019年底推出的免费的集成开发环境,支持英飞凌 TriCore™内核 AURIX™系列 MCU;ADS是一个完整的开发环境,包含了 EclipseIDE、C编译器、 Multi-core调试器、英飞凌底层驱动库( low-level driver,iLLD),同时对于编辑、编译及调试应用代码没有时间及代码大小的限制。

▲ 图 5.1.1 AURIX Development Studio开发环境

5.2调试工具

5.2.1NRF及上位机调试

  车模在同样的赛道上走过的路都是不一样的,所以我们无论怎么考虑车的状态都是不够完全的,因此需要有一套完备的方案来解决对运行中的车辆进行实时监控。为了解决这个问题,我们使用 NRF模块配合上位机进行实时观测车模运行状态。 NRF模块如图 5.2.1.1所示

▲ 图 5.2.1.1 NRF模块

  为了方便实时地监视小车在行进过程中的各种参数,采用名优科创研发的上位机软件并利用 NRF收集回来的各种参数传输到电脑上,用上位机直观的看出波形的变化,这样方便了调试,提高了调车的效率,名优科创上位机软件界面如图 5.2.1.2所示

▲ 图 5.2.1.2名优科创上位机界面

5.2.2 OLED屏、按键调试

  在小车的调试过程中需要不断地修改变量的值来达到整定参数的作用,对此我们选用了 OLED配合按键的调试方法。此外,比赛的时候,修改参数我们同样用这个模块进行修改。我们选用 OLED屏,该屏幕具有以下特点:

  (1)尺寸较小 ,显示尺寸仅为 1.3寸,分辨率为 128*64,保证了显示清晰度的同时拥有较小的体积,用在小型车模上特别合适。

  (2)价格远小于 LCD彩屏液晶,耐久度高,不易损坏。

  (3)正常显示时仅为 0.06W,拥有超低功耗,消耗更少的单片机资源,用于节能车上特别合适。

▲ 图 5.2.2.1 OLED

 

第六章 结与体会


  文从机械、硬件、软件等方面详细介绍了车模的设计和制作方案。从机械和硬件方面,我们力求电路的稳定可靠,尽量将车模做的轻快灵活;在软件方面,我们努力追求最有效的行驶路径,最节能、最省时的行驶过程,不断优化各方面策略,车模结构的设计构思、阳光算法的设计、主核心的选择和设计等是我们的创新点。

  在车模制作过程中,我们学到很多知识,逐渐对单片机控制、电路设计等有了比较好的认识,很感谢仪器学院能够给我们这样的平台,感谢合肥工业大学的各位指导老师和学长学姐的指导。经过近一年的辛苦准备,我们也积累了很多经验,深刻认识到坚持不懈的重要性,不断地发现问题解决问题,坚持为比赛付出时间和精力。

  从机械安装到各个模块研究整定,再到一个完整车体模型的搭建成功,进行调试,小组人员日夜不息,查阅、搜寻、浏览,终于不负汗水辛劳,车子的调试过程日渐可人明了。在此,感谢唐慧和胡慧勤两位同学,虽然最终参加国赛的大名单内没有她们,但她们的努力和付出依然是我们整个节能信标组获得优异成绩的关键。针对节能信标比赛过程中可能遇到的越野、充电、找灯等种种问题,特殊考虑对待,逐个解决创新,这方面收获着实不少,到了后期临近国赛的时候,我们甚至能在一天之内搭好一辆车并调试好配套程序。便是在这样的过程中,我们切身体会了理论与实践的重要联系。在这样一个环境下,我们小组五个人分工得当,各任己职,过程中相互扶持,努力奋斗,收获的同时锤炼了组员学习动手能力,增强了团队合作意识。特此,由衷感谢主办方提供的参赛机会,感谢合肥工业大学智能车基地这个大家庭,感谢学校给予的理解支持,指导老师的指导帮助,十分感谢!

■ [参考文献]

[1]卓晴,黄开胜,邵贝贝.《学做智能车——挑战“飞思卡尔”杯》[M].北京:北京航空航天大学出版社,2007.
[2]华成英,童诗白.《模拟电子技术基础》[M].北京:高等教育出版社,2006.6.
[3]阎石.《数字电子技术基础》[M].北京:高等教育出版社,2006.5.
[4]凌阳科技股份有限公司.《PID调节控制做电机速度控制》,2006.6.
[5]黄惟一,胡生清.《控制技术与系统》[M].北京:机械工业出版社, 2006.2.
[6] Brian W.Kermighan ,Dennis M.Ritchie.The C Programing Language ,Second Edition
[7]邵贝贝.《单片机嵌入式应用的在线开发方法》[M].北京:清华大学出版社, 2004.10.
[8]谭浩强.《C程序设计》[M].北京:清华大学出版社,2005.
[9]黄开胜,金华民,蒋狄南.韩国智能模型车技术方案分析[J].电子产品世界, 2006,3:150~152.
[10]王宜怀,李跃华.《汽车电子 KEA系列微控制器》.北京:电子工业出版社,2015.8.
[11] Jinghua Zhong. PID Controller Tuning: A Short Tutorial. Mechanical Engineering, Purdue University, 2006.
[12] Freescale Semiconductor. PK10N512VLL100 Reference Manual. http://freescale.com, 2011.

■ 附录 A源程序代码

/******************************************************************** 
*@file main 
	@author合肥工业大学节能信标组马仕亮胡慧勤曹乐强唐慧邹梦龙 
	TC212 
	2021-08-11 

*******************************************************************/ #include "headfile.h" 
intcore0_main(void) 
{ 
         unsigned char locationx_cha[9]={ 
        'x',':','\0'}; unsigned char locationy_cha[9]={ 
        'y',':','\0'}; unsigned char power_cha[9]={ 
        'p','o','w','e','r','\0'}; 
unsigned char display_locationx[5] = { 
        '\0'}; unsigned char display_locationy[5] = { 
        '\0'}; unsigned char display_power[8] ={ 
        '\0'}; 
unsigned char left_cha[5]={ 
        'l','e','f','t','\0'}; unsigned char right_cha[6]={ 
        'r','i','g','h','t','\0'}; unsigned char left[7] ={ 
        '\0'}; unsigned char right[7] = { 
        '\0'}; 
get_clk(); 
mt9v03x_init(); parm_init(); motor_counter_init(); motor_init(); Speed_Init(RUN_SPEED,RUN_SPEED); uart_init(UART_0,115200,UART0_TX_P14_0,UART0_RX_P14_1); adc_init(ADC_0,ADC0_CH7_A7); pit_init(CCU6_0,PIT_CH0, 5000); pit_init(CCU6_0,PIT_CH1, 300000); HCI_init(); HCI_handle(); 
enableInterrupts(); while(TRUE) 
{ 
         if(power_flag) { 
         
pit_close(CCU6_0,PIT_CH1); } if(gpio_get(P33_8)) { 
         
print_str8x16(0,0,0,locationx_cha); print_str8x16(3,0,0,locationy_cha); print_str8x16(6,0,0,power_cha); 
Data_Split(location_x,3,display_locationx,1); print_str8x16(0,80,0,display_locationx); 
Data_Split(location_y,2,display_locationy,1); print_str8x16(3,80,0,display_locationy); 
Data_Split(power,5,display_power,1); 
print_str8x16(6,80,0,display_power); } else { 
         
print_str8x16(0元器件数据手册IC替代型号,打造电子元器件IC百科大全!
          

相关文章