竞速组-电磁工学院冰封极速_第1页
竞速组-电磁工学院冰封极速_第2页
竞速组-电磁工学院冰封极速_第3页
竞速组-电磁工学院冰封极速_第4页
竞速组-电磁工学院冰封极速_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

校:中原工学院队伍名称:极速冰封参赛队员:带队教师:牛继高杨树峰本人完全了解第十届“飞思卡尔”杯大学生智能汽车竞赛关保留、使技术报告以及参赛模型车的、图像资料,并将相关内容编纂收录在日本智能车以MC9S12XS128处理器的S12环境,软件平台为CodeWarriorIDE片机为控制,以不同摆放位置的电感为循迹传感器,由互感线圈赛道信息,通过智能精确控制的PID算法起到寻线方向控制;度控制是由1个编对电机两端进速,将测得的速度与给定的速度进行PID速度闭环控制;用第一章引 绪 整车设 第二章系统硬件电路设 硬件电路整体架构框 单机片最小系统板电路选 传感器设 信号放大电路设 检波电路设 起跑线检测电路设 电机驱动电路设 舵机驱动电路设 电源电路设 主板电路设 第三章智能车机械结构调 前轮定 主销后 主销内 前轮外 前轮前 底盘高 差速结 传感器支 舵机的安 编安 第四章智能车控制算法设 软件控制的总体思 控制系统结 传感器处 PID控 软件开发平 工程的创 程序源代码的编辑、编译与..................................................BDM调 现场调 调试中遇到的问题及解决方 第六章车模技术参数说 第七章总 附件A电路板详细设计原理图与算法子程序分程序代 绪大学生“飞思卡尔”杯智能车竞赛是由教育部高等自动化专业教学指导分主办,飞思卡尔半导体公司为协办的一项以智能车为研究对象的创意性科技竞赛,是面向大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。提供一个标准的汽车模型、直流电机和可充电式电池,参赛队伍要制作一个能够自主识别路径的智能车,在专门设计的跑道上自动识别道路行驶,最快跑完全程而没有冲出跑道并且技术报告评分较高为获胜者其设计内涵盖了控、模式别、传感技、、电气计算机、机械、能源等多个学科的知识,对学生的知识融合和实践动手能力的培养,具有良好的推动作用。在本技术报告安排上,第一章是引言,主要对智能车制作情况进行概述,阐明后面报告安排及对整车设计的综述;第二章是系统硬件电路的设计,详细介绍了电源部分、电机驱动等电路模块的设计思路及方案;第三章是智能车机械结构调整,主要是模型车机械部分安装及改造、传感器的设计安装、系统电路板的固定及连接等;第四章是智能车控制算法,包括控制安装、调试过程说明,讲述了我们自己在调车训练时的方法和训练工具;第六章为智能车的主要参数技术汇总说明;第七章为结论。整车设根据竞赛规则相关规定,智能车系统采用大赛统一提供的型车模以飞思卡尔半导体公司生产的16位微控制器C9S12XS128作为控制器,在CodeWarriorIDE开发环境中进行软件开发。的位置信号由车体前方的电磁传感器,经内部D进行模数转换后,输入到控制,用于控制舵机的打角从而控制的运动方向。电机转速控制采用PID控制,通过控制驱动1.1。1.1对于车模的强度,我们用板对车模底部进行了加固,保证整个车身的第一章引言电磁车的前瞻较短而且容易出现误判。比如十字交叉线的磁场信号和90度弯的磁场信号极为相似,容易发生车子行驶时直接忽略90度弯的情况而窜道,我们采用3电感,特地用2化率有一定联系和区别,传感器放置为对赛道信号变化敏感的方向以便最快、最灵敏的检测到赛道变化引起的信号变化,如下图1.2模型车整体图。硬件电路整体结构图图2.1智能车硬件电路整体结构图第二章系统硬件电路设计单机片最小系统板电路选用MC9S12XS128单片机作为我们的MCUMC9S12XS128子市场的性能16位单片机,具有速度快、功能强、成本低、功耗特点。主要包括时钟、旁路电容、电源接口和内部强大的数据处理能力,实现信号图2.2a第二章系统硬件电路设计传感器设计传感器。路径传感器以电磁传感器为,用安装在智能车车头支架上的电磁强度和方向,通过信号选频放大检波后,送入单片机进行AD转换。单片机对的信息进行处理,通过算法优化和PID件,选择合适的速度检测传感器,并设计了相应的硬件电路,如下图2.3传感信号放大电路设计采用Railtorail仪表放大器,就可以用一个比较低的电源电压得到比较大的电压信号。我们按照这个思路查找器件选型表,最终选择了INA128双电源INA12850μV0.5μV/C5nA120dBCMR。G=1+49.8/RKΩ/R2.5NA128图 INA128放大电路第二章系统硬件电路设计图 INA128放大电路检波电路设计从仪表放大器出来的信号是类似正弦波的信号。为了将该信号转化成直观的直流电平,我们选用运放检波。这种方法是最稳定,反映最快,效果最好的电路。制作出来的PCB考的文档《电磁小车设计参考》内的检波电路,在此就不再复述,如下2.5所示。图2.5a检波典型原理图图2.5b检波实际原理图起跑线检测电路设计按照比赛规则,起跑线是6个按照一定间隔放置的磁钢(3000到5000)组成,而且磁钢的极性是随机放置的。如果使用霍尔方式检测那么极性问题就一定要考虑进去,所以一对霍尔传感器至少是两个。但第二章系统硬件电路设计图2.6电机驱动电路设计MOSH图2.7驱动PCB舵机驱动电路设计8133舵机的控制除了需要5.4V的供电电压还需要一路波,以20ms为周期(实际S-A6数字舵机可以用最大300HZ信号控制,不同的占空比会使舵机稳定在不同的角度上,具体如图2.8所示。第二章系统硬件电路设计图2.8不同对应的舵机旋转角为了保证舵机打角的精准,所以0和1两个8位(最大值为255)级联形成16位(最大值为65535),即01,显著提高(float电源电路设计电源管理系统是硬件系统的基础,智能车使用由提供的7.2V2000mAh舵机提供5.5V电压,如下图2.9a所示。第二章系统硬件电路设计主板电路设计图2.10所示。2.10PCB前轮定主销后确定主销后倾角为2度,如图3.1所示。3.11第三章主销内前轮外正外倾。前轮外倾角具有提高转向的轻便性和车轮工作安全性的作用。经过不断地实验得出,外倾角一般设定为13.2所示。前轮前3.133.14(实物图第三章底盘高奠定基础,本车的高度示意如图3.6所示,其离地间距为6mm。3.2差速结3.3差速实物图传感器支架电磁组磁场信号较为复杂,如果小车的前瞻较近则不利于小车的快速灵活转向;如果前瞻较远,那么在赛道之间过近的情况下则容易出现判断错误使小车跑出赛道,致使比赛失败。经过试验得出,前瞻的最佳距离为。第三章3.4舵机的安装3.5a3.5b3.5b第三章编安导致转轴变形,编信号线最好使用胶带固定在编外壳上避免长期使用过程中的拉扯导致信号线脱落,安装好的实物图如图3.6所示。图3.6软件控制的总体思路制是连接电路与机械的桥梁,也是该比赛的部位。控制系统结构的控制系统结构如图4.2所示。图 传感器处运放的放大倍数可调。然后对放大后的信号进行检波,最终得到的信号电压0V-5V。AD采样的精度8位,所得到的值为0-256。我们采用单排传感器检测PID控制PIDe(t)进行比例、积分和微分运算变换后形成的一种控制规律。在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微PIDPIDPID70它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现ID,或不能通过有效的测量来获得系统参数时,最适合用PID控制技术。PIDPIPDu(t)

e(t)

te(t)dt

(公式4- I

PID控制实现的控制方式又分为模拟方式和数字方式PID控制框图如图4.4.14.4.1PID为控制量;E(s)为被控量与设定值R(s)的偏差。时域表达式为 u(t)Ke(t) te(t)dt

de(t)

Ti

dtku(k)KPe(k)KIe(i)KD[e(k)e(k

表示的控制算法提供了执行机构的位置u(k),所以被称为数字PID位置控制算PIDPID的增量型控制算式如公式4-5所示:u(k)u(k)u(k K[e(k)e(k1)]Ke(k)K 2e(k 4.4.2PID第五 开发工具、制作、安装、调试过程说软件开发平台CodeWarriorCodeWarrior是面向以HC12和S12为CPU的单片机嵌入式应用开发的软件包,包括集成开发环境IDE、处理器专家库、全仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、器以及调试器等。在CodeWarrior软件中可以使用汇编语言或C语言,以及两种语言的混合编程。所示。5.1CodeWarriorCodeWarriorIDE5.1选择目标型号以及与电脑的连接方式,这里选择以“TBDML”项,如图5.2图5.4所示。5.4程序源代码的编辑、编译与BDM现如下窗口,点击“确定”按钮,如图5.5所示。图 之后BDM会自动擦出Flash,如图5.6所图5.6擦除再新程序如图5.7所示图5.7新程BDM5.85.8BDM现场调在基本程序完成之后还需要在现场对程序进行微调。所以我们了按键和液晶模PDKpKd图5.2a蓝牙发送模 图5.2液晶模调试中遇到的问题及解决过程2,还有可能的电感问题(换电感还,同时换一对四,调程序问题:车模主要技术参数4编精0从去年11月开始筹备比赛,由于上一届没有学长参加比赛,我们一切步走到现在,车速从0.8m/s不断修改参数,每0.1m/s不断往上加,才有了今4个人的无数个日日夜夜的心血,在智能车控制算法设计方面,我们编写函数SC_black_Init(),控制ADC语言编程,采用比赛推荐的开发工具调试程序,在不断的编写调试中,我们确定了一套比最后,感谢首先要感谢学校和学院对我们的大力支持,以及指导舍地相伴与付出;感谢山东大学和能组织这么一场有意义的比赛。[2],马旭,卓晴.基于磁场检测的寻线小车传感器布局研究[J].电子产品世[3]臧杰,.汽车构造[M].:机械工业.2005.[5].单片机嵌入式应用的开发方法[M].:, 附件A电路板详细设计原理图与算法子程序分程序代电路板详细设计原理图如下如图A-1floatdianji_PID(floatdesired_vehiclespeed,floatfeedback_speed);voidspeed_control(void);voidGet_ADValues(byten_ci);//4Expert)*/wordwordwordword word wordg_wCurrentPlusValue=0; //当前值floatkp=0.4,ki=0.09,kd=0.1; //PI控制floatVehicle_Speedcmps=0.0; //小车车速cm/sfloatvehicle_curr_error=0; //车速偏差cm/sfloatDesired_vehiclespeed=150;//目标车速float //增量式PID算法输出的dert_ufloatvehicle_last_error=0; floatvehicle_pre_error=0; floatU_Control_noRevised=0; float float //编反馈的车byte wordcounter_PITflag=0;//用于验证中断是否正常,无实际意义wordCOUNTER_TI1test=0;//用于验证中断是否正常,无实际意义bytetemp_lock=0;floatvoidTurn_LeftDTYControl(floatangleCMD);voidTurn_RightDTYControl(floatangleCMD);float word#defineAD_SAMPLECISHU10wordADShuZu_0[AD_SAMPLECISHU]={0},ADShuZu_1[AD_SAMPLECISHU]={0};采样值存放的数 24[AD_SAMPLECISHU]={0};2float voidDuoJiPIDControl(void);floatwordg_wPIDservo;floatDuo_kd=0;wordDuoJi_,Pre_DuoJi_;wordDuoJi_Mid_=3080;wordDuoJi_LTurn_wordDuoJi_RTurn_Limit=3700;/*左直角转弯变量word/*蓝牙变量wordLanYaCounter=0;floatAA=45,BB=16,CC;floatDDTest;worda=0,b=0;intgewei,fenwei;/*直道判断bytebyteSTOP_LOCK=0,stop_flag=0;byteTEMP_FLAG=0;void{/*Writeyourlocalvariabledefinitionhere*/byteerrror,temp,OneByteData;//word/***ProcessorExpertinternalinitialization.DON'TREMOVETHISCODE!!!***//***EndofProcessorExpertinternal/*WriteyourlocalvariabledefinitionhereDTY0=0;/*DTY0>1且DTY2=0小车前进*/DTY2=0;/*DTY0>1且DTY2=0小车前进*/{{PITCFLMT_PITE=PITCFLMT_PITE=}{if(PORTA_PA6==0||PORTA_PA7==0)回到断开状态,即PA6PA7仍未高电平{{}//PITCFLMT_PITE=/*舵机刷新程序//Get_ADValues(AD_SAMPLECISHU);//Get_ADDTPJ(AD_SAMPLECISHU);}}//if(DoubleCar_Lock==1&&LanYaCounter>=80)if(DoubleCar_Lock==1&&LanYaCounter>=120)//越过干簧管终点后继2{{}//if(Speed_feedback>=0&&//////}}/***Endoffor(;;)}/***Endofmain#pragmaCODE_SEG NEAR_SEGNON_BANKEDISR(mypit)/*PITPITPITPITPITPITPITPITPITPITPITPIT断5ms{if(LanYaCounter%20==0)LanYaSendDataFlag=1;**g_wCurrentPlusValue=capPulcounter;g_wDeltaPlus=g_wCurrentPlusValue-g_wPrePlusValue=Vehicle_Speedcmps=g_wDeltaPlus*0.01472*200;//计算反馈的车速,单位cm/s,编盘旋转一圈输出512个脉冲Get_ADValues(AD_SAMPLECISHU);{if(PORTB_PB2==0&&PORTB_PB5==1)//1.3m/s{{}{整}}{{ }{}}} Dert_u=dianji_PID(Desired_vehiclespeed,Speed_feedback);PITTF_PTF01;}#pragmaCODE_SEG**voidspeed_control(void){{U_Control_noRevised=DTY1+Dert_u;//得到当前的DTY0(正转,else}else{U_Control_noRevised=DTY3+elseDTY3=}}floatdianji_PID(floatdesired_vehiclespeed,float{vehicle_curr_error=desired_vehiclespeed-ki*vehicle_curr_error+\kd*(vehicle_curr_error+vehicle_pre_error- //把k-1赋给k-2 returndert_u;//注意dert_u为正值或负值}函数名:Get_ADValues(byte功能 获得工字电感的采样值要求4voidGet_ADValues(byten_ci){byteword //n_ci次AD{{}}{}My_FinalADValue[0]=jj0/n_ci;My_FinalADValue[1]=My_FinalADValue[2]=jj2/n_ci;My_FinalADValue[3]=jj3/n_ci;My_FinalADValue[4]=} 舵机 void{//舵机PID算 e[3]-1000)/

温馨提示

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

评论

0/150

提交评论