上海第二工业大学 电磁一队技术报告_第1页
上海第二工业大学 电磁一队技术报告_第2页
上海第二工业大学 电磁一队技术报告_第3页
上海第二工业大学 电磁一队技术报告_第4页
上海第二工业大学 电磁一队技术报告_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第八届“飞思卡尔”杯全国大学生智能汽车竞赛技术报告学校:上海第二工业大学队伍名称:电磁一队参赛队员:赵雪鹏王昌明兰裕涛带队教师:杨冠群关于技术报告和研究论文使用授权的说明本人完全了解第八届“飞思卡尔”杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名: 带队教师签名: 日期:

摘要本智能车系统以MK60DX256ZVLQ10KinetisAR-CortexM4为核心控制器,通过电磁传感器检测赛道信息并提取赛道中心引导线位置,通过光电编码器检测模型车的实时速度,使用PID控制算法调节驱动电机的转速和转向舵机的角度,实现了对模型车运动速度和运动方向的闭环控制。为了提高模型车的速度和稳定性,在IAREmbeddedWorkbenchforARM开发环境中进行软件开发,使用上位机和无线蓝牙等辅助调试工具,进行大量硬件与软件测试。实验结果表明,该系统设计方案确实可行。关键词:Freescale,智能车,电磁,MK60DX256ZVLQ10,PID

目录摘要 3引言 5第一章 系统总体设计 61.1设计要求 61.2总体设计 61.3整车布局 7第二章 系统机械设计 82.1车模结构特点 82.2前轮定位 82.3底盘高度 82.4舵机安装设计 92.6差速的调整 10第三章 系统电路设计 123.1电路总体设计 123.2主控制器模块 123.3电源管理模块 123.4寻迹传感器电路 163.5寻迹传感器布局 203.6起跑线检测电路 213.7电机驱动模块 22第四章 系统软件设计 244.1系统总体流程 244.2控制策略与控制量计算 244.2.1转向控制 244.2.2车速控制 254.3程序框架 254.4比赛方案选择 25第五章 开发工具与调试过程 265.1开发工具 265.2上位机显示 265.3算法仿真 265.4电路仿真 265.5制作调试过程 275.6现场调试 27第六章 总结 296.1模型车的主要技术参数说明 296.2现存问题及改进方向 29参考文献 30附录A程序源代码 31引言随着科学技术的不断发展进步,智能控制的应用越来越广泛,几乎渗透到所有领域。智能车技术依托于智能控制,前景广阔且发展迅速。目前,掌握着汽车工业关键技术的发达国家已经开发了许多智能车的实验平台和商品化的车辆辅助驾驶系统。有研究认为智能汽车作为一种全新的汽车概念和汽车产品,在不久的将来会成为汽车生产和汽车市场的主流产品。第八届“飞思卡尔杯”全国大学生智能汽车竞赛规定参赛选手须使用竞赛秘书处统一指定的车模套件,采用Freescale半导体公司的8位、16位或32位微控制器作为核心控制单元,自主构思控制方案进行系统设计,包括传感器信号采集处理、动力电机驱动、转向舵机控制以及控制算法软件开发等,完成智能车工程制作及调试。大赛分光电、摄像头、电磁三个赛题组。本组设计的智能车是基于电磁传感器的,属于电磁赛题组。本组的技术报告以智能车的设计为主线,包括智能车的构架设计、软硬件设计,以及控制算法研究等,共为六章。其中,第一章主要介绍了智能车的总体设计;第二章对智能车的机械设计进行了详细的介绍;第三章对智能车的硬件电路设计进行了详细的介绍;第四章描述了智能车的软件设计和相关算法;第五章对开发工具、制作、安装、调试过程以及模型智能车的技术参数进行说明;第六章叙述了设计的总结和展望。第八届全国大学生智能汽车邀请赛技术报告系统总体设计1.1设计要求本次竞赛中,要求所设计的智能车具有自动寻迹功能,以起始线为计时点,在赛道上高速、稳定地跑完一圈后,赛车需要自动停在起始线之后三米内的赛道上。赛道为白底黑线,白底宽45cm,黑线宽25mm,比赛允许选手自行设计传感器和控制电路,并编写控制程序,禁止改动舵机和轮胎等智能车结构。1.2总体设计根据智能车设计的基本要求,设计系统结构图,如图1.1所示。在满足比赛要求的情况下,力求系统简单高效,因而在设计过程中尽量简化硬件结构,减少因硬件而出现的问题。电磁传感器电磁传感器模块上位机接口电机驱动模块MK60DX256ZVLQ10上位机接口电机驱动模块MK60DX256ZVLQ10光电编码器舵机转光电编码器舵机转向模块图1.1系统结构图图1.1系统结构图

