飞思智能车技术报告竞速组光电大连理工mobius_第1页
飞思智能车技术报告竞速组光电大连理工mobius_第2页
飞思智能车技术报告竞速组光电大连理工mobius_第3页
飞思智能车技术报告竞速组光电大连理工mobius_第4页
飞思智能车技术报告竞速组光电大连理工mobius_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第一 方案设 系统总体方案的选 系统总体方案的设 小 第二章机械结构调整与优 智能汽车车模的选 智能汽车传感器的安 速度传感器的安 线性CCD的安 车模倾角传感 重心高度调 电路板的安 电池安 其他机械结构的调 小 第三章硬件电路方案设 单片机最小系统模 电源模 电池使 稳5V电源模 稳3.3V电源模 电机驱动模 串口通信模 第四章图像信息处 图像..............................................................................................................图像数据输出简 线性CCD工作时 图像处 阈值的确定方法——软件二值化处 第五章特殊赛道识别及处 中心引导线识别及处 中心引导线识 中心引导线处 识别及处 5.2.1识 5.2.2处 灯塔起跑线识别及处 灯塔起跑线识 十字识别及处 第六章控制策略研 PID控 车模平衡控 车模速度控 车模方向控 车模电机控 第七章开发工具、制作、安装、调试过 开发工 串口功 画图功 CCD显示功 头图像功 头图像显示功 调试过 第八章车模主要参 智能汽车外形参 智能汽车技术参 参考文 助项目,以飞思半导体公司生产的16、32位单片机为控制模块,通过32MK60DN512VLQ10作为主控制单元,运用IAR软件作为置双电机,因此需要对两个电机分别进行速度检测,方向PID控制。在电源模块设计中,采用Linear公司线性稳压电源LT1529-5作为稳压5V输出,为编供电;采用Linear公司LT1963作为稳压3.3V输出,为单片机、线性CCD、串口通信模块供电。运用PID控制理论完成对车模平衡、速度、方向的控制;继续沿用以往的循迹第一章系统总体方案的于平衡车的特殊性,车身在循迹前进的过程中,必须保持车身的平衡。根据最基本保持车身平衡的基本原理,我们需要知道车身当前的角度和角速度。因此在保持车身平衡方面,我们确定以数字加速度计作为角度传感器,型号为MMA8451;陀螺仪作为角速度传感器,型号为L3G4200D。另外,车身转向控制方面,也使用陀螺仪作为转向反馈,测速方面,考虑到E车模本身的结构,用以往的霍尔模系统总体方案的遵照本届竞赛规则规定,智能汽车系统采用飞思的32位微控制器MK60DN512VLQ10单片机作为控制单元用于智能汽车系统的控制。线性CCD赛道信息,返回到单片机作为转向控制的依据。加速度计返回的数字度传感器。编返回的信号可以形成速度闭环,使用PID理论控制电机的转小E车智能汽车车模的ED车模:E车轮距更大,在转向E车模2.1E智能汽车传感器的螺仪、加速度计)以及线性CCD。下面分别介绍这些传感器的安装。速度编我们采用了霍尔编,安装方法如下图2.2编安轮的负载,会严重影响行驶。调整的原则是:两传动齿轮轴保持平行,齿轮间的如图2.3所示。图2.3CCD的安装位置和重量,我们采用3D打印技术自行设计了轻巧的夹持组件,并采用了碳纤维管作为安装线性CCD线性CCD镜头便于拆卸和维修。重心高度其他机械结构的小模型车的性能与机械结构有着非常密切的联系。良好的机械结构是模型车提高速度的关键基础。在同等的控制环境下,机械机构的好坏对其速度的影响十分显著。我们非常重视对智能汽车的机械结构的改进,经过大量的理论研究和实践,我们小车的大部分质量都集中在两轮前后,达到降低重心的目的,从而提高了小车整体的稳定性和可靠性。源模块、图像模块、测速模块、串口通信模块、显示模块、SD卡模块等部单片机最小系统本设计的控制器为飞思公司生产的32位单片MK60DN512VLQ10144MK60DN512VLQ10具有丰富的系统资源和方便的外部电路接口,其中包括32位处理单元,UART模块,PIT定时中断模块,IIC模块,RAM器,FLASH器,EEPROM器,FTM 图3.1所示。图 电源Ni-Cd(镍镉)电池,该类型电池具有高效的利用率和稳定的1.5A,当电流过高时,不仅不能提高电池性能,反而会损坏电池,严重时会导致电池起火、。根据经验,一般在0.5到1.58V7V时,应注意及时充电,电池过放会对其造成的损害,电压低于6V会对电池造成性。由于编的额定工作电压为5V,LT1529是LINEAR公司生产的高性能线性稳压,其使用方便,电路的设计原理如图3.2所示。图 稳5V原理由于单片机的额定电压为3.3V,线性CCD供电3.3V,串口通信、测速供电也均为3.3V,因此,将电压稳定在3.3V并给各模块供电是必不可少的。电路的设计原理如图3.3所示。图 稳3.3V电路原理电机驱动2BTS7960H4MOS管的导平均电压,达到控制电机的转速的目的,具体电路图如图3.4所示。图 电机驱动原理串口通信调车的过程中需要实时的观察变量变化情况通过线在LiveWatch窗115200,传输速度更快,配合上位机观察超调量,有助于调试PID参数,具体电路图如图3.5图 串口通信原理TSL1401CCD来进行图像处理和识别。图像TSL1401CL128×1的光电二极管阵列,相关128个像素,其中每一个具有光敏面积3,524.3平方微米。像间的间隔是8微米。操作简化内部控线性CCD工作TSL1401线性传感器驱动程序比较简单,只需要MCU控制CLKSI两个引脚安装特定的时序发出方波信号AO引脚就会依次输出128个像素点的模拟信以下TSL1401线性传感器时序图:图 TSL1401线性传感器时序图像本届比赛赛道类型新添中心引导线,较第九届有所改变,由原来的长方体路障改为三棱柱体路障,保留“小S”形弯道、十字路口及起跑线,坡道较往届难中心引导线识别及开始结合车模本身循迹方观察发中心引导线有如下有效信息::1、双边2、较正常赛道相比,边缘图 中心引导线示意识别及5.2.1识案,尝试其他方法。结合车模本身循迹方法,经过观察发现,有如下有效信1、前一米内,必定为直2、存在的地方,赛道宽度会大幅度减3、存在的地方,中线偏移很大,且边的斜率会较直道部分斜率基于以上3条特点,加上范围阈值的实际调试,的识别成功,误判率低图5.2示意5.2.2处PID参数灯塔起跑线识别及加1秒,所以起跑线的识别变得尤为重要,直接决定车的档次。结合车模本身循迹方法,经过观察发现,起跑线有如下有1、起跑线前后1米内为2、灯塔信号为10k红外脉冲基于以上2条特点,加上范围阈值的实际调试,起跑线识别成功,误判率很低5.3灯塔起跑线处十字识别及十字识点也特别明显、简单,就是性CCD的图像中,存在全白,也可以说是十字处PIDPID算法简PID控制技术,但是,系统控制器的结构和参数必须依靠经验和现场调控制的。图6.1为PID控制系统原理图。图 PID控制系统原理TI为积分时间,TDPID参数整被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定。于掌握,在工程实际中被广泛采用。工程整定方法中的PID参数整定主要有临界比例法、衰减法、反应曲。三种方法各有其特点,每法所得到的控试验,然后按照工程经验对控制器参数进行整定。PID1、预选择一个足够短的采样周期让系统工作本系统的PID参数为通过上位机调试得来,具体调试方法为:先将PID参PID参数,直至观察速度曲线发现其加时间很短,超调量很少,则说明此时的PID参数已经基本比较合适,这样就确定出适合本系统的一组PID参数。车模平衡2.0》电机,以此控制车体平衡。控制工作原理如图6.2所示6.2角度PD车模速度PI控制车模速度,P为6.3速度PIPD车模方向线性CCD,所以只要使车子沿着赛道中线行驶就可以,这里采用PD控制,P起到直接跟随的作用,D则消除振荡,防止超调,起到稳定的效果。车模电机不论是平衡控制、速度控制还是方向控制,最终都将以的形式赋给电机,all__L=Angle. -Speed. -Direction. all__R= - 开发串口功能7.11、普通查看接收功选择串,和波特率。默认串位所有可以使用的串口中号码最小的,默认波特率位115200(考虑速度和误码率确定为115200),然后选择2、普通发送功显示”功能,还可选择“包含换行符”,“16进制发送”功能。3、直接发送字节功4、蓝牙调试功AT+NAME可以是英文或者数字组合。AT+NAME可以是英文或者数字组画图功能7.2//K60staticunsignedchari,j;staticunsignedshortintstaticunsignedcharsend_data[0][0]=(unsignedshortint)(10);send_data[0][1]=(unsignedshortint)(20);send_data[0][2]=(unsignedshortsend_data[0][3]=(unsignedshortint)(40);send_data[0][4]=(unsignedshortint)(-10);send_data[0][5]=(unsignedshortint)(-20);send_data[0][6]=(unsignedshortint)(-30);send_data[1][0]=(unsignedshortint)(100);send_data[1][1]=(unsignedshortint)(200);send_data[1][2]=(unsignedshortint)(300);send_data[1][3]=(unsignedshortint)(400);send_data[1][4]=(unsignedshortint)(-100);send_data[1][5]=(unsignedshortint)(-200);send_data[1][6]=(unsignedshortint)(-300);send_data[1][7]=(unsignedshortint)(-send_data[2][0]=(unsignedshortint)(10000);send_data[2][1]=(unsignedshortint)(20000);send_data[2][2]=(unsignedshortint)(30000);send_data[2][3]=(unsignedshortint)(40000);send_data[2][4]=(unsignedshortint)(-10000);send_data[2][5]=(unsignedshortint)(-20000);send_data[2][6]=(unsignedshortint)(-30000);send_data[2][7]=(unsignedshortint)(-//3.一下不用改了这三幅图的字头,start的前两个字uart_putchar(uratn,'S');for(i=0;i<for(j=0;j<{}}CCD显示功7.3CCD头图像功图7.4头图像功能界头图像显示功能调试

