基于STM32的智能電動小車設(shè)計_第1頁
基于STM32的智能電動小車設(shè)計_第2頁
基于STM32的智能電動小車設(shè)計_第3頁
基于STM32的智能電動小車設(shè)計_第4頁
基于STM32的智能電動小車設(shè)計_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-PAGEI-本科畢業(yè)設(shè)計(論文)-PAGE1-基于STM32的智能電動小車設(shè)計摘要21世紀(jì)伴隨著現(xiàn)代工業(yè)技術(shù)快速發(fā)展,智能機器成為社會發(fā)展以及經(jīng)濟發(fā)展的重要推動力量,電動智能小車成為智能機器的一大代表[3]。通過電動智能小車的循跡功能、自動避障功能,能為人們的生活提供很多實際的幫助[4],如自動送餐機器車能夠自動送餐送貨,或是現(xiàn)在電動汽車自動泊車、自動駕駛之類的功能,且在行駛過程中能夠避開障礙物,把東西安全的送到目的地,都基于電動智能小車的研究。針對當(dāng)前智能車的研究背景和熱點,本次畢業(yè)設(shè)計研究的是基于STM32的智能電動小車設(shè)計,通過主控芯片對實時數(shù)據(jù)的處理,利用基于智能算法的控制程序?qū)π≤噷崟r控制,以達到自動循跡、自動避障、遠程遙控、以及對小車運動狀態(tài)實時監(jiān)控的目的。本次畢業(yè)設(shè)計的創(chuàng)新點包括系統(tǒng)采用模塊化設(shè)計、紅外模式和藍牙模式的遙控方式采用模塊化設(shè)計,以及在遠程遙控小車上采用兩種遙控方式,分別為紅外遙控模式以及藍牙遙控模式,通過多遙控方式為小車的控制提供多層保障,以使在一種遙控方式失靈的情況下,能夠切換為另一遙控方式控制小車關(guān)鍵詞:STM32,遠程遙控,自動循跡,自動避障-PAGEIV-IntelligentelectriccardesignbasedonSTM32AbstractWiththerapiddevelopmentofmodernindustrialtechnologyinthe21stcentury,intelligentmachineshavebecomeanimportantdrivingforceforsocialdevelopmentandeconomicdevelopment.Theelectricintelligentcarhasbecomealargerepresentativeoftheintelligentmachine[3].Throughthetrackingfunctionandautomaticobstacleavoidancefunctionoftheelectricintelligentcar,itcanprovidealotofpracticalhelpforpeople'slives[4],suchastheautomaticfooddeliverymachinecarcanautomaticallydeliverfoodanddelivery,ortheautomaticparkingandautomaticdrivingfunctionsoftheelectriccarnow,anditcanavoidobstaclesduringthedrivingprocess.Thesafedeliveryofthingstothedestinationisbasedontheresearchofelectricintelligentcars.Inviewofthecurrentresearchbackgroundandhotspotsofintelligentvehicles,thisgraduationprojectstudiesthedesignofintelligentelectriccarbasedonSTM32.Throughtheprocessingofreal-timedatabythemaincontrolchip,thecontrolprogrambasedonintelligentalgorithmisusedtocontrolthecarinrealtime,soastoachievethepurposeofautomatictracking,automaticobstacleavoidance,remotecontrolandreal-timemonitoringofthecarmotionstate.Theinnovationofthisgraduationdesignincludesthemodulardesignofthesystem,themodulardesignofinfraredmodeandBluetoothmodeofremotecontrol,andtheuseoftworemotecontrolmethodsontheremotecontrolcar,respectivelyinfraredremotecontrolmodeandBluetoothremotecontrolmode,throughmultipleremotecontrolmethodstoprovidemulti-layerprotectionforthecontrolofthecar,sothatinthecaseoffailureofaremotecontrolmode,CanswitchtoanotherremotecontrolmodetocontrolthecarKeywords:STM32,remotecontrol,automatictracking,automaticobstacleavoidance 目錄摘要 IAbstract II引言 11緒論 21.1研究背景 21.2研究意義 21.3國內(nèi)外研究現(xiàn)狀 21.3.1國內(nèi)研究現(xiàn)狀 21.3.2國外研究現(xiàn)狀 21.4本次智能電動小車的研究內(nèi)容 22智能電動小車的總體設(shè)計方案 42.1小車功能實現(xiàn)——循跡 42.2小車功能實現(xiàn)——避障 52.3小車功能實現(xiàn)——遠程遙控 52.4小車功能實現(xiàn)——小車數(shù)據(jù)實時顯示 52.5本章小結(jié) 53基于STM32的硬件結(jié)構(gòu)及選型 63.1MCU主控芯片 63.1.1主控制電路設(shè)計 63.2電機驅(qū)動模塊 73.2.1電機驅(qū)動電路 73.3電源模塊 83.3.1輔助電源電路——3.7V轉(zhuǎn)5V 83.3.2輔助電源電路——5V轉(zhuǎn)3.3V 93.4超聲波測距模塊 102.4.1超聲波測距電路設(shè)計 103.5紅外循跡模塊 113.5.1紅外避障傳感器電路設(shè)計 113.6OLED顯示模塊 123.6.1OLED液晶顯示電路設(shè)計 123.7遠程遙控電路設(shè)計 133.7.1紅外遙控電路設(shè)計 133.7.2藍牙遙控電路設(shè)計 143.8智能小車的整體硬件設(shè)計圖 143.9本章小結(jié) 154基于流程控制的軟件系統(tǒng)設(shè)計 154.1主程序設(shè)計 154.2子模塊軟件設(shè)計 164.2.1紅外循跡軟件程序設(shè)計 164.2.2超聲波避障軟件程序設(shè)計 174.2.3藍牙遙控軟件程序設(shè)計 184.2.4紅外遙控軟件程序設(shè)計 194.3本章小結(jié) 205智能電動小車實測及數(shù)據(jù)分析 215.1智能電動小車測試概述 215.2智能電動小車的硬件模塊測試 215.2.1紅外循跡模塊測試 215.2.2超聲波測距模塊測試 215.2.3藍牙通信模塊測試 225.2.4紅外遙控模塊測試 225.3智能電動小車功能的整體測試 226結(jié)論 25參考文獻 26附錄1智能電動小車PCB圖 27附錄2智能電動小車主程序代碼 28附錄3智能電動小車實物圖 33附錄4元器件清單 34致謝 34·1··PAGE15·PAGE1引言隨著21世紀(jì)的智能機器人發(fā)展,智能機器人所為我們提供的便利,正潛移默化的融入我們的生活當(dāng)中。智能電動小車作為智能機器人的主要代表之一,對其的深入研究,能夠使智能機器人為我們的生活以及社會生產(chǎn)提供更加豐富的便利,以提高社會生產(chǎn)的工作效率,減輕人們的工作負擔(dān)。本次畢業(yè)設(shè)計的主題是基于STM32為主控芯片的智能電動小車設(shè)計,其需要實現(xiàn)的功能為小車的自動避障、自動循跡、遠程遙控以及顯示模塊實時顯示小車數(shù)據(jù)等功能。完成本次智能小車的設(shè)計集合了很多方面的技術(shù),如硬件模塊設(shè)計、軟件程序設(shè)計以及最重要的STM32芯片的工作原理以及工作方式等。