1.3整车布局(1)车模底盘降低,主板接近底板,以降低重心。(2)舵机卧式放置,降低重心。(3)用不锈钢管作为电磁支架材料,稳定坚固。(4)电池安于的后方,有利于重心分布均匀。图1.2整车布局图

系统机械设计2.1车模结构特点本车模采用后轮驱动,前轮转向。使用随动舵机带动50cm前瞻的电磁传感器探测引导线的位置,另设干簧管传感器探测起止线。电源模块和MCU的扩展电路板置于小车中部。整个小车重心在中部靠后,有较好的稳定性。2.2前轮定位为了使模型车在直线行驶时更加稳定,转向轻便,转向后能自动回正,并减少轮胎和转向系零件的磨损等,在转向轮、转向节和前轴之间形成一定的相对安装位置,对位置的调整为车轮定位。其中包括主销后倾、主销内倾、车轮外倾和前束。在实际调试中,发现适当增大内倾角的确可以增大转弯时车轮和地面的接触面积,从而增大车轮与地面的摩擦程度,使车转向更灵活,减小因摩擦不够而引起的转向不足的情况,增大后倾角可提高直线行驶性能和稳定性,经过反复调试最终得到理想结果。改装结果如下图所示。图2.1前轮定位图2.3底盘高度在保证顺利通过坡道和障碍的前提下,底盘尽量降低,从整体上降低模型车的重心,可使模型车转弯时更加稳定、高速。底盘高度如图2.2所示。图2.2前轮定位图2.4舵机安装设计本组通过实验测试了转向舵机S3010的几种安装方式,以及其动作性能随电压、控制频率、力臂长度的变化规律,通过比较最终确定将舵机卧式放置,竖起力臂延长至30cm、供电电压6.5V、控制频率100HZ。图2.3舵机安装图第二章系统机械设计2.5传感器支架大赛规定电磁组车模长度不受限制,所以方案决定以物理方式加长传感器支架来获得较远前瞻。考虑到系统采用感应电动势模拟变化量提取赛道信息,所以希望前端支架稳定,抗震,坚固,耐撞击。最初,系统采用普通的碳纤维管,虽然其具备一定的坚固性,且质量轻,但是其抗震性较差,韧度较小,在高速撞击的情况下容易折断。为了保留碳纤维管的优点,补偿缺点,通过对比试验,系统最终采用不锈钢管代替碳纤维管,架构如图2.4。该方案具有一下特点:(1)架构简单,质量轻,强度大。(2)安装方便,使整车简洁、坚固。(3)可以获得较远前瞻,车模行驶时传感器支架抖动较小。(4)支架拆卸和维修较为方便,不易折断,无需平凡更换。图2.4不锈钢支架图2.6差速的调整在车实际跑的过程中,后轮的差速相对松紧程度对拐弯有很大的影响。差速太紧,则拐弯容易甩尾,速度快的时候很容易甩出去,但是差速如果太松,虽然会改善转弯性能,却会严重影响了直线上的加减速,而且齿轮的咬合也不是很好,对齿轮会有一定的损坏。所以,后面两个轮子的相对松紧程度要适中,经过多次的调试,将模型车放到赛道上,用手抓住后轮的一只轮子使其不能转动,在赛道上推车子转弯,如果车子能够稍轻松的推动,则此时的差速器为最适合。当然,实际还需要根据不同的赛道和车的机械性能进行相应的微调。图2.5差速与编码器安装图系统电路设计3.1电路总体设计模型车控制电路设计是车模控制设计中的基础环节。为保证电路可靠性,按功能划分,将整个电路划分为主控板单元、寻迹传感器、测速电路、电机驱动电路、电源管理电路几个部分。各部分间关系如下图3.1所示:电源管理电源管理模块寻迹传感器电机驱动模块主控板单元寻迹传感器电机驱动模块主控板单元测速电路舵机转测速电路舵机转向模块图1.1系统结构图图3.1整体电路图3.2主控制器模块主控板电路以飞思卡尔公司提供的32位微处理器MK60DX256ZVLQ10KinetisAR-CortexM4为核心,主要包括时钟电路、串口电路、OSJTAG下载接口、供电电路、复位电路、调试小灯等。其中各个部分的功能如下:(1)串口的RS-232驱动电路可实现TTL电平到RS-232电平的电平转换。(2)OSJTAG下载接口让用户可以通过OSJTAG头向单片机下载和调试程序。(3)供电电路主要是给单片机提供3.3V电源。(4)复位电路是通过一个复位芯片在电压达到正常值时给单片机一个复位信号。(5)调试用小灯和单片机的IO口相连,供程序调试使用。对于工作环境恶劣、噪声与干扰强,且对系统的稳定性、可靠性有较高要求时,印刷线路板的设计可采用多层板。但为降低研制成本,本组采用双面板印制大前瞻的主传感器电路和电机驱动电路,主控板和辅助传感器电路采用手工焊接的方式制作。在此给出主控PCB图。图3.2主控制器模块图3.3电源管理模块电源电路为系统其它各个模块提供所需要的电源。设计中,除了需要考虑电压范围和电流容量等基本参数外,还要在电源转换效率、降低噪声、防止干扰和电路简单等方面进行优化。全部硬件电路的电源由7.2V、2A/h的可充电镍镉蓄电池提供。由于电路中的不同电路模块所需要的工作电压和电流容量各不相同,因此电源模块应该包含多个稳压电路,将充电电池电压转换成各个模块所需要的电压。主要包括如下不同的电压:(1)3.3V电压。主要为单片机提供电源,电压要求稳定、噪声小,电流容量大于500mA。使用稳压芯片TPS79333。第三章系统电路设计第三章系统电路设计图3.3分级稳压原理图(2)5V电压。为电磁传感器和编码器等电路供电。同样使用稳压芯片LM2940。图3.45V稳压原理图(3)-5V电压。为电磁传感器电路供电。由电荷泵MAX660提供。图3.5-5V稳压原理图(4)6.5V电压。这部分主要为转向舵机提供电源,由芯片LM2941提供。图3.66.5V稳压原理图(5)7.2V电压。这部分直接取自电池两端电压,主要为后轮电机驱动模块提供电源。(6)12v电压。这部分主要为电机驱动电路提供电压。图3.612V升压原理图电源模块由若干相互独立的稳压电路组成。为了降低电路噪声和干扰,各级稳压进行隔离,较低电压采用分级稳压,降低电池电压浪涌现象和纹波。此外,为了降低数字与模拟信号干扰,对数字地与模拟地进行隔离,单点接地,起到了很好的效果。PCB设计将电源管理模块集中,分级稳压与隔离,如下图所示。图3.7电源稳压模块图3.4寻迹传感器电路循迹传感器在车头的位置将直接影响循迹效果,由于在引导线周围不同位置,磁感应强度的大小和方向不同,所以不同位置上的电感产生的感应电动势也应该是不同。据此,则可以确定电感的大致位置。在传感器排布设计上面较为常用的有两种方案。(1)采用一排或多排电感。此种方法的采集信息是离散的点,不利于精细的控制,无法做到流畅的过弯。如果增加电感的个数,那么将会使得整车重心靠前,转向负载很大,此外,电感如果靠的太近,互感就是一个不得不考虑的问题。(2)使用3个电感,测得感应电动势,根据毕奥萨伐定理精确计算导线与传感器的位置。考虑到传感器的前瞻长,对于舵机的转动负载大,又希望得到精确的导线位置,最终系统采用方案(2)。根据方案(2),确定使用3个电感作为检测导线的传感器,但是其感应信号较微弱,且混有杂波,所以要进行信号处理。要进行以下三个步骤才能得到较为理想的信号:信号的滤波,信号的放大,信号的提取。(1)信号的滤波比赛选择20kHz的交变磁场作为路径导航信号,在频谱上可以有效地避开周围其它磁场的干扰,因此信号放大需要进行选频放大,使得20kHz的信号能够有效的放大,并且去除其它干扰信号的影响。使用LC并联电路来实现选频电路(带通电路),如图3.3所示。图3.8LC并联图其中,E是感应线圈中的感应电动势,L是感应线圈的电感量,R0是电感的内阻,C是并联谐振电容。电路谐振频率为:f=12πLC已知感应电动势的频率f=20kHz,感应线圈电感为L=10mH,可以计算出谐振电容的容量为C=6.33×10-9F。通常在市场上可以购买到的标称电容与上述容值最为接近的电容为6.8nF,所以在实际电路中选用误差为±5%的6.8nF电容,并从中挑选出最接近6.33nF(2)信号链精密放大由第一步处理后的电压波形已经是较为规整的20kHz正弦波,但是幅值较小,随着距离衰减很快,不利于电压采样,所以要进行放大,考虑到放大电路的设计要求,方案采用仪表放大器。仪表放大器具有显著的优点:其输入阻抗高,共模抑制比非常好,失调电压小。但其存在不足:使用方法单一,同时由于信号直接接入缓冲运放的输入端,导致输入共模信号的范围较窄,即使具有轨到轨输入的特点,也只能达到供电电源电压附近。根据上述分析,方案最终采用低功耗精密仪表放大器INA129,INA129通过如斩波稳定等方法使其输入失调电压及其漂移非常的低,REF引脚可以使输出含有一个固定的直流偏置,方便后端运放或ADC电路的设计,同样地,使用一个低阻抗电压源驱动它。为此,方案给出放大参考电路图和相应参数表:图3.9放大电路图表3.1INA129参数表表3.2INA129参数表(3)信号提取查阅多届技术报告对比得知,大多数采用倍压检波电路提取信号,将交流信号整流,小部分采用高速ADC连续采样,根据香农采样定理还原信号。通过多次对比试验,得出这两种方案都存在自身不足。倍压检波电路整流存在纹波,并且整流信号有明显延时问题。高速ADC连续采样方案对软件设计要求高,占用程序时间长,且程序相对复杂,信息量大,处理较困难。为此,本着“鼓励探索,追求卓越”为指导思想,方案经过多次创新与改进,设计出相位采样法,达到最终结果:直接釆得正弦波峰值,采样基本无延时,无纹波等干扰信号。具有适应性好,抗干扰能力强,时时跟随性能。方案给出正弦波采样波形图:图3.10正弦波采样波形图图3.10中黄色窄脉冲信号为单片机ADC采样时间,蓝色正弦半波为电感感应波形放大去除负电压得到,从图中可知,单片机ADC采样时间正好和正弦半波峰值信号同步。所以单片机只需识别窄脉冲信号下降沿即可取得正弦半波峰值信号。所以具有采样速度快,抗干扰能力强,取得峰峰值电压误差小等优点。3.5寻迹传感器布局根据官方网站提供的双水平线圈检测方案,在车模前上方水平方向固定两个相距L的线圈,两个线圈的轴线为水平,高度为h,即可完成基本的控制要求,如下图所示:图3.11双水平线圈检测方案图对于直导线,当装有小车的中轴线对称的两个线圈的小车沿其直线行驶,即两个线圈的位置关于导线对称时,则两个线圈中感应出来的电动势大小应相同、且方向亦相同。若小车偏离直导线,即两个线圈关于导线不对称时,则通过两个线圈的磁通量是不一样的。这时,距离导线较近的线圈中感应出的电动势应大于距离导线较远的那个线圈中的。根据这两个不对称的信号的差值,即可调整小车的方向,引导其沿直线行驶。对于弧形导线,即路径的转弯处,由于弧线两侧的磁力线密度不同,则当载有线圈的小车行驶至此处时,两边的线圈感应出的电动势是不同的。具体的就是,弧线内侧线圈的感应电动势大于弧线外侧线圈的,据此信号可以引导小车拐弯。另外,当小车驶离导线偏远致使两个线圈处于导线的一侧时,两个线圈中感应电动势也是不平衡的。距离导线较近的线圈中感应出的电动势大于距离导线较远的线圈。由此,可以引导小车重新回到导线上。由于磁感线的闭合性和方向性,通过两线圈的磁通量的变化方向具有一致性,即产生的感应电动势方向相同,所以由以上分析,比较两个线圈中产生的感应电动势大小即可判断小车相对于导线的位置,进而做出调整,引导小车大致循线行驶。采用双水平线圈检测方案,在边缘情况下,其单调性发生变化,这样存在一个定位不清的区域,如图3.6。同一个差值,会对应多个位置,不利于定位。另外,受单个线圈感应电动势的最大距离限制,两个线圈的检测广度很有限。图3.12双线圈差值法图为此,方案采用三电感方法,补偿双线圈电感方案的不足。三个电感按“一”字排布,中间垂直放置,两边倾斜30°放置,每个电感相距约为12.5cm,这样覆盖赛道范围约为25cm。三个电感可以提高检测密度和广度。倾斜放置的电感主要是增大弯道的预测能力。3.6起跑线检测电路按照比赛规则,起跑线是6个按照一定间隔放置的磁钢(表面磁场强度3000到5000高斯)组成,如果使用干簧管,极性的问题就不用考虑。将干簧管的一端接地,一端接IO,然后利用单片机的内部上拉,用程序中断去检测低电平。这样就可以完全利用Freescale芯片的内部资源简化电路的设计。图3.13干簧管实际图3.7电机驱动模块驱动电路对智能车的加减速性能有着很大的影响。智能车经过这几年的发展,各队伍使用的驱动方案也多种多样,从最开始组委会推荐使用的MC33886,到现在比赛使用各类驱动芯片及采用分立元件搭出的驱动电路。但影响驱动能力最主要参数还是驱动内阻,所以在设计驱动方案时,力求内阻越小越好,同时兼顾电路的复杂性及可靠性。为使智能车行驶在较高的速度水平上,智能车必须拥有很强的减速性能,所以采用全桥驱动电路方案,于是设计了以BTS7960驱动芯片为核心的和以IR2104半桥驱动芯片为核心的全桥驱动电路。BTS7960驱动芯片外围电路简单,控制方便,但是在做反压制动测试时,BTS7960发热厉害,易烧坏。在设计以IR2104半桥驱动芯片为核心的H桥驱动电路中,选用IR公司的低Ron增强型N-mosfet来搭建H桥。一片N-mosfet内阻为1.6毫欧,额定工作电流可以轻易达到100A以上,大大提高了电动机的工作转矩和转速。该驱动器主要驱动电路中一个电子开关采用两个mosfet并联,故控制电机转动时驱动电路上下MOS管总内阻仅3.2毫欧,远远小于MC33886的120毫欧,也小于BTS7960的16毫欧。由于此驱动芯片IR2104需要10V以上电压驱动,所以采用MC34063将电池电压升压到12V供给IR2104。此外,为了确保系统整体安全性能,系统设计PWM信号输入接口、逻辑换向电路、死区控制电路、缓冲保护电路等。图3.14全桥驱动原理图图3.15全桥驱动实物图经过以上设计,以IR2104半桥驱动芯片为核心的H桥驱动电路最终满足了设计的需求,实现了很好的加减速性能,并表现出很高的可靠性。第四章系统软件设计系统软件设计4.1系统总体流程系统软件设计要体系化,模块化,稳定化,目标是将硬件电路和机械性能发挥到最大,让车模用最快的速度完成比赛。在此给出系统总体流程图:开始开始程序初始化按键检测电感电压采样舵机控制电机控制控制量计算图4.1系统总体流程图4.2控制策略与控制量计算控制器是控制系统的核心部件,控制算法的好坏直接决定了车模的性能。车模控制中,转向控制是车模寻线前进的基础,而车速控制则是提高比赛成绩的关键。两者缺一不可。本组控制算法的主线是,先做赛道类型判断,用棒棒法计算出该类型赛道上的基准速度,再用PD算法进行适当调整。4.2.1转向控制转向控制采用棒棒法、PD法相结合的方式。首先根据当前黑线偏移的角度情况及前一段变化的历史情况,计算出当前转向P项系数的值,共分直道、小S弯/大圆弧、大S弯、长直道入弯四种类型,之后再根据黑线偏移角度的变化情况加入微分控制项。达到了很好的控制效果。(1)比例控制位置控制中的比例控制采用了分段比例控制,位置较小时与位置较大时设置不同的比例带,原因是传感器宽度有限,检测的位置范围也就有限,统一的比例带过大会导致小车振荡,过小导致最大控制量偏小,小车转向不足,过弯时冲出赛道。使用分段比例控制既方便又可以解决以上两种问题。(2)微分控制传感器输出模拟量的情况下检测的位置连续性较好,因此不再需要不完全微分的PD控制,用一般形式的位置微分控制即可达到很好的效果。由于比例带过小造成小车振荡时,适当增加微分控制;振荡频率较高时则应该减小微分控制,因为此时D控制量过大。此外,加大微分控制可以避免小车的速度影响舵机在拐弯处的拐角,使小车稳定性和跟随性变好,防止冲出赛道。4.2.2车速控制车速控制亦采用棒棒法、PD法相结合的方式。首先根据当前黑线偏移的角度情况及前一段变化的历史情况,计算出当前速度的基准值,共分短直道、长直道、小S弯/大圆弧、大S弯、入大S弯、长直道入弯六种类型,之后再在基准速度的基础上根据黑线偏移角度的变化情况加入微分控制项。达到了很好的控制效果。4.3程序框架由于本方案在不同的赛道情况下,采样周期会有所变化。而电磁车又限于传感器宽度,这样算法周期过长的情况下会导致丢线,这是致命的。因此本方案采用固定的算法周期,并且尽量的缩短算法周期。4.4比赛方案选择为适应比赛规则及赛道情况,制定了多个比赛方案,利用按键开关进行方案选择。方案一:高速算法,采用在实验室测得的在赛道难度不高时成功率较高的控制策略。方案二:中速算法,考略到某种意外情况导致赛车方案一不成功则采用降低一档速度的策略。方案三:低速算法,针对“如果智能车第二圈冲出赛道,继续比赛只能再跑一圈”的比赛规则,设定了在赛道较难的情况下的控制策略。另外还设计了对以上方案中的速度进行微调、取消起跑线识别等辅助参数设定。第五章开发工具与调试过程开发工具与调试过程5.1开发工具程序开放在IAREmbeddedWorkbenchIDE下进行,EmbeddedWorkbenchforARM是IARSystems公司为ARM微处理器开发的一个集成开发环境(下面简称IAREWARM)。比较其他的ARM开发环境,IAREWARM具有入门容易、使用方便和代码紧凑等特点。EWARM中包含一个全软件的模拟程序(simulator)。用户不需要任何硬件支持就可以模拟各种ARM内核、外部设备甚至中断的软件运行环境。从中可以了解和评估IAREWARM的功能和使用方法。5.2上位机显示LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。LabVIEW

