版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
構(gòu)和開發(fā)流程。采用1:10的仿真車模,以飛思卡爾半導(dǎo)體公司生產(chǎn)的Kinetis系列32PK10N512CodeWarrior10.1IAR6.306IDE開發(fā)環(huán)境中HPID算法;最后具體介紹了幾個智能車系統(tǒng)的調(diào)試工具,重點對SD卡上位機(jī)和下位機(jī)進(jìn)行了詳細(xì)關(guān)鍵詞:K10,H橋,PIDThispaperintroducesthehardwareandsoftwarestructureofsmartcarsystemanddevelopmentprocessInthe7thfreescalecupcompetitionforintelligentvehicle.Using1:10simulationmodels,withFreescaleSemiconductorcompany’s32-bitMCUPK10N512ofKinetisfamilyasthecore,dothesoftwaredevelopmentintheCodeWarrior10.1andIAR6.306IDEdevelopmentenvironmentandmakecaronthetrackwiththefastestspeed.Thewholesysteminvolvesthemechanicalstructuredesignandadjustment,systemarchitectureanddesignofhardware,softwarealgorithmanddebuggingsystems,etc.Thefronttire’soptimization,thefrontposition,steeringgearadjustmentandthecamerapositionareintroducedinthemechanicalstructure;TheMCUhardwareselectionandhardwaredesignofeachmoduleareintroducedinthehardwaredesign,inwhichthepowermanagementmodule,cameraacquisitionmoduleandmotorderivewithHbridgearemainlyintroduced;Inthesoftware,themainresourcemoduleinitializationandPIDalgorithmarethefocus;Finally,severaldebuggingtoolsofsmartcarareintroducedindetail,focusingontheSDcardonPCandMCU.Keywords:K10,Camera,Hbridge,PID,EdgeTOC\o"1-5"\h\z\u第一 第二章智能車機(jī)械設(shè)計及調(diào) 第三章智能車系統(tǒng)架構(gòu)及硬件設(shè) K10最小系 5V穩(wěn)壓電 6V穩(wěn)壓電 調(diào)試模 第四章智能車軟件設(shè)計方 PWM初始 控制策 經(jīng)典PID控制介 經(jīng)典PID算法應(yīng)用在智能車的速度控制 經(jīng)典PID算法應(yīng)用在智能車的轉(zhuǎn)向控制 第五章系統(tǒng)調(diào) SD卡模 SD卡介 SPI總線的介 SD卡的軟件操 第六章模型車的主要技術(shù)參 結(jié) 參考文 附 第一章2006年以來每年舉行的全國大學(xué)生智能汽車競賽就本小組就是搭建基于視覺導(dǎo)航的智能汽車系統(tǒng),通過攝像頭對賽道圖像的有效采第二章Toe角度(束角)是描述從車的正上方看,車輪的前端和車輛縱線的夾角。車輪前端向內(nèi)傾(內(nèi)八字,稱為Toe-in,車輪前端向外傾(外八字,稱為Toe-out。前輪在滾動內(nèi)外側(cè)磨損的現(xiàn)象會減少。不同的Toe角度會改變車輛的轉(zhuǎn)向反應(yīng)和直道行駛的穩(wěn)定前輪外傾角是指通過車輪中心的汽車橫向平面與車輪平面的交線與地面垂線之間我們采用舵機(jī)直立放置的方式,采用機(jī)床加工的舵機(jī)支架,并將舵機(jī)安放于車模A車,我們增加前輪墊片,使整體車2.1第三章K10SD卡K10N512處理器為核心,設(shè)計在較嚴(yán)格循線的基礎(chǔ)上能以最優(yōu)化的速K10N512ARM?CortexTM-M4具有超強(qiáng)可擴(kuò)展性的低功耗、混合信號微控器映射和封裝的一致性來實現(xiàn)系列內(nèi)和各系列間的便捷移植。Kinetis微控制器基于飛90納米薄膜存儲器(TFS)Flex存儲器(可配置的內(nèi)嵌EEPROM。Kinetis微控制器系列融合了最新的低功耗革新技術(shù),具有高性ARMKinetis微控制器的應(yīng)用支持。其基本特性為:1.71V(TA40to32ARMCortex-M4DSP2IEEE1149.77.2V7.2VDC-DCLM2576-7.2V大容量鎳鎘電池,攝像頭以及大多數(shù)芯片均框架如圖3.2所示。5V電源模塊用于為單片機(jī)系統(tǒng)、傳感器模塊和LM1881等芯片供電。經(jīng)過比較,3.35V作的穩(wěn)定性。具體電路如圖3.4所示。3.43.3V12VPCB板的面積和布線的難易,我們經(jīng)過比3.512V7.2V電池供電時,很比值,得到6.56.7V的電壓為舵機(jī)供電。其電路如圖3.7所示。3.66V目前市場的模擬攝像頭有兩大種:CCDCMOS。CCD攝像頭的優(yōu)點是動態(tài)性能做“低攝像頭”CCD攝像頭質(zhì)量大,如果架設(shè)過高可能會使重心太高;同時在實踐中發(fā)現(xiàn),“低攝像頭”的動態(tài)模糊現(xiàn)象較“高攝像頭”CCD高動態(tài)性能這靠性,選擇了CMOS“高攝像頭”的方案。OV5116NTSC制式。其主要工作原理是:頻信號才真正到來。攝像頭每秒掃描30幅圖像,每幅又分奇、偶兩場,先奇場后LM1881視頻分離芯片來輔助采樣視頻。LM1881提取攝像片機(jī)的外部中斷引腳,LM1881視頻分離電路如圖3.7。3.7LM1881具體電路入股3.8所示。3.8常見方法是施加一個PWM(脈寬調(diào)制)方波,其通-斷比率對應(yīng)于所需速度。電機(jī)起PWM信號轉(zhuǎn)換為有效直流電平。PWM驅(qū)動信號很常用,我們自己用IR公司的MOSFET管IRLR7843MOSFET驅(qū)動芯片IR2104搭建了3.9PID控制,即可消除上述各種因素的影響,使得車模運行得更穩(wěn)定。NIDECNEMICON公司的光電3.10所100線,1600mv的脈沖,需要外加信號調(diào)理電路整形成可靠的方波,調(diào)理NRF2401無線調(diào)試3.12SD第四章4.1活性,我們進(jìn)行了超頻處理,將內(nèi)核時鐘設(shè)置為了120MHz,同時將總線時鐘設(shè)置為60MHz,F(xiàn)LASH時鐘設(shè)置為30MHz。voidIntPoint_Init(void){PORTA_PCR5=PORT_PCR_MUX(1)|PORT_PCR_PE_MASK;/*使能下拉電阻,PTA5為下降沿中斷,PTE26為上升沿中斷*/ /*開啟對應(yīng)的中斷*/}初始化行中斷voidIntLine_Init(void){PORTD_PCR0=PORT_PCR_MUX(1)| /*}初始化場中斷voidIntField_Init(void){PORTC_PCR17=PORT_PCR_MUX(1)|/*使能下拉電阻,該中斷將被設(shè)置為任意沿觸發(fā),其設(shè)置過程在使能中斷的同時完成*/ /*開啟對應(yīng)的中斷*/}對應(yīng)反轉(zhuǎn)入口參 pwm_limit:電機(jī)PWM的最大voidMotor_PWM_Init(INT16Upwm_limit){SIM_SCGC6| /*FTM0FTM0_MODE| /*禁用寫保護(hù)FTM0_SC&= /*CLK[1:0]0:0/*!!!!!!FTM0_COMBINE=/*DECAPEN=0,雙邊沿捕捉禁止,COMBINE=0,FTM0_QDCTRL& /*QUADEN0FTM0_C4SC=FTM_CnSC_MSB_MASK|/*PWM模式(MSB1ELSB:ELSA10FTM0_C6SC=FTM_CnSC_MSB_MASK|FTM0_MODE&=~1; /*FTM0*/FTM0_OUTMASK&=~(FTM_OUTMASK_CH4OM_MASK|/*4、6FTM0_MODpwm_limit /*FTM0_CNTIN=0; /**/FTM1_CNT=0;FTM0_C4V=FTM0_C6V=FTM0_SC=(FTM_SC_CLKS(1)|FTM_SC_PS(3))&/*BusClock時鐘,8分頻,CPWMS0PORTD_PCR4=PORTD_PCR6=PORT_PCR_MUX(4);/*PTD6FTM0_CH6,PWM}入口參 pwm:舵機(jī)PWM的初始voidServo_PWM_Init(INT16Upwm){SIM_SCGC6|=SIM_SCGC6_FTM1_MASK; /*使能FTM1時鐘*/FTM1_MODE|=FTM_MODE_WPDIS_MASK; /*寫保護(hù)禁止*//*0,PWM模式(MSB1,ELSB:ELSA10)*/FTM1_C0SC=FTM_CnSC_MSB_MASK|FTM_CnSC_ELSB_MASK;PWM模式(MSB1ELSB:ELSA10FTM1_SC=(FTM_SC_CLKS(1)|FTM_SC_PS(5))&/*BusClock時鐘,32分頻后,CPWMS=0,FTM1_MODE& /*FTM1FTM1_OUTMASK&~FTM_OUTMASK_CH0OM_MASK;*0FTM1_QDCTRL&=~FTM_QDCTRL_QUADEN_MASK; /**/FTM1_COMBINE=0;/*DECAPEN=0,雙邊沿捕捉禁止,COMBINE=0,FTM1_CNTIN=0; FTM1_MOD=37499;/*結(jié)束值,周期為(MOD-CNTIN+1)*時鐘周期=20ms*/FTM1_C0V=((pwm)*3L)>>2L; /*設(shè)置占空比*/FTM1_CNT=0;/*PTA12FTM1_CH0}voidIntTick_Init(void){SIM_SCGC6| /*PIT /*開啟對應(yīng)的中斷PIT_MCR=0; /*開啟時鐘,在DEBUG時使能PIT*/PIT_LDVAL0=CAR_Tick_ms*1000L*CAR_Fbus; /*計數(shù)初值*/PIT_TCTRL0=PIT_TCTRL_TIE_MASK; /*使能PIT中斷*/PIT_TCTRL0| /*}voidSpeedCounter_Init(void){PORTE_PCR17=PORT_PCR_MUX(6)|/*PTE17設(shè)為脈沖輸入功能,SIM_SCGC5|=SIM_SCGC5_LPTIMER_MASK; /*使能Lptmr的時鐘*/LPTMR0_CSR&=~LPTMR_CSR_TEN_MASK; /*設(shè)置前先關(guān)閉計數(shù)器*/LPTMR0_CMR=LPTMR_CMR_COMPARE(5000);LPTMR0_PSR=LPTMR_PSR_PCS(0x3);/*glitchfilterglitchfilter*/LPTMR0_PSR|=LPTMR_PSR_PRESCALE(3);/*8個基準(zhǔn)時鐘,16M晶振時,0.5usLPTMR0_CSR=LPTMR_CSR_TMS_MASK|/*選擇脈沖計數(shù)模式,3輸入LPTMR0_CSR| /*}4.260場畫面到控制器,所以要求控制器要妥善理完畢(一般為16.67ms。數(shù)據(jù)處理軟件部分流程圖如圖4.2所示。4.3Line_Process變量負(fù)責(zé)數(shù)據(jù)的處理工作,表示數(shù)據(jù)待處理的行數(shù),它也由場中斷信號負(fù)Line_ProcessLine_Save之間的關(guān)系來實現(xiàn)口算法,分三步完成數(shù)據(jù),其總體流程入圖4.4所示。PID70多年來,它反饋的PID控制原理框圖如圖4.5:eeuY-e代表理想輸入與實際輸出的誤差,這個誤差信號被送到控制器,控制器ukpekiedtkd (4-kp,ki,kd分別稱為比例系數(shù)、積分系數(shù)、微分系數(shù)。u接著被送到了執(zhí)行機(jī)u,這個新的輸出信號被再次送到感應(yīng)器以發(fā)現(xiàn)新的誤PID此實現(xiàn)數(shù)字PID調(diào)節(jié)器。PID制器的基本算式(位置算式)如公式4-2:uk(e1eTTenen1 (4-TT ik1TT形式如公式4-3:PreUkp*errorki*Integralkd* (4-
k
)1en
Td
(4-PreU(kp*d_errorki*errorkd*dd_ (4-通過光電編碼器獲取的當(dāng)前速度值來調(diào)整電機(jī)的PWM占空比,可以實現(xiàn)對于速度的閉環(huán)控制。這樣做改變了通過直接設(shè)置PWM占空比調(diào)整電機(jī)轉(zhuǎn)速的開環(huán)控制方片機(jī)上實現(xiàn)代碼跟據(jù)公式4-3得如下代碼:staticvoidSpeed_PID(void){INT32S/*簡化PID算式(實際上就是增量式PID合并同類項得到的)*/MotorPWM+=/*設(shè)定電機(jī)PWM*/}轉(zhuǎn)向舵機(jī)的控制采用了位置式PD控制。在控制中關(guān)鍵部分為目標(biāo)位置的確定。的變化趨勢,有利于提前轉(zhuǎn)向,并且有利于S彎道時的路徑控制。PD系數(shù)的選擇,系數(shù)太大直道容易震蕩,系數(shù)太小,彎道不夠貼內(nèi)。所以我if(Num_Point==/*由于有消隱區(qū)的存在,*/v_point_up[Line_Process][0]<LEFT_Image+3&&v_point_down[Line_Process][0]>RIGHT_Image–)/**/}{Cnt_Cross=}}{Cnt_Cross=}DD形彎時一旦進(jìn)彎車的轉(zhuǎn)角比較穩(wěn)定,在看到在實際調(diào)車過程中證明,這種判斷非常準(zhǔn)確。D形彎如圖4.6所示:
4.6D4.7start_line[]start_line[]數(shù)組中簡稱CW10.1)IARForARM(以下簡稱IAR)。智能車在高速運行的時候每個16.67ms控制周期內(nèi)的各個參數(shù)量都是不一樣的,我們用SD卡把攝像頭的采集到的賽道圖像和一些重要參數(shù)實時存儲下來是一種很好的SD卡(SecureDigitalMemoryCard)是一種基于半導(dǎo)體快閃存的新一代記憶設(shè)備。由SanDisk19998月共同開發(fā)研制,其大小猶如一張郵票,重量只有2g,卻擁有高記憶容量、快速數(shù)據(jù)傳輸率、極大的移動靈活性以及很好儲數(shù)據(jù)。SDSDSPI模式,主機(jī)系統(tǒng)可以選擇其中任一模式。SPI由于飛思卡爾系列單片機(jī)擁有SPI接口,所以使用SDSPI模式。SPI(SerialPeripheralInterface公司推出的一種同步串行總線接口,它是目前單片機(jī)應(yīng)用系統(tǒng)中最常用的幾種串行擴(kuò)MISOMOSI,另外還有一條低電平有效的從機(jī)是以字節(jié)為單位進(jìn)行傳輸?shù)?每字節(jié)為8位,每個命令或者數(shù)據(jù)塊都是字節(jié)對齊的(8SDCS(CardSelect)SD卡發(fā)送命令,SD1字節(jié)或2字節(jié)響應(yīng))。SD操作。對SD卡初始化步驟如圖5.1所示:發(fā)命令字SD卡上電后會自動進(jìn)入SD總線模式,并在SD總線模式下向SD卡發(fā)送復(fù)位命令SD總線模式。SDSPI工作模式會發(fā)出應(yīng)答信號,若主機(jī)讀到的應(yīng)答信SD卡的各寄存器,并進(jìn)行讀寫等操作,每次讀寫數(shù)據(jù)都是按寫正常,并且沒有影響單片機(jī)正常工作。具體流程圖如圖5.2所示:5.3長寬高11陀螺儀ENC-10視野范圍(近/遠(yuǎn)對舵機(jī)轉(zhuǎn)向進(jìn)行反饋控制。通過速度傳感器對小車形成速度閉環(huán)的PID控制。jicheng0622博客. FreescaleSemiconductor.MC9S12XS256RMV1 宋敏,鄶新凱,鄭亞茹.CCDCMOS圖像傳感器探測性能比較.卓晴,王琎,王磊.基于面陣CCD的賽道參數(shù)檢測方法[J].葛亞明,劉濤,王宗義.視頻同步分離芯片LM1881及其應(yīng)用[J]. BrownMA,BlackwellKT,KhalakHG..Multi-ScaleEdgeDetectionandFeatureBinding:AnIntegratedApproach[J].Patternrecognition,1998,31(10),1479-1490.鄧劍,楊曉非,廖俊卿.FAT文件系統(tǒng)原理及實現(xiàn)[J].計算機(jī)與數(shù)字工程,#include"../Platform/BaseTypeDefine.h"#include"../Common_Def.h"#include"../Math/Math_Car.h"#include"../System_Init/System_Init.h"#include#include"../Hardware_Interface/HardwareOperation.h"#include"../Original_Process/OriginalProcess.h"#include"../Make_Decision/MakeDecision.h"#include{voidmain(void){({if(Line_Process {}if(LineOverFlag {LineOverFlag=} }}#include"./MakeDecision.h"#include#include"../Original_Process/OriginalProcess.h"#include"../Hardware_Interface/Interrupt.h"#include"../Hardware_Interface/HardwareOperation.h"#include"../Math/Math_Car.h"INT16SPosErr; //坐標(biāo)誤差I(lǐng)NT16S //INT16S //INT16SMINspeed; INT16SMAXspeed; INT8UFinishFlag;INT16UCntControl; INT16UNow_CntField; INT16U staticvoidTurn(void){INT16Snum=INT32Ssum={flag=if(h_ValidFlag[i]=={temp=h_LeftEdge[i]+EptWith[i]/2;flag=1;}{temp=h_RightEdge[i]-EptWith[i]/2;flag=1;}{temp=(h_LeftEdge[i]+h_RightEdge[i])/2;flag=1;if(flag!={if(i>{num+=2;}{}}}if(num!={PosErr=(INT16S)(MID_Image-}{PosErr=}SetServoPWM((INT16S)(PosErr*75L/10L+(PosErr-his_PosErr)*6L/10L)+Slope*6/10);his_PosErr=PosErr;}#ifEN_ClosedLoop!=staticvoidCalObjectSpeed(void){INT16Stmp_objectspeed=MAXspeed;tmp_objectspeed-=Abs(PosErr)/7;tmp_objectspeed-=Abs(Slope)/5;if(ObjectSpeed<{ObjectSpeed=}staticvoidCalSpeedPWM(void){}voidDataInit_Decision(void){}voidMakeDecision(void){ if(CntControl>={#ifEN_ClosedLoop!=0if(CntControl==DELAY_TIM){ClosedLoop=}} #ifEN_Timing_Stop!=0if(Now_CntField>={FinishFlag=1;}if(FinishFlag!=0)}為系統(tǒng)提供時間基準(zhǔn)(SysTick,單位msCntField,單位一場圖像的時間#include"./Interrupt.h"#includeINT16Sv_point_up[NUM_Line+3][MAX_Edge]; INT16Sv_point_down[NUM_Line+3][MAX_Edge]; INT16ULine_Process; volatileINT16ULine_Save; #ifEN_Check_TimeOut!=FastestTypeU_tTimeOutFlag;/*處理超時標(biāo)志*/ volatileINT16U volatileINT16U static staticFastestTypeU_tFlag_Down,Flag_Up; staticFastestTypeU_tFlag_Pick; #ifBIT_CPU!=staticFastestTypeU_tLineCCD; staticFastestTypeU_tLineCCD_Start; staticFastestTypeU_tLineCCD_End; staticINT16U staticINT16U staticINT16ULineCCD_End; #ifCAR_DataSegMode!=3staticTimerCallBack_Spd_tTimerFun_Speed;/*定時中斷對應(yīng)的速度處理回調(diào)函數(shù)*/staticTimerCallBack_Ext_tTimerFun_Extra;/*定時中斷對應(yīng)的額外處理回調(diào)函數(shù)*/staticFastestTypeU_tFlag_SpdCallBack;/*速度處理回調(diào)函數(shù)非空標(biāo)志*/staticFastestTypeU_tFlag_ExtCallBack;/*額外處理回調(diào)函數(shù)非空標(biāo)志*/#ifCAR_DataSegMode==2CAR_Keyword_KeepstaticTimerCallBack_Spd_tTimerFun_Speed;CAR_Keyword_KeepstaticTimerCallBack_Ext_tTimerFun_Extra;CAR_Keyword_KeepstaticFastestTypeU_tFlag_SpdCallBack;CAR_Keyword_KeepstaticFastestTypeU_tFlag_ExtCallBack;voidTimer_Init(void){SysTick=0;TimerFun_Speed=NULL;TimerFun_Extra=NULL;Flag_SpdCallBack=0;Flag_ExtCallBack= SpeedCounter_Init();/*測速計數(shù)器初始化*/}voidTimer_Init_Quick(void){ SpeedCounter_Init();/*測速計數(shù)器初始化*/}入口參數(shù)pcfg:voidCamera_Init(LineConfig_t*pcfg){Ptr_LineCfg=pcfg;LineCCD_Start=Ptr_LineCfg[0];LineCCD_End=Ptr_LineCfg[NUM_Line-LineCCD=Line_Save=0;Line_Process=NUM_Line;if(Flag_POR!={CntField=} }入口參數(shù)pspeed:voidSetTimerCallBack_Spd(TimerCallBack_Spd_tpspeed){TimerFun_Speed=pspeed;{Flag_SpdCallBack=}{Flag_SpdCallBack=}if(Flag_Run!={}}入口參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《壽司店策劃》課件
- 《種苗檔案建設(shè)》課件
- 二次函數(shù)復(fù)習(xí)課件
- 2024-2025學(xué)年廣東省清遠(yuǎn)市四校聯(lián)考高一上學(xué)期11月期中聯(lián)考物理試題(解析版)
- 單位管理制度集粹匯編職員管理十篇
- 《危險管理與保險》課件
- 單位管理制度匯編大合集職工管理十篇
- 三年級數(shù)學(xué)欣賞與設(shè)計課件
- 單位管理制度分享大全【人事管理篇】十篇
- 《孔徑孔容計算》課件
- 連退生產(chǎn)過程操作優(yōu)化-質(zhì)量預(yù)報監(jiān)測及診斷
- 梅毒專題知識培訓(xùn)
- 小說閱讀抓住矛盾沖突參考資料課件
- 簡約企業(yè)報刊報紙設(shè)計排版word模板
- 矛盾糾紛排查化解登記表
- 大班科學(xué)活動 有害的噪音
- 建筑施工成品保護(hù)措施
- 魚骨圖PPT模板精品教案0002
- 冠狀動脈造影基本知識-
- 油墨組成和分類
- DB37T 5175-2021 建筑與市政工程綠色施工技術(shù)標(biāo)準(zhǔn)
評論
0/150
提交評論