1緒論1.1研究背景基于STM32的智能電動小車具有自動循跡、自動避障以及遠程遙控等功能,在如今現(xiàn)代化社會生產(chǎn)的快速發(fā)展、物聯(lián)網(wǎng)蓬勃發(fā)展的情況下,智能電動小車在物流運輸、交通運營以及人們的生活中越來越占據(jù)不可替代的地位。因此智能電動小車成為了研究的熱門方向,其中STM32微處理器,由于其擁有強大的計算能力以及豐富的外設(shè)模塊,使其成為了智能電動小車主控芯片的理想之選。1.2研究意義通過對STM32智能電動小車的深入研究,可以為人們的生活生產(chǎn)帶來巨大的便利,推動了現(xiàn)代智能交通、智能物流、自動駕駛等實踐使用價值的提升。并且通過學(xué)生對于此類畢設(shè)的學(xué)習(xí),能夠幫助學(xué)生們對于嵌入式系統(tǒng)以及算法軟件程序的學(xué)習(xí)有實際的感受以及更易理解嵌入式的知識,并且能夠給學(xué)習(xí)者提供一個科研平臺,推動學(xué)生科研教育的培養(yǎng)。1.3國內(nèi)外研究現(xiàn)狀1.3.1國內(nèi)研究現(xiàn)狀近年來伴隨國內(nèi)對于智能小車的研究熱度不斷上升,加上政府對于智能小車的發(fā)展給予了一系列政策的支持,許多高校和研究機構(gòu)在智能小車的研究上取得了豐碩的成果,智能小車的技術(shù)水平不斷上升,主要體現(xiàn)在智能小車的感知,控制以及智能算法的提升和改進。智能小車伴隨著多種傳感器技術(shù)的發(fā)展,所擁有的智能水平也隨之提升,現(xiàn)如今國內(nèi)智能小車的應(yīng)用場景不斷拓展,智能小車在人們的生活生產(chǎn)中越來越占據(jù)不可替代的位置,為人們提供了更多的便利以及解決方案。1.3.2國外研究現(xiàn)狀國外對于智能小車的研究非?;钴S,特別歐美等國家在智能電動小車的核心技術(shù),如對于智能小車的主控芯片的研究、智能小車的算法優(yōu)化以及傳感器技術(shù)的研究等技術(shù)上具有領(lǐng)先優(yōu)勢,其次國外對于智能電動小車的研發(fā)和應(yīng)用支持,推動了智能電動小車產(chǎn)業(yè)的快速發(fā)展、應(yīng)用領(lǐng)域的快速拓展。推動了智能小車的快速發(fā)展以及提高了智能電動小車的使用價值以及經(jīng)濟價值。1.4本次智能電動小車的研究內(nèi)容本次基于STM32智能電動小車設(shè)計,主要研究設(shè)計智能電動小車的主要功能為小車自動避障、自動循跡以及遠程遙控等。對智能小車的研究結(jié)合了智能小車的多種優(yōu)點,采用了硬件模塊化設(shè)計,對于硬件損壞或是失靈,能夠更快的檢修替換,并且本次智能電動小車的設(shè)計采用了雙遙控方式,以應(yīng)對當(dāng)一種遙控方式失靈的情況下能夠切換到另外一種模式繼續(xù)控制小車的行動。