提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来便地创建用户界面。用户界面在LabVIEW

中被称为前面板。使用图标和连线,可以通过编程对前面板上的对象进行控制。这就是图形化源代码,又称G代码。LabVIEW

的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图码。在本项目中使用LABVIEW编写上位机界面,通过上位机可以方便观测指定变量,以波形显示,直观明了。同时可以实时对车模下达指令或者修改参数。此外,通过蓝牙模块与电脑或手机相连便于调试和参数的整定。图5.2蓝牙模块图5.3算法仿真直接在单片机上运行算法具有以下几个缺点:可视性差、浪费大量时间在程序下载上。使用MATLAB可以进行方便的仿真和计算,参数整定也可以使用MATLAB的相关函数进行计算。使用MATLAB方便的绘图能力,通过串口回传数据,并在MATLAB上进行绘图,观测信号的质量和变化规律。MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。5.4电路仿真Multisim是美国国家仪器(NI)有限公司推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。Tina

Pro是一款EDA软件,用于模拟及数字电路的仿真分析。具有交直流分析、瞬态分析、正弦稳态分析、傅立叶分析、可以绘制零、极点图、相量图等等,功能强大,类似的还有软件如multisim,ORCAD的Pspice,采用的模型为标准的Pspice。比multisim更接近于实际。图5.5TINA图因为在实际设计中,电路设计相对复杂繁琐,特别在设计前期,对电路需进行大量的焊接和试验,如果没有仿真,手动焊接并测试将是一件工作量非常大的事,考虑到时间和设计要求,必要的仿真能带来很大的便捷,也能提供一定的参数参考和创新基础。从中收获不少。5.5制作调试过程本次比赛的准备工作从2012年12月份开始,制作调试持续了8个月之久,为了保证顺利完成比赛任务,工作主要分为一下几个阶段:第一阶段:在寒假期间搜集、整理资料,包括购买竞赛指导用书、关注大赛网站信息及智能车论坛中智能车的相关介绍等,并分工阅读,做好详尽笔记。第二阶段:本学期开学后,制作智能车的基本模块,包括电源模块、寻迹和测速传感器模块、电机驱动模块、舵机控制模块等,完成外围电路的PCB制板。购买车模后,对智能车进行安装,加载各模块后编写程序整体调试,对各种寻迹和测速传感器方案测试比较,以实现各种资源优化配置。第三阶段:暑假期间研究大赛的最新规则,制定多个比赛方案;按大赛要求制作较为规范的赛道,继续调试程序,以保证智能车在各种赛道上稳定、快速行驶,以最好状态参加华东赛区比赛。第四阶段:根据分赛区比赛取得的经验对智能车的硬件、软件设计做出调整,以求在总决赛中取得好成绩。5.6现场调试由于长期在自行设计的赛道上调试智能车,因此与现场赛道摩擦力大小有区别,这就带了参数不适应等隐患,严重可能导致智能车无法顺利完成比赛,为此,有必要设计一套可以现场调试工具。在基本程序完成之后还需要在现场对程序进行微调。所以系统设计了按键和显示屏等模块,便于现场调试。此外,使用液晶显示各个电感的电压数值,方便临时通过主板上设置的可调电位器对信号采集后放大倍数的调整。图5.6液晶屏模块图第六章总结总结6.1模型车的主要技术参数说明项目参数路径检测方法(赛题组)电磁车模几何尺寸(长、宽、高)(毫米)755、250、230车模轴距/轮距(毫米)200/140车模平均电流(匀速行驶)(毫安)1000电路电容总量(微法)1500传感器种类及个数电感3个光电编码器一个新增加伺服电机个数无赛道信息检测空间精度(毫米)20赛道信息检测频率(次/秒)200主要集成电路种类/数量MK60DX256ZVLQ10最小系统板一块系统控制主板一块Mosfet电机驱动电路一块车模重量(带有电池)(千克)0.95kg表6.1模型车的主要技术参数6.2现存问题及改进方向经过几个月时间的筹备,本组顺利完成了智能车的设计与制作,实现了智能车的寻迹自动行驶功能。在此过程中,完成了传感器布置方案的比较和确定、测速传感器的比较和确定、MCU外围电路的设计、控制算法的编写、对直流电机以及舵机的PD控制等工作。由于知识水平和制作条件的限制,本组智能车还存在一些问题。(1)采用机械随动式寻迹方案,总体造价高,系统寿命短,重心也偏高导致高速入弯有翻车的危险。因此将来应该继续开发降低重心方案。(2)在实际调试中发现同一型号的不同电池,其效果差别较大。对所有电池的静态性能和动态响应性能进行测试,得出其放电曲线后从中挑选出放电稳定、动态响应等综合性能较好的使用,成效显著。但是由于时间仓促且资源有限,所作的测试只是简单初步的,将来应该进一步做实验深入测试,使供电能力得到提高。(3)在实际调试过程中还发现,电机发热后车模的运行效果会下降很多,主要体现在加减速性能上。在同样的赛道上跑完一圈,其他参数不变,电机发热与不发热两种情况下有时会相差1S以上。电机使用时间久以后,性能也会类似的下降。目前只能根据定性的分析来适时的对电机进行更换或散热,将来应该做实验进行定量的测试,用数据来指导方向。参考文献[1]邵贝贝.单片机嵌入式应用的在线开发方法[M].北京.清华大学出版社.2004.[2]王晓明.电动机的单片机控制[M].北京.北京航空航天大学出版社.2002.[3]臧杰.阎岩.汽车构造[M].北京.机械工业出版社.2005.[4]安鹏.马伟.S12单片机模块应用及程序调试[J].电子产品世界.2006.第211期.162-163.[5]童诗白.华成英.模拟电子技术基础[M].北京.高等教育出版社.2000.[6]沈长生.常用电子元器件使用一读通[M].北京.人民邮电出版社.2004.[7]宗光华.机器人的创意设计与实践[M].北京.北京航空航天大学出版社.2004.[8]张伟等.ProtelDXP高级应用[M].北京.人民邮电出版社.2002.[9]张文春.汽车理论[M].北京.机械工业出版社.2005.[10]金钟夫.AVRATmega128单片机C程序设计与实践[M]北京航空航天大学出版社.2010.[11]孙同景.十六位单片机原理及嵌入式开发技术[M]机械工业出版社2008年.[12]佚名.基于STM32的双轮机器人控制系统研究与设计.[13]卓晴.电磁组智能车调试方案V2.0.[14]施颂椒.陈学中.杜秀华编著.现代控制理论(第二版)高等教育出版社2009年.附录A附录A程序源代码主函数#include"include.h"//函数声明//voidInit_all(void);voiduart_int16_send(u16data);voiduart_picture_send(u16data0,u16data1,u16data2,u16data3,u16data4);//主函数//voidmain(void){DisableInterrupts;gpio_init(PORTD,8,GPO,0);Init_all();/*while(!(gpio_get(PORTA,0)));Dly_ms(100);while(gpio_get(PORTA,0));Dly_ms(100);while(!(gpio_get(PORTA,2)));Dly_ms(100);while(gpio_get(PORTA,2));Dly_ms(20000);Run_flag=1;*/EnableInterrupts;while(1){if(Stop_count>=3500){//Stop_count=3500;//Run_flag=300;}OutData[0]=Speed_count*100;OutData[1]=Speed_Pwm*100;OutData[2]=Center_e0_2;OutData[3]=Center_e;OutPut_Data();//uart_picture_send(Sensor0,Sensor1,0,Sensor2,0);Dly_ms(250);AD0=ADresult0*3.3/65535;AD1=ADresult1*3.3/65535;AD2=ADresult2*3.3/65535;Display8x16Str(0,0,"");LCD_P6x8Str_int(0,0,(int)(AD0*100));LCD_P6x8Str_int(50,0,ADresult0);Display8x16Str(2,0,"");LCD_P6x8Str_int(0,2,(int)(AD1*100));LCD_P6x8Str_int(50,2,ADresult1);Display8x16Str(4,0,"");LCD_P6x8Str_int(0,4,(int)(AD2*100));LCD_P6x8Str_int(50,4,ADresult2);Display8x16Str(6,0,"");LCD_P6x8Str_int(0,6,Stop_open);LCD_P6x8Str_int(50,6,Speed_count);}}//函数定义//voidInit_all(){Dly_ms(100);OledInit();//oled初始化Dly_ms(100);Stop_count=0;gpio_init(PORTB,10,GPI,1);gpio_init(PORTC,0,GPI,0);//电磁传感器信号出发IO初始化gpio_init(PORTC,1,GPI,0);gpio_init(PORTC,2,GPI,0);gpio_init(PORTC,3,GPI,0);gpio_init(PORTE,3,GPO,1);//电磁传感器AD采样标识信号gpio_init(PORTE,2,GPO,1);gpio_init(PORTE,1,GPO,1);gpio_init(PORTE,0,GPO,1);adc_init(ADC1,SE10);//电磁传感器AD采样端口初始化adc_init(ADC1,SE11);adc_init(ADC1,SE12);adc_init(ADC1,SE13);exti_init(PORTA,0,falling_up);//按键0中断初始化exti_init(PORTA,1,falling_up);//按键1中断初始化exti_init(PORTA,2,falling_up);//按键2中断初始化exti_init(PORTA,3,falling_up);//按键3中断初始化pit_init_ms(PIT0,1);//定时器初始化uart_init(UART5,9600);//串口初始化LocPIDInit();//位置式PID初始化FTM_PWM_init(FTM0,CH4,100,DUOJI_Center);//舵机PWM初始化IncPIDInit();//增量式PID初始化lptmr_counter_init(LPT0_ALT2,10000,2,LPT_Rising);//测速初始化lptmr_counter_clean();//清除计数器gpio_init(PORTA,10,GPO,0);//电机正转FTM_PWM_init(FTM1,CH0,10000,0);}voiduart_int16_send(u16data){u8data_h=0,data_l=0;data_h=(data&0xff00)>>8;//16位得到高8位data_l=data&0x00ff;//16位得到低8位uart_putchar(UART5,data_h);//串口发送高8位uart_putchar(UART5,data_l);//串口发送低8位}voiduart_picture_send(u16data0,u16data1,u16data2,u16data3,u16data4){uart_putchar(UART5,0xff);uart_putchar(UART5,0xff);uart_int16_send(data0);uart_int16_send(data1);uart_int16_send(data2);uart_int16_send(data3);uart_int16_send(data4);}中断函数//声明//#defineN20#defineSignalCount1160#defineSignalCount2320#defineSensor_valve_max60000#defineSensor_valve_min5000u8PITCount=0,turn_flag=0,uphill_flag=0;u16SignalCount=0;u8coe[N]={1,2,3,4,5,6,7,8,9,10,11,12};u8sum_coe=1+2+3+4+5+6+7+8+9+10+11+12;u16ADresult_fil0[N],ADresult_fil1[N],ADresult_fil2[N],ADresult_fil3[N];floatCenter_fil[N];voidSensor_AD(void);u32ADresult_data_fil(u16vlue,u16data[]);//队列滤波voidADuniform(void);//传感器限幅与归一化voidCenter_get(void);//提取中心线s32Uniformization_DuoJi(s32data_in);//舵机转换voidClimbing(void);voidSpeed_get(void);s32Uniformization_DianJi(void);voidSpeed_set(void);//函数定义//voidPIT0_IRQHandler(void){PIT_Flag_Clear(PIT0);//清中断标志位if(PITCount==0){PITCount++;gpio_turn(PORTD,8);Sensor_AD();ADuniform();Center_get();}elseif(PITCount==1){Stop_count++;PITCount=0;gpio_turn(PORTD,8);Speed_get();FTM_PWM_Duty(FTM0,CH4,DUOJI_Center+Uniformization_DuoJi(LocPIDCalc(Center_e)));//if(Run_flag==1){Speed_Pwm=IncPIDCalc(Speed_count);Speed_Pwm=Uniformization_DianJi();if(uphill_flag==1)//坡道检测Speed_Pwm=0;Speed_set();}elseif((Run_flag>1)&&(Run_flag<300)){gpio_init(PORTA,10,GPO,1);//电机反转FTM_PWM_Duty(FTM1,CH0,30000);Run_flag++;}elseif(Run_flag==300){gpio_init(PORTA,10,GPO,0);FTM_PWM_Duty(FTM1,CH0,0);}}}PID控制函数//数据结构typedefstructPID{floatSetPoint;//设定目标DesiredValuefloatSumError;//误差累计floatProportion;//比例常数ProportionalConstfloatIntegral;//积分常数IntegralConstfloatDerivative;//微分常数DerivativeConstfloatLastError;//Error[-1]floatPrevError;//Error[-2]}PID;staticPIDLocPID,IncPID;staticPID*sptr=&LocPID;staticPID*pointer=&IncPID;//位置式PID参数初始化voidLocPIDInit(void){sptr->SumError=0;sptr->LastError=0;//Err

温馨提示

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

评论

0/150

提交评论