西安工业工大幻影队技术报告_第1页
西安工业工大幻影队技术报告_第2页
西安工业工大幻影队技术报告_第3页
西安工业工大幻影队技术报告_第4页
西安工业工大幻影队技术报告_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

摘要摘要括以下几个部分:主体循环程序,增量式PID速度控制程序,中断服务程序,舵PID控制算法、PWM控制、模糊控制、闭环控制在该系统中的应用。PID及关键词:MC9S12XS128,电磁传感器,PID控制,HInthisweInthiswebuildaself-tracingcontrolsystembasedonelectromagnetismsensor,usingthesmartcarasamodelandMC9S12XS128asThehardwaredesigninthisSystemusethemodulardesignmethodincludingmicro-controllermodule,powermodule,photoelectricsensormodule,thedetectionofspeedmodule,steeringgeardrivingmodule,motordrivingmoduleThesoftwaredesigninthissystemusesstructuredprogrammingmethods.Fromastructuralpointofview,thesoftwareprogramincludethefollowingmainparts:themaincycleofprocedures,theincrementalPIDspeedcontrollingprogram,interruptserviceroutine,on-lineprocesscontrolalgorithm,thespeedcontrolalgorithmproceduresandanumberofothercontrolprocedures.ThesoftwaredesignfocusesontheapplicationofPIDcontrolalgorithm,PWMcontrol,fuzzycontrolandclosed-loopcontrolinthesystem.ThePIDcontrolandPWMcontrolmainlyusedinmotorcontrol,fuzzycontrolappliedtothecollectionofroadinformationandtheclosed-loopcontrolsystemisbuiltfortheentire目绪 智能车赛事介目绪 智能车赛事介 智能车前景介 总体方 控制系统设 硬件系统设 软件设 机械部 舵机的改 前轮定位的调 差速齿轮的调 电路板的设计安 系统硬件电路设 电源部 微控制器模 传感器模 传感器的选 传感器硬件电 舵机驱动模 电机驱动模 驱动电机特 驱动硬件电路设 速度检测模 编码器的安 速度采集方 摘要开发与调 5.1软件开发环境介 第六章结 参考文 1.1智能车赛事介绍8位、161.1智能车赛事介绍8位、16MCU作为唯一的微控制器。16MCU9S12XS128(封装不限16(1.2智能车前景介绍1本模型车采用电感来判别跑道上的电磁引导线,本模型车采用电感来判别跑道上的电磁引导线,通过MC9S12XS128单8个电感组成。通过将传感器放在不同位置,来判断2.1控制系统设(4)智能车是一个最优位置随动系统,采用Bang-Bang控制和线性控制相结合的方式,在线性控制段采用数字PID控制。智能汽车控制系统框图如2.122.12.2硬件系统设2.22.3软件设计2.12.2硬件系统设2.22.3软件设计3速度传感器 电磁传感器 2.获取AD值,采样道路信息,并对采样信息进行二值进而获得转速值,通过改变PWM电机2.获取AD值,采样道路信息,并对采样信息进行二值进而获得转速值,通过改变PWM电机舵机其他2.34速度、角度数据道路与速度各模开3.1舵机的改装5长(毫米宽(毫米高(毫米3.1舵机的改装5长(毫米宽(毫米高(毫米0(3.13.23.13.2前轮定位的调整63.3差速齿轮的调整3.43.3差速齿轮的调整3.4电路板的设计安装组委会提供有MC9S12XS128的开发板,但是它的体积和重量都比较大,到传感器电路和H74.1电源部分智能车比赛使4.1电源部分智能车比赛使用的是组委会提供的7.2V,2000mAh镍镉可充电蓄电4.183V。为了解决这种情况,我们LM2940-5,它是一款低压差芯片,路,速度检测电路等供电。电池电压经过极性电容滤波后进入LM2940-5的14.2LM2940-55V电池电压输入到另一片LM2940-5,在LM2940-5的GND脚与电源地给舵机。如图4.3所示,图中D1,D2,D3的压降为0.5V。4.3LM2940-56V94.2微控制器模舍弃了大4.2微控制器模舍弃了大赛组委会提供的MC9S12XS128开发板,自己重新设计微控4.4所示为最小系统板的PCB图。在最小系统板上,只引出了所有要载调试,将BDM的插座也设计在最小系统板上4.4PCB4.3传感器模块4.3.1传感器的选4.3.2传感器硬件电4.3.2传感器硬件电4.54.4舵机驱动模智能小车采用的是FutabaHS-3010,接口采用了三线连接方法,黑线为电源地线,红线为电源线,接+5V电源,白线为控制信号线。该舵机控制可利用调节PWM输入信号的占空比来改变输出的角度。由于舵积分环节的串联。PWM控制信号引入控制电路板驱动直流电机,减速齿轮组PWM控制信号比较,产生纠正信号,并驱动直流电机正向或反向转动,使齿通过以上分析,我们对舵机的转向采取了PWM控制信号比较,产生纠正信号,并驱动直流电机正向或反向转动,使齿通过以上分析,我们对舵机的转向采取了P(比例-微分)控制。比例控Kp高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。在最初调试的时候,我们还使用了IDKp参数进行调整采用了的试凑的方法。通过多次实验,得到了比较满意的Kp,Kd舵机需转到大约40只需要转动15度左右,前轮就可以转到最大时。这样就大大节约了舵机转向联后变为16位,完全可以满足舵机调节的精度要求。PWM7口输出的信号到角度的精确数值。然后就可以确定PWM的占空比,进而控制舵机。需要强调的是,由于我们设置了几个不同的速度档位,而每个档位对应的Kp,Kd值4.5电机驱动模4.5.1驱动电机特智能小车采用后轮驱动,驱动电机采用了标准微型马达公司生产的RS-4.5.2驱4.5.2驱动硬件电路设直流电机的转速控制采用PWM控制。由于单片机输出的脉宽无法直接驱计中采用了H4.8和右上的TIP1270,右边1时,马达电流由左流到右,正转。运用光电偶合器的原因是为了简4.6速度检测模4.6.1编码器的安经过比较,我们选用了瑞普科技的增量式旋转编码器SHZSP3004-4.94.6.2速度采集方4.6.2速度采集方跟着旋转,产生脉冲信号,送给微控制器的ECT模块,ECT模块捕捉脉冲信5.1软件开发环境介程序开发是在CodeWarrior5.1软件开发环境介程序开发是在CodeWarriorDevelopmentStudioforS12(XV5.1下进行。该开发环境由Metrowerks公司提供并专门面向飞思卡尔所有系列的微控制器嵌C交叉编译器、项目工程管理、汇编器、链接器等。本导引车模型采用运行CodeWarriorDevelopmentStudioforS12(X)V5.1集成开发软出的工程对话框中选择CreateNewProject,如图5.1示5.15.2然后选择编程语言5.2然后选择编程语言和右面的项目名Projectname输入条中,键入所要建的新工程名称,在项目名Location导引车模型中使用C5.35.4CodeWarriorDevelopmentStudiofor5.4CodeWarriorDevelopmentStudioforS12(XV5.1Includes文件夹是程序中所有头文下的三个文件burner.bbl,Project.prm,Project.map其功能分别为:用于编译器下载的代码文件格式配置(bbl文件、生成的目标代码在内存中的映射文件(map文件、机器代码连接定位用的内存说明和配置文件(prm文件)Libs文件夹所包含的是本工程开发用到的代码库。程序编辑完成后,使用BDM下载器将电脑与处理器相连,在菜单栏Project选择Debug即可将编译好的功能5.5在控制算法方在控制算法方面,我们采用的PD,PID,Bang-控制等都是第[1]王兆安,黄俊.电力电子技术[M].[2]章家(10:197[1]王兆安,黄俊.电力电子技术[M].[2]章家(10:197-电动舵机伺服系统的模型辨识及其校正[J].光学精密工程[3]陶永华,尹怡欣,葛芦生.新型 控制及其应用[M].北京:机械工业出版社[5]孙增沂等.智能控制理论与技术[M].[6]王睿星.自动导引车系统设计与研究[D].[7]于海生.微型计算机控制技术[M].[8]第三届“飞思卡尔”[10]姚鹏,张胜修,王道平等.电动舵机与其PWM驱动器的物理建模与参数估计[J].弹箭2009(5:91-[11]陈伯时.电力拖动自动控制系统[M].[12]周继明,江世明,彭解华.传感器技术与应用[M].长沙:中南大学出版社[13]王一飞,杨公训.时间最优模糊 控制算法的设计与研究[J].电机与控制学报(4:36-[14]陈猛,刘俊.自动导引车动力学分析及仿真[J].物流技术,2009(1:215-/*voidunsignedcharpower_up[4];voidinit(void){{}{{}{{}/*{}*//*{}*/{{}}void{{}}#includevoidvoiddelayus(unsignedintnum);voiddelayus(unsignedintnum);unsignedintSystemTime;void{80M时钟分频后MicroTimebase0or1,Wechose}void{}{unsignedintxx,xxx;}voiddelayms(unsignedint{unsignedintxx,xxx;}#pragmaCODE_SEGNON_BANKEDvoidinterrupt66PIT0Interrupt(void){myview_iRunTestTime--myview_iRunTestTime--}#include<math.h>#include"CODER.H"charcharchar//charunsignedcharnear_a,near_p;unsignedcharunsignedcharlast_near_a,last_near_p;charunsignedintcharrampway_flag;charcross_count;char值charfar_p_symbol_buf[3],far_p_symbol_count;charcharfar_p_lock_on;charout_count;charcharfar_p_symbol_buf[3],far_p_symbol_count;charcharfar_p_lock_on;charout_count;charvoidd_a_count(void);voidvoidunsignedcharconstunsignedcharconst{unsignedcharconst{//AD采//AD归一}{}{{{}{}{}{}}{}{unsignedintx1_md_buf;unsignedlongintB1,B2;/**/{{/**/{{{}{}}{}else//{}{}}{}{}}}{unsignedintx2_md_buf;unsignedlongintB1,B2;far_p_symbol=-{{{}{{}{far_p_lock=-}}{}else{}{}}}{{100}{100}}{{}{}{{{{}}}void{{}{}{}{}{}{}{}{intsum1,sum2;{}{}}{}{}if(rampway_flag==1&&road_message==2&&(car_road-{}{}if(road_message==3&&(car_road-{if(road_message==3&&(car_road-{}if(road_message==1&&x2_45l>300&&x2_45r>300&&(car_road-{}{if(cross_count%2==1&&car_road-{}if(cross_count%2==0&&car_road-{}{}}{}void{}void{}void{void{{unsignedintiL;voidSteer_main(void);voidvoidcount_steer_far_p(void);voidcount_steer_far_a(void);voidPWM_ST_ENABLE(void);voidPWM_ST_TEST(void);voidrenew_st_data(void);//PWM//PWM值voidinit_st_data(void);intvoidPWM_ST_ENABLE(void);voidPWM_ST_TEST(void);voidrenew_st_data(void);//PWM//PWM值voidinit_st_data(void);intunsignedcharsteer_d_count;intcharcharunsignedchar{//01选择时钟SA//开始输出极性1}{{{}skewing=-elseif(road_message2==2))//{steer_ek=steer_count_data[0]-steer_ek_flag=-steer_ek_flag=-steer_ek_flag=-steer_ek_flag=-steer_ek=-{s}{}}//舵机pd控制}{}{}{}{}{}{}voidSteer_output(intctrl_data){}voidrenew_st_data(void){}voidinit_st_data(void){{}voidinit_st_data(void){}//PWMvoid{}//PWMvoid{}void{Steer_output(-}unsignedintcd_CoderData;intunsignedintcd_CoderData;intunsignedintvoidCODER_config(void){//0,1//0//#defineVtimch0 Vtimch07:4] EA/2=7,}{if(cd_CoderData_time>0)//采值正确才{}}{}voidinterrupt8IC0ISR(void){{}}{}}unsignedint//0-//0x400-//0x600-externchar//0-//0x400-//0x600-externcharsci_com_receive;0XFFexternexterncharexternchar{int{{case8:casecasecaseSensorStop_Magnetism();//停止传SensorStop_Magnetism();//停止传case12:casecasecasecase20:casecasecasecasecase}}}void{}void{}void{//void{}void{//{据}}void{}void{}void{}void{unsignedint{}{}{}{}}void{}void{}void{unsignedint{unsignedintiL;{{}//sci_receive_data[2]//采样{}}void{unsignedint{unsignedintiL;//PID{//PID{}}voidWrite_sensor_max_md(void);void//0-//0x400-//0x600-{{int//I2Cfor{}}{charint//I2Cfor{}}{}{{unsignedintiL;}{inti,adr;//I2Cfor{}}{inti,adr;//I2Cfor{}}for{}}void{}//PWMvoid{}void{PWMCTL_PFRZ=0;//*************改动*****************PWMCTL_PSWAI=0;//*************改动*****************//2345B//2345B//开始输出极性1PWMPER45=20000;//后}voidMotor_init(void);voidMotor_init(void){//速度值测量IO配置}void{}voidMOTOR_CRTL_main(void);intmotor_pd_q0,motor_pd_q1,motor_pd_q2;intvoidinit_motor_ctrl_co(void);voidread_motor_ctrl_co(void);voidinit_motor_ctrl_co(void);voidread_motor_ctrl_co(void);intvoidread_motor_ctrl_co(void);voidMtCtl_MtTest(void);voidMtCtl_PowerOff(void);unsignedintmt_ctrl_RunTime;voidMtCtl_MtTest(void){}void{}voidMOTOR_CRTL_init(void);void{}void{}void}void{{intiL;}void}void{{intiL;}void{//0}}voidIO_init(void);voidPWM_init(void);voidAD_init(void);unsignedcharinit_KeyWord;void{}void{//0SystemclocksarederivedfromOSCCLK(fBUS=fOSC///0xCB--0xC1;F_pll=F_bus=CLKSEL_PLLSEL=1;//1//0xCB--0xC1;F_pll=F_bus=CLKSEL_PLLSEL=1;//1SystemclocksarederivedfromPLLCLK(fBUS=fPLL/2).}void{//1、禁止PWMPWME=02//PWMCLK=0x00;//2367B为时钟源通道01A3//PWMCTL=0xF0;//01234567//4、PWM分频寄存器PWMSCLA、Busclock=//ClockSA=ClockA/(2* //PWMDTYx,=//6、PWM波形对齐寄存器PWMCAE=0x00;//0Channels7--0operateinleftalignedoutput}void{-----}void{-----//WhenPACNToverflowsfrom0xFFFFto0x0000,theInterruptflagPAOVFinPAFLG(0x0021)isset.//TimerInputCapture/OutputCompareSelectTIOS=0x00;//0Thec

温馨提示

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

评论

0/150

提交评论