2智能電動小車的總體設(shè)計方案本次基于STM32的智能小車設(shè)計,預(yù)計實現(xiàn)的功能為:自動循跡、自動避障、信息顯示以及通過紅外遙控模塊和藍牙通信模塊實現(xiàn)對小車的遠程控制。為了實現(xiàn)這些功能,我們將這三個功能分為四個模式,第一個模式為小車循跡模式,第二個模式為小車自動避障的模式,其中為了采用藍牙以及紅外遙控方式兩種遙控方式來控制智能小車,小車設(shè)定第三個模式為紅外遙控模式,第四個模式為藍牙遙控模式。小車將由以下幾個模塊基本組成:1、電機驅(qū)動模塊,2、紅外遙控模塊,3、電源模塊、4、紅外循跡模塊,5、超聲波測距模塊、6、OLED屏幕顯示模塊,7、藍牙通信模塊。如若后期需要對小車功能的調(diào)整可以再在剩下的單片機串口添加相對應(yīng)的硬件。本次智能小車的功能設(shè)計直接采用相對應(yīng)的硬件模塊進行設(shè)計,不僅能夠簡化硬件設(shè)計和軟件程序設(shè)計還以便于后期對于故障損壞硬件的直接更換,以減輕檢查故障,更換損壞元件的難易程度。智能小車的系統(tǒng)原理框圖如圖1所示。圖1系統(tǒng)原理框圖2.1小車功能實現(xiàn)——循跡智能小車上,紅外循跡模塊與單片機的串口相連,主控芯片控制紅外循跡模塊處理通過紅外傳感器通過照射黑色膠布使得接收到反射信號,紅外循跡??彀研盘杺魉徒o單片機進行處理,以判斷是否行駛在預(yù)定路線上。情況一:若小車行駛在預(yù)計軌跡上,則小車?yán)^續(xù)前行。情況二:若小車的行駛路徑發(fā)生偏移,單片機通過紅外傳感器測量出正確的行駛路徑,并且發(fā)出軌道修正的信號以驅(qū)動電機,直到行駛到正確的行駛路徑為止。情況三:若小車通過紅外傳感器識別附近并沒有路徑的反射信號或是小車的紅外循跡模塊同時接收到反射的紅外線,則小車將待機停止運動。2.2小車功能實現(xiàn)——避障智能小車上,裝有超聲波測距模塊,超聲波測距模塊包含超聲波發(fā)射器以及超聲波超聲波接收器。通過主控芯片對超聲波測距模塊發(fā)出信號,打開超聲波發(fā)射裝置,發(fā)射超聲波,再通過超聲波接收器接收返回的超聲波,來計算距離障礙物的距離。小車采用四直流電機的驅(qū)動方式,因此超聲波測距模塊為固定在小車的正面方向的。超聲波測距模塊,通過收發(fā)超聲波的時間間隔計算出小車距離障礙物的距離,然后把信息數(shù)據(jù)傳輸?shù)街骺匦酒骺匦酒幚頂?shù)據(jù)后,通過對設(shè)定值的判斷,控制智能小車的直流電機,使小車?yán)^續(xù)前進、停止、轉(zhuǎn)彎等行動,從而達到自動避障的目的2.3小車功能實現(xiàn)——遠程遙控智能小車上,選擇兩種遙控方式,方式一為藍牙遙控藍牙接收器與單片機相連,通過藍牙接收器與上位機直接聯(lián)系,藍牙通信模塊接收到來自配對上位機所傳來的信號后,傳輸給單片機,單片機對上位機所傳來的信號進行處理,處理過后根據(jù)上位機所發(fā)出的指令如:“前進、后退、左轉(zhuǎn)、右轉(zhuǎn)。”等等,單片機向電機驅(qū)動發(fā)出指令以完成上位所發(fā)出的指令,并且單片機可以通過藍牙串口向上位機發(fā)出小車實時情況數(shù)據(jù),如小車的速度測量、小車行駛里程等信息。方式二為紅外遙控,選用紅外遙控模塊與主控芯片相連,通過處理上位機發(fā)送的紅外信號,從而使主控芯片控制電機,以達到控制智能小車運動的目的。2.4小車功能實現(xiàn)——小車數(shù)據(jù)實時顯示為了能夠更好的得知智能小車行駛的實時數(shù)據(jù),本次智能小車將使用OLED屏幕顯示模塊的引腳與小車主控芯片相連,通過I2C通信使主控芯片能夠把小車上傳感器或是其他監(jiān)控檢測模塊所傳輸?shù)叫酒男畔?shù)據(jù)實時傳輸?shù)絆LED屏幕顯示模塊上,通過屏幕顯示從而達到小車數(shù)據(jù)的實時顯示,并且在不同模式下小車所顯示的信息也不相同,在不同模式下,屏幕信息所顯示的數(shù)據(jù)類型將更改,使我們能夠在不同模式下都能在小車顯示屏幕上看到我們所需要的信息數(shù)據(jù)。2.5本章小結(jié)本章介紹了基于STM32智能電動小車的總體設(shè)計方案,以及小車自動循跡、自動避障、遠程遙控和小車數(shù)據(jù)實時顯示功能實現(xiàn)的方案設(shè)計。

