基于STM32的自動泊車系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于STM32的自動泊車系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于STM32的自動泊車系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于STM32的自動泊車系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
基于STM32的自動泊車系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

隨著車輛的激增,汽車自動駕駛技術(shù)的不斷創(chuàng)新與發(fā)展,自動泊車系統(tǒng)尚未普及,為降低當下人工停車的難度,設(shè)計了一種基于STM32F103ZET6實現(xiàn)自動倒車入庫和側(cè)方位停采集到的數(shù)據(jù)傳送到處理器,處理器將數(shù)據(jù)轉(zhuǎn)換為電信號驅(qū)動小車的控制L298N驅(qū)動模塊,這些模塊在KeiluVsion5編譯環(huán)境下整合到一起,在路徑規(guī)劃下對小車進系統(tǒng)根據(jù)停車位識別在模擬停車環(huán)境下控制小車進行入庫操作,滿足了在不同的停車環(huán)境下進行智能化自動泊車,此系統(tǒng)屬于嵌入式系統(tǒng)兼容于多數(shù)汽車實現(xiàn)側(cè)方位泊車和倒車入庫并自行細微調(diào)整,實現(xiàn)更穩(wěn)定的入庫停車。TheAutomatedParkingSystem(APS)isoneoftheimportanttechnologyforAutonomousvehicles.Withtherapidincreaseofvehiclesandthecontinuousinnovationanddevelopmentofautomotiveautomaticdrivingtechnology,automaticparkingsystemshavenotyetbeenpopularized.Inordertoreducethedifficultyofmanualparkingatpresent,thereisTheautomaticparkingsystemusesinHC-SR04module,trackingTCRT5000module,andstandardIperformenvironmentaldetection,realizeobstaclerecognitionTransmittedtotheprocesunderpathplanningThealgorithmdesignofthecameetstheintelligentautomaticparkingindifferentparkingenvironmmorestableparking.1.1項目意義 11.2研究內(nèi)容 11.3論文結(jié)構(gòu) 22系統(tǒng)需求分析 22.1控制器的需求分析 22.2傳感器的需求分析 32.3驅(qū)動部分需求分析 32.4系統(tǒng)可行性分析 32.4.1經(jīng)濟可行性分析 32.4.2技術(shù)可行性分析 43系統(tǒng)設(shè)計 43.1主板設(shè)計 43.1.1芯片選擇 43.1.2集成開發(fā)板 53.1.3開發(fā)環(huán)境 73.2驅(qū)動設(shè)計 93.2.1電機驅(qū)動 93.2.2紅外遙控設(shè)計 3.3傳感器設(shè)計 3.3.1循跡模塊 3.3.2紅外避障模塊 3.3.3超聲波模塊 3.4小車成品 3.5泊車算法設(shè)計和環(huán)境搭建 3.5.1側(cè)方位泊車 3.5.2倒車入庫 4.系統(tǒng)測試 5.總結(jié)與展望 錯誤!未定義書簽。11系統(tǒng)概論工業(yè)革命帶來的極大生產(chǎn)力使得全球的汽車保有量逐年激增,國內(nèi)的個體私營經(jīng)濟的快速發(fā)展,道路的不斷完善,促進了私人汽車購買的熱潮。根據(jù)汽車數(shù)據(jù)共享,全球汽車數(shù)量一個十五年兩倍增長量,到2019年中國汽車保有量以2.53萬億成為全球第一超越美國2.5萬億的汽車保有量,迄今為止全球的汽車保有量已經(jīng)超過10萬億輛。一方面隨著我國城鎮(zhèn)化和機動化進程的快速推進,國家為更好地支持、規(guī)范和引導城市停車設(shè)施建設(shè),將其寫入了《“十三五”規(guī)劃綱要》,智能化泊車系統(tǒng)與城市停車設(shè)施的建設(shè)相輔相成,致力于解決這一民生問題,泊車系統(tǒng)這一智能技術(shù)也是非常有效的投資領(lǐng)域。另一方面智能化的全球覆蓋,自動泊車系統(tǒng)一直處在研究歷程中:①1992年由大眾概念車IRVWFutura上搭載APS②2005年,雪鐵龍研發(fā)CityPark系統(tǒng)③2007年豐田安裝IPA系統(tǒng)④2008年德國奔馳、大眾等企業(yè)將CityPark的低造價和IPA結(jié)合在一起⑤2010年中國德賽西威開發(fā)出2D全景泊車系統(tǒng)⑥2016年中國德賽西威推出3D全景泊車系統(tǒng)。隨著目前汽車智能化研究如火如荼的發(fā)展和進步,特別是傳感器技術(shù)的快速發(fā)展,各國均把更為便利的自動泊車系統(tǒng)作為自動駕駛系統(tǒng)發(fā)展的重要組成部分。11.1項目意義目前我們所能見到的汽車企業(yè)大多數(shù)都控制在L2級半自動駕駛,其中包括半自動泊車系統(tǒng):傳感器技術(shù)的組成配合下收集精確的環(huán)境信息實現(xiàn)“泊車路徑規(guī)劃”、系統(tǒng)進行“車輛控制”等功能,在部分自動泊車(高級泊車輔助APA)系統(tǒng)的輔助下駕駛員可以在監(jiān)控下實現(xiàn)泊車動作?,F(xiàn)實中,車輛激增帶來的停車問題變得更加復(fù)雜,大城市停車空間有限,將汽車駛?cè)敫魇礁鳂拥耐\囄恢檬敲總€駕駛員一項必備的技能。與之相隨而來的交通壓力、復(fù)雜多樣的停車環(huán)境、有限苛刻的停車空間,停車難成為眾多駕駛員的一大難題。泊車過程中出現(xiàn)的輕微碰撞以及剮蹭事件的頻繁發(fā)生,市場需求的增長,環(huán)境檢測基礎(chǔ)的相對成熟,推進了自動泊車系統(tǒng)研究的技術(shù)發(fā)展。1.2研究內(nèi)容而影響自動泊車的關(guān)鍵技術(shù)有兩部分:停車位檢測和車輛控制系統(tǒng)。泊車對停車位檢測做的越精確,我們對車輛所在的環(huán)境下的控制效果就更好,而控制轉(zhuǎn)向系統(tǒng)主要是速度和方向的算法設(shè)計?,F(xiàn)狀自動泊車系統(tǒng)屬于汽車中的超前配置,所以在前期技術(shù)開發(fā)模擬下,可使用模型小車進行測試完善。(1)速度轉(zhuǎn)向控制的算法控制和路徑規(guī)劃的數(shù)據(jù)收集:2速度轉(zhuǎn)向控制主體為:驅(qū)動設(shè)計、電機控制、紅外遙控設(shè)計、WIFI視頻顯示,這一部分提供了模擬汽車行駛的一些基本條件,最后利用本系統(tǒng)的處理將相關(guān)的控制信號通過通用輸入/輸入口發(fā)動給個執(zhí)行器來達到速度轉(zhuǎn)向控制車輛進行泊車動作。路徑規(guī)劃主體為環(huán)境檢測模塊:循跡模塊、紅外避障模塊、超聲波模塊。利用傳感器收集的數(shù)據(jù)確定小車的實時行駛軌跡,以及車位四周的環(huán)境信息,這是本設(shè)計主要的難點也是主要的研究方向(2)模塊測試與環(huán)境搭建,最終目的功能測試:逐一模塊的進行測試環(huán)境搭建,并設(shè)計出模擬各類停車的停車環(huán)境,將所有的傳感器熟悉掌握,最終集成,根據(jù)泊車的不同方式,設(shè)計算法搭建出最終的路徑規(guī)劃實現(xiàn)自動泊車。在汽車智能化技術(shù)下,國內(nèi)泊車系統(tǒng)的穩(wěn)定性和安全性方面還稍有不足,但在場景識別率和自動化程度等方面甚至已經(jīng)實現(xiàn)了彎道超車,可以看出國內(nèi)廠商技術(shù)創(chuàng)新和裝車速度是首屈一指的。反觀國外廠商選擇更加穩(wěn)健的路線,他們放緩了功能迭代速度,但從結(jié)果看,流暢度還是可靠性都要比國內(nèi)更勝一籌。本設(shè)計致力于幫助駕駛員解決停車效率、實現(xiàn)停車規(guī)范、降低泊車操作、提高駕駛員的舒適度,也為國家擁擠的大城市城市停車設(shè)施建設(shè)提供了更好的條件。1.3論文結(jié)構(gòu)本論文開頭通過對汽車增長的背景下進行概括,提出泊車系統(tǒng)的研究意義,指出自動駕駛下的泊車系統(tǒng)擬解決的問題,包含系統(tǒng)設(shè)計的研究方向。隨后主要描述構(gòu)成泊車系統(tǒng)各個模塊的需求分析、可行性分析:以便于尋找適合本系統(tǒng)和符合技術(shù)條件下的的硬件模塊,主要部分為系統(tǒng)詳細設(shè)計,文中詳細的寫出了每一個模塊的詳細介紹和實踐,以及在本系統(tǒng)設(shè)計中的實現(xiàn)方法、配置方法、擬實現(xiàn)的目的,再結(jié)合模塊進行測試環(huán)境的搭建。最后一部分描述核心算法設(shè)計過程:包括側(cè)方位泊車算法和倒車入庫泊車算法,在配合各個模塊的算法計算下組合而成的泊車功能,在搭建的測試環(huán)境下進行測試數(shù)據(jù)收集,體現(xiàn)在測試環(huán)境中的結(jié)果,最終進行總結(jié)與展望。2系統(tǒng)需求分析2.1控制器的需求分析需要精確檢測到小車周圍的環(huán)境,這就意味會有多個外設(shè)加入到系統(tǒng)中來,對于芯片的選型優(yōu)先考慮高性能、低成本、低功耗的嵌入式處理器。本設(shè)計使用的STM32F103ZET6芯片擁有3個ADC、11個定時器13個通信接口??梢詫崿F(xiàn)快速數(shù)據(jù)處理,提高系統(tǒng)的運算速度和停車效率。其他處理芯片提供了與STM32單片機串口通信,容易做到兩款MCU進行串口通信。32.2傳感器的需求分析就如人本身的身體感官一樣,我們通過感知來得知外界環(huán)境,要完成汽車自動駕駛下的自動泊車。小車周身需要安裝一些”感官”,跟隨現(xiàn)代傳感器精度的提高,本設(shè)計需要加入傳感模塊要能夠做到分辨障礙物,感應(yīng)停車線,停車時的實況,包含了多種等收集環(huán)境信息,適配于不同環(huán)境條件下進行自動泊車。需要滿足對線條的產(chǎn)生區(qū)別,本設(shè)計采用的TCRT5000傳感器對黑、白色吸收作用平HC-SRO4超聲波測距提供2cm-40cm的非接觸式距離感測功能,攝像頭模塊在車尾可2.3驅(qū)動部分需求分析為了更真實模擬汽車運作狀態(tài),本設(shè)計采用了四個電機,用開發(fā)板上的L298N來驅(qū)動,L298N是ST公司生產(chǎn)的一種高電壓、大電流電機驅(qū)動芯片。基于轉(zhuǎn)向可以通過控制兩邊差速,開發(fā)板上只焊接了兩個L298N驅(qū)動芯片。控制部分采用紅外遙控來實現(xiàn)對小車的初步控制,紅外線遙控是目前使用最廣泛的一種通信和遙控手段,從原理上來講,通用紅外遙控的芯片有發(fā)射和接收兩部分,遙控還可以通過WIFI模塊以串口的方式跟主控板實現(xiàn)通信對小車進行控制,WIFI模塊采一個TTL232串口,支持無線安全功能WAP-PSK/WPA2-PSK加密。2.4系統(tǒng)可行性分析本系統(tǒng)屬于嵌入式系統(tǒng),系統(tǒng)由功能模塊組成,具有強大的擴展型,每一個獨立的模塊具有特別的功能,集成到一起組成了自動泊車系統(tǒng)。通過STM32F103ZET6主控芯片處理這兩個關(guān)鍵部分的數(shù)據(jù),車位檢測:兩個超聲波傳感器、五路紅外循跡模塊,兩個紅外避障模塊、攝像頭圖像采集;控制系統(tǒng):WIFI無線傳輸控制,控制轉(zhuǎn)向算法設(shè)計,車速檢測模塊,電壓顯示。最后通過模型小車在設(shè)計好的環(huán)境下進行測試,使之實現(xiàn)對2.4.1經(jīng)濟可行性分析系統(tǒng)的設(shè)計可以不完全要求在實際汽車上運行,本設(shè)計使用小車進行汽車的模擬運作,各類模塊的普及也使得價格大大降低,相比于整個汽車的系統(tǒng)集成,這套自動泊車系統(tǒng)只需要幾款成本不高的傳感器和攝像頭,主控芯片STM32系列專為要求高性能、低成本、低功耗的嵌入式應(yīng)用系統(tǒng)專門設(shè)計。42.4.2技術(shù)可行性分析中為主的研究方向是路徑規(guī)劃,而基于路徑規(guī)劃的環(huán)境檢測技術(shù)也為重點。如今傳感模塊的成熟,使得與MCU的通信變得更加容易,解決了這一技術(shù)難點,便可實現(xiàn)自動泊車系統(tǒng)。3系統(tǒng)設(shè)計3.1主板設(shè)計3.1.1芯片選擇意法半導體公司中的STM32系列芯片:增強型的32位ARM微控制器STM32F103ZET6的配置參數(shù)如下:高速存儲器:高達512K字節(jié)的閃存和64K字節(jié)的SRAMSTM32F103ZET6的正常工作參數(shù)如下:豐富的增強I/O端口和聯(lián)接到兩條APB總線的外設(shè),一系列的省電模式保證低功耗應(yīng)用的要求,完美支持了多種傳感器數(shù)據(jù)以高速率傳送給主控,STM32F103ZET6器件功能和配置如圖2.1所示。定時器8個定時器8個DAC12通道ADC12通道圖3.1芯片器件功能STM32F103ZET6高密度性能線系列提供六種不同的器件根據(jù)所選設(shè)備的不同,5DMA總線矩陣包含了從64引腳到144引腳。包括外圍設(shè)備,可在72MHz頻率的高速嵌入式存儲器(最大512KB的閃存和SRAM(最大64KB),以及廣泛的增強型1/O和外設(shè)連接到兩個APB總線。所有器件均提供三個12位ADC,四個通用16位ADC。四個通用16位定時器加上兩個PWM定時器,以及標準和高級通信接口:最多兩個12C,三個SPI,兩個l2S,一DMA總線矩陣ICodeICodeCortex-M3SRAMFSMCSDIO正企復(fù)位和時鐘DC1DMA請求SAFSPIITIM1TIM8TIM4TIM3JSARTDMA請求ai14800c通道7GPIOCGPIODGPIOGPIOFCDKSPI3N2SSPI2N2SWDG橋接2橋接1TIM7TIM5UARITSUART4USART3ANWiWRKP通j道!EXTiAFIODMA1ADC3DMAPB1B2圖3.2芯片系統(tǒng)架構(gòu)包含著五個驅(qū)動單元:ARMCortexM-M332內(nèi)核DCode總線(D-bus),和系統(tǒng)總線(S-bus)通用DMA1和DMA2,以太網(wǎng)DMA。三個被動單元:內(nèi)部SRAM,內(nèi)部閃存存儲在時鐘樹的配置上,所有外設(shè)加入后的時鐘配置根據(jù)功能模塊所在的橋上進行配置,在使用一個外設(shè)之前,必須設(shè)置寄存器3.1.2集成開發(fā)板芯片的總體結(jié)構(gòu)架構(gòu)如圖2.2,在確定了自動泊車系統(tǒng)以STM32F103ZET6為主控控制核心,支持引進多種傳感器模塊構(gòu)成路徑規(guī)劃,并由系統(tǒng)運算控制小車進行自主泊車運算,采用由STM32F103ZET6的集成開發(fā)板如圖2.3。6不年自而三上二當制有對情為對到廷對或粥制聲事不年自而三上二當制有對情為對到廷對或粥制聲事memeGND:PD7PD5惡PAIEPDIIFD9FBISFBITONDGNE正要FBS圖3.3開發(fā)板的芯片引腳圖開發(fā)板的芯片引腳圖如圖3.3,144個通過輸入/輸出口能夠承載多個傳感器和控制器的加入。購買的開發(fā)板講芯片的管腳引出,外設(shè)的加入可使用杜邦線連接,相應(yīng)的模塊加入可以根據(jù)自己選擇的IO口進行配置,集成開發(fā)板如圖3.4所示。73.1.3開發(fā)環(huán)境是一家業(yè)界領(lǐng)先的微控制器(MCU)軟件開發(fā)工具的獨立供應(yīng)商,它提供了包括C編譯器、宏編譯、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案。當創(chuàng)建一個完整的ARM項目,需要先在官網(wǎng)下載相應(yīng)的功能C文件和頭文件如圖misc.estm32f10xadc.cQ22610xbkpstm32f10xcec.c?stm32f10xcrc.c*22610ydbamcu32610ydmatstm32f10xrtc.cstm32f10xtim.c2010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310;392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:392010-04-2310:39大生C文件46KB43KB3.5需引進的文件件路徑,選擇編譯器版本。后期也可以由他來完成仿真調(diào)試的動作下載器如圖3.6所示s.CVKs.CVKSTMe&STM32STMe&STM328OptionsforTarget'armdemo'DeviceTarget|OutputSTMicroelectronicsSTM32F103ZEARMCompiler:ARMCompiler:V5.06update6(build750)STM32F103cx.svdRead/WnteMemoryRead/WnteMemorydefaultoff-chipon-chipdefaultoff-chipon-chipStartupROM1:ROM2:ROM3:on-chipx20000000Ox10000?●√IROM1:x20000000Ox10000?●0K8ancelDefaultsHelpx-MTargetDrwBwintwet|oatatBwintwet|oatat]listingllelcew|n|tisuSberlnilitis|SeergAlgerieSeergAlgerieFTuk可SeingResTeeUaSeedsProgramversyResTeeUaSeedsProgramversyResatandRun√Aetosand√AetosandT√Be*pors√Be*pors?WachWntewyTobespmVh?SrtmWe08000000H-0807FFFFHDeviceSire512kDemiceOn-chipTreeRash√MeTM32F10x√MenenDpsaart「saart「AddfaltNelpfaltdistance_cm_ifdistance_cm_ctrl_comm*return;確理取滿確理取滿if(dist對項目進行的設(shè)置和將程序?qū)懭氲介_發(fā)板中的設(shè)置并進行仿真調(diào)試的設(shè)置如圖3.7控制電機的占空比可以在AnalysisWindows查看波形輸出,紅外遙控解碼之后的控制值可以在Watch中通過變量值的實時變化來進行調(diào)試,與之超聲波測距的距離也可以通過計算形成變量在Watch中查看,定時器的計數(shù)器狀態(tài)、串口的發(fā)送與接收、傳感器接收到的不同電平值等等都可以被監(jiān)控。另外一種則是進行選擇燒錄方式進行有實物的芯片仿真。強大的仿真功能提供了多個模塊的監(jiān)控,我們可以看到寄存器的狀態(tài)和移位操作,也可以看到變量的實時變化,也可以通過AnalysisWindows查看PWM波形輸出等。仿真窗口的選擇如圖3.8所示。9mmsIE新建文件夾\4-1、STM32-4WD-FileEditViewProjecFlash智能小車2017板\4-1。STM32-4WD-智能小車2017版)1、STM32DebugPeripheralsToolsSVCSWindowHelp智能小車視頻教程38課\27、STM32智能小車視頻數(shù)程STM32趨聲波魔術(shù)手實驗\超聲波魔術(shù))0.00002899Power,ResetandClockControlWatchdogTimenDLEDTogsle(LEDPIN):57.40x8000r0,[r4,*0x00]r0,#Ox0s)interfsce46.IWDGnit():nM1nM10NM11NM12NM13TM14NM2SPIU5BWWDGUltraScServolrwhile(1)ifwhile(1)ifTCK=0;3.8仿真窗口3.2驅(qū)動設(shè)計3.2.1電機驅(qū)動為了更真實模擬汽車運作狀態(tài),本設(shè)計安裝了四個電機,如圖3.10所示。本設(shè)計通過PWM占空比來調(diào)節(jié)直流電機的轉(zhuǎn)速,并通過控制前后輪的不同速度完成小車的轉(zhuǎn)向。電機用到了主控板的8個IO口,通過對電機的高低電平控制使之正反轉(zhuǎn),電機分有正負極,前進時:先將正極的電平置1,負極復(fù)位0;后退則正極復(fù)位0,負極置1;停止則都復(fù)位0。對于電機通用輸出\輸入的IO口的配置如下表:表3.1電機與芯片管腳配置表GPIO_Pin_13GPIO_Mode_Out_PPGPIO_Pin_11B正極GPIO_Pin_11B負極GPIOPin_0BDOWNC正極GPIOPin_6C負極GPIO_Pin_9GPIO_Pin_2小車由于左右兩邊各用一個驅(qū)動,所以A和C兩個電機只需要C電機控制,B和D電機只需B控制,這里將D電機控制腳當電機使能:將DUP和DDOWN的電平置1。使用TIM2定時器來產(chǎn)生1US的定時,TIM2的時鐘為72Mhz,通過分頻,時鐘分為10000HZ。配置的代碼如圖3.11所示TIMTimeBaseInitS.TIMPeriod=100-1;TIM_TimeBaseInitS.TIMPrescalTIM_TimeBaseInitS.TIM_ClockDivision=0;圖3.11TIM2分頻設(shè)置初期,占空比來實現(xiàn)對小車速度初步的控制,開啟芯片的TIM2定時器,啟用TIM2的時鐘,配置分頻頻率,采用向上計數(shù)模式,配置的頻率公式如下:72MHz/72/100=10000Hz①開啟中斷,使用中斷更新的狀態(tài)來編寫中斷函數(shù)來達到us級計數(shù)器。電機驅(qū)動部分是由開發(fā)板上的L298N來實現(xiàn),常見的15腳Multiwatt封裝的L298N雙H橋直流電機驅(qū)動芯片的基本參數(shù)如下類型:全橋輸入類型:非反相輸出數(shù):4電流-輸出/通道:2A電流-峰值輸出:3A電源電壓:4.5V~46V額定功率:25W。工作溫度:-25℃~130℃安裝類型:通孔內(nèi)含兩個H橋的高電壓大電流全橋式驅(qū)動器,可以用來驅(qū)動直流電動機和步進電動機、繼電器線圈等感性負載;采用標準邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作有一個邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。使用L298N芯片驅(qū)動電機,該芯片可以驅(qū)動一臺兩相步進電機或四相步進電機,也可以驅(qū)動兩臺直流電機,并聯(lián)時可以驅(qū)動四臺電機,L298N電機驅(qū)動原理圖如圖3.12所示。小車由于兩邊各用一個驅(qū)動,所有A和C兩個電機只需要C控制,B和D電機只需B控制,左右電機的電機驅(qū)動原理圖如圖3.13所示圖3.13左右電機原理圖并同時開啟TIM2定時器的IRQ中斷,設(shè)置中斷級別,編寫中斷函數(shù),在中斷函數(shù)中設(shè)置了一個控制電機占空比的變量值speed_count:在定時器中還可以設(shè)定其他變量值,以此來作為其他精準定時的延時計數(shù)。中斷函數(shù)如圖3.14所示170日{(diào)172白176白181日if(TIM_GetITStatus(TIN2,TIM_IT_Update)!=RESET)tick_5ms++;if(speed_count>=50)speed_count=0;Motor_Control();圖3.14中斷函數(shù)配置通過與speed_count差值對比,并賦值給每個電機不同的變量值來達到占空比以此實現(xiàn)對速度的控制,而在這里一個周期為50US,假設(shè)賦值電機速度為20US,那么會有20US的高電平和30US的低電平??刂齐姍C正轉(zhuǎn)和反轉(zhuǎn)速度算法如圖3.15所示。B_GO;B_STOP;elseif(B_SPEED_DUTY<0)//向后B_BACK;else//停止//停止B_//停止B_STOP;圖3.15電機控制函數(shù)3.2.2紅外遙控設(shè)計用戶碼:00FF圖3.16紅外遙控器本次采用紅外遙控來實現(xiàn)對小車的初步控制,紅外線遙控是目前使用最廣泛的一種通信和遙控手段,具有體積小、功耗低、功能強、成本低的優(yōu)點。通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編/解碼專用集成電路芯片來進行控制操作,發(fā)射部分包括鍵盤、編碼調(diào)制、LED、紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。紅外遙控器發(fā)送和接收如圖3.16、圖3.17所示輸入設(shè)備鍵盤輸出設(shè)備紅外發(fā)光管輸入設(shè)備紅外接收頭輸出設(shè)備XXXX圖3.17紅外遙控器圖3.18紅外接收及解碼在開發(fā)板上的紅外接收頭的主要參數(shù)如下:工作電壓:4.8~5.3V接收頻率:38kHz峰值波長:980nm靜態(tài)輸出:高電平輸出低電平:≤0.4V輸出高電平:接近工作電壓1.引導碼:MCU檢測到正確的引導碼之后確認接收后面的數(shù)據(jù),以此來保證數(shù)據(jù)的穩(wěn)定性和正確性,2.客戶碼:區(qū)分不同紅外遙控設(shè)備3.操作碼:客戶操作時產(chǎn)生的編碼,通過操作的不同產(chǎn)生不同的碼值,等待紅外接收頭接收。4.解碼:芯片通過接收到的電平信號,解析操作碼的碼值,MCU在根據(jù)碼值做出相應(yīng)動作。紅外接收端原理圖如圖3.19所示。VCCP3.2在本次設(shè)計中,我用了9ms而按鍵則是按照鍵值:0:0.56ms的高電平+0.565ms圖3.19紅外接收端原理圖的高電平和4.5ms的低電平來作為引導碼:的低電平的低電平最終根據(jù)鍵值發(fā)送二進制數(shù)碼給紅外接收端進行解碼。波形圖如圖3.20所示圖3.20波形圖作為紅外遙控控制,自然而然的采用中斷控制法,在本次設(shè)計中,我采用了通過外部中斷邊沿檢測器。初始化相應(yīng)的GPIO管腳配置外部中斷源并進行中斷源和GPIO的連接編寫相應(yīng)中斷源的中斷處理程序,在中斷后,接收到紅外遙控信號便進行解碼,隨后通過MCU處理來實現(xiàn)相應(yīng)的動作。紅外的中斷函數(shù)配置及中斷函數(shù)如圖3.21所示。EXTI_InitStructure.EXTI_Line=IRIN_EXITLINE;//將對應(yīng)的GPI0口連接到中斷線上EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;//中斷事件類型,下降沿EXTIInitStructure.EXTIMode=EXTIMode_Interrupt;選擇模式,中斷型EXTIInitStructure.EXTILineCmd=ENABLE://使能該中斷EXTI_Init(&EXTI_InitStructure);//將配置好的參數(shù)寫入寄存器voidEXTI15_10_IRQHaEXTI_ClearITPendingBit(IRIN_EXITLINE);//清除中斷標志IRIntIsr);圖3.21EXIT中斷函數(shù)配置8留的留的留留思即品根據(jù)遙控器提供的鍵碼,優(yōu)先滿足小車的基本運動,前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、以及停止,設(shè)計算法,短按則為200MS運作,長按則持續(xù)運行。預(yù)留其他按鈕進入自動駕駛狀態(tài),即:循跡模式、避障模式、超聲波模式、攝像頭模式、側(cè)方位自動泊車,倒8留的留的留留思即品車入庫自動泊車等。功能分布如圖3.22所示。基本動作,左右0測方位自動泊車動泊車圖3.22遙控按鍵分配根據(jù)引導碼的持續(xù)時間,再計算高電平的時間,最后講解碼所得到的數(shù)值存在數(shù)組里面,再經(jīng)過轉(zhuǎn)換,根據(jù)紅外標志位的判斷對小車進行初步控制,小車的基本模型便已解碼得出的基本指令代碼如圖3.23所示。|//指令定義|//指令定義if(ir_rec_flag==1)//接收到紅外信號ir_rec_flag=0;CarCo):break:CarBack();break;CarLeft();break;CarRight();break;sensor_flag=0;CarStop();break;’A’//前進 圖3.23按鍵指令經(jīng)過設(shè)計如果按鍵長按時間達到1S,將持續(xù)運行所按下的指令,如果短于1S只運行一次,這樣的設(shè)計利于自動泊車中的轉(zhuǎn)向角度精準和速度控制,以至于實現(xiàn)更完善的自動泊車。機動控制部分中包括的轉(zhuǎn)向控制和剎車控制在此基礎(chǔ)上便于后期與傳感檢測的互相融合。3.3傳感器設(shè)計3.3.1循跡模塊圖3.24循跡模塊遵循既有的道路現(xiàn)狀,給定小車相關(guān)的循跡算法,基于一個三路循跡和兩個二路循跡的循跡模塊,使得小車自動行駛在路勁規(guī)劃下,稱為循跡技術(shù)。三路循跡(左)二路循跡(右)如圖3.23所示。對于循跡模塊通用輸出\輸入的IO口的配置如下表:表3.1.1電機與芯片管腳配置表三路右GPIO_Pin_13GPIO_Mode_Out_IPU三路中GPIO_Pin_8三路左GPIO_Pin_11二路左GPIO_Pin_1二路右GPIO_Pin_3TCRT5000傳感器的紅外發(fā)射二極管不斷發(fā)射紅外線,當發(fā)射出的紅外實現(xiàn)沒有被反射回來或被反射回來但強度不夠大時,光敏三極管一直處于關(guān)斷狀態(tài),此時模塊的輸出端為低電平,若反射回來的強度足夠大,光敏三極管達到飽和,便輸出一個高電平,點亮二極管,三路循跡和二路循跡的原理圖如圖3.25所示VCC三路尋線VCCVC圖3.25循跡原理圖對于停車規(guī)范來講,車輛處于停車線內(nèi)即可,在停車線與地面的顏色上有明顯的區(qū)別,循跡模塊在本系統(tǒng)設(shè)計中為車輛的環(huán)境檢測提供重要的一環(huán),在車輛自動駕駛技術(shù)下,通過收集的停車線的顏色進行車位的判斷是至關(guān)重要的一步,當采集到停車線的時候,循跡模塊給MCU一個信號,MCU進而對車輛與停車線所處的位置進行處理,并配合其他模塊采集的數(shù)據(jù)進行車輛控制雖而實現(xiàn)自動泊車。本設(shè)計將三路循跡模塊放在車兩路循跡模塊采集到一個信號,對車輛進行停車操作。當兩路的循跡模塊都壓過停車線時,車輛的轉(zhuǎn)向已經(jīng)足夠,并由此進行下一步的操作。當采集到循跡模塊反射的信號時,進行車輛控制的測試算法編寫,測試算法編寫如圖3.26所示14中2if(SEARCHM_DATA==BLACK_AREA&&SEARCHLDATA==BLACK_AREA&&SEARCH_R_DATA==BLACK_AREA)CarGo();return;if(SEARCHRDATA==BLACK_AREA)//右//ctrl_comm=COMM_RIGHT;CarRight():elseif(SEARCHLDATA==BLACK_AREA)//左//ctrl_comm=COMM_LEFT;elseif(SEARCH_M_DATA==BLACK_AREA)//中CarGo():/ctrl_comm=COMM/ctrl_comm圖3.26循跡控制利用紅外對管循跡法:利用黑、白色對紅外線的吸收作用不同來進行判斷。為測試模擬停車的垂直停車線和平行停車線,并用與小車大小相近的障礙物模擬已經(jīng)停好的其他車輛,由此對路徑規(guī)劃的部分進行完善,為車輛控制算法提供基礎(chǔ)。3.3.2紅外避障模塊圖3.27紅外避障模塊紅外光電傳感器(HJ-IR2),發(fā)射出探測的脈沖,當在一定距離中探測到物體會重新輸入到MCU中進行處理,它相當于一個紅外開關(guān),檢測到障礙物輸出低電平,未檢測到則反之。在得知在停車過程中遇到的障礙物可以依據(jù)此對小車進行控制避免碰撞,此為接收管接收到信號之后,經(jīng)集成電路進行放大,會點亮模塊的LED燈管,并同時輸出給MCU一個低電平信號。紅外避障放大電路如圖3.28所示圖3.28紅外避障放大電路基本硬件:紅外發(fā)送管和接收管,通過對502可調(diào)電阻和103可調(diào)電阻的調(diào)節(jié)來實現(xiàn)探測距離的不同,變送電路:模擬量:數(shù)字量:將模擬量經(jīng)過比較器輸出開關(guān)量。采用兩個避障模塊,分別安裝在小車尾部的左右兩側(cè),可以隨之判斷停車時障礙物所在位置,使MCU進行相應(yīng)處理。在自動泊車的路徑規(guī)劃中,遇到各種障礙物也是本設(shè)計重點考慮的一點,現(xiàn)實停車中,車位前后又或者車前左右是會有各類車輛,本設(shè)計中不論車輛還是一些固定的物體統(tǒng)稱障礙物,紅外避障模塊的加入為周圍的環(huán)境檢測有否符合停車的條件,在另外一方面也在停車中保留了車輛與障礙物的安全距離。本設(shè)計將紅外避障模塊加在了車尾的兩端,當車輛在緩速行駛尋找可供停車的車位對于紅外避障模塊通用輸出\輸入的IO口的配置如下:右避障左避障3.3.3超聲波模塊HC-SRO4超聲波測距可提供2cm-40cm的非接觸式距離感測功能測距精度可達高到3mm;模塊包括超聲波發(fā)射器、接收器與控制電路。本設(shè)計利用超聲波傳感器來達到對自動泊車中精細調(diào)整。小車在進入自動泊車模式后,環(huán)境檢測部分會通過超聲波收集左右部掐障礙物的具體位置,在側(cè)方位泊車中可以利用檢測前后車輛的停車距離,倒車入圖3.29超聲波模塊超聲波的工作環(huán)境和工作原理:1、給超聲波模塊接入電源和地。2、給脈沖觸發(fā)引腳(trig)輸入一個長為20us的高電平方波3、輸入方波后,模塊會自動發(fā)射8個40KHz的聲波,與此同時回波引腳(echo)端的電平會由0變?yōu)?;(此時應(yīng)該啟動定時器計時)4、當超聲波返回被模塊接收到時,回波引腳端的電平會由1變?yōu)?;(此時應(yīng)該停止定時器計數(shù)),定時器記下的這個時間即為超聲波由發(fā)射到返回的總時長。5、根據(jù)聲音在空氣中的速度為344米/秒,即可計算出所測的距離。首先MCU先發(fā)送至少10us的高電平,觸發(fā)HC-RSO4,模塊內(nèi)部發(fā)出信號是傳感器自動回應(yīng)的,我們不用去管它。輸出回響信號是我們需要關(guān)注的。信號輸出的高電平就是超聲波發(fā)出到重新返回接收所用的時間。本次設(shè)計利用TIM3定時器,可以把這段時間記錄下來,算出距離,由于波的來回性,最后結(jié)果要除于2,因為總時間是發(fā)送和接收的時間總和。超聲波測距的算法工作如圖3.30所示//延時的方式讀取距離值voidGetDistanceDelay(void)//發(fā)送觸發(fā)信號Tr1g_SET;otatus=1;TIM_SetCounter(TIM4,0);IINCmd(TIM4,ENABLE)://打開定時器while(TIM_GetCounter(TIM4)<11);//延時超過10umatatus-2;Trig_RESET;TIM_SetCounter(TTM4,0);while(Echo-0)//等待回向信號起始位置1r(TT_GetCounter(TIN4)>60000)//回應(yīng)時間超出正常范圍TIM_Cmd(TIM4,DISABLE);//關(guān)閉定時器return;//本次失敗TIM_SetCounter(TIM4,0):1)//算長度intcount-TIMGetCounter(TI4):1t(count>60000)//回應(yīng)時間超出正常范圍:cm=0://失敗后就后退TIMCmd(TIM?,DISABLE)://關(guān)閉return;//本次失敗d1gcount=TIM_status-~0;//準備下次發(fā)送圖3.30超聲波計算函數(shù)本設(shè)計模擬倒車途中的后視攝像頭,將倒車時的情景展示在與上位機的屏幕當中,模擬出更真實的停車環(huán)境,實時監(jiān)控倒車時的情況,并通過WIFI模塊,在上位機編寫WIFI模塊采用標準的IEEE802.11n、帶有1個10/100MbpsLAN/WAN復(fù)用網(wǎng)絡(luò)接口一WIFI熱點名稱為:hjwifi2014。WIFI中的固件包括著一款芯片,可以同單片機進行串口通信,在上位機發(fā)送指令給本設(shè)計用Windows10作為上位機對WIFI發(fā)送指令,需要用到Microsoft.NETFramework,它是用于Windows的新托管代碼編程模型。它強大功能與新技術(shù)結(jié)合起來,用于構(gòu)建具有視覺上引人注目的用戶體驗的應(yīng)用程序,實現(xiàn)跨技術(shù)邊界的無縫通信,并啟動PC端軟件,可以看到設(shè)計好的畫面中的操作指令,指令也可以通過軟件中修改,來達到不同的控制。軟件名稱如圖3.31所示2017/1/2810:36文件夾Config2017/1/2810:372017/1/2810:362017/1/2810:36文件夾文件夾配置設(shè)置HJduino2017/1/2810:33應(yīng)用程序HJduindWifRobot.vshost2017/1/2810:332017/1/2810:33ProgramDebug應(yīng)用程序WifRobot.vshost.exe.manifest2016/7/1619:44MANIFEST文件圖3.31PC控制軟件軟件中的界面基本滿足對小車的基本控制,附帶有打開攝像頭的指令,在設(shè)置中也可以按照需求編寫新指令發(fā)送給主控芯片。操作界面如圖3.32所示舵機1舵機2舵機3能機4能機5舵機呻叭設(shè)置拍昭視頻車燈異步收發(fā)器,它利用分數(shù)波特率發(fā)生器進行高速數(shù)據(jù)通信。RX:接收數(shù)據(jù)串行輸。通過過采樣技術(shù)來區(qū)別數(shù)據(jù)和噪音,從而恢復(fù)數(shù)據(jù)TX:發(fā)送數(shù)據(jù)輸出。當發(fā)送器被禁止時,輸出引腳恢復(fù)到它的I/O端口配置。當發(fā)送器同時用于數(shù)據(jù)的發(fā)送和接收。PC端操作指令修改如圖3.33所示。在本設(shè)計中,同時開啟數(shù)據(jù)的收發(fā),根據(jù)收到的WIFI信號進行判斷,串口WIFI解/*Readonebytefromthereceivedataregister*/rec_data=USART_ReceiveData(USART3);if(start!=O&&rec_data!=Oxff)//如果已收到包頭并且當前收到的不是包尾{buf[start-1]=rec_data;//緩存數(shù)據(jù)『elseif(start!=O&&rec_data==Oxff)//如果收到包尾{mode[0]=buf[O];//給狀態(tài)存儲數(shù)組賦值mode1=1;//指示主函數(shù)循環(huán)檢測一次elseif(rec_data==0xff&&start==0)//如果收到的是包頭}PC端可以修改相關(guān)的指令代碼,修改指令如圖4.11所示。圖3.33PC端指令3.4小車成品本設(shè)計將超聲波安裝在車身中位,紅外避障模塊安置在車尾的兩端,兩路循跡模塊安置在車尾兩端,三路循跡模塊則安裝在車尾中部。成品的小車如圖3.34所示圖3.34小車車尾攝像頭則安裝在車尾處,可以觀察倒車時后視的環(huán)境,也適用于作為圖像處理的后續(xù)功能推進,WIFI模塊在開發(fā)板的下方,不影響信號的前提下也得到了合理的空間放置。各個模塊在本系統(tǒng)輔助的功能都不相同,但又息息相關(guān)。避障模塊可以檢測前方是否有障礙物,超聲波模塊可以根據(jù)障礙物的距離進行車輛調(diào)整,循跡模塊根據(jù)停車線的位置來對小車的路徑規(guī)劃,由圖3.35所示圖3.35小車功能模塊分布圖3.5泊車算法設(shè)計和環(huán)境搭建常見的泊車方式有:側(cè)方位泊車和倒車入庫泊車,本設(shè)計根據(jù)兩種泊車方式設(shè)計了3.5.1側(cè)方位泊車1.側(cè)方位泊車環(huán)境分析與搭建側(cè)方位停車位的設(shè)置主要是為了道路的寬度而設(shè)置,機動車駕駛證考試中的科目二就有一項側(cè)方位停車法。本設(shè)計由科目二駕駛中的側(cè)方停車為標準,側(cè)方位泊車如圖圖3.36側(cè)方位泊車示意圖本設(shè)計使用底色為白色的紙板粘接而成,在紙板上先用鉛筆畫出固定面積的側(cè)方位停車位,停車線的寬度為1CM,顏色要和白色地板有明顯的區(qū)分,采用黑色記號筆涂滿1CM寬度的停車線。測試環(huán)境中設(shè)計為三個停車位和一條道路中心線,可以根據(jù)停車的不同場景,將障礙物和代替小車的物體放在相鄰的停車位。2.側(cè)方位泊車算法設(shè)計根據(jù)停車的不同場景,本設(shè)計通過收集的環(huán)境信息進行了不同的處理,并作出不同的控制電信號。如果未掃描到障礙物和相鄰小車,系統(tǒng)主要通過循跡模塊對停車線反射的強度不同來定位停車位的具體位置。具體算法邏輯如流程圖3.37所示:選擇側(cè)方位泊車N車位滿足停車條件調(diào)整小車位置Y左轉(zhuǎn)左循跡模塊=1左轉(zhuǎn)右循跡模塊=1左轉(zhuǎn)200MS前進(速度減右轉(zhuǎn)100MS擺正車身中循跡模塊=1中循跡模Y后退(速度減半)N泊車完成圖3.37側(cè)方位泊車流程圖以車位在車輛的左后方開始設(shè)計泊車算法:1、按下遙控器按鈕平行泊車模式,開始檢測周圍環(huán)境信息,如果超聲波反射回來的距離小于10CM則判斷為障礙物,大于10CM則判斷為無障礙物。2、減速后退直到超聲波判斷距離大于10CM且紅外避障無感應(yīng)。4、左循跡模塊感應(yīng)到停車線,系統(tǒng)收集到此時車輛左轉(zhuǎn)角度,然后繼續(xù)左轉(zhuǎn)。5、右循跡模塊感應(yīng)到停車線,系統(tǒng)收集到此時車輛位置信息,由于小車左轉(zhuǎn)角度還不足,系統(tǒng)此時再給予一個200MS的左轉(zhuǎn)信號。6、車輛左轉(zhuǎn)角度已經(jīng)足夠,停車時的車輛速度不能過快,修改高電平的占比,降低速度,給出一個持續(xù)前進的電信號7、中循跡模塊感應(yīng)到邊緣停車線,小車停止。8、開始擺正車身,根據(jù)左轉(zhuǎn)的角度,給出相同延時右轉(zhuǎn)信號擺正車身9、右轉(zhuǎn)進行時,對中循跡模塊進行判定,如果收集到電信號,對小車進行后退調(diào)整,相關(guān)算法設(shè)計如下代碼if(LL_DATA==BLACK_AREA){delay_ms(18000);}}if(RR_DATA==BLACK_AREA){delay_ms(18000);delay_ms(6000);delay_ms(18000);}}elseif(auto_flag==3)『{{}}}{SPEED_DUTY=20;delay_ms(4000);}3.5.2倒車入庫1.倒車入庫環(huán)境分析與搭建倒車入庫是多數(shù)停車場中的停車建設(shè),停停車場都有較為規(guī)范的停車線規(guī)劃和停車建設(shè),對于線條的感應(yīng)也更容易,倒車入庫示意圖如圖3.38所示圖3.38倒車入庫示意圖本系統(tǒng)針對倒車入庫的設(shè)計流程如圖3.39所示選擇倒車入庫泊車N超聲波距離>8cm后退調(diào)整左轉(zhuǎn)左循跡模塊=1右循跡模塊=1前進(速度減半)后退100MS中循跡模塊=1車身是否擺正N三路循跡對齊后退100MSY泊車完成圖3.39倒車入庫流程圖1、按下遙控器按鈕垂直泊車模式,開始檢測周圍環(huán)境信息,如果超聲波反射回來的距離小于10CM則判斷為障礙物,大于10CM則判斷為無障礙物。2、減速后退直到超聲波判斷距離大于10CM,且紅外避障未感應(yīng)到障礙物,開始左轉(zhuǎn)3、左循跡模塊感應(yīng)到停車線,系統(tǒng)收集到此時車輛左轉(zhuǎn)角度,然后繼續(xù)左轉(zhuǎn)。4、右循跡模塊感應(yīng)到停車線,系統(tǒng)收集到此時車輛位置信息,5、車輛左轉(zhuǎn)角度已經(jīng)足夠,調(diào)整車身,左轉(zhuǎn)至車身垂直。6、根據(jù)車身調(diào)整位置,三路循跡在同一條直線上,給出前進信號。7、倒車入庫完成。算法相關(guān)代碼如下voidAUTO_Vertical(void){{{if(distance_cm<15){}{}{delay_ms(18000);}}{f(SEARCHLDATA==BLACK_AREA){delay_ms(18000);auto_flag=2;?SPEED_DUTY=10;if(SEARCH_M_DATA==BLACK_ARE

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論