




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于STM32的可遙控自動跟隨小車設計摘要隨著智能技術在各行業得到了廣泛的應用和研究,各種功能的智能小車系統在針對不同領域不同需求的功能劃分也越來越明確。在小區快遞站環境中往往存在無配送人員配送上門,老人等弱勢人群無能力取件的情況。傳統物流人員運力不足,針對這種應用場景下的智能小車系統,本課題設計了一種基于STM32的可遙控自動跟隨小車主要完成了硬件平臺搭建和軟件層面設計兩個方面的工作。論文工作的硬件平臺采用STM32F103RCT6開發板,在遙控模式下,選擇了HX1838通過紅外遙控器實現對小車移動控制,在跟隨模式下,使用HX711檢測物品重量,HC-SR04獲取數據。電源方面選擇了便宜耐用的18650電池盒,該電池輕盈,便捷,易更換。在軟件設計方面在Keil5的基礎上完成了各個模塊的驅動開發。通過顯示模塊觀察數據,紅外遙控實現對小車的控制,超聲波檢測跟隨目標物體。關鍵詞STM32F103RCT6;紅外遙控;超聲波檢測;壓力傳感器檢測;Designofaremote-controlledautomaticfollowingcarbasedonSTM32AbstractWiththewidespreadapplicationandresearchofintelligenttechnologyinvariousindustries,intelligentcartsystemswithvariousfunctionsareincreasinglyclearlydividedintofunctionswithdifferentneedsindifferentfields.Intheenvironmentofregionalexpressdeliverystations,thereareusuallysituationswheretherearenodeliverypersonneldeliveringgoodstothedoorstep,andelderlyandothervulnerablegroupsareunabletopickupthegoods.Thetraditionallogisticspersonnelhaveinsufficientcapabilities.Inordertocopewiththeapplicationscenarioofthisintelligentcarsystem,thistopicdesignsaremote-controlautomatictrackingcarbasedonSTM32,mainlycompletingthehardwareplatformconstructionandsoftwareleveldesignintwoaspectsofwork.ThehardwareplatformforthepaperworkusestheSTM32F103RCT6developmentboard.Inremotecontrolmode,HX1838isselectedtoachievebracketmotioncontrolthroughinfraredremotecontrol.Intrackingmode,HX711andHC-SR04areusedtodetecttheweightofitemstoobtaindata.Intermsofpowersupply,choosethe18650-batterypackthatischeap,durable,lightweight,practical,andeasytoreplace.Intermsofsoftwaredesign,thedevelopmentofdifferentmodulesisbasedonKeil5.Byobservingthedatathroughthedisplaymodule,theinfraredremotecontrolallowsforcontrollingthecarandtrackingthetargetobjectthroughultrasonicdetection.KeywordsSTM32F103RCT6,infraredremotecontrol,ultrasonicdetection,pressuresensordetection目錄摘要 [23]。如圖4-11所示:在HX711未進入采集周期時,DOUT保持高電平,此時MCU控制的PD_SCK應保持低電平,當DOUT的狀態變為低電平時,HX711進入采集周期,保持低電平時間T1>1us。然后MCU開始控制PD_SCK輸出25~27個時鐘周期,其不同的周期數代表不同的增益和通道。圖4-11HX711時序圖對此模塊進行程序設計,首先需要進行物理連接,根據STM32F103RCT6使用手冊,對該模塊進行IO口配置,HX711IO口配置狀態如圖4-12所示:圖4-12HX711IO口配置圖其次需要讀取HX711芯片數據,根據PD_SCK的輸入時鐘脈沖數不應少于25或多27,否則會造成串口通訊錯誤,選擇了25脈沖數,以及增益128,具體的程序圖如圖4-13所示:圖4-13HX711數據獲取程序圖由上述內容可知,要對該模塊進行程序設計需要先進行物理連接配置IO口,其次需要采集模塊中的數據,最終需處理數據等到所測量的重量。模塊流程圖如圖4-14所示:圖4-14壓力傳感器程序流程圖超聲波模塊程序設計超聲波模塊測距依據超聲波從模塊中發射碰到物體反彈回模塊。記錄來回的時間,在根據聲波的速度就可以粗略估算出距離。將其計算出的數據傳遞到STM32核心,進行下一步處理。為了實現精確的計時和控制,STM32F103RCT6微控制器使用定時器和中斷模式。本設計選用PB6作為觸發信號的輸出。定時器是一個硬件模塊,它生成精確的時間間隔。通過設置定時器的重裝載值和預分頻系數,可以控制定時器的計時周期和頻率。在超聲波測距系統中,系統周期由定時器的設置和預分頻系數決定。超聲波測距的時序圖中,可以看到觸發信號持續10us的高電平,這個信號通過IO口的TRIG引腳發送給超聲波傳感器。傳感器接收到觸發信號后開始發送40KHz方波信號,然后等待信號返回。超聲波時序圖如圖4-15所示:當傳感器接收到信號的返回時,通過IO口的ECHO引腳將信號返回給微控制器。微控制器通過中斷程序來處理返回信號,并根據計時器的值計算出距離。整個過程由定時器和中斷模式實現精確的計時和控制。圖4-15超聲波時序圖本設計所需兩個超聲波模塊,需要占用4個IO口,本設計選用RCT6定時4的4個通道,PB6-PB9。PB6,PB8為Trig口需要設置為輸出模式,PB7,PB9IO口需要設定為浮空輸入模式,程序如圖4-16所示:圖4-16超聲波模塊IO口配置圖其次需要配置超聲波測距函數,聲明數據量,為了數據準確進行5次數據測量。計算超聲波響應時間,通過采集到的響應時間去計算距離,并且取5次的平均值返回結果。具體程序如圖4-17所示:圖4-17超聲波測距函數程序圖超聲波模塊測距依據超聲波從模塊中發射碰到物體反彈回模塊。記錄來回的時間,在根據聲波的速度就可以粗略估算出距離。將其計算出的數據傳遞到STM32核心,進行下一步處理。具體的模塊流程圖如圖4-18所示:圖4-18超聲波模塊流程圖顯示模塊程序設計首先,在程序開始時引入所需的庫文件,這些庫文件提供了簡化操作0.96英寸顯示屏的函數和方法。然后,進行顯示屏的初始化設置,包括初始化通信接口(如SPI、I2C等),配置顯示屏的參數(如分辨率、亮度等),以及設置顯示模式等。接下來,使用庫文件提供的函數或方法,將需要顯示的內容(如文本、圖形等)寫入顯示緩存區。可以通過指定坐標位置、選擇字體大小和顏色等來進行靈活的顯示設計。最后,將寫入顯示緩存區的內容實時更新到顯示屏,以確保內容能夠在屏幕上正常顯示。通過這些步驟,可以實現對0.96英寸顯示屏的控制和顯示內容的更新。在開發過程中,可以通過調試工具和輸出信息來調試和優化程序,以提高顯示效果和性能。圖4-19WireSPI時序圖WireSPI時序圖如圖4-19所示:根據SSD1306的4-WireSPI的時序圖,可以得知在寫入一字節數據時,需要按照數據的高位先行的順序進行發送操作。具體操作如下:首先,使用CS#(片選)信號選通SSD1306器件。然后,通過4-WireSPI進行通訊。在通訊過程中,使用D/C#(數據/命令選擇)信號來區分命令字節和數據字節。數據字節由8位的數據位組成,通過D0和D1線傳輸。數據的寫入操作在上升沿時進行,每次寫入一個字節的數據。可以通過連續發送多個字節來傳輸更多的數據。最后,結束通訊。最終將OLED顯示屏初始化后,調用顯示函數即可在屏幕中顯示數據,具體程序圖如圖4-20所示:圖4-20OLED主程序圖電機驅動模塊程序設計編寫L9110的程序設計可以按照以下步驟進行:首先,在程序開始時引入所需的庫文件。這些庫文件提供了簡化操作L9110的函數和方法。然后,進行引腳的初始化設置,將L9110的控制引腳連接到適當的GPIO引腳上。電機IO配置圖如圖4-21所示:圖4-21電機IO配置圖接下來,通過調用相應的函數或方法來控制L9110的驅動功能。例如,通過設置GPIO引腳的高低電平來控制L9110的電機正轉、反轉、停止等操作。同時,可以根據需要調整電機的轉速或轉向。如圖4-22所示:圖4-22驅動函數程序圖在程序的主循環中,可以根據具體的應用場景來控制L9110的運行邏輯。例如,通過按鍵、傳感器等觸發條件來控制電機的啟停或轉向等動作。在開發過程中,可以使用調試工具和輸出信息來驗證程序的運行情況,并根據需要進行調整和優化。通過這些步驟,可以實現對L9110的控制和驅動,使其能夠根據程序邏輯實現相應的電機動作。如圖4-23所示:圖4-23電機驅動模塊流程圖本章小結本章節從主到次完成對小車系統的軟件設計。首先介紹STM32單片機軟件程序設計,介紹了STM32程序開發環境,完成STM32主程序流程設計和主要功能模塊程序設計。其次講述各個模塊程序設計,超聲波測距模塊程序設計,分析了測距的原理,配置的IO口,和該模塊程序流程;紅外模塊程序設計與實現,確定使用RCT6的定時器3進行配置,介紹了紅外遙控器按鍵的處理;壓力傳感器檢測程序設計,介紹了壓力傳感器模塊的組成,以及連接的IO口;OLED顯示,介紹了OLED屏幕的通訊形式和顯示方式;電機驅動模塊,介紹了電機驅動模塊驅動電機的具體過程。可遙控自動跟隨小車測試與調試調試方案在本章中,將介紹可遙控自動跟隨小車的測試與調試過程。該小車具備遠程遙控和自動跟隨功能,能夠在空曠環境下,實現一定功能的跟隨。本章將詳細說明如何正確設置和操作小車,以確保其功能正常運行。對本基于STM32可遙控自動跟隨小車進行調試時。需要采取以下步驟進行:1.確定硬件連接:檢查紅外接收器,超聲波模塊,壓力傳感器模塊,電機驅動器的連接。確保上述各個模塊正確連接到主控制板,并且驅動器正確連接到電機。如圖5-1所示:圖5-1小車實物圖2.確認電源供應:確保小車的電源供應正常工作,并且電池或電源適配器已正確連接。打開穩壓電源模塊的開關,確保穩壓模塊正常運行,最終打開18650電池盒開關,觀察到全部模塊指示燈正常亮起,表示各模塊正常運行。如圖5-2所示:圖5-2檢查電源連接圖3.代碼檢查:檢查KEIL代碼,確保Main主函數正確使用了傳感器庫和相關函數。確保代碼沒有語法錯誤,沒有錯誤報告,無冗余代碼,傳感器IO口合理配置完成并且正確地處理各個模塊信號,部分核心代碼配備注釋。這些信息可以幫助你理解代碼的執行流程,以及檢查變量和狀態的值。可以使用串口調試輸出、LED指示燈或者其他適當的方式輸出信息。如圖5-3所示:圖5-3中斷函數程序圖4.測試傳感器:數據傳輸:例如使用紅外遙控器發送信號,確保接收器能夠正確接收信號。可以觀察到當摁下紅外遙控器按鍵時,接受模塊LED指示燈亮起,也可以通過在主控制板上輸出信號或打印接收到的信號來驗證。該信號通過串口調試助手在PC端觀察到紅外遙控的鍵值,以及執行內容。如圖5-4所示:該圖表示摁下了鍵值為56的按鍵,執行小車停止前進的指令內容。圖5-4串口數據圖5.檢查控制電機:本設計最終指令都需電機完成,確保電機正確物理連接,使用接收到的信號控制電機為本設計的重要一環。首先確保電機驅動器正確工作,與電機的物理連接是否斷開,其次檢查電機是否損壞,最終確保電機能夠根據接收到的指令正確運行。如圖5-5所示:圖5-5電機連接圖當上述準備工作完成后,需對本設計的功能進行調試,應對小車兩種模式進行測試。首先,需要測試小車的跟隨模式,在確認上述調試步驟全部完成后,開啟電源,等待系統化初始后,蜂鳴器發出開機提醒后,摁下紅外遙控按鍵,切換小車模式,此時顯示屏顯示MODE:1(跟隨模式),小車需要跟隨前方人體。由人體檢測模塊判斷前方是否有人體,如有,小車里利用兩側超聲波傳感器使用三角算法,跟隨人體,如判斷沒有,小車不斷規避周圍物體,直至接收到人體檢測存在信號。小車跟隨模式下狀態如下圖5-6所示:圖5-6跟隨狀態圖其次,測試小車的遙控模式,在確認上述調試步驟全部完成后,開啟電源,等待系統初始化后,蜂鳴器發出開機提醒后,此時顯示屏顯示MODE:0(遙控模式),按壓紅外遙控器的按鍵,小車應做出前進、左轉、右轉、停止等行動指令。當按下紅外遙控器前進鍵時,紅色LED燈亮起,小車兩側電機開啟正轉。當按下紅外遙控器停止鍵時,紅色LED燈亮起,小車兩側電機停止轉動。小車遙控模式下狀態如圖5-7所示圖5-7遙控狀態圖各模塊調試方案超聲波模塊調試方案將傳感器模塊引腳正常連接,電池盒電源開啟,穩壓電源模塊開啟,在小車前方放置物體,調整物體與傳感器的距離,利用串口打印工具觀察傳感器上傳的數據。首先,選取平面鏡作為做測試物,如圖5-8所示:通過PC端串口調試助手觀察數據,數據顯示此時物體與傳感器大致相距4cm左右。可知小車前段兩側傳感器全部探知前方近距離存在物體。圖5-8兩側近距離檢測圖如圖5-9所示:當物體遠離傳感器時,傳感器所檢測的數據也會改變。當將測試物品遠離小車前方兩側超聲波模塊時,通過PC端串口調試助手觀察數據,發現數據正在逐漸變大。數據顯示此時物體與傳感器大致相距12cm左右。由上述兩次測試可知,小車前方兩側超聲波模塊可以同時進行測距。圖5-9兩側遠距離檢測圖如圖5-10所示,此時物體距離小車前段右側傳感器較近時,通過PC端串口助手觀察數據可知,左側傳感器并沒有探測到前方近距離存在物體,右側傳感器數據顯示前方近距離存在物體,通過兩側傳感器的數據差異,可以粗略的估計小車前方物體在小車的右側。但本設計在移動過程中,傳感器數據有一定延遲,需要設置一個誤差范圍,當兩側傳感器數據差超過誤差范圍時,小車向左或向右移動。圖5-10右側近距離檢測圖如圖5-11所示,此時物體距離小車前段左側傳感器較近時,通過PC端串口助手觀察數據可知,右側傳感器并沒有探測到前方近距離存在物體,左側傳感器數據顯示前方近距離存在物體,通過兩側傳感器的數據差異,可以粗略的估計小車前方物體在小車的左側。由兩次調試結果,大致設計誤差范圍為5cm。圖5-11左側近距離檢測圖壓力傳感器模塊調試方案在系統完成初始化后,將小車利用紅外遙控,調節為稱重模式,將物品放在傳感器檢測盤上,傳感器將重量數據傳遞給STM32核心板,通過串口打印助手在PC端進行數據觀察,首先,將一塊鏡子放入放置盤照片那個測試,如圖5-12所示:圖5-12放置物品1圖其次,換用小車紅外遙控器進行數據測試。如圖5-13所示:當改變小車后方載物盤中所載物體時,傳感器所傳輸的數據也有所改變。但在小車未打開電源時,就放置物品,數據獲得一定量的初重,影響數據的準確性。圖5-13放置物品2圖紅外遙控模塊調試方案在系統完成初始化后,操縱紅外遙控器按鈕,傳感器將數據傳遞給STM32核心板,Main函數通過鍵值判斷執行命令,并且通過串口打印助手在PC端進行數據觀察,改結果表示紅外遙控器發射信號,STM32核心成功接受信號,如圖5-11所示圖5-14紅外接受信號圖紅外遙控作為本設計的核心部件之一,小車絕大部分功能都需要以此實現,首先為小車的模式轉換。按下星號鍵,小車為遙控模式,按壓井號鍵,小車為跟隨模式。如圖5-15、5-16所示:當按下星號鍵時,OLED顯示屏顯示為MODE:0,該代碼代表著小車的紅外遙控模式。當按下星號鍵時,OLED顯示屏顯示為MODE:1,該代碼代表著小車的跟隨模式。圖5-15遙控模式OLED顯示圖圖5-16跟隨模式OLED顯示圖本章小結本章節主要對本設計功能進行測試。分析了采用的測試方法以及測試達到的效果,實現了小車兩種基本功能、超聲波測距功能、紅外遙控功能和重量檢測功能。測試結果表明,基于STM32的可遙控自動跟隨小車能夠滿足系統設計功能需求。結論本文通過查詢國內外相關資料和文獻,分析了國內外智能小車的發展情況。考慮到當前社會的發展趨勢,普通家庭對物流服務的需求日益增長,同時也存在大量弱勢群體難以自行取快遞的問題。鑒于這一社會背景,本文設計一種基于STM32的可遙控自動跟隨小車。主要研究內容如下:1.本設計使用超聲波傳感器HC-SR04進行距離探測,使用0.96寸OLED顯示屏顯示距離數據。當兩側傳感器數據有一側小于設定值,小車進行倒退,完成避障功能。2.本設計通過壓力傳感器模塊采集物品重量情況,配合蜂鳴器和OLED顯示屏,重量數據顯示在OLED屏幕。當數據高于設定值時,小車發出超重警報,完成超重報警功能。3.本設計通過紅外遙控模塊來控制小車的模式切換,配合蜂鳴器提醒和OLED顯示屏顯示小車模式(默認為遙控模式),摁下紅外按鍵改變MODE值(切換模式),在遙控模式下,能夠控制小車移動,實現了紅外遙控功能。4.本設計通過電機驅動模塊來控制直流電機工作,STM32核心發送電平信號,配置控制行動函數PWM占空比,調節電機正轉反轉。完成小車基本移動功能。5.本設計通過人體檢測模塊檢測前方是否存在人體,OLED顯示屏顯示數據,配合超聲波模塊判斷前方物體位置。如前方存在人體,則小車進行跟隨,否則進行避開,一定程度實現了人體跟隨功能。本文的不足如下:1.兩側電機存在轉速差。在小車移動過程中,觀察到其中一側電機轉速較高,而另一側電機轉速較低。這導致了小車的移動軌跡不穩定,并且影響了功能的準確性。對此情形,通過更改兩側電機PWM占空比,使得小車能夠正常行駛。2.傳感器數據不穩定,本設計使用的多為價格低廉的模塊。在小車移動過程中,觀察到傳感器模塊的輸出數據存在波動和不一致性,對小車的運行帶來很大挑戰。3.紅外遙控距離有限。在小車運行中,觀察到使用的紅外遙控模塊的信號傳輸距離較短,限制了用戶對小車的遙控能力。這種紅外遙控距離有限的問題可能涉及到使用的紅外遙控模塊的性能和設計限制發射器和接收器的功率限制,導致信號無法有效傳播并達到較遠的距離。參考文獻王河濤.城市社區物流共同配送模式研究[D].吉林大學,2016(10).賀冰倩.倉庫智能AGV路徑設計及調度研究[D].華中科技大學,2019(03).李金鑫,陳娜.電商快遞最后一公里配送問題分析及對策研究[J].中國物流與采購,2023,No.662(01):55-56.馬建,劉曉東,陳軼嵩等.中國新能源汽車產業與技術發展現狀及對策[J].中國公路學報,2018,31(08):1-19.唐修俊,蔡世忠.智能車路徑跟蹤控制[J].計算技術與自動化,1989,(02):19-23.周龍旗,劉建平.智能車視覺導航系統[J].機器人,1991,(02):33-38.徐友春,王榮本,李兵,紀壽文.一種機器視覺導航的智能車輛轉向控制模型設計[J].中國公路學報,2001,(03).胡海峰,史忠科,徐德文.智能汽車發展研究[J].計算機應用研究,2004,(06):20-23.金輝,牛若飛.基于A*算法的智能車多紅綠燈信號交叉口通行的經濟車速規劃研究[J].北京理工大學學報.馮三槐,陶文華,張華峰,王佳明.樹莓派自動避障小車的消防應用[J].物聯網技術,2023,13(04):144-146+149.FioriniP,ShillerZ.Motionplanningindynamicenvironmentsusingvelocityobstacles[J].Theinternationaljournalofroboticsresearch,1998,17(7):760-772.GrossHM,MuellerS,SchroeterC,etal.Robotcompanionfordomestichealthassistance:Implementation,testandcasestudyundereverydayconditionsinprivateapartments[C]//2015IEEE/RSJInternationalConferenceonIntelligentRobotsandSystems(IROS).IEEE,2015:5992-5999.ShashankMS,SaikrishnaP,AcharyaGP,etal.DesignandDevelopmentofHumanFollowingAutonomousAirportBaggageTransportationSystem[C]//2022InternationalCo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同變更協議書共
- 廢舊瀝青購買合同
- 水穩料供銷合同
- 廠房電路安裝合同
- 拆舊合同協議
- 連鎖超市合作協議合同書
- 甲方更改合同協議
- 工程裝修維修協議合同書
- 重要的合同協議放在哪兒
- 合同附件技術協議
- 2023年鄭州軌道工程職業學院單招職業適應性考試題庫及答案1套
- 2025年許昌職業技術學院單招職業技能測試題庫附答案
- 國家糧食和物資儲備局直屬聯系單位招聘筆試真題2024
- 2024年新食品安全法相關試題及答案
- 新疆阿克蘇地區拜城縣2023-2024學年七年級下學期數學期中考試試題(含答案)
- 攀枝花2025年四川攀枝花市仁和區事業單位春季引才(15人)筆試歷年參考題庫附帶答案詳解
- 勞務派遣標書項目實施方案
- 手術安全管理課件圖文
- 2025年河南經貿職業學院高職單招職業技能考試題庫附答案解析
- 2025年《義務教育小學美術課程標準測試卷2022版》測試題庫及答案
- 2024北京東城區初一(下)期末英語試題和答案
評論
0/150
提交評論