3基于STM32的硬件結(jié)構(gòu)及選型3.1MCU主控芯片本次智能小車,需要一款性能豐富的芯片來處理紅外線循跡模塊、超聲波模塊、電機驅(qū)動模塊以及藍牙通信模塊等傳送的信息,并傳輸出正確的指令,以使得小車的以完成自動避障、循跡以及實時信息顯示的功能。STM32F1芯片的功能基本適用,且價格低廉,非常適合本次智能小車主控芯片的選型,所以本次智能小車采用的微處理器芯片是STM32F103C8T6芯片。3.1.1主控制電路設(shè)計本智能小車控制系統(tǒng)選用STM32F103C8T6芯片,主控芯片的最小系統(tǒng)原理圖如圖3.1.1所示。主控芯片STM32F103C876元件圖,如圖3.1.2所示。主控芯片的PD0/1與晶振相連,為單片機提供恒定的時鐘信號。PB7與PA12與兩個紅外發(fā)射器的引腳相連,PB12與紅外接收器的引腳相連。PB10/11與OLED顯示屏引腳相連。PB15與蜂鳴器相連。PA9/10與藍牙模塊引腳相連。PB5/6與超聲波模塊引腳相連。PB14和PA13與串行通信引腳相連。圖3.1.1主控芯片電路原理圖圖3.1.2主控芯片STM32F103C8T63.2電機驅(qū)動模塊本次智能小車和主控芯片及其他芯片所需要的工作電壓各不相同,大都為3.3V和5V,不能用主控芯片直接給直流電機提供所需要的電流強度,因此,我們采用了電機驅(qū)動芯片來代為驅(qū)使直流電機,用主控芯片來控制電機驅(qū)動芯片,從而控制直流電機轉(zhuǎn)動,來完成小車的行為動作。小車需要完成的動作,最為基礎(chǔ)為,前進、后退、左轉(zhuǎn)、右轉(zhuǎn)以及急停,如何完成這些動作,本次設(shè)計采用了四個直流電機,通過控制不同位置的直流電機的轉(zhuǎn)動來完成小車的行為動作。3.2.1電機驅(qū)動電路電機驅(qū)動電路硬件設(shè)計圖,如圖3.2.1所示。本次智能小車設(shè)計采用的電機驅(qū)動芯片為TC1508S,其元件實物圖,如圖3.2.2所示。其有16個引腳,我們用到14個引腳,其中四個引腳INA/B/C/D與主控芯片相連,另外四個引腳OUTA、OUTB、OUTC、OUTD與另外四個電機相連,以此可以通過主控芯片對直流電機進行控制。該電機驅(qū)動芯片兩個引腳VDD直接與電池BAT相連用于給直流電機以及芯片供電,另外四個引腳則接地。此外采用這款TC1508S芯片,是因其雙通道內(nèi)置功率MOS全橋驅(qū)動,對直流電機的控制幾乎能滿足幾乎所有小車行動。圖3.2.1電機驅(qū)動硬件設(shè)計圖圖3.2.2TC1508S元件實物圖3.3電源模塊電源模塊是這個智能小車所有模塊的供電系統(tǒng),本次設(shè)計所采用的電源模塊可以產(chǎn)生3.3V、5V的電壓以供智能小車的單片機、直流電機等硬件工作。其中電源為18650電池(簡寫為BAT),一節(jié)為3.7V。本次智能小車的主控芯片STM32F103C8T6、串行通訊、藍牙串口以及蜂鳴器的工作電壓是3.3V,而紅外發(fā)射器、紅外接收器、OLED顯示屏以及電機所采用的工作電壓是5V的所以需要兩個輔助電源模塊,一個輔助電源模塊用于把電壓轉(zhuǎn)為5V,另一個輔助電源模塊用于把電壓轉(zhuǎn)為3.3V。其硬件原理圖如圖2.3.2所示。3.3.1輔助電源電路——3.7V轉(zhuǎn)5V輔助電源電路——3.7V轉(zhuǎn)5V,其硬件設(shè)計圖如圖3.3.1所示。其中使用BL8530DC-DC升壓芯片,其元件實物圖,如圖3.3.1.1所示。并通過二極管以及些許電容把3.7V輸入電壓升壓到5V,為器件提供穩(wěn)定的5V電壓,平且接有一個發(fā)光二極管用于顯示工作狀態(tài)。圖3.3.1輔助電源模塊(轉(zhuǎn)5V)硬件設(shè)計圖圖3.3.1.1BL8530DC-DC升壓芯片3.3.2輔助電源電路——5V轉(zhuǎn)3.3V輔助電源電路——5V轉(zhuǎn)3.3V,其硬件設(shè)計圖如圖3.3.2所示。該電源轉(zhuǎn)換電路把5V轉(zhuǎn)化為3.3V,其中使用ASM1117穩(wěn)壓器以及在輸出端以及輸出端采用兩個電容,用于把輸入的5V電壓轉(zhuǎn)換成3.3V電壓,保證了電路的穩(wěn)定性以及最小壓差不超過1.3V。ASM1117-3.3其元件實物圖,如圖3.3.2.1所示圖3.3.2輔助電源模塊(轉(zhuǎn)3.3V)硬件設(shè)計圖圖3.3.2.1ASM1117-3.3元件實物圖3.4超聲波測距模塊超聲波測距模塊采用的HC-SR04芯片。超聲波測距的方式是通過單片機向超聲波傳感器輸出電平使得超聲波模塊發(fā)出超聲波,并通過超聲波傳感器檢測是否有超聲波信號返回,如果有超聲波信號返回則通過:[(接收時間-發(fā)出時間)/2]*340=距離(單位為米)。聲音在空氣中傳播的速度為340m/s。通過這個式子可以計算出小車面前所距障礙物的距離。并且返回信息至單片機,通過單片機對距離信息的處理就可以實現(xiàn)小車對障礙物距離的測量。從而選擇是否繼續(xù)前進。2.4.1超聲波測距電路設(shè)計超聲波測距電路硬件設(shè)計,如圖3.4.1所示。該超聲波測距模塊選用SR04,SR04超聲波測距模塊實物圖,如圖3.4.2所示。其工作電壓為5V,其兩個引腳與主控芯片的ECH與TRI引腳相連,其中ECH用于傳輸信號使超聲波發(fā)射器發(fā)射超聲波,而TRI引腳則用于傳輸超聲波接收器返回的數(shù)據(jù)。這款超聲波測距模塊有價格低廉、使用簡單以及穩(wěn)定性高的特點。圖3.4.1超聲波傳感器硬件設(shè)計圖圖3.4.2超聲波測距模塊實物圖3.5紅外循跡模塊本次小車采用的紅外循跡模塊由2個TCRT5000紅外線反射傳感器組成。單片機向紅外模塊發(fā)出高電平,使得紅外發(fā)射裝置放出紅外線,當(dāng)發(fā)射出的紅外線接觸到識別的黑色膠帶時會反射回來,光敏電阻接收到反射的紅外線光后,傳感器將傳輸信息回小車的主控芯片,主控芯片發(fā)出指令使得小車沿著黑膠帶前進。3.5.1紅外避障傳感器電路設(shè)計紅外避障傳感器電路設(shè)計,如圖3.5.1所示。TCRT5000紅外循跡模塊實物圖,如圖3.5.2所示。其中TCRT5000有三個引腳,其中兩個引腳接地和5V工作電壓,另外一個引腳與主控芯片TC相連,用于傳輸信息使紅外發(fā)射器發(fā)射紅外線。TCRT5000紅外反射傳感器是通過紅外發(fā)射二級管與光電管組成,通過接收到的反射信號強弱決定輸出信號。圖3.5.1紅外避障傳感器硬件設(shè)計圖圖3.5.2TCRT5000紅外循跡模塊3.6OLED顯示模塊本次智能小車搭配的顯示設(shè)備為OLED液晶顯示模塊。本次顯示的主要內(nèi)容設(shè)計為顯示智能小車所行駛的距離,以及速度。主控芯片通過處理各個模塊以及傳感器所傳輸回來的信息,轉(zhuǎn)換為我們所需要里程和速度,然后顯示在液晶顯示模塊之上。3.6.1OLED液晶顯示電路設(shè)計OLED顯示屏電路設(shè)計原理圖,如圖3.6.1所示。OLED屏幕顯示模塊實物圖,如圖3.6.2所示。其中該OLED顯示屏有四個引腳,其中兩個引腳SCL與SDA引腳與主控芯片相連用于執(zhí)行I2C通信,其中SCL為時鐘信號線,用于同步傳輸數(shù)據(jù),而SDA為數(shù)據(jù)線,用于主控芯片與OLED顯示模塊之間傳輸數(shù)據(jù)。另外兩個引腳則為接地以及接5V工作電壓,為OLED屏幕顯示器提供電源。圖3.6.1OLED顯示屏電路設(shè)計原理圖圖3.6.2OLED屏幕顯示模塊實物圖3.7遠程遙控電路設(shè)計本次智能小車設(shè)計可通過紅外遙控以及藍牙遙控對小車進行遙控,其中采用的紅外遙控模塊的芯片為VS1838B,采用的藍牙模塊的芯片為JDY-31,兩款接收模塊與主控芯片直接相連,上位機發(fā)出指令,相對應(yīng)的接收模塊,接收到信息后,傳輸?shù)街骺匦酒?,使之控制小車,改變小車的行動?.7.1紅外遙控電路設(shè)計 該小車的紅外遙控電路設(shè)計原理圖,如圖3.7.1所示。其中選用的紅外遙控模塊為VS1838B,其元件實物圖如圖3.7.1.1所示其有三個引腳,其中兩個引腳分別為接地以及接5V電壓,另外一個引腳IR與主控芯片相連,用于接收紅外信號并將其轉(zhuǎn)化成數(shù)字信號,通過IR端口傳輸數(shù)據(jù)至主控芯片,且該紅外遙控模塊擁有較高的靈敏度,以及使用簡單的特點。圖3.7.1紅外遙控電路硬件設(shè)計圖圖3.7.1.1VS1838B紅外遙控模塊實物圖3.7.2藍牙遙控電路設(shè)計該小車的藍牙遙控電路硬件設(shè)計圖,如圖3.7.2所示。該藍牙遙控采用了JDY-31的藍牙遙控模塊,其元件實物圖,如圖3.7.2.1所示。其中有四個引腳,其中兩個引腳分別為接地以及接工作電壓3.3V。另外兩個引腳TX3和RX與主控芯片直接相連,TX為串行數(shù)據(jù)發(fā)送引腳,用于將來自主控芯片的數(shù)據(jù)發(fā)送到上位機。TX引腳為串行數(shù)據(jù)發(fā)送引腳,用于接收上位機發(fā)送的數(shù)據(jù)。其中該藍牙模塊具有低功耗、靈活的通行能力以及易于集成的特點。圖3.7.2藍牙遙控電路硬件設(shè)計圖圖3.7.2.1JDY-31藍牙遙控元件實物圖3.8智能小車的整體硬件設(shè)計圖智能小車的整體硬件設(shè)計圖如圖3.8所示圖3.8智能小車整體硬件設(shè)計圖3.9本章小結(jié)本章介紹了,智能小車的整體硬件設(shè)計,包括了STM32主控芯片、電機驅(qū)動模塊、超聲波自動避障模塊、紅外循跡模塊、紅外遙控模塊、藍牙遙控模塊以及OLED屏幕顯示模塊的硬件設(shè)計和元器件選型,給出了各個硬件模塊的設(shè)計圖,以及智能電動小車硬件設(shè)計的整體設(shè)計圖。4基于流程控制的軟件系統(tǒng)設(shè)計4.1主程序設(shè)計本次智能小車要求實現(xiàn)的三個功能是紅外循跡、超聲波自動避障以及遠程遙控功能,其中遙控設(shè)定為可采用藍牙遙控或是紅外遙控,這四個模式將對應(yīng)小車的四個工作模式。本次智能小車的軟件程序主流程圖,如圖4.1所示。其主程序中最重要的就是調(diào)用程序初試化設(shè)定,對超聲波、電機控制、串口、按鍵、紅外接收頭、紅外循跡以及OLED初始化設(shè)置。小車進入初始化狀態(tài),OLED顯示小車的初試數(shù)據(jù)。通過按鍵切換小車的模式,并且在進入不同模式后,OLED將顯示對應(yīng)的小車數(shù)據(jù)。其次是智能小車工作狀態(tài)模式的選擇,在While中Mode選擇設(shè)置中的四個Case模式,分別對應(yīng)四個小車工作模式,并且能夠?qū)崿F(xiàn)在模式切換后,小車能進入相對應(yīng)的工作模式。圖4.1軟件程序主流程圖4.2子模塊軟件設(shè)計4.2.1紅外循跡軟件程序設(shè)計本次小車采用兩個紅外循跡模塊,智能小車開機后進入初始化狀態(tài),選擇模式四即進入紅外循跡模式。主控芯片打開紅外循跡模塊的紅外發(fā)射裝置以及紅外信號接受裝置。小車進入循跡模式之后,主程序調(diào)用TCRT5000的子程序,設(shè)定GPIO口的接口輸入,由STM32主控芯片通過兩個GPIO(PB7,PA12)接收紅外循跡模塊TCRT5000所傳輸?shù)男畔?shù)據(jù),并對數(shù)據(jù)進行處理判斷,然后發(fā)出指令控制直流電機控制小車前進、停止、后退以及轉(zhuǎn)彎等運動,以達到智能小車循跡的要求。智能小車的紅外循跡模式軟件程序流程圖,如圖4.2.1所示。圖4.2.1紅外循跡程序流程圖4.2.2超聲波避障軟件程序設(shè)計智能小車模式選擇自動避障模式之后,主控芯片對超聲波測距模塊進行初始化設(shè)置,所進行的初始化設(shè)置的GPIO口為PB6/7號口。小車的自動避障功能,通過超聲波測距模塊實現(xiàn),通過超聲波發(fā)射與接受的時間差測量小車相對于障礙物的距離,再把測量的距離與設(shè)置好的小車與障礙物的保持距離相比較,如果大于設(shè)定距離,則小車向前前進,如若距離小于等于設(shè)定的保持距離,則使主控芯片向直流電機發(fā)出信息,使小車向右轉(zhuǎn),然后繼續(xù)測量,判斷與障礙物的距離,同理如若小于等于設(shè)定值則小車重復(fù)上述步驟,如若大于設(shè)定值,則令小車向前行駛。超聲波避障軟件程序流程圖,如圖4.2.2所示。圖4.2.2超聲波避障軟件程序流程圖4.2.3藍牙遙控軟件程序設(shè)計智能小車進入藍牙遙控模式之后,主控芯片對GPIO口PA9/10進行初試化設(shè)置,PA9/10,連接在藍牙串口模塊的TX/RX接口上,用于接收上位機的信息數(shù)據(jù)以及傳輸信號至主控芯片,藍牙遙控小車的主要行動方式為前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、以及停止等五個行動模式,主控芯片通過串口與藍牙模塊相連,通過手機的藍牙串口軟件向小車發(fā)送指令信息,設(shè)置接收到的信息為C,則主控芯片控制小車向左轉(zhuǎn),設(shè)置接收到的信息為D,則主控芯片控制小車向右轉(zhuǎn),設(shè)置接收到的信息為A,則主控芯片控制小車前進,設(shè)置接收到的信息為B,則主控芯片控制小車后退。當(dāng)小車未接收到上位機所發(fā)出的指令時小車剎車。藍牙遙控程序流程圖,如圖4.2.3所示。圖4.2.3藍牙遙控程序流程圖4.2.4紅外遙控軟件程序設(shè)計智能小車進入紅外遙控模式之后,主控芯片對GPIO口PB12進行初試化設(shè)置,PB12連接在紅外接收模塊VS1838B的IR接口上,用于接收上位機的信息數(shù)據(jù)以及傳輸信號至主控芯片,紅外遙控小車的主要行動方式為前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、以及停止等五個行動模式,主控芯片通過串口與紅外接收模塊相連,通過上位機向小車發(fā)送紅外指令信息,設(shè)置接收到的信息為0x08,則主控芯片控制小車向左轉(zhuǎn),設(shè)置接收到的信息為0x5a,則主控芯片控制小車向右轉(zhuǎn),設(shè)置接收到的信息為0x18,則主控芯片控制小車前進,設(shè)置接收到的信息為0x52,則主控芯片控制小車后退。當(dāng)小車未接收到上位機所發(fā)出的指令時小車剎車。紅外遙控程序流程圖,如圖4.2.4所示。圖4.2.4紅外遙控程序流程圖4.3本章小結(jié)本章介紹了智能電動小車實現(xiàn)各個功能的軟件程序設(shè)計,以及解釋了超聲波自動避障、紅外自動循跡、遠程藍牙遙控和紅外遙控功能的程序設(shè)計,給出了各個功能模塊的軟件設(shè)計流程圖。