图 通过IAR编译软件的调试功能,可以得到大量的信息,为智能汽车的调试提供了很大的帮助。在智能汽车的调试过程中,有针对性的开发一个便于人机交互的上位机系统,通过简单明了的可视化界面直观的显示智能汽车的状态对调试有很大帮助。我们开发了用于监测智能汽实时状态的实时监测系统,大大提高了调试效率。智能汽车外形车长:280mm;车宽:205mm;车高:220mm;车重智能汽车技术8.1车模轴距/轮距(毫米车模平均电流(匀速行驶)(毫安电路电容总量(微法0赛道信息检测空间精度(毫米赛道信息检测频率(次/秒 雷霏霖,梁志毅.基于CMOS传感器OV7620采集系统设计[J].电子测量技YUANQuan,ZHANGYunZhou,WUHao,etal.FuzzyControlResearchInTheCoursesOf2010:764-767.SmartCar[C].AdvancedComputerControl(ICACC),Shenyang,2010:292-297. 附录A:程序源代码#include"include.h"longintstructCarAngleAngle=structCarSpeedSpeed=structCarDirectionDirection={0,0,0,0,0,0,0,{0}};structCarStartLineStartLine=structVerticalImagestructImagestructImageImage3;structCrosscross={0,0,0};structObstaclestructRightAnglerightangle={0,0,0,0,0,0,0,0,0,0,0};floatAdNum=0;//电压值void{AdNum5.3*3.3*ad_once(ADC0,SE18,ADC_8bit)/256.0;//电压值{{{ Parameters_On_LCD(1 }{{}if(Image2.SingleWayflag[0]==1||rightangle.Disflag==1||obstacle.flag!=0||cross.Flag!=0)}}}void{staticfloata_sin_old=0,a_sin_new=0;staticfloata_cos_old=0,a_cos_new=0;if(a_cos<0)}void{staticfloatdt=0.005;m_angle= m_angle= //得到Gyro_value=(float)(Get_Gyro(10,'Y')-Gyro_value_OFF);angle_speed=(-1)*k_Gyro*Gyro_value;mG_delta=(m_angle-G_angle)/tg;G_angle+=(angle_speed+mG_delta)*dt;//得到PID}voidCapture_Image(unsignedinthang)//{int for(i=hang-1;i>=0;i-- for(j=Lie-1;j>=0;j--)for(i=0;i<hang;i++)for(j=0;j<Lie;{Image[i][j]=(unsignedchar)(FIFO_Data);}}voidLCD_Draw_Image(unsignedinthang)//T={intfor(i=0;i<hang;i++)for(j=0;j<Lie;j++)if(j%2==0)}voidLCD_Draw_Imageline(unsignedcharPixel[],unsigned{staticunsignedcharImageLine[320];unsignedinti;staticintblack_L_line[hang]=(int)(black_L[hang]/2.0);if(black_L_line[hang]<0)black_L_line[hang]=elseif(black_L_line[hang]>320)black_L_line[hang]=319;centre_line[hang]=(int)(centre[hang]/2.0);if(centre_line[hang]<0)centre_line[hang]=elseif(centre_line[hang]>320)centre_line[hang]=319;black_R_line[hang]=(int)(black_R[hang]/2.0);if(black_R_line[hang]<0)black_R_line[hang]=elseif(black_R_line[hang]>320)black_R_line[hang]=319;{LCD_SetPos(i,i,239ImageLine[i],239ImageLine[i]);if(Pixel[i*2]>ImageLine[i]=ImageLine[i]=LCD_SetPos(i,i,239ImageLine[i],239ImageLine[i]);}}voidSend_Image_to_Demok(unsignedint{inti,j;for(i=0;i<hang;i++){for(j0;jLie;j/demoktools{} for(j0;jLie;j else } }voidSend_Image_to_(unsignedint{inti,j; for(i=0;i<hang;i++){for(j=0;j<Lie;{uart_putchar(UART3,'');}} }voidSend_Image_Line(unsignedchar{int for(i=0;i<Lie;i++){uart_putchar(UART3,'');} }voidSend_Array_Int(unsignedint*Array_Int,unsignedint{int for(i=0;i<num;i++){uart_putchar(UART3,'');} }void{gpio_init(PORTE,26,GPO,LOW);//buzzer //LCD端口设置为输出 //LCD显示屏初始化FALSEL3G4200D ID1=mma8451 ID2= //1ms的定时器pit_init_ms(PIT0,1);enable_irq(68);gpio_init(PORTB,7,GPO,}voidBuzzer_Ring_ms(unsignedint{}{gpio_init(PORTC,7,GPI,LOW);gpio_init(PORTC,5,GPI,LOW);gpio_init(PORTC,3,GPI,LOW);gpio_init(PORTC,1,GPI,LOW);gpio_init(PORTB,23,GPI,LOW);gpio_init(PORTB,21,GPI,LOW);gpio_init(PORTB,19,GPI,LOW);gpio_init(PORTB,17,GPI, }void{Gyro_value_OFF=8;angle_P=angle_D=speed_Goal=0;speed_Goal_init=sw*2;speed_P=100;speed_I=Dir_P=2;Dir_D=_Dead_L=_Dead_R=}void{FTM__init(FTM0,CH3,10000,2000);//左FTM__init(FTM0,CH1,10000,2000);//gpio_init(PORTA,29,GPO,LOW);//DIR_Lgpio_init(PORTB,3,GPO,LOW);//DIR_Rgpio_init(PORTA,27,GPO,HIGH);//EN_Lgpio_init(PORTB,2,GPO,HIGH);}void{gpio_init(PORTD,13,GPO,HIGH);{}}#include"include.h"#include"8X16.h"#include"GB1616.h16*16#include"GB3232.h32*32voidLCD_PORT_init(){gpio_init(PORTE,7,GPO,HIGH);//csgpio_init(PORTE,10,GPO,HIGH);gpio_init(PORTE,8,GPO,HIGH);gpio_init(PORTE,6,GPO,HIGH);gpio_init(PORTE,9,GPO,HIGH);}void{}voidLCD_init(unsignedchar{

Software mand(0xC0);//Powercontrol mand(0xC1);//Powercontrol //VCMcontrolwrite_data(0x3e);//对比度调节 //VCMcontrol2write_data(0x86);//-- //MemoryAccessControlwrite_data(0xE8); //DisyFunctionControl //3G FunctionDisable curveselected //SetG //SetG //ExitSleep //Disyon} mand(unsignedchar{}voidwrite_data(unsignedchar{}voidwrite_word(unsignedint{}void{}voidLCD_SetPos(unsignedintx0,unsignedintx1,unsignedinty0,unsignedint{}unsignedintbColor){LCD_PutChar8x16(x,y,c,fColor,bColor}voidLCD_PutString(unsignedintx,unsignedinty,unsignedchar*s,unsignedintfColor,unsignedintbColor){unsignedcharl=0;while(*s){if(*s<{}{}}}

voidLCD_PutChar8x16(unsignedintx,unsignedinty,unsignedcharc,unsignedintfColor,unsignedintbColor){unsignedintfor(i=0;i<16;i++){unsignedcharm=Font8x16[c*16+i];{}}}voidPutGB1616(unsignedintx,unsignedinty,unsignedcharc[2],unsignedintfColor,unsignedintbColor){unsignedinti,j,k;LCD_SetPos(x,x+16-1,y,y+16-1);for(k=0;k<64;k++)if{{unsignedshortm=codeGB_16[k].Msk[i];{}}}}}voidPutGB3232(unsignedintx,unsignedinty,unsignedcharc[2],unsignedintfColor,unsignedintbColor){unsignedinti,j,k;LCD_SetPos(x,x+32-1,y,y+32-1);((codeGB_32[k].Index[0]==c[0])&&(codeGB_32[k].Index[1]==c[1])){for(i=0;i<128;i++){unsignedshortm=codeGB_32[k].Msk[i];for(j=0;j<8;j++){{}else}}}}}voiddsp_single_colour(unsignedint{unsignedinti,j;forfor(j=0;j<320;j++)}voidDraw_single_line(unsignedcharaxis,unsignedintline,unsignedint{unsignedin

温馨提示

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

最新文档

评论

0/150

提交评论