版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PAGEPAGE46基于STM32的智能四驅(qū)小車結(jié)構(gòu)設(shè)計摘要智能四驅(qū)小車,輪式小型機(jī)器人,它們最適合在人類無法完成工作的環(huán)境條件中開展工作,并且該技術(shù)應(yīng)用廣泛,不僅可以應(yīng)用在無人駕駛的機(jī)動車中,還可以應(yīng)用于無人生產(chǎn)線以及服務(wù)機(jī)器人這些領(lǐng)域。近些年來機(jī)器人的智能水平正在不斷提高,并且在以快速的方式改變著人們的生活方式。在智能車輛的研究領(lǐng)域中,智能四驅(qū)小車行駛功能的研究將會對其研究有很大幫助。智能車輛駕駛?cè)蝿?wù)的自動完成,將會給人類社會進(jìn)步帶來很大的影響。智能四驅(qū)小車作為機(jī)器人的代表,它需要實現(xiàn)自動避障功能就需要感知到出現(xiàn)的障礙物,并且自動識別所處的路線等。但是隨著計算機(jī)、微電子技術(shù)、自動控制、人工智能等相關(guān)領(lǐng)域的發(fā)展,智能四驅(qū)小車對我們以后的生活和科學(xué)研究一定會發(fā)揮很重要的作用,而且在之后的車輛自動行駛,深海自動探測和飛船自動航行等方面都會有很大的科研價值。本次設(shè)計是基于STM32的智能四驅(qū)小車,主要有黑白循跡功能,超聲波避障功能,進(jìn)行障礙物檢測并避障,電機(jī)驅(qū)動功能模塊。還有手機(jī)App藍(lán)牙控制小車前進(jìn),右轉(zhuǎn),左轉(zhuǎn),后退,超聲波避障,黑白循跡。并且使用Keil軟件進(jìn)行C語言編程。關(guān)鍵詞:四驅(qū)小車;傳感器;STM32;C語言目錄TOC\o"1-3"\h\u1引言 11.1課題研究目的和意義 11.2研究現(xiàn)狀和發(fā)展趨勢綜述 11.3研究的主要內(nèi)容以及寫作安排 22硬軟件相關(guān)技術(shù)簡介 32.1STM32開發(fā)板 32.2紅外反射傳感器 42.3HC05藍(lán)牙模塊 42.4超聲波傳感器HC-SR04模塊 52.5C語言 52.6KeiluVision5開發(fā)環(huán)境 63需求分析 83.1需求分析概括 83.2可行性分析 83.2.1技術(shù)可行性 83.2.2經(jīng)濟(jì)可行性 83.2.3操作可行性 83.3功能需求分析 83.4輸入輸出需求分析 93.5性能需求分析 94系統(tǒng)設(shè)計 104.1總體設(shè)計思路 104.2主要功能設(shè)計 105系統(tǒng)實現(xiàn) 145.1環(huán)境搭建 145.2各模塊的實現(xiàn) 155.2.1黑白循跡模塊 155.2.2超聲波避障模塊 185.2.3藍(lán)牙模塊 275.2.4電機(jī)驅(qū)動模塊 395.3最終效果展示圖 436項目運行調(diào)試 466.1調(diào)試目的 466.2調(diào)試主要內(nèi)容 466.3調(diào)試發(fā)現(xiàn)問題 466.4項目展望 477總結(jié) 48參考文獻(xiàn) 501引言1.1課題研究目的和意義智能四驅(qū)小車通過不同的環(huán)境傳感器來獲取內(nèi)部運行狀態(tài)和外部環(huán)境的信息,以便于小車能夠在復(fù)雜的環(huán)境中實現(xiàn)其自動行駛,從而可以完成機(jī)器人系統(tǒng)中的一些特定功能。但是當(dāng)代智能家居的出現(xiàn),它們提供給人類舒適居住環(huán)境的同時,也提高了對制造這些智能家居的高科技人才的需求。智能四驅(qū)小車包含了很多高新技術(shù),其中不僅有傳感器、電子、計算機(jī)硬件、軟件等多個學(xué)科的基礎(chǔ)知識結(jié)構(gòu)體系,而且還涉及許多先進(jìn)領(lǐng)域和新興產(chǎn)業(yè)的技術(shù),此外它還是一個民族和國家對于高科技技術(shù)水平的重要表現(xiàn)。我們通過建立起簡單的智能四驅(qū)小車的開發(fā)板設(shè)計,從而使我們由理論逐漸走向?qū)嶋H,不僅訓(xùn)練了我們的獨立思考能力和實際操作能力,使我們在充分掌握智能電器工作原理的基礎(chǔ)上,讓我們能更好地掌握完成整個開發(fā)板項目的技巧,并掌握STM32開發(fā)板的程序編寫規(guī)則,對于我們進(jìn)入ARM領(lǐng)域提供了基礎(chǔ)知識。1.2研究現(xiàn)狀和發(fā)展趨勢綜述智能四驅(qū)小車是集通信,避障,傳感,人工智能控制,計算機(jī)等技術(shù)于一體的高科技綜合產(chǎn)物。目前,就全球的智能車探索而言,智能車的研究來自上世紀(jì)70年代Shakey的自走式機(jī)器人[1],該機(jī)器人是由斯坦福大學(xué)研究所的Nilssen和charlesRoesn等著名科學(xué)家合作開發(fā)的。智能機(jī)器人的出現(xiàn)和對太空研究的需求促使許多科學(xué)家研究智能車輛。我國正處于政治和經(jīng)濟(jì)蓬勃發(fā)展的時期,這將為智能車研究提供巨大希望。智能機(jī)器人的研究涉及到很多方面,既完整又復(fù)雜,對于智能機(jī)器人而言,智能小車的體驗會在一定程度上影響智能機(jī)器人的作用。在不斷發(fā)展的商業(yè)世界[2],電子技術(shù)發(fā)展的環(huán)境中,對智能車的研究正變得越來越成熟。目前,市場上到處都是玩具遙控車,工廠用的智能車,避障小車等。智能車技術(shù)可以概括如下:(1)智能避障,利用紅外,超聲等傳感器來檢測行車大概行駛的位置,并對車輛附近,即將碰撞等發(fā)出警告,能避免碰撞,以及保持車輛安全,避免磨損。(2)智能檢測,警告駕駛者越道行駛,闖紅燈,以及不規(guī)則駕駛,酒后駕車,超速等,予以警告。(3)智能行駛,這種技術(shù)具有很高的復(fù)雜性,很難在如今推廣。不僅需要隨時監(jiān)視汽車周圍的環(huán)境,而且還要能夠做出智能的判斷。這類技術(shù)常用于軍事領(lǐng)域,例如軍事監(jiān)察,智能小車具有體積小,反偵察能力強(qiáng),記錄信息大,便于攜帶,適應(yīng)性強(qiáng)等特點。應(yīng)用在飛機(jī)飛行領(lǐng)域應(yīng)用上,如無人偵察機(jī),月球探測器等。(4)智能安全,智能系統(tǒng)能夠定期自動掃描并且驗證車體安全性,并消除潛在的危險,如果仍未解決,它將發(fā)出提醒并提供合理解決方案。(5)智能家居,可以由智能小車的控制技術(shù)擴(kuò)展到對日常家居電器的控制,實現(xiàn)智能化家居。1.3研究的主要內(nèi)容以及寫作安排智能四驅(qū)小車上的各個傳感器通過對外部環(huán)境的感知,將信號傳送到STM32微控制器中,STM32相當(dāng)于是人體的大腦,開始處理這些信號,從而做出不同的判斷,繼而控制四驅(qū)小車的電機(jī)驅(qū)動轉(zhuǎn)向,也可以通過建立起手機(jī)App與四驅(qū)小車的藍(lán)牙通信,從而在手機(jī)端控制小車。本文寫作安排如下:開篇說明本文選題意義以及發(fā)展趨勢,并介紹了研究的主要內(nèi)容。第二節(jié)主要是硬件和軟件相關(guān)技術(shù)的介紹。第三節(jié)主要是對整個設(shè)計進(jìn)行的需求分析,從技術(shù),經(jīng)濟(jì),操作上簡單進(jìn)行需求分析。第四節(jié)主要是對系統(tǒng)的一個總體設(shè)計,包含各模塊設(shè)計流程圖。第五節(jié)主要是設(shè)計的實現(xiàn),從軟件環(huán)境搭建,軟件程序的實現(xiàn),到硬件調(diào)試,對主要幾個功能模塊進(jìn)行實現(xiàn)。第六節(jié)主要是進(jìn)行運行調(diào)試,在可以完成基本功能前提下,進(jìn)行調(diào)試運行,發(fā)現(xiàn)問題,以及對本次設(shè)計未來的展望。最后對整個設(shè)計內(nèi)容進(jìn)行總結(jié),并致謝幫助過我的人。
2硬軟件相關(guān)技術(shù)簡介2.1STM32開發(fā)板單片機(jī)[3]是一種微型的中央控制集成單元,把能夠具有數(shù)據(jù)整理的CPU以及輸入輸出接口存儲器,定時器模擬,數(shù)字轉(zhuǎn)換電路等多種功能的電路集成在一塊芯片上。單片機(jī)內(nèi)部構(gòu)造簡單,成本低廉,在一些微型的控制領(lǐng)域得到了較廣的應(yīng)用。STM32是一種功能強(qiáng)大的32位嵌入式單片機(jī),對STM32可利用庫文件進(jìn)行編程,編寫的程序具有較好的移植性,便于對程序中出現(xiàn)的問題進(jìn)行查找。STM32是一種嵌入式單片機(jī)[4],具有集成度高,容易開發(fā),功能齊全,功耗低并且成本較小的優(yōu)點;STM32可以具有多個接口,與外在的通信端有多種通信的方式,可以通過與多個傳感器相連,對外在的多種設(shè)備進(jìn)行控制。STM32相比于其他的單片機(jī)而言價格更低并且具有豐富的外設(shè)功能,能夠?qū)刂菩畔⑦M(jìn)行實時性的數(shù)據(jù)的輸入和輸出。本設(shè)計主要選擇的是STM32F103[5]芯片,并對其進(jìn)行控制系統(tǒng)開發(fā),STM32具有多個外設(shè)接口,CPU運算速度可以高達(dá)72MHz。STM32具有較快的運算速度,能夠縮短產(chǎn)品的開發(fā)周期,并且由于庫程序文件的存在,STM32軟件程序開發(fā)成本較低,并且程序的升級換代也更加快捷。對于開發(fā)者來說,庫文件的存在有利于開發(fā)者對STM32單片機(jī)的學(xué)習(xí),縮短了學(xué)習(xí)時間,降低了STM32開發(fā)者學(xué)習(xí)的門檻,提高了開發(fā)者的學(xué)習(xí)效率。開發(fā)者可以根據(jù)STM32提供的庫文件,根據(jù)用戶開發(fā)出各種需要的控制功能。圖2-1STM32F103引腳圖2.2紅外反射傳感器紅外線傳感器是一種能夠檢測到目標(biāo)紅外線輻射,并且能使用紅外線的物理屬性執(zhí)行檢測的傳感器。至于它們所研究的機(jī)制大致可以劃分為兩種:即光子檢測儀和溫度檢測儀。紅外傳感器技術(shù)已被廣泛應(yīng)用于各種現(xiàn)代科學(xué)、國家安全和工農(nóng)業(yè)等領(lǐng)域。由于紅外線技術(shù)被廣泛地應(yīng)用于高速的測速控制系統(tǒng)中,許多產(chǎn)品都使用了紅外線技術(shù)來對車輛測速和檢查探測。將紅外光源應(yīng)用于計算機(jī)的速度和測量領(lǐng)域時,最難以克服的問題是來自各種包含紅外輻射的光源(如強(qiáng)烈的陽光)的干擾。外界光源使紅外技術(shù)應(yīng)用在野外產(chǎn)生了困難。紅外技術(shù)是眾所周知的,并且該技術(shù)被廣泛應(yīng)用于現(xiàn)代技術(shù)、國家安全技術(shù)、工農(nóng)業(yè)技術(shù)和其他領(lǐng)域。紅外傳感器系統(tǒng)主要是一種以紅外輻射為中介的測量系統(tǒng),根據(jù)它們的功能大致可以劃分為五類:(1)紅外輻射計,用于紅外輻射和光譜的測量;(2)區(qū)域搜尋監(jiān)視系統(tǒng),用于實時定位和追蹤紅外探測器的目標(biāo),確定該區(qū)域的地理位置并實時追蹤其移動;(3)熱成像系統(tǒng),其主要功能是可以實現(xiàn)產(chǎn)生目標(biāo)靶的紅外輻射圖像;(4)紅外線測距,紅外線可以進(jìn)行測距,并且還能夠和外端進(jìn)行通信。紅外反射傳感器主要是利用紅外線的反射原理制成的一種傳感器器件,系統(tǒng)根據(jù)紅外射線反射的強(qiáng)度值來確定前方車道障礙物存在與否。當(dāng)與目標(biāo)測量的距離適中時,其中的測量準(zhǔn)值就比較高。因為它們采用的是紅外線,因此其光的抗干擾性和穩(wěn)定性非常好。這進(jìn)一步保證了智能四驅(qū)小車的工作穩(wěn)定性。本設(shè)計中,智能四驅(qū)小車使用紅外反射傳感器來檢測黑線,進(jìn)行循跡。2.3HC05藍(lán)牙模塊(1)藍(lán)牙串口HC05是一種主從一體的通信串口模塊,簡單地來講,當(dāng)你在一個藍(lán)牙串口設(shè)備和另一個藍(lán)牙串口設(shè)備之間進(jìn)行通訊配對并且將其連接成功后,我們就不用考慮藍(lán)牙內(nèi)部具體協(xié)議,不用考慮他們之間是怎么建立起來的通訊,直接拿來作為串口使用。例如,當(dāng)兩個設(shè)備之間已經(jīng)建立了通訊連接,它們共同使用同一個串口,一個設(shè)備發(fā)送數(shù)據(jù)到該串口中,另一個設(shè)備從該串口中接收數(shù)據(jù),配對后只要把串口通信設(shè)備當(dāng)成一個固定波特率的串口通信設(shè)備,就可以直接進(jìn)行使用配對。例如工業(yè)數(shù)據(jù)采集,智能化的小車,串口式智能打印機(jī),戶外點陣多線條屏幕的控制等。(2)與平板電腦進(jìn)行配對的使用:適合于手機(jī)跟計算機(jī)設(shè)備之間,通過無線或者藍(lán)牙串口進(jìn)行通信,使用的方法和串口一樣。(3)與藍(lán)牙主機(jī)的配對方式使用:適合兩個設(shè)備直接通過藍(lán)牙串口進(jìn)行通信,比如說單片機(jī)和單片機(jī)之間,使用的方法和串口一樣。(4)變通設(shè)備信號的變換使用:由于波特率變換是一種信號變換,因為信號接收端和發(fā)送端可以選擇各自的波特率,在設(shè)備信號發(fā)送數(shù)據(jù)量較小的這種情況下也同樣可以將其作為一個波特率來對設(shè)備信號進(jìn)行變換使用。2.4超聲波傳感器HC-SR04模塊該模塊使用方法簡單,簡單來講,就是在控制口發(fā)送一個高于10us的高電平以后,一旦我們在接收口接收到高電平信號,就立即打開定時器,當(dāng)信號變?yōu)榈碗娖降臅r候,讀取定時器的值,該值就是測距的時間,通過該值算出距離,然后經(jīng)過不斷的周期性檢測得到最終移動的值[6],下面是三種測距方式:(1)采用輸入輸出端口進(jìn)行測距。(2)超聲波傳感器模塊可以發(fā)送多個40kHz的頻率方波,可以根據(jù)信號發(fā)射及返回所耗費的時間,進(jìn)而對傳感器和故障之間的距離進(jìn)行測量。(3)超聲波傳感器可以自動檢測到返回的信號,通過輸入輸出接口將檢測到返回信號的時候,在出口處輸出一個高電平的電信號,進(jìn)而就可以通過檢測到的信號與發(fā)射到的信號之間的一個時間差值進(jìn)行測距。圖2-2超聲波時序圖2.5C語言C語言是由貝爾實驗室開發(fā)出來的一種十分基礎(chǔ),但是功能強(qiáng)大的計算機(jī)編程,C語言具有高級語言和匯編語言的特點,常用來作為底層的編程語言,具有較好的移植性,在大中型以及微型計算機(jī)上得到了廣泛的應(yīng)用。隨著控制領(lǐng)域技術(shù)的不斷發(fā)展,C語言技術(shù)逐漸開始應(yīng)用到嵌入式控制領(lǐng)域當(dāng)中,豐富了C語言開發(fā)的應(yīng)用市場,在機(jī)器人以及電影特效制作領(lǐng)域都具有廣泛的運用?,F(xiàn)在已經(jīng)發(fā)展了多種計算機(jī)語言可以與C語言進(jìn)行媲美,但是C語言仍然占有了最廣大的市場份額,具有不可替代的重要性。尤其是在嵌入式編程領(lǐng)域中常見的嵌入式編程軟件底層代碼都是使用C語言進(jìn)行編寫的。C語言主要有以下方面的特點:(1)C語言簡潔緊湊,方便靈活,編程形式自由。(2)C語言運算符種類較多,便于代碼的多樣化形式編寫。(3)C語言具有豐富的數(shù)據(jù)類型,可以實現(xiàn)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。(4)C語言擁有多種豐富的表達(dá)形式,對語法的限制并不嚴(yán)格。(5)C語言允許對物理地址直接使用指針的方式進(jìn)行訪問,便于對硬件進(jìn)行直接的操作,在硬件編程領(lǐng)域中具有更廣泛的應(yīng)用價值。(6)C語言可以直接生成目標(biāo)代碼,目標(biāo)代碼執(zhí)行的效率高。(7)C語言代碼具有較好的可移植性,可在不同的硬件領(lǐng)域中直接使用相同的代碼,或者進(jìn)行少量的改寫就可以實現(xiàn)運行。(8)C語言能夠?qū)崿F(xiàn)復(fù)雜的算法運算。通過以上分析可以發(fā)現(xiàn)C語言具有自己的特性,可以通過指針直接對單片機(jī)內(nèi)存地址或者是寄存器地址直接進(jìn)行訪問,可以避免匯編語言不能跨平臺的劣勢,又能夠提高編程的效率,因此本設(shè)計主要選擇C語言作為硬件控制系統(tǒng)開發(fā)的計算機(jī)語言。2.6KeiluVision5開發(fā)環(huán)境C語言應(yīng)用程序開發(fā)的軟件工具是KeiluVision,該軟件也是51系列單片機(jī)最主要的集成開發(fā)環(huán)境。通過該工具可以把目標(biāo)程序的編輯,編譯,仿真調(diào)試等功能集合于一體,支持多種51系列單片機(jī)的開發(fā)環(huán)境[7]。Keil開發(fā)軟件除了能夠直接開發(fā)C語言程序之外,還能夠?qū)﹂_發(fā)出的程序進(jìn)行仿真調(diào)試,極大的提高了軟件程序的開發(fā)周期,提高了工作效率。本設(shè)計主要采用KeilMDKv5進(jìn)行C語言控制系統(tǒng)的開發(fā),該工具采用uVision5IDE集成開發(fā)環(huán)境。該開發(fā)環(huán)境使用簡單,便于對工程的編輯以及調(diào)試進(jìn)行統(tǒng)一化管理,具有較好的兼容性。KeilMDKv5相比上一代版本升級了對微控制器開發(fā)的支持端,對工具鏈庫進(jìn)行了升級,并且能夠支持市場上新出現(xiàn)的芯片進(jìn)行開發(fā)。uVision5IDE集成了開發(fā)環(huán)境編譯器以及調(diào)試組件等,加速了軟件程序的開發(fā)流程,我們后續(xù)會針對uVision5IDE集成開發(fā)環(huán)境做環(huán)境的搭建。3需求分析3.1需求分析概括軟件系統(tǒng)開發(fā)最難的主要是將需要開發(fā)的內(nèi)容通過軟件代碼的形式進(jìn)行編譯實現(xiàn),在軟件開發(fā)的時候需要建立技術(shù)文檔,完成軟件程序向用戶以及機(jī)器的接口連接。軟件程序開發(fā)的過程中一旦出現(xiàn)了錯誤,后續(xù)修改的時候會變得很復(fù)雜,其中最為棘手的就是軟件程序與機(jī)器接口之間的接口問題,在進(jìn)行本次四驅(qū)小車設(shè)計的過程中,針對目前四驅(qū)小車的研究現(xiàn)狀進(jìn)行準(zhǔn)確的分析,避免在程序開發(fā)過程中造成經(jīng)濟(jì)損失以及時間上的浪費。我們對于用戶的需求分析需要進(jìn)行重視,在進(jìn)行軟件開發(fā)的過程中,需要花費時間精力對用戶需求進(jìn)行了解。如果沒有正確體會用戶的需求,會導(dǎo)致在軟件開發(fā)的過程中設(shè)計出不符合用戶需求的系統(tǒng),會造成巨大的損失和浪費。3.2可行性分析3.2.1技術(shù)可行性本文是要設(shè)計一款基于STM32的智能四驅(qū)小車,四驅(qū)小車的驅(qū)動程序采用C語言作為編程語言。C語言是現(xiàn)在嵌入式開發(fā)系統(tǒng)的主流語言,具有兼容性好,可跨平臺輸出等功能,對四驅(qū)小車控制系統(tǒng)的開發(fā)更加高效,具有較好的發(fā)揮空間。3.2.2經(jīng)濟(jì)可行性開發(fā)STM32智能四驅(qū)小車,需要有一定的經(jīng)濟(jì)實力,針對其中的STM32四驅(qū)小車驅(qū)動控制系統(tǒng)的開發(fā),在硬件上選用STM32開發(fā)板,因為STM32開發(fā)板性價比高,在經(jīng)濟(jì)上更加實惠;在軟件層面上選用和STM32開發(fā)板配套的KeiluVision5開發(fā)環(huán)境。開發(fā)文件可以免費使用,從整體上降低控制系統(tǒng)開發(fā)的費用。3.2.3操作可行性智能四驅(qū)小車可以實現(xiàn)的功能有:黑白線循跡,超聲波避障,以及手機(jī)App控制小車前進(jìn),后退等。所以說,該四驅(qū)小車在操作上是可行的。3.3功能需求分析本設(shè)計有以下三個功能:(1)黑白循跡,即小車根據(jù)紅外反射檢測地面黑線而行走。(2)超聲波避障,小車能夠根據(jù)地面黑線行走,遇到障礙物便停止,通過超聲波檢測障礙物方向,然后后退并左右轉(zhuǎn)動離開障礙物區(qū)域。(3)手機(jī)App控制小車前進(jìn),左轉(zhuǎn),右轉(zhuǎn),后退,循跡,避障。第一個功能是主體功能之一,有了這個功能,可以讓小車循著黑線行走。第二個功能是最常用的功能,在現(xiàn)實生活中,當(dāng)遇到障礙物時,小車需停下避開障礙物行走。第三個功能則是對第一第二兩個功能的擴(kuò)充,通過建立與小車藍(lán)牙通訊,在手機(jī)端可以控制小車的前進(jìn),左轉(zhuǎn),右轉(zhuǎn),后退,循跡,避障。3.4輸入輸出需求分析輸入:本文開發(fā)的STM32驅(qū)動小車控制系統(tǒng),不需要設(shè)計輸入功能。輸出:本文開發(fā)的驅(qū)動小車控制系統(tǒng)的輸出功能主要是控制驅(qū)動小車完成一系列操作。3.5性能需求分析本設(shè)計開發(fā)的驅(qū)動小車控制系統(tǒng)性能要求高,STM32芯片和其他芯片相比,具有如下的特點:速度,速度優(yōu)于89351系列單片機(jī)。主頻,讀寫頻率高達(dá)72MHz。容量,內(nèi)存單元高達(dá)512K字節(jié)。管腳,引腳豐富,可進(jìn)行多種控制接口之間的連接。RAM,儲存空間達(dá)到48K字節(jié),儲存空間較大。外設(shè),具有豐富的外設(shè)接口。(7)軟件,STM32有自己固化的軟件流程庫,可以加速開發(fā)流程。根據(jù)以上介紹可以發(fā)現(xiàn),采用STM32芯片可以加速驅(qū)動小車控制系統(tǒng)的軟件開發(fā)流程,避免在程序開發(fā)過程中出現(xiàn)程序邏輯錯誤,保證整個控制系統(tǒng)實現(xiàn)高效率的開發(fā)。4系統(tǒng)設(shè)計4.1總體設(shè)計思路為了滿足四驅(qū)小車的行駛功能,總體設(shè)計分為以下四個模塊:(1)黑白循跡模塊:在該模塊中,主要通過TCRT5000傳感器發(fā)射紅外線。通過紅外線發(fā)射并接收紅外線反射回來的光線,從而使得紅外線接收器的引腳電壓發(fā)生變化。使得小車循著黑線行駛。(2)超聲波避障模塊:在該模塊中,將解決小車遇到障礙物問題,使得小車避免碰撞。(3)藍(lán)牙模塊:在該模塊中,通過藍(lán)牙模塊與手機(jī)App相連,App控制小車行進(jìn)。(4)電機(jī)驅(qū)動控制模塊:目前本電機(jī)驅(qū)動控制模塊主要采用一個L298N微控制器作為主硬件驅(qū)動控制器件,在該模塊中,通過STM32微控制器做出的信號處理,控制小車的轉(zhuǎn)向運動。4.2主要功能設(shè)計智能四驅(qū)小車的基本功能:通過黑白線循跡,超聲波避障,以及手機(jī)App藍(lán)牙控制。經(jīng)過設(shè)計的四驅(qū)小車的功能示例圖如下:圖4-1功能示例圖小車檢測黑線,循著黑線行駛,其流程設(shè)計如下圖所示[8]:圖4-2黑線循跡功能流程圖HC-SR04模塊主要可以實現(xiàn)信號的發(fā)射接收功能,避障流程設(shè)計如下圖所示:圖4-3避障流程圖通過手機(jī)App藍(lán)牙與四驅(qū)小車建立藍(lán)牙通信,其控制小車行駛流程設(shè)計如下圖所示:圖4-4藍(lán)牙模塊功能流程圖藍(lán)牙通訊設(shè)計流程如下圖所示:圖4-5藍(lán)牙通訊流程圖電機(jī)驅(qū)動流程設(shè)計圖如下所示[9]:圖4-6電機(jī)驅(qū)動流程圖5系統(tǒng)實現(xiàn)5.1環(huán)境搭建MDK是STM32常用的開發(fā)環(huán)境,MDK操作的時候簡單方便,不需要再進(jìn)行其他的編譯器以及器件的安裝,MDK安裝完成之后如圖5-1所示:圖5-1Keil圖標(biāo)啟動Keil軟件,并且激活軟件。之后就可以正常使用了,如下圖所示:圖5-2KeiluVision5界面5.2各模塊的實現(xiàn)5.2.1黑白循跡模塊TCRT5000紅外線反射傳感器可以針對1~25毫米之間的距離進(jìn)行檢測,并將檢測到的信號通過比較器LM393輸出,從而驅(qū)動硬件控制系統(tǒng)中的硬件電路完成相應(yīng)的操作,紅外線傳感器工作電壓為3.3~5伏之間。TCRT5000傳感器可以不斷的往外發(fā)射紅外線,當(dāng)接收裝置沒有接收到反射回來的紅外線時,紅外線接收裝置開關(guān)處于關(guān)閉狀態(tài),此時輸出為低電平信號,LED燈處于點亮狀態(tài);當(dāng)紅外線接收裝置接收到反射回來的足夠強(qiáng)度的紅外線時,此時比較器輸出端為高電平信號,LED燈為熄滅狀態(tài)。下圖為TCRT5000傳感器模型圖:圖5-3TCRT5000傳感器模型圖其中電路工作圖如圖所示:圖5-4電路工作圖TCRT5000實物圖如下圖所示:圖5-5TCRT5000實物圖循跡IO初始化:循跡傳感器從右到左依次為O1O2O3O4硬件連接O1-PA4,O2-PA5,O3-PA6,O4-PA7要初始化為輸入模式圖5-6開啟GPIO時鐘代碼循跡模塊:黑線輸出高電平1白線低電平0小車最左端是O4最右端是O1循跡路面:白色路面黑色引導(dǎo)線,即尋黑線。黑線傳感器輸出1,白線輸出0圖5-7循跡功能主要代碼5.2.2超聲波避障模塊智能四驅(qū)小車在面對障礙物時可以有效地避免障礙物,提升智能四驅(qū)小車處理障礙物的智能性。為實現(xiàn)以上措施,智能四驅(qū)小車需要對行駛路段上的外在環(huán)境進(jìn)行采集,并將采集到的地形數(shù)據(jù)信息輸入到STM32中央控制處理單元,從而對采集到的故障信息進(jìn)行數(shù)據(jù)處理。其中故障采集信息有多種方式,比如紅外線檢測,超聲波檢測等。由于超聲波在檢測過程中具有檢測能力強(qiáng),采樣精度高的特點,因此本文主要采用HC-SR04超聲波采樣器件作為本設(shè)計STM32驅(qū)動小車路障檢測傳感元器件[10]。通過在超聲波測距的同時,本設(shè)計使用舵機(jī)幫助超聲波轉(zhuǎn)動,檢測各個方向存在的障礙物。在小車前進(jìn)的過程中,若遇路上存在一定的障礙物,通過超聲波采集信息,可將采集到的信息傳輸?shù)絊TM32中央控制處理單元,從而驅(qū)動舵機(jī)改變轉(zhuǎn)向,使得四驅(qū)小車的前進(jìn)方向發(fā)生改變。HC-SR04模塊工作電壓為3~5.5伏,該模塊在工作的時候可以通過向引腳輸入高電平信號觸發(fā)模塊進(jìn)行路障測距。當(dāng)測距結(jié)束之后,該引腳通過輸出高電平測量超聲波發(fā)出到檢測總共所需要的時間,進(jìn)而為后續(xù)的具體測量提供時間信息,其中超聲波實物如下圖所示:圖5-8HC-SR04實物圖超聲波測距的原理如下圖所示:圖5-9超聲波原理圖通過向Trig管腳輸入高電平觸發(fā)超聲波脈沖信號輸出,然后通過回波檢測裝置檢測超聲波反射回來的聲波信號,測量超聲波發(fā)出以及接收所用的時間可以計算得出智能四驅(qū)小車距離故障端之間的距離[11],超聲波測距時序如下圖所示:圖5-10HC-SR04測距時序圖本模塊使用簡單方便,只需要一個控制接口,就可以完成超聲波的發(fā)送以及接收,并且通過控制接口不斷的發(fā)出超聲波信號,可以完成智能四驅(qū)小車到故障端之間多次測距,求得測距的平均值,提高整個測量過程的準(zhǔn)確性。圖5-11超聲波模塊電路圖根據(jù)以上超聲波測距時序原理圖可以編寫相應(yīng)的軟件,在超聲波測距過程中,為了防止測距信息丟失,提高超聲波測距的準(zhǔn)確性,測量物體的面積應(yīng)該大于0.5平方米。超聲波端口初始化:圖5-12超聲波端口初始化代碼開始測距,發(fā)送一個>10us的脈沖,然后測量返回的高電平時間:圖5-13測距部分代碼STM32智能四驅(qū)小車轉(zhuǎn)向舵機(jī)在遇到路障的時候會自動開啟轉(zhuǎn)向功能,以下主要對智能四驅(qū)小車舵機(jī)的工作特性進(jìn)行描述。圖5-14舵機(jī)實物圖STM32智能四驅(qū)小車舵機(jī)主要是通過STM32處理器發(fā)出控制指令,控制舵機(jī)完成一定的轉(zhuǎn)向操作。控制過程主要是通過電壓差分信號傳輸?shù)诫娐钒迳系腎C端口判斷舵機(jī)的轉(zhuǎn)向,并通過機(jī)械裝置改變舵機(jī)的齒輪傳動方向。智能四驅(qū)小車舵機(jī)控制脈沖時間為20毫秒左右,可完成180度方向的轉(zhuǎn)向。本設(shè)計以智能四驅(qū)小車和故障距離為25厘米進(jìn)行考慮。圖5-15舵機(jī)轉(zhuǎn)動主要功能代碼圖5-16舵機(jī)轉(zhuǎn)動主要功能代碼避障模塊在程序設(shè)計中主要有以下幾方面:(1)超聲波周期本設(shè)計采用TIM2對超聲波周期進(jìn)行控制,TIM2采用定時器中斷模式,中斷程序主要通過輸出高電平信號并結(jié)合超聲波的時序圖,對超聲波的發(fā)射進(jìn)行控制,中斷程序流程如下所示:圖5-17中斷程序代碼(2)采集超聲波從發(fā)射到接收持續(xù)時間本文設(shè)計的STM32智能四驅(qū)小車通過通用定時器TIM5,對超聲波發(fā)射裝置發(fā)射的超聲波進(jìn)行捕獲,TIM5通用定時器在采集超聲波信號時,對ECHO端口邊緣信號進(jìn)行采集,通過將采集到的信號與寄存器中的值進(jìn)行比較,根據(jù)比較不同的輸出值,控制信號采集裝置TIM5的輸出信號,采集裝置流程如下所示。首先需要開啟TIM5的時鐘信號如下所示。圖5-18開啟TIM5時鐘信號代碼初始化TIM5,設(shè)置TIM5的psc和arr:圖5-19初始化TIM5代碼設(shè)置TIM5的輸入比較參數(shù),開啟捕獲模式:圖5-20設(shè)置TIM5輸入比較參數(shù)代碼設(shè)置TIM5的DIER寄存器,使能捕獲和更新中斷功能:設(shè)置中斷分組并編寫中斷服務(wù)函數(shù):圖5-21設(shè)置中斷服務(wù)函數(shù)代碼設(shè)置完TIM5的超聲波采集模式之后,將TIM5的終端服務(wù)采樣時間設(shè)置為t,其中中斷服務(wù)子程序如下所示。圖5-22中斷服務(wù)子程序代碼(3)對采集到的聲波持續(xù)時間進(jìn)行邏輯判斷將采集到的聲波持續(xù)時間送入TIM5終端服務(wù)子程序中,根據(jù)故障測量距離函數(shù),對測量距離進(jìn)行判定,故障測距判定流程如下所示。圖5-23故障測距代碼5.2.3藍(lán)牙模塊(1)HC05介紹HC05通過藍(lán)牙串口模式可以實現(xiàn)與智能四驅(qū)小車控制系統(tǒng)之間的通信,HC05可以實現(xiàn)多個終端的通信功能,比如說電腦,手機(jī)等設(shè)備。HC05工作電壓為3.3~5伏,波特頻率為4.8~13.8kHz。其特性參數(shù)如下表所示:表5-1HC05特性參數(shù)表HC05外觀圖如下圖所示:圖5-24HC05外觀圖HC05模塊背面絲印圖如下所示:圖5-25HC05背面絲印圖(2)HC05調(diào)試HC05藍(lán)牙串口主要有兩種工作模式,分別為響應(yīng)工作模式和自動連接模式。其中自動連接模式主要是根據(jù)事先設(shè)定的工作方式,實現(xiàn)程序的自動傳輸功能。當(dāng)HC05藍(lán)牙串口處于命令模式工作下,需要根據(jù)用戶向HC05藍(lán)牙發(fā)送一定的指令,才能夠根據(jù)用戶發(fā)送的指令執(zhí)行相應(yīng)的控制命令。進(jìn)入藍(lán)牙命令響應(yīng)的工作模式主要有兩種操作方法:一種就是在模塊上電,未與其相配對的條件下便是AT模式,波特率被固定到9600,發(fā)送一次AT指令需要置高一次PIO11,所謂置高一次PIO11,就是在每個藍(lán)牙模塊中都會有一個小的按鍵,只要點擊一下即可把它置高一次。另一種方法是PIO11置為高電平后,再給該模塊加上電,此時該模塊進(jìn)入AT模式,波特率是38400,并且它們可以直接向模塊發(fā)送AT指令。但是當(dāng)藍(lán)牙模塊上的燈慢慢閃爍時,就是命令響應(yīng)的工作模式,快閃的話便是自動連接模式。藍(lán)牙模塊在通電之后執(zhí)行相應(yīng)的操作,從而實現(xiàn)掃描連接等相應(yīng)功能。通過內(nèi)部設(shè)置程序,避免藍(lán)牙模塊與其他串口之間的串口通信矛盾,從而實現(xiàn)正確配對,保證藍(lán)牙模塊與控制端口之間的正常連接。模塊中的LED為系統(tǒng)配對運行狀態(tài)的指示燈。剛上電模塊會進(jìn)入AT狀態(tài):每隔1秒指示燈閃1次;還有可以進(jìn)行配對的狀態(tài):每隔1秒指示燈閃2次;以及可以配對成功后的狀態(tài):每隔2秒指示燈閃1次,1次閃2下。(3)USART串口通訊STM32中央控制處理單元通過USART與HC05藍(lán)牙模塊進(jìn)行通訊,本設(shè)計智能四驅(qū)小車控制系統(tǒng)采用串行通信的方式實現(xiàn)數(shù)據(jù)的雙向傳輸,USART在串行通信的過程中,對數(shù)據(jù)格式有嚴(yán)格要求。通過提供多種波特率的方式,能夠?qū)崿F(xiàn)和藍(lán)牙模塊的連接,用USART支持同步單向通信和半雙工單向通信,也可以支持局域網(wǎng)以及智能協(xié)議等多種協(xié)議規(guī)范。USART功能框圖如下圖所示:圖5-26USART功能框圖eq\o\ac(○,1)代表功能引腳:TX:數(shù)據(jù)輸出引腳。RX:數(shù)據(jù)接收引腳。SW_RX:內(nèi)部引腳實現(xiàn)數(shù)據(jù)的接收。nRTS:硬件流控制中的請求發(fā)送引腳通過改變電壓的高低值向寄存器中發(fā)送命令。nCTS:清除發(fā)送引腳命令的指令,通過改變輸出電壓高低值,執(zhí)行發(fā)送命令或者是停止發(fā)送命令的模式。SCLK:時鐘器輸出引腳。USART引腳分布如表5-2所示:表5-2STM32F103RCT6芯片的串口引腳STM32F103RCT6中央集成控制單元有內(nèi)置串口,其中時鐘頻率最大為72MHz,USART主要實現(xiàn)異步通信功能[12]。eq\o\ac(○,2)代表數(shù)據(jù)寄存器:USART數(shù)據(jù)寄存器(USART_DR),在數(shù)據(jù)傳輸?shù)倪^程中主要采用8位數(shù)據(jù)字長進(jìn)行數(shù)據(jù)的存儲。USART_DR儲存有發(fā)送或者是接收到的數(shù)據(jù)信息。當(dāng)執(zhí)行發(fā)送或者是讀取命令的時候,可以實現(xiàn)該模塊與計算器之間的通信,當(dāng)往外發(fā)送數(shù)據(jù)的時候,就把該模塊中的數(shù)據(jù)發(fā)送到移位寄存器中,并通過移位寄存器往下一個工作單元進(jìn)行傳輸。eq\o\ac(○,3)代表控制器:USART內(nèi)部集成了多個控制單元,可以實現(xiàn)對數(shù)據(jù)的發(fā)送,控制,接收以及中斷等控制。當(dāng)USART_CR1寄存器使能端為1的時候,發(fā)送數(shù)據(jù)命令啟動,完成一個數(shù)據(jù)的傳輸需要保證其起始位+數(shù)據(jù)幀+停止位三個數(shù)據(jù)都一一對應(yīng)。在數(shù)據(jù)傳輸?shù)倪^程中,通過改變寄存器中的控制模式,可以實現(xiàn)對數(shù)據(jù)傳輸?shù)倪^程中的多種控制,其中發(fā)送的字符時序如圖5-27所示。圖5-27發(fā)送字符時序圖當(dāng)發(fā)送器使能端為1的時候,發(fā)送器通過改變發(fā)送數(shù)據(jù)在每個位置的位數(shù),從而實現(xiàn)數(shù)據(jù)的寫入,傳輸以及中斷等功能,發(fā)送數(shù)據(jù)時常見的重要標(biāo)志為如下所示:表5-3發(fā)送數(shù)據(jù)重要標(biāo)志接收器:USART_CR1寄存器RE位置1,可以實現(xiàn)USART接收數(shù)據(jù)的功能,數(shù)據(jù)完成接收之后,改變移位寄存器中的數(shù)據(jù),進(jìn)而產(chǎn)生中斷,其中重要的標(biāo)志為如下所示:表5-4接收數(shù)據(jù)重要標(biāo)志eq\o\ac(○,4)代表小數(shù)波特率生成:波特率主要表示數(shù)據(jù)信號對載波的調(diào)制頻率,比特率主要指單位時間內(nèi)傳輸?shù)淖止?jié)數(shù),數(shù)據(jù)字節(jié)數(shù)對于USART來說,波特率與比特率相等,其中波特率越大,傳輸速度越快,其計算公式如下所示。圖5-28波特率計算以上公式中的fCK為時鐘,USARTDIV為波特率寄存器中的無符號定點數(shù)。(4)HC05驅(qū)動HC05驅(qū)動單元可以對藍(lán)牙傳輸模塊的通訊以及超聲波模塊接收數(shù)據(jù)處理進(jìn)行控制,本文設(shè)計的STM32智能四驅(qū)小車控制系統(tǒng),采用USART與藍(lán)牙模塊HC05進(jìn)行無線通訊,通過中斷服務(wù)子程序?qū)⒔邮盏降臄?shù)據(jù)儲存到靜態(tài)緩沖區(qū)當(dāng)中,代碼如圖5-29所示。圖5-29USART2中斷接收緩沖核心代碼以上的程序函數(shù)可以在USART的中斷服務(wù)子程序中進(jìn)行直接調(diào)用,其中核心代碼如圖5-30所示。代碼實現(xiàn)的功能,分別為向HC05藍(lán)牙模塊發(fā)送命令以及實現(xiàn)藍(lán)牙傳送數(shù)據(jù)功能。圖5-30HC05驅(qū)動核心代碼HC05藍(lán)牙模塊通過引腳判斷串口接收到的數(shù)據(jù),從而控制是否需要傳輸數(shù)據(jù)??刂频姆绞揭彩峭ㄟ^數(shù)據(jù)命令控制語句中的引腳設(shè)置為高電平,實現(xiàn)字符串的發(fā)送功能,通過判斷語句執(zhí)行命令操作;若命令執(zhí)行不成功,需要重復(fù)多次發(fā)送命令。HC05模塊在系統(tǒng)中初始化完畢,并將其設(shè)置為MASTER模式后,可定時調(diào)用linkHC05函數(shù),它們將會自動掃描周邊的所有藍(lán)牙設(shè)備,獲得藍(lán)牙設(shè)備的名字等,然后查找是否存在有一些藍(lán)牙設(shè)備名字含有“HC05”字符串,若有則自動對其進(jìn)行配對、連接,下圖描述了將遠(yuǎn)程藍(lán)牙通訊設(shè)備相連。圖5-31掃描連接遠(yuǎn)程藍(lán)牙設(shè)備主要代碼示例圖(5)安卓手機(jī)App該App開發(fā)環(huán)境搭建是SDK8.0+Androidstudio2.2,實現(xiàn)對STM32智能四驅(qū)小車的控制[13]。項目目錄結(jié)構(gòu)如下圖所示:圖5-32App目錄結(jié)構(gòu)項目的配置文件(AndroidManifest.xml)如下圖所示:圖5-33App配置文件App啟動頁面如下圖所示:圖5-34App啟動界面圖啟動界面主要代碼如下圖所示:圖5-35App啟動代碼藍(lán)牙搜索功能主要代碼如下圖所示:圖5-36App藍(lán)牙搜索藍(lán)牙配對功能主要代碼如下圖所示:圖5-37App藍(lán)牙配對APP按鍵功能主要代碼如圖所示:指令定義A前進(jìn),I是停止,B是后退,C是左轉(zhuǎn),D是右轉(zhuǎn)圖5-38App按鍵控制代碼(6)HC05與安卓手機(jī)進(jìn)行藍(lán)牙通訊在安卓手機(jī)上安裝生成apk,打開手機(jī)APP,打開手機(jī)的藍(lán)牙設(shè)備,打開小車開關(guān),點擊“連接”按鈕,會顯示“查找設(shè)備中…”,稍等一會出現(xiàn)名為“HC05”的藍(lán)牙設(shè)備,這就是我們的HC05模塊的名字,點擊該設(shè)備,APP會與HC05嘗試連接,輸入配對碼“1234”,即可連接成功。APP與模塊相互連接在一起后,就能夠直接利用APP通過藍(lán)牙方式向開發(fā)板傳輸數(shù)據(jù)。App界面有前進(jìn),左轉(zhuǎn),右轉(zhuǎn),后退,停止,超聲波避障,黑線循跡這幾個按鈕,通過點擊來控制小車運行。藍(lán)牙連接功能主要代碼如下圖所示:圖5-39App藍(lán)牙連接5.2.4電機(jī)驅(qū)動模塊STM32對于小車的控制,就是調(diào)節(jié)電機(jī)的轉(zhuǎn)向,四驅(qū)小車的行駛狀態(tài)也就會隨之發(fā)生一定的改變。電機(jī)驅(qū)動模塊的主要元件為L298N,下面就詳細(xì)說明一下電機(jī)驅(qū)動模塊[14]。電機(jī)驅(qū)動模塊的實物圖如圖5-40所示:圖5-40驅(qū)動電路實物圖電機(jī)驅(qū)動模塊的電路原理如圖5-41所示:圖5-41電機(jī)驅(qū)動模塊原理圖表5-5是各個端口狀態(tài)與運動方向的關(guān)系,其關(guān)系如下表所示:表5-5端口與運動方向關(guān)系表電機(jī)M1IN1IN2電機(jī)M2IN3IN4停止00停止00正轉(zhuǎn)10正轉(zhuǎn)10反轉(zhuǎn)01反轉(zhuǎn)01-11-11電機(jī)驅(qū)動與STM32端口配置[15]:前部電機(jī)驅(qū)動L298NPC0IN1,PC1IN2控制小車左前電機(jī)正反轉(zhuǎn)PC2IN3,PC3IN4控制小車右前電機(jī)正反轉(zhuǎn)后部電機(jī)驅(qū)動L298NPC10IN1,PC11IN2控制小車右后電機(jī)的正反轉(zhuǎn)PC12IN3,PD2IN4控制小車左后電機(jī)的正反轉(zhuǎn)圖5-42初始化GPIO代碼只要配置INx()的狀態(tài)就可以改變電機(jī)轉(zhuǎn)動方向,左電機(jī)控制:圖5-43左電機(jī)控制代碼右電機(jī)控制:圖5-44右電機(jī)控制代碼小車左轉(zhuǎn),右轉(zhuǎn),停車:圖5-45左右電機(jī)轉(zhuǎn)動控制代碼5.3最終效果展示圖小車實物圖如下所示:圖5-46智能四驅(qū)小車實物圖智能四驅(qū)小車的循跡模塊通過紅外線反射感知黑線,將信號傳送給STM32微處理器,從而對電機(jī)發(fā)出不同的命令。圖5-47智能四驅(qū)小車黑線循跡圖當(dāng)智能四驅(qū)小車檢測到有障礙物的范圍時,停下轉(zhuǎn)動舵機(jī),測試示意圖顯示如下:圖5-48智能四驅(qū)小車檢測障礙圖智能四驅(qū)小車確定前方有障礙物時,轉(zhuǎn)動舵機(jī),判斷障礙物情況,然后后退避開障礙物,測試顯示結(jié)果實驗圖片如下方圖所示:圖5-49智能四驅(qū)小車避障圖智能四驅(qū)小車循跡避障,小車收到循跡指令后,走黑線,當(dāng)遇到障礙物就會停止,效果圖如下所示:圖5-50智能小車循跡避障圖如果把障礙物拿走,小車會繼續(xù)前進(jìn),效果圖如下圖所示:圖5-51智能小車循跡避障圖安卓手機(jī)App控制小車黑線循跡,超聲波避障以及小車前進(jìn),后退,左轉(zhuǎn),右轉(zhuǎn)。App控制界面如下圖所示:圖5-52手機(jī)App控制界面6項目運行調(diào)試為了保證本文基于STM32智能四驅(qū)小車控制系統(tǒng)的開發(fā)質(zhì)量,在完成各個部分硬件電路和軟件流程設(shè)計之后,需要將系統(tǒng)的硬件電路和軟件流程部分進(jìn)行集成調(diào)試,并且嚴(yán)格按照調(diào)試程序和調(diào)試步驟,對每一個模塊進(jìn)行逐一檢測。對于程序中的錯誤之處,需要盡量減小到最低,保證智能四驅(qū)小車控制系統(tǒng)的容錯能力,保證智能四驅(qū)小車控制系統(tǒng)能夠進(jìn)行正常運行。6.1調(diào)試目的通過對智能四驅(qū)小車控制系統(tǒng)進(jìn)行調(diào)試,找到控制程序編寫過程中出現(xiàn)的錯誤并及時改正,規(guī)范程序編寫過程中的代碼以及流程,并對調(diào)試之后的結(jié)果進(jìn)行總結(jié),便于后續(xù)對智能四驅(qū)小車控制系統(tǒng)的代碼進(jìn)行維護(hù)和升級。智能四驅(qū)小車控制系統(tǒng)軟件程序開發(fā)過程中,對程序代碼進(jìn)行調(diào)試,需要結(jié)合測試軟件的設(shè)備功能加快整個調(diào)試周期,從而提高軟件調(diào)試工作效率。6.2調(diào)試主要內(nèi)容智能四驅(qū)小車控制系統(tǒng)調(diào)試流程主要按以下三個模塊劃分對智能四驅(qū)小車行駛黑白路徑進(jìn)行調(diào)試對智能四驅(qū)小車進(jìn)行超聲波避障調(diào)試針對智能四驅(qū)小車藍(lán)牙通訊進(jìn)行調(diào)試6.3調(diào)試發(fā)現(xiàn)問題本設(shè)計智能四驅(qū)小車控制系統(tǒng),在設(shè)計過程中存在的問題主要是:智能四驅(qū)小車藍(lán)牙終端連接的時候與智能四驅(qū)小車之間的通訊出現(xiàn)了中斷的情況。經(jīng)過對藍(lán)牙模塊的梳理發(fā)現(xiàn)是驅(qū)動出現(xiàn)了問題,又重新安裝驅(qū)動,調(diào)試AT指令,再去調(diào)試四驅(qū)小車的藍(lán)牙通訊,就連接成功了。通過以上調(diào)試過程可以發(fā)現(xiàn),在整個智能四驅(qū)小車控制系統(tǒng)調(diào)試過程中,需要對每個部分的調(diào)試都要盡可能的關(guān)注,對于軟件流程和硬件電路測試都需要進(jìn)行詳細(xì)的檢查,若是軟件代碼編寫邏輯錯誤,造成的測試故障,需要及時糾正,避免整個代碼出現(xiàn)錯誤,便于后續(xù)代碼的維護(hù)以及升級。通過以上研究可以發(fā)現(xiàn),通過對軟件流程的調(diào)試可以保證智能四驅(qū)小車控制系統(tǒng)控制開發(fā)的高效性,針對智能四驅(qū)小車控制系統(tǒng)軟件調(diào)試,可以保證智能四驅(qū)小車控制系統(tǒng)的產(chǎn)品質(zhì)量,同時這也體現(xiàn)了一個優(yōu)秀程序開發(fā)人員的職業(yè)道德。6.4項目展望在運行調(diào)試過程中,我還發(fā)現(xiàn)智能四驅(qū)小車在行駛的過程中有時候沒有按照預(yù)定的黑線軌跡進(jìn)行行駛,小車靈敏性不夠,還達(dá)不到智能控制的精度準(zhǔn)確性要求。還有智能四驅(qū)小車在行駛的過程中超聲波未探測到的地方?jīng)]有及時避障。這些都是本次設(shè)計中四驅(qū)小車的缺陷,還需繼續(xù)深入學(xué)習(xí)相關(guān)知識,爭取達(dá)到靈敏度精準(zhǔn),這將是我后續(xù)研究的方向,將四驅(qū)小車完成的更加完美一些。7總結(jié)本次基于STM32智能四驅(qū)小車控制系統(tǒng)是在導(dǎo)師的幫助下完成的,從需求分析到最后軟硬件調(diào)試都能夠?qū)崿F(xiàn)預(yù)定目標(biāo)。在STM32智能四驅(qū)小車控制系統(tǒng)開發(fā)過程中,我遇到了很多的難題,最終都在老師的幫助下逐一得到了解決。在剛開始接觸STM32的過程中,通過查閱信息并且向老師同學(xué)請教,有了對STM32基礎(chǔ)知識的初步了解。通過查閱智能四驅(qū)小車驅(qū)動系統(tǒng)相關(guān)資料,設(shè)計了智能四驅(qū)小車行駛過程需要的常見模塊,為了保證整個智能四驅(qū)小車控制系統(tǒng)順利開發(fā),對智能四驅(qū)小車控制模塊進(jìn)行了硬件測試,為后續(xù)的軟件調(diào)試打下了一定的基礎(chǔ)。因為受
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025云南昆明市呈貢區(qū)城市投資集團(tuán)有限公司及下屬子公司第二批員工崗招聘11人備考筆試試題及答案解析
- 2025重慶酉陽自治縣城區(qū)事業(yè)單位公開遴選34人模擬筆試試題及答案解析
- 2025浙江溫州甌海區(qū)第二人民醫(yī)院(仙巖)面向社會招聘執(zhí)業(yè)醫(yī)師、護(hù)士參考筆試題庫附答案解析
- 2025年福建省人資集團(tuán)漳州地區(qū)招聘2人參考考試試題及答案解析
- 2025湖南省演出公司招聘2人模擬筆試試題及答案解析
- 深度解析(2026)GBT 26342-2024深度解析(2026)《國際間遺體轉(zhuǎn)運 棺柩》
- 深度解析(2026)《GBT 26049-2010銀包銅粉》(2026年)深度解析
- 2025中國農(nóng)業(yè)大學(xué)水利與土木工程學(xué)院科研助理招聘1人備考筆試題庫及答案解析
- 2025河南城發(fā)水務(wù)(長垣市)有限公司招聘6人考試筆試模擬試題及答案解析
- 2025廣東中山市板芙鎮(zhèn)招聘公辦中小學(xué)校臨聘教師1人模擬筆試試題及答案解析
- 短暫性腦缺血發(fā)作診療指南診療規(guī)范
- 髖關(guān)節(jié)撞擊綜合征診療課件
- 五子棋社團(tuán)活動方案及五子棋社團(tuán)活動教案
- 核對稿600單元概述校核
- 個人獨資企業(yè)公司章程(商貿(mào)公司)
- GA/T 1073-2013生物樣品血液、尿液中乙醇、甲醇、正丙醇、乙醛、丙酮、異丙醇和正丁醇的頂空-氣相色譜檢驗方法
- A建筑公司發(fā)展戰(zhàn)略研究,mba戰(zhàn)略管理論文
- 中國汽車工業(yè)協(xié)會-軟件定義汽車:產(chǎn)業(yè)生態(tài)創(chuàng)新白皮書v1.0-103正式版
- 情報學(xué)-全套課件(上)
- 公司戰(zhàn)略規(guī)劃和落地方法之:五看三定工具解析課件
評論
0/150
提交評論