5智能電動小車實測及數(shù)據(jù)分析5.1智能電動小車測試概述依據(jù)智能電動小車的總體設(shè)計方案,基于STM32的硬件結(jié)構(gòu)以及選型所搭建的智能電動小車實物圖,如附錄三圖二所示。本次智能電動小車的測試在硬件模塊選型進行系統(tǒng)搭建以及軟件程序燒錄完成并且測試成功的情況下進行的。測試的目的是為了檢驗本次設(shè)計的智能電動小車能否完成預(yù)設(shè)目標(biāo),發(fā)現(xiàn)不足之處,并且完善智能小車的功能。測試將把每個硬件模塊單獨測試,最后對小車的功能進行整體測試。5.2智能電動小車的硬件模塊測試智能電動小車的測試流程將分為四個部分,分別為對紅外循跡模塊,對超聲波測距模塊的測試,對藍牙通信模塊以及紅外遙控模塊的測試。其測試流程圖,如圖5.2所示。圖5.2小車硬件模塊測試流程圖5.2.1紅外循跡模塊測試紅外循跡模塊的原理為發(fā)出的紅外線未被反射回來時或是反射回來的強度不夠大時,紅外接收管處于關(guān)閉狀態(tài),此時TCRT5000輸出的電平為高電平,反之當(dāng)接收到反射回來的紅外線且強度夠大,則TCRT5000輸出的電平為高電平,通過檢測紅外循跡模塊在接收到紅外線時是否輸出為相對應(yīng)的高低電平,則可檢測紅外循跡模塊TCRT5000是否能夠正常工作。其測試方法為串口模式,在將紅外循跡模塊TCRT5000與主控芯片正確連接好后,將紅外避障的程序燒錄進主控芯片中,通過串口調(diào)試助手,配置好串口,然后通過串口顯示是否紅外循跡模塊傳輸?shù)母叩碗娖绞桥c接收紅外線的信號相匹配[6],如接收到紅外線,串口顯示低電平,沒接收到紅外線,串口顯示高電平。如若串口電平顯示與之符合,則紅外循跡模塊能夠正常工作。5.2.2超聲波測距模塊測試超聲波測距模塊的原理是通過,TRIG引腳接收到單片機的高電平后發(fā)出超聲波,遇到障礙物后超聲波反射,ECHO引腳接收后計算發(fā)送與接受之間的時間差,計算與障礙物之間的距離。通過測試超聲波測距模塊能否正常計算返回信號的持續(xù)時間,就能夠檢測超聲波測距模塊能否正常工作[7],如若能正常計算返回信號的持續(xù)時間則說明超聲波測距模塊能夠正常工作。5.2.3藍牙通信模塊測試對于智能小車藍牙通信模塊測試,是主控制器和藍牙通信模塊之間的無線通信。藍牙模塊的引腳與主控芯片的TX和RX串口相連,上位機與主控芯片藍牙無線通信的模式,與電腦與主控芯片通信的模式相似,所以其測試方式為串口模式。使用串口調(diào)試助手通過串口向藍牙通信模塊傳輸相對應(yīng)的數(shù)據(jù)[6],并且通過藍牙調(diào)試軟件,檢測藍牙通信模塊所接收到的數(shù)據(jù)是否和串口發(fā)送的數(shù)據(jù)相同。若能正常接收,則說明藍牙通信模塊是能夠正常接收,通信過程是正常的。5.2.4紅外遙控模塊測試對于智能小車的紅安我遙控模塊的測試,是通過紅外遙控器對紅外遙控模塊傳輸信息,同樣其通信方式也與電腦與主控芯片通信的模式類似,所以其測試方式也采用串口測試方式。測試方法為將主控芯片使用STLINK與電腦相連,打開串口調(diào)試助手,通過紅外遙控器對其發(fā)出數(shù)據(jù),并且查看串口調(diào)試助手上[6],是否能夠接收到相對應(yīng)的信息,以此來檢驗紅外遙控模塊是否能夠正常工作,如若串口調(diào)試助手能夠正常顯示紅外遙控所發(fā)出的數(shù)據(jù),則說明紅外遙控模塊能夠正常工作。5.3智能電動小車功能的整體測試智能電動小車的功能為自動循跡、自動避障、OLED屏幕數(shù)據(jù)顯示、藍牙遙控以及紅外遙控。通過小車主板上SW1按鍵可以切換小車的模式,小車開機默認進入第一模式,如圖5.3.1所示,小車在第一個模式紅外遙控模式下,能夠通過紅外遙控器發(fā)送信息數(shù)據(jù),控制小車前進、后退、左轉(zhuǎn)、右轉(zhuǎn)等行為動作,其次在紅外遙控模式下,OLED屏幕能夠正常實時顯示智能電動小車的數(shù)據(jù)。按下一次SW1按鍵,小車進入第二模式,如圖5.3.2所示,小車進入第二個模式為藍牙遙控模式,在此模式下,小車能夠通過接收上藍牙串口助手所發(fā)出的數(shù)據(jù),同紅外遙控模式一樣控制小車的行徑,同時OLED屏幕顯示模塊也能正常實時顯示小車的數(shù)據(jù)。按兩下SW1小車進入第三模式,如圖5.3.3所示,進入自動避障模式,小車能夠完成檢測障礙物距離,并且自動避障。按下三次SW1小車進入第四模式,如圖5.3.4所示,小車的第四個模式為紅外循跡模式,其系統(tǒng)測試結(jié)果,小車能夠在黑色膠帶上做巡線運動,且小車在循跡過程中運動比較平穩(wěn)。圖5.3.1小車紅外遙控模式圖5.3.2小車藍牙遙控模式圖5.3.3小車自動避障模式圖5.3.4小車自動循跡模式·23··PAGE18·PAGE16結(jié)論本次畢業(yè)設(shè)計為了社會和市場的需求,對智能小車展開了研究和學(xué)習(xí),本次設(shè)計的智能小車基于STM32微處理器制作,為了實現(xiàn)自動避障而采用了HC-SR04超聲波測距模塊,為了實現(xiàn)循跡功能,采用了TRCT5000紅外循跡模塊,并且通過藍牙串口以及紅外遙控的方式實現(xiàn)了遙控的功能。小車設(shè)定為四個模式,通過切換不同模式實現(xiàn),四個功能的輪換。在本次畢業(yè)設(shè)計對智能小車的學(xué)習(xí)中,我深入的學(xué)習(xí)了如何以STM32微處理器為基底,搭建一個具有多功能的智能小車。我深入的研究了STM32F03C8T6這款芯片的功能和各個串口相對應(yīng)的功能和數(shù)據(jù)。本次智能小車實現(xiàn)自動避障采用了一個超聲波測距模塊,為了實現(xiàn)超聲波測距,從而對超聲波測距模塊HS-SR04這一款有了更加深刻的學(xué)習(xí),通過對該模塊軟件代碼的學(xué)習(xí),明白了如何通過超聲波測距,如何利用超聲波測距實現(xiàn)自動避障的原理。為了實現(xiàn)小車的紅外循跡功能,本次小車采用了兩個紅外循跡模塊,為了實現(xiàn)紅外循跡功能,學(xué)習(xí)TRCT5000紅外循跡模塊的工作方式,以及如何通過微處理器對傳感器傳遞回來的數(shù)據(jù)進行處理,然后發(fā)出指令改變小車的運動軌跡,從而達到實現(xiàn)紅外循跡的功能。最后為了實現(xiàn)小車的遙控功能,本次智能小車設(shè)計采用了兩種遙控方式第一種為藍牙遙控方式,在小車上使用了HC06藍牙模塊,與STM32的串口直接相連,接收上位機發(fā)來的指令標(biāo)志,在通過微處理器進行處理,設(shè)置接收到對應(yīng)的標(biāo)志,來控制小車的前進后退。從而達到遠程控制小車運動的功能。此外做的控制小車的第二種方式為紅外遙控,其軟件程序設(shè)計方面與藍牙遙控類似,為紅外遙控模塊接收到上位機發(fā)射的對應(yīng)的代碼數(shù)據(jù),來控制小車的前進、后退、左轉(zhuǎn)以及右轉(zhuǎn)。通過這次智能小車的設(shè)計我對STM32微處理器以及為了實現(xiàn)功能所使用的超聲波測距模塊、紅外循跡模塊、藍牙模塊以及紅外遙控模塊有了更加深刻的了解,但本次小車是為了實現(xiàn)相對應(yīng)的功能所使用的模塊都相對單一,在超聲波自動避障的軟件程序設(shè)計上,使用的自動避障邏輯還是比較簡單,使小車自動避障還是稍顯麻煩,需要一直向右轉(zhuǎn)來進行自動避障,在這一方面還需要更加深刻的學(xué)習(xí)和改進。此外通過藍牙模塊對小車的運動控制還比較單一,對直流電機的控制,只能實現(xiàn)小車的簡單的運動,比如前進、后退、轉(zhuǎn)彎之類的,小車的加速前進后退之類的復(fù)雜動作,需要進一步的改進和完善。此外在軟件、程序代碼的學(xué)習(xí)上,還需要更加深入的學(xué)習(xí)和認識。

