freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

飛思卡爾智能小車控制系統(tǒng)設(shè)計畢業(yè)設(shè)計-閱讀頁

2025-07-03 15:04本頁面
  

【正文】 到很大的磁力矩作用,迅速減速并反轉(zhuǎn)。實際使用倒轉(zhuǎn)功能進行剎車效果非常明顯,但頻繁對電機和驅(qū)動電路施加方向電流,兩者的發(fā)熱相當(dāng)明顯。在現(xiàn)有的速度控制策略基礎(chǔ)上加入剎車功能,本文將智能車速度控制策略設(shè)定為: ()根據(jù)PID控制規(guī)律對賽車前輪轉(zhuǎn)角進行控制,糾正其與賽道中心的橫向位移和夾角,加入非線性比例控制,使賽車穩(wěn)定地通過不同的彎道,尤其對蛇形彎道進行了優(yōu)化,提高了賽車的成績。在保證賽車平穩(wěn)運行的前提下進一步地提高了速度。為了提高了驅(qū)動能力的,增加智能車加減速性能,驅(qū)動提供的電流必須足夠。原理圖如圖25所示。圖26 MOS管組成的全橋驅(qū)動原理圖 BTS7970B組成的全橋驅(qū)動采用兩個半橋驅(qū)動芯片BTS7970B構(gòu)建的全橋驅(qū)動電路,它具有內(nèi)阻小、轉(zhuǎn)換效率高等特點。SR引腳外接電阻的大小,可以調(diào)節(jié)MOS管導(dǎo)通和關(guān)斷的時間,具有防電磁干擾的功能。BTS7970B電路圖如圖27所示,其中,PWM1_OUT為0時,PWM2_OUT輸出脈沖,電機正轉(zhuǎn),智能車加速;PWM2_OUT為0時,PWM1_OUT輸出脈沖,電機反轉(zhuǎn),小車剎車。用兩片BTS7970B即可構(gòu)成全橋驅(qū)動電路,控制電機的正反轉(zhuǎn),經(jīng)實際測試效果還比較好,我們最終選擇了該驅(qū)動方案。BTS7970B是一款針對電機驅(qū)動應(yīng)用的完全集成的大電流半橋芯片。由于上橋臂采用的是P通道開關(guān),對于電荷泵的需求也就不復(fù)存在了,因此電磁干擾減至了最小。BTS7970B驅(qū)動芯片如圖28所示。表1 BTS7970引腳介紹表PinSymbolI/OFunction1GNDGound2INIInputDefines whether high or lowside switch is activated3INHIInhibitWhen set ro low device goes in sleep mode8OUTOPower out put of the bridge5SRISlew RateThe slew rate of the power switches can be adjustedby connecting a resister between SR and GND6ISOCurrent Senseand DiagnosisBTS7970B驅(qū)動芯片特點如下:(1)在25℃時導(dǎo)通電阻的典型值為16 mΩ(2)與主動續(xù)流相結(jié)合的脈寬調(diào)制能力高達(dá)25kHz(3)開關(guān)電流限制降低功耗的過流保護(4)電流限制在典型的43A(5)過壓鎖定(6)欠壓關(guān)斷 隔離芯片74LS244B簡介74LS244B為3態(tài)8位緩沖器,主要用于三態(tài)輸出,作為地址驅(qū)動器、時鐘驅(qū)動器、總線驅(qū)動器和定向發(fā)送器等。驅(qū)動芯片是噪聲元件,容易造成反向電流,很有可能反向電流會擊穿I/O口,所以加上74LS244B作為隔離芯片更為妥當(dāng)。圖29 74LS244B芯片引腳圖圖30 74LS244B真值表 基于BTS7970B的電機驅(qū)動模塊驅(qū)動電路采用兩片BTS7970B構(gòu)成一個電機全橋驅(qū)動,由于電機在急加減速時候都會將電源的電壓拉低,因此在電源兩端接大電容濾波。圖31 驅(qū)動電路原理圖圖32 驅(qū)動電路PCB圖圖33 電機驅(qū)動模塊實物圖 速度檢測模塊方案的對比與選擇速度檢測電路的基本原理為:在很短的時間內(nèi),通過光電傳感器來測量固定在后輪的軸上的碼盤通過的孔數(shù),輸送到單片機的脈沖累加器外部引腳,經(jīng)過換算計算出智能車的實際速度,為速度PID控制環(huán)節(jié)提供可靠的數(shù)據(jù)。受車模機械結(jié)構(gòu)的限制,必須采用體積小、重量輕的速度傳感器。(2)光電傳感器在主驅(qū)動齒輪表面附上黑白間隔的彩帶,將反射型光電傳感器安裝在齒輪附近,當(dāng)黑白彩帶交替通過時,產(chǎn)生一系列電脈沖,由此獲取轉(zhuǎn)動角度。(3)使用自己制作的由紅外對管和編碼盤組成的編碼器,將一個帶有孔的編碼盤固定在轉(zhuǎn)軸上,然后由紅外對管檢測編碼盤的孔對紅外線的阻通。比較以上4 種方案,考慮到系統(tǒng)的可靠性,首先排除霍爾元件方案,因為主后輪傳動齒輪為塑料質(zhì)地,打孔比較危險。本文總結(jié)前幾屆各參賽隊伍的情況,綜合各方面情況和自身車模狀況,采用的是光電編碼器,它具有安裝方便、調(diào)試簡單等特點。設(shè)定單片機的ECT模塊為脈沖累加功能,檢測信號的上升沿,就能采集這些脈沖,便得到得到當(dāng)前的車速。 速度檢測模塊的詳細(xì)設(shè)計 歐姆龍E6A2編碼盤簡介歐姆龍(OMRON)編碼器是用來測量轉(zhuǎn)速的裝置,光電式旋轉(zhuǎn)編碼器通過光電轉(zhuǎn)換,可將輸出軸的角位移、角速度等機械量轉(zhuǎn)換成相應(yīng)的電脈沖以數(shù)字量輸出(REP)。技術(shù)參數(shù)主要有每轉(zhuǎn)脈沖數(shù)(幾十個到幾千個都有),和供電電壓等。本文選取的E6A2型號編碼盤如圖34所示,其核心參數(shù)如圖34所示。PT0采用8位輸入脈沖累加模式對旋轉(zhuǎn)編碼器的輸出脈沖進行累加計數(shù)。如此則后輪旋轉(zhuǎn)的同時將通過傳動齒輪帶動編碼器一同旋轉(zhuǎn)。車速的計算公式如式(51)所示: ()式中(d為后輪直徑,n為采樣時間內(nèi)PT0捕獲的脈沖數(shù),T為采樣周期)。在編寫主程序前,要先對各個模塊分別進行調(diào)試,并編寫各部分的子程序。 PWM模塊調(diào)試為檢驗PWM模塊子程序,可以編寫PWM 波形子程序來控制波形占空比,周期,相位的波形。從PWM端口接入示波器,通過示波器觀察輸出波形是否與設(shè)定值相同,若相同則程序正確。為檢驗該模塊功能正常,可以在軟件控制單片機往該模塊發(fā)送預(yù)先設(shè)定的數(shù)據(jù),如果接收端的無線模塊接收的數(shù)據(jù)與預(yù)先設(shè)定的數(shù)據(jù)一致,則表明該模塊的功能正常。在CodeWarrior 界面完成程序編譯后,通過BDM工具,將程序下載到MC9S12XS128微處理器中,然后進行小車的調(diào)試。若小車撞倒東西無法前進時,電機會發(fā)生堵轉(zhuǎn),這對電機、對驅(qū)動電路都非常不利。本文采用了一個很簡單巧妙的方法:只要在程序中加上一個判斷:,給定速度為0。經(jīng)過這樣的改進后,測試時小車確實沒有再出現(xiàn)上述情況了,問題得到了有效地解決。Code Warrior是面向以HC12和S12為CPU的單片機嵌入式應(yīng)用開發(fā)的軟件包,包括集成開發(fā)環(huán)境IDE、處理器專家?guī)臁⑷酒抡?、可視化參?shù)顯示工具、項目工程管理器、C交叉編譯器、匯編器、鏈接器以及調(diào)試器等。 調(diào)試過程、基本功能,并有針對性地學(xué)習(xí)和掌握這次小車上用到的幾個模塊,重點掌握的模塊有PWM、定時器模塊、電源模塊等。通過實驗獲得小車硬件電路的一些重要參數(shù)。在CodeWarrior 界面完成程序編譯后,通過BDM工具,將程序下載到MC9S12XSG128微處理器中,然后進行小車的調(diào)試。智能車的設(shè)計涉及了控制、模式識別、傳感技術(shù)、汽車電子、電子信息、計算機和機械等多個學(xué)科(周斌,蔣荻開,黃開勝,2006),不僅開拓了視野,也提高了動手實踐能力。 要多試多跑。 參數(shù)調(diào)試很重要。比如PWM一個周期的脈沖數(shù),原本定為800,那么正反轉(zhuǎn)電機的可調(diào)范圍就有400個脈沖,同時也減少了單片機的工作量。在更換控制策略之前,將一個周期的脈沖數(shù)增加到1600,雖然增加了單片機的工作量,但是車子行駛時變得十分穩(wěn)定。但是仍有許多地方需要完善,比如如果采用攝像頭CCD傳感器會使前瞻距離更大,能更快檢測到賽道,使小車能提前控制轉(zhuǎn)向,減小滯后性,快速平穩(wěn)的行駛完賽道等等。 //設(shè)定目標(biāo)Desired Value double Proportion。 //積分常數(shù)Integral Const double Derivative。 //Error[1] int PrevError。////聲明PID實體//static PID sPID。sPID。 //速度int g_Flag。unsigned int WholeVelocity=0。unsigned char vTmpPIT=0。 //48mhz PLLCTL_PLLON=1。 REFDV=0X80 | 0X01。 _asm(nop)。 while(0==CRGFLG_LOCK)。//選定外部時鐘 }////行場中斷初始化// void TIM_Init(void) { TIOS = 0x00。 //OC7與邏輯通道斷開 TCTL4 = 0x09。 //通道7不管理其他通道 TSCR1 = 0x80。 //使能PA,門計數(shù)模式,上升沿,中斷禁止 0101 0000 //TIE = 0x03。 //清中斷標(biāo)志位 } ////定時中斷初始化//void PIT_Init(void)//定時中斷初始化函數(shù) =10ms定時中斷設(shè)置 { PITCFLMT_PITE=0。 //定時器通道0使能 PITMTLD0=2401。240*4000/48000000=20ms PITLD0=40001。PITTIME* PITINTE_PINTE0=1。//定時器通道0中斷使能 }////PWM初始化//void PWM_Init(void){ //CH01 motor in1 //CH23 motor in2 //CH45 servo //SB,B for ch2367 //SA,A for ch0145 PWME = 0x00。 //CH0245級聯(lián)成16位PWM; PWMCAE = 0x00。 //先輸出高電平,計數(shù)到DTY時,反轉(zhuǎn)電平 PWMPRCLK = 0x33。ClockB 8分頻=BusClock/8=6MHz PWMSCLA = 0x03。 //ClockSB=ClockB/(2*3)=1MHz PWMCLK = 0xFF。CH2367選擇clock SB做時鐘源 PWMPER01=12000。 PWMPER23=12000。 PWMCNT01 = 0。 PWMCNT45 = 0。 //PWM使能} ////PID參數(shù)初始化//void PID_Init(void){ sptrLastError = 0。 //Error[2] sptrProportion =P_DATA。 //積分常數(shù)Integral Const sptrDerivative =D_DATA。 //目標(biāo)是40 V=40*=168CM/S}////增量式PID控制設(shè)計//int IncPIDCalc(int NextPoint){ int iError, iIncpid。 //增量計算 iIncpid = sptrProportion * iError //E[k]項 sptrIntegral * sptrLastError //E[k-1]項 + sptrDerivative * sptrPrevError。 //存儲誤差,用于下次計算 sptrLastError = iError。 //返回增量值}////主函數(shù)//void main(void){ int PWM_Value。 PLL_Init()。 TIM_Init()。 PID_Init()。 g_CurrentVelocity=0。 //全局變量也初始化 EnableInterrupts。) { if (g_Flagamp。 PWMDTY01+=PWM_Value。=~ HAVE_NEW_VELOC
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1