參考文獻[1]唐志軍,何欣榮.基于STM32單片機的智能小車設(shè)計[J].電子制作,2024,32(01):36-41.[2]趙煥娣,譚宇飛,秦運柏等.基于STM32F407ZET6的智能小車循跡避障設(shè)計[J].電子制作,2023,31(13):19-21+29.[3]高婉婷,曳永芳.基于STM32智能小車避障系統(tǒng)的設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2023,13(02):131-135.[4]洪一民,錢慶豐,章志飛.基于STM32的智能小車循跡避障測距的設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2022,12(01):12-13+17.[5]蔡靜怡,王才嶧.基于STM32移動智能小車室內(nèi)避障模塊設(shè)計[J].無線互聯(lián)科技,2019,16(04):76-77+90.[6]李婕.基于STM32的無線視頻監(jiān)控智能小車設(shè)計[D].蘭州理工大學(xué),2014.[7]曹沖振,梁世友,王鳳芹等.基于STM32的可遙控智能小車控制系統(tǒng)設(shè)計[J].智能計算機與應(yīng)用,2020,10(03):256-259+262.[8]劉雪飛,李勇.基于STM32單片機的智能小車控制系統(tǒng)[J].電子世界,2020,(19):164-165.[9]LiuZ,DuG,ZhuangW,etal.DesignofCameraTypeHandlingTrolleybasedonStm32[C]//InstituteofManagementScienceandIndustrialEngineering.Proceedingsof20193rdInternationalConferenceonComputerEngineering,InformationScienceandInternetTechnology(CII2019).SchoolofInformationEngineering,ChinaUniversityofGeosciences(Beijing);2019:6[10]Liz.DesignofIntelligentInspectionCarbasedonSTM32[C]//WuHanZhiChengTimesCulturalDevelopmentCo.,Ltd.Proceedingsofthe3rdInternationalConferenceonComputerEngineering,InformationScienceApplicationTechnology(ICCIA2019).NorthChinaElectricPowerUniversity(Baoding);2019:5

附錄1智能電動小車PCB圖圖1智能電動小車PCB圖

附錄2智能電動小車主程序代碼#include"stm32f10x.h"#include"delay.h"#include"hc_sr04.h"#include"vs1838b.h"#include"l298n.h"#include"tcrt5000.h"#include"uart.h"#include"key.h"#include"LQ12864.h"#include"mpu6050.h"#include"inv_mpu.h"#include"inv_mpu_dmp_motion_driver.h"int32_tSR04_Dat=0;//超聲波測距floatpitch,roll,yaw;intmain(void){ RCC_Configuration();//時鐘設(shè)置 HC_SR04_Init();//超聲波初始化 L298N_Init();//電機控制初始化 USART1_Init(9600);//串口初始化 KEY_Init();//按鍵初始化 VS1838B_Init();//紅外接收頭初始化 TCRT5000_Init();//紅外尋跡初始化 OLED_Init();//OLED初始化 MPU6050_Init(); //初始化MPU6050 OLED_P8x16Str(0,0,"X:"); OLED_P8x16Str(0,2,"Y:"); OLED_P8x16Str(0,4,"Z:"); while(1) { KEY_Set();//掃描按鍵 mpu_dmp_get_data(&pitch,&roll,&yaw);//讀取MPU6050數(shù)據(jù) if(pitch>=0)//顯示X軸 { OLED_P8x16Str(16,0,""); OLED_P8x16Num(24,0,(int)pitch/100%10); OLED_P8x16Num(32,0,(int)pitch/10%10); OLED_P8x16Num(40,0,(int)pitch%10); }else { OLED_P8x16Str(16,0,"-"); OLED_P8x16Num(24,0,(int)(0-pitch)/100%10); OLED_P8x16Num(32,0,(int)(0-pitch)/10%10); OLED_P8x16Num(40,0,(int)(0-pitch)%10); } if(roll>=0)//顯示Y軸 { OLED_P8x16Str(16,2,""); OLED_P8x16Num(24,2,(int)roll/100%10); OLED_P8x16Num(32,2,(int)roll/10%10); OLED_P8x16Num(40,2,(int)roll%10); }else { OLED_P8x16Str(16,2,"-"); OLED_P8x16Num(24,2,(int)(0-roll)/100%10); OLED_P8x16Num(32,2,(int)(0-roll)/10%10); OLED_P8x16Num(40,2,(int)(0-roll)%10); } if(yaw>=0)//顯示Z軸 { OLED_P8x16Str(16,4,""); OLED_P8x16Num(24,4,(int)yaw/100%10); OLED_P8x16Num(32,4,(int)yaw/10%10); OLED_P8x16Num(40,4,(int)yaw%10); }else { OLED_P8x16Str(16,4,"-"); OLED_P8x16Num(24,4,(int)(0-yaw)/100%10); OLED_P8x16Num(32,4,(int)(0-yaw)/10%10); OLED_P8x16Num(40,4,(int)(0-yaw)%10); } switch(mode) { case1://紅外遙控 if(ircode[2]==0x08)//左轉(zhuǎn) { L298N_Left(); }elseif(ircode[2]==0x5a)//右轉(zhuǎn) { L298N_Right(); }elseif(ircode[2]==0x18)//前進 { L298N_Go(); }elseif(ircode[2]==0x52)//后退 { L298N_Back(); }else//停下 { L298N_Stop(); } break; case2:

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論