版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 、</b></p><p><b> 燕 山 大 學(xué)</b></p><p><b> 里 仁 學(xué) 院</b></p><p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> 摘 要</b></p>&
2、lt;p> 智能小車不僅僅已經(jīng)在工業(yè)中得到了廣泛的應(yīng)用還廣泛應(yīng)用于各種行業(yè)。從通常的意義上來講,機(jī)器人作為一種可以用來模擬人類行為的電子智能裝置設(shè)備,除了可以進(jìn)行長(zhǎng)時(shí)間的大量的工作,還可以對(duì)環(huán)境變化有產(chǎn)生分析判斷和快速反應(yīng)的能力因此還可以用來抵抗和應(yīng)對(duì)惡劣的環(huán)境。機(jī)器設(shè)備現(xiàn)今作為人類最偉大的發(fā)明之一,已經(jīng)逐漸變成每個(gè)領(lǐng)域不可或缺的設(shè)備。不僅在制造業(yè)更是到家庭甚至一些穿戴設(shè)備比如電子表逐漸作為可以通訊的設(shè)備,因?yàn)橛?jì)算機(jī)、高新技術(shù)等
3、技術(shù)的快速發(fā)展已經(jīng)使得智能機(jī)器技術(shù)得到了發(fā)展。 </p><p> 本文實(shí)現(xiàn)了通過ARM單片機(jī)上的觸屏操作例如各個(gè)觸屏上的按鍵或者對(duì)觸屏上的不同的滑動(dòng)操作實(shí)現(xiàn)對(duì)小車的智能控制,主要通過對(duì)觸屏點(diǎn)坐標(biāo)的讀取和識(shí)別通過遙控端的無線模塊發(fā)送命令或數(shù)據(jù),同時(shí)在小車的遙控端接麥克風(fēng)的端口,在小車的接收端將命令或數(shù)據(jù)讀取并執(zhí)行相應(yīng)的命令,將數(shù)據(jù)中的語音信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換通過語音的功放模塊在喇叭終端實(shí)現(xiàn)語音的發(fā)聲,達(dá)到傳送語音的
4、目的。</p><p> 本實(shí)驗(yàn)在傳送命令的調(diào)試過程中采用串口調(diào)試助手調(diào)試發(fā)送以及接受程序,在完成初步的收發(fā)命令的步驟后,對(duì)每一條命令編寫要執(zhí)行相應(yīng)的功能程序在接受端對(duì)直流電機(jī)驅(qū)動(dòng)模塊控制電機(jī)的正轉(zhuǎn)與反轉(zhuǎn)。</p><p> 本課題完成設(shè)計(jì)實(shí)現(xiàn)的系統(tǒng)已試運(yùn)行正常。實(shí)驗(yàn)結(jié)果表明此次畢設(shè)已基本實(shí)現(xiàn)了所要求的功能。</p><p> 關(guān)鍵詞:智能小車;觸屏;無線收發(fā)
5、;遙控;ARM</p><p><b> 目 錄</b></p><p><b> 第1章 緒論1</b></p><p> 1.1 課題背景及意義1</p><p> 1.2 課題研究現(xiàn)狀及分析1</p><p> 1.2.1可行性分析1</p&g
6、t;<p> 1.2.2 技術(shù)現(xiàn)狀2</p><p> 1.3 技術(shù)要求與性能指標(biāo)2</p><p> 1.3.1 技術(shù)要求2</p><p> 1.3.2 功能要求3</p><p> 1.3.3 技術(shù)參數(shù)指標(biāo)3</p><p> 第2章 方案確定與技術(shù)路線5</p>
7、<p> 2.1 硬件方案設(shè)計(jì)與對(duì)比分析5</p><p> 2.2 軟件方案設(shè)計(jì)與對(duì)比分析6</p><p> 2.3 人機(jī)接口設(shè)計(jì)與對(duì)比分析7</p><p> 第3章 智能小車的硬件實(shí)施方案9</p><p> 3.1智能小車的實(shí)現(xiàn)平臺(tái)介紹9</p><p> 3.2 微控制器
8、的選擇9</p><p> 3.3命令發(fā)送端平臺(tái)9</p><p> 3.3.1命令發(fā)送端液晶顯示介紹9</p><p> 3.3. 2 觸屏操作平臺(tái)介紹12</p><p> 3.3.3芯片STM32F103ZET6介紹13</p><p> 3.4 無線收發(fā)模塊與串口通信14</p>
9、;<p> 3.4.1無線通信模塊原理14</p><p> 3.4.2 串行通信接口電路16</p><p> 3.4.3 無線模塊應(yīng)用示意圖16</p><p> 3.5命令接收端平臺(tái)介紹16</p><p> 3.5.1電機(jī)驅(qū)動(dòng)模塊L298N介紹16</p><p> 3.5.
10、2直流電機(jī)驅(qū)動(dòng)介紹17</p><p> 3.5.3 芯片STM32F103RCT6介紹18</p><p> 3.5.4 ISD1820錄放模塊使用說明介紹19</p><p> 第4章 發(fā)聲小車系統(tǒng)軟件設(shè)計(jì)21</p><p> 4.1 單片機(jī)開發(fā)環(huán)境KEIL介紹21</p><p> 4.2驅(qū)
11、動(dòng)庫函數(shù)介紹21</p><p> 4.3 應(yīng)用程序設(shè)計(jì)21</p><p> 4.3.1 接收端主程序驅(qū)動(dòng)21</p><p> 4.3.2發(fā)送端主程序驅(qū)動(dòng)23</p><p> 4.4 人機(jī)接口方案的詳細(xì)設(shè)計(jì)與實(shí)施24</p><p> 4.4.1 液晶顯示驅(qū)動(dòng)24</p>&l
12、t;p> 4.4.2液晶顯示函數(shù)25</p><p> 第5章 系統(tǒng)測(cè)試實(shí)驗(yàn)與結(jié)果分析26</p><p> 5.1 功能實(shí)現(xiàn)測(cè)試實(shí)驗(yàn)與分析26</p><p> 5.2 性能技術(shù)參數(shù)測(cè)試分析27</p><p> 設(shè)計(jì)總結(jié)與存在的問題28</p><p><b> 參考資料29
13、</b></p><p><b> 附件:30</b></p><p><b> 附錄132</b></p><p><b> 附錄237</b></p><p><b> 附錄341</b></p><p&
14、gt;<b> 第1章 緒論</b></p><p> 1.1 課題背景及意義</p><p> 科學(xué)的不斷進(jìn)步需要人們向前的不斷探險(xiǎn),而在漫長(zhǎng)的過程中,我們需要更加有力的工具或者一些電子或者機(jī)械的設(shè)備幫助我們努力前進(jìn)。這些高科技的設(shè)備可以幫助我們延長(zhǎng)我們的視覺上的空間或者我們的雙手去獲得我們本不能或者本身人類所接觸不到的東西。一切都正在因它們而逐漸發(fā)生改變。智
15、能小車正是其中一種。</p><p> 智能小車不僅可以幫助我們抵抗自然災(zāi)害更在探索外太空探索未知領(lǐng)域起著重大的作用。最近幾年里,中國(guó)、日本等國(guó)發(fā)生了多次極為嚴(yán)重的自然災(zāi)害。例如汶川大地震、日本海嘯等提升了人們對(duì)自然災(zāi)害的警惕,同時(shí)也提醒著人們應(yīng)該給予智能機(jī)器人方面足夠的重視,提高抗災(zāi)救災(zāi)能力迫在眉睫。伴隨著智能小車和計(jì)算機(jī)技術(shù)的不斷發(fā)展機(jī)器的越來越智能化并逐步地成為了一種潛在的力量,比如它可以代替人類或者動(dòng)物
16、進(jìn)入危險(xiǎn)的環(huán)境中,去探索一些人類不能進(jìn)入或者不敢進(jìn)入的地方,還可以更近地拍攝一些未知的危險(xiǎn)環(huán)境等等。除了在科學(xué)探索方面該技術(shù)也可以應(yīng)用于救援方面,例如為消防官兵的救援做好準(zhǔn)備,幫助消防官兵救援和探索有難以發(fā)現(xiàn)的生命跡象,給受困群眾更多生還的機(jī)會(huì)。最后,智能小車還能幫助我們探索無限的天空,美國(guó)探索月球和火星的主要工具便是智能小車,我國(guó)的探月計(jì)劃也少不了智能小車的幫助。 此外,智能小車也逐漸開始在軍事、民用和科學(xué)研究等方面走向巔峰,而且在科
17、學(xué)領(lǐng)域也提供了一種新的途徑。</p><p> 1.2 課題研究現(xiàn)狀及分析</p><p> 1.2.1可行性分析</p><p> 隨著計(jì)算機(jī)技術(shù)的快速發(fā)展也帶動(dòng)著電子行業(yè)的不斷向前發(fā)展,小到家庭生活大到航天科技,無一不體現(xiàn)著技術(shù)的極大應(yīng)用和發(fā)展,例如日常生活中的自動(dòng)掃地機(jī)器人就是深入人們生活的一個(gè)典例,嫦娥一號(hào)探月機(jī)器人則是在航天方面的應(yīng)用。但是到目前為止
18、,智能機(jī)器車技術(shù)在獲取信息、傳輸數(shù)據(jù),處理信息和控制等等方面都有很大的限制,伴隨著圖像技術(shù)的應(yīng)用,圖像信息的處理和獲取方面等都方面都有很大的限制,因其無法處理復(fù)雜的和多任務(wù)的優(yōu)先級(jí)的處理或者在多變的環(huán)境下工作因?yàn)榄h(huán)境的變化產(chǎn)生無法工作或者徹底癱瘓并因此產(chǎn)生更加巨大的影響,所以需要考慮多個(gè)機(jī)器設(shè)備共同組成的系統(tǒng)的可性,此系統(tǒng)內(nèi)需要多個(gè)傳感器的共同協(xié)作和信息的共享以達(dá)到完成單個(gè)智能車難以完成的任務(wù),或者在單個(gè)智能車上板載更多的電子設(shè)備,以達(dá)
19、到多個(gè)智能機(jī)器人共同協(xié)作的能力 ,提高執(zhí)行任務(wù)的效率。由多個(gè)智能電子設(shè)備或者多機(jī)器設(shè)備組成的系統(tǒng)相比較而言有很大的優(yōu)越性。</p><p> 1.2.2 技術(shù)現(xiàn)狀</p><p> 從2003年以來全國(guó)電子設(shè)計(jì)大賽和省級(jí)全國(guó)電子設(shè)計(jì)大賽智能小車一直備受青睞,大家都在前人的基礎(chǔ)上紛紛亮出自己的得意之作。且大部分是以循跡小車為主題,主控芯片自然是用的贊助商提供的片子為多。其中飛思卡爾、MP
20、S430等都是智能小車的熱門主控芯片,甚者有采用FPGA、DSP、ARM 來做控制臺(tái)的,個(gè)人覺得 Cortex‐M3 很適合,而此文為大家介紹的是采用STM32F103ZET6為主控芯片,為從處理器搭建的智能小車平臺(tái)。ARM芯片功能眾多相比51單片機(jī)可實(shí)現(xiàn)的功能和集成更加優(yōu)秀,在因此決定用ARM芯片來作為主控芯片搭建智能小車。</p><p> 隨著科技的迅猛發(fā)展特別是電子行業(yè)和計(jì)
21、算行業(yè)的快速發(fā)展,機(jī)器車的應(yīng)用越來越廣泛越來越復(fù)雜,人們開始更加全面細(xì)致地深入研究關(guān)于智能機(jī)器的各項(xiàng)技術(shù),</p><p> 比如對(duì)信息的處理越來越快速高效,前段時(shí)間出現(xiàn)的人工智能阿爾法狗已經(jīng)超越人類的第一圍棋高手著標(biāo)志這人工智能在深度學(xué)習(xí)已經(jīng)到達(dá)了一個(gè)巔峰,除了在人工智能方面的發(fā)展;電子行業(yè)也得到很大的發(fā)展,例如美國(guó)一公司已經(jīng)設(shè)計(jì)出能獨(dú)立跨越各種阻礙的機(jī)器狗,這除了得益于計(jì)算機(jī)的計(jì)算能力有了很有效的提高,還得
22、益于智能機(jī)器車的應(yīng)用已經(jīng)逐漸的滲透到人們生活的各個(gè)領(lǐng)域,這是一個(gè)讓人高興事情。隨著技術(shù)的不斷發(fā)展以及對(duì)智能機(jī)器方面的各項(xiàng)技術(shù)的成熟,智能已經(jīng)逐漸向民用發(fā)展 ,例如餐飲行業(yè)的服務(wù)與現(xiàn)場(chǎng)機(jī)器人,不僅能夠像服務(wù)員一樣為顧客提供而且還能及時(shí)明白顧客的要求實(shí)現(xiàn)科技與生活相結(jié)合的目的。除此之外,人機(jī)交互也是21世紀(jì)人類對(duì)本身的智能研究的一個(gè)清晰的方向,增加客戶體驗(yàn)等,如果能把人類的智慧充分發(fā)揮出來監(jiān)控技術(shù)和人機(jī)技術(shù)就可已得到更加充分的發(fā)展,甚至達(dá)到
23、人機(jī)一體。</p><p> 智能技術(shù)的發(fā)展涉及傳統(tǒng)的人工智能和新型的人工智能,每個(gè)階段的智能發(fā)展都受到當(dāng)時(shí)社會(huì)的發(fā)展力的影響,所以迄今為止還沒有一個(gè)完全可以用來完整全面的闡述指導(dǎo)研究智能的實(shí)現(xiàn)的理論。</p><p> 1.3 技術(shù)要求與性能指標(biāo)</p><p> 1.3.1 技術(shù)要求</p><p> 通過上面的介紹,表面上是單純
24、的一個(gè)用遙控來控制小車執(zhí)行命令并用無線麥克來傳輸數(shù)據(jù)和聲音的一個(gè)玩具,其實(shí)不然,該畢業(yè)設(shè)計(jì)雖然只是一個(gè)很簡(jiǎn)單的實(shí)現(xiàn)過程其實(shí)在應(yīng)用方面還是有很大的拓展空間,例如在一些迪士尼等游樂場(chǎng)可以用來逗樂游人的一個(gè)游玩的措施,不僅好玩而且還能大大吸引游客。在一些孩子的玩具上應(yīng)用可以激發(fā)孩子的想象力,避免抑郁癥的出現(xiàn),另外在餐飲行業(yè)應(yīng)用來送餐以及可以直接通過語音來和顧客交流,實(shí)則也是一個(gè)很好的創(chuàng)意,不僅僅是應(yīng)用在民用,很多的也可以應(yīng)用在科研,例如在探月
25、,救援,軍用中都可以實(shí)現(xiàn)更大的價(jià)值。</p><p> 在高校中從2003年以來全國(guó)電子設(shè)計(jì)大賽和省級(jí)全國(guó)電子設(shè)計(jì)大賽智能小車一直備受青睞,大家都在前人的基礎(chǔ)上紛紛亮出自己的得意之作。 且大部分是以循跡小車為主題。</p><p> 從成本的角度來考慮,簡(jiǎn)單易行而且成本很低,不僅僅適合游樂場(chǎng)這樣的大型的設(shè)施也適合家庭這樣的小的場(chǎng)所。</p><p> 1.3.
26、2 功能要求</p><p> 簡(jiǎn)單介紹一下智能小車平臺(tái)可以實(shí)現(xiàn)的功能:上位機(jī)無線遙控可發(fā)送速度、轉(zhuǎn)向、行車時(shí)間、軌跡、測(cè)距、自動(dòng)蔽障等控制命令,同時(shí)可以反饋實(shí)時(shí)速度、距離、電源電壓、功率等狀態(tài)數(shù)據(jù),本次的畢業(yè)設(shè)計(jì)將采用智能遙控小車增加語音模塊的功能。</p><p> 本項(xiàng)目的整個(gè)實(shí)現(xiàn)過程是通過控制端向小車發(fā)送轉(zhuǎn)向停止前進(jìn)等命令,再由終端的單片機(jī)處理信息,將數(shù)據(jù)轉(zhuǎn)發(fā)給板載的電機(jī)驅(qū)動(dòng)模
27、塊,模塊通過對(duì)命令的解析實(shí)現(xiàn)對(duì)直流電機(jī)的正轉(zhuǎn)反轉(zhuǎn)實(shí)現(xiàn)小車的各種運(yùn)動(dòng)的命令。此外在遙控端采用TFTLCD觸摸屏作為發(fā)送命令的端口而并沒有采用按鍵,可以通過對(duì)觸屏的操作讓屏幕識(shí)別動(dòng)作從而可以實(shí)現(xiàn)對(duì)終端的命令。除此之外,小車上還安裝了語音模塊,在無線傳輸過程中不但要處理執(zhí)行的操作命令,還要將語音信息及時(shí)傳給語音模塊進(jìn)行模數(shù)操作后通過喇叭發(fā)出聲音??傮w來說主要分成四部分,液晶觸摸屏和無線傳輸,電機(jī)驅(qū)動(dòng)模塊和語音模塊部分。</p>
28、<p> 1.3.3 技術(shù)參數(shù)指標(biāo)</p><p> ?。?)液晶坐標(biāo)讀取與定位</p><p> 在機(jī)器人研究領(lǐng)域中,人機(jī)交互問題一直都是機(jī)器人和智能車研究的熱點(diǎn)問題,這些都要不僅要靠機(jī)器的傳感器來感知環(huán)境并將環(huán)境的參數(shù)讀取出來還要能實(shí)現(xiàn)對(duì)人的一些命令的準(zhǔn)確執(zhí)行,目前液晶的顯示以及人機(jī)交互的成果上已經(jīng)取得了一些成果,但是對(duì)于手勢(shì)的變化以及定位是目前研究的難點(diǎn),除此之外該研究
29、包括如何讓小車與環(huán)境進(jìn)行交互,構(gòu)建精確的環(huán)境與運(yùn)動(dòng)模型,如何有效的去除環(huán)境中的不確定因素。</p><p><b> ?。?)無線傳輸</b></p><p> NRF24L01 是一款專門用來無線通信的通信芯片,采用 FSK 調(diào)制方式,該模塊內(nèi)部集成可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的無線通信的enhanced short burst協(xié)議,在每次進(jìn)行點(diǎn)對(duì)點(diǎn)通信時(shí)要配置相應(yīng)傳輸數(shù)據(jù)的主
30、從機(jī)的地址,除此之外,無線通信的速度可以達(dá)到2M。每個(gè)無線模塊上有六個(gè)控制和數(shù)據(jù)信號(hào),采用spi通信方式。能極大提高傳輸?shù)臏?zhǔn)確性和速率。</p><p> 第2章 方案確定與技術(shù)路線</p><p> 2.1 硬件方案設(shè)計(jì)與對(duì)比分析</p><p> 本系統(tǒng)可拆分為三個(gè)部分:1、液晶顯示觸屏操作部分;2、無線傳輸模塊;3、小車驅(qū)動(dòng)模塊和直流電機(jī)。綜合以上的設(shè)計(jì)
31、要求,在此提供了兩種可能的設(shè)計(jì)方案。</p><p><b> 方案一:</b></p><p> 單片機(jī)選用簡(jiǎn)單的51單片機(jī)最小系統(tǒng)板顯示屏用LCD1602顯示數(shù)據(jù),無線傳輸模塊采用WiFi進(jìn)行傳輸,對(duì)命令的發(fā)送端則采用單個(gè)端口控制的獨(dú)立按鍵方式,相對(duì)結(jié)構(gòu)來說更加簡(jiǎn)單易行。同時(shí)作為wifi的接收端的設(shè)備也很廣泛,因?yàn)閣ifi本身是一種允許電子設(shè)備連接到一個(gè)無線局
32、域網(wǎng)的開放的技術(shù),通常使用2.4G頻段。連接方式上也更加多元化既可以密碼保護(hù)也可以開放,這樣就可以運(yùn)行任何在WLAN范圍內(nèi)的設(shè)備可以連接上。接收端也采用51單片機(jī)結(jié)構(gòu)更加簡(jiǎn)單。</p><p><b> 該方案優(yōu)缺點(diǎn):</b></p><p> 優(yōu)點(diǎn):使用wifi傳輸一段距離,可以極大的方便安裝;51單片機(jī)的可靠性強(qiáng),精度高,價(jià)格低廉; 使用無線傳輸方便遙控小車,
33、省去了有線的限制。</p><p> 缺點(diǎn):使用WIFI及無線AP信號(hào)增強(qiáng)設(shè)備可能花費(fèi)較高的預(yù)算并且AP的軟件寫起來也相當(dāng)復(fù)雜;WIFI信號(hào)相比有線傳輸不夠穩(wěn)定,可能會(huì)影響設(shè)備的可靠性。</p><p><b> 方案二:</b></p><p> 單片機(jī)選材方面選擇功能更加豐富的ARM單片機(jī)功能強(qiáng)大,而在編寫程序方式上選擇調(diào)用庫函數(shù)來寫
34、程序,顯示屏則改成使用顯示數(shù)字和圖片的TFTLCD液晶顯示屏,而且也支持觸屏操作,不用額外的輸入模塊即可一個(gè)模塊實(shí)現(xiàn)同時(shí)的功能。而在音頻的模式上選擇直通的方式,可以通過對(duì)音頻的采集和AD/DA轉(zhuǎn)換后直接通過一個(gè)功放模塊輸出信號(hào)。</p><p><b> 該方案優(yōu)缺點(diǎn):</b></p><p> 優(yōu)點(diǎn):選用arm芯片功能上強(qiáng)大能直接使用更多豐富的功能,而選擇液晶顯
35、示則能更加將數(shù)據(jù)傳輸?shù)慕Y(jié)果顯示出來,觸屏操作更加方便。</p><p> 缺點(diǎn):編程復(fù)雜,需要花費(fèi)更多的時(shí)間和成本。</p><p> 綜上兩個(gè)方案的優(yōu)缺點(diǎn)之后選擇方案二作為此次畢設(shè)的主要執(zhí)行方案。</p><p> 本次智能小車的硬件設(shè)計(jì)方面是以控制為基礎(chǔ),以數(shù)據(jù)傳輸作為中繼并選擇合適的控制器實(shí)現(xiàn)眾多功能的一款設(shè)計(jì),其中控制器包括最小系統(tǒng)、電源電路、無線傳輸
36、模塊、AD/DA轉(zhuǎn)換電路、控制器輸入輸出接口電路、電機(jī)驅(qū)動(dòng)電路等、語音放大電路方框圖如圖2-1 所示。</p><p> 圖2-1 系統(tǒng)方框圖</p><p><b> 無線通信模塊 </b></p><p> 通信模塊主要是用來完成智能小車與控制端的單片機(jī)的通信,由于小車移動(dòng)性的特點(diǎn),所以系統(tǒng)選用無線通信進(jìn)行數(shù)據(jù)傳輸。通信模塊采用的是S
37、PI的通信方式這種方式能短距離內(nèi)傳輸數(shù)據(jù)具有抗干擾性強(qiáng),安裝靈活等優(yōu)點(diǎn),并且該模塊具有enhanced burst通信方式,能大功率發(fā)送信號(hào)。</p><p> 2.2 軟件方案設(shè)計(jì)與對(duì)比分析</p><p> 系統(tǒng)的軟件設(shè)計(jì)包括在keil的軟件編程以及stm32開發(fā)板的基礎(chǔ)上進(jìn)行小車電機(jī)驅(qū)動(dòng)程序、語音模塊驅(qū)動(dòng)程序、AD/DA轉(zhuǎn)換的驅(qū)動(dòng)程序、液晶顯示程序的編寫;</p>
38、<p> 方案一程序框圖 方案二程序框圖</p><p> 如上述程序框圖所示,方案一采用定時(shí)器中斷的方式,方案二采用查詢的方式兩種,方案一中每次定時(shí)時(shí)間到,就要執(zhí)行一次條件檢測(cè)是否滿足要求,滿足則執(zhí)行數(shù)據(jù)命令判斷函數(shù)并執(zhí)行指令,方案二則處于一直查詢的狀態(tài),滿足則執(zhí)行,相對(duì)方案一來說更加嚴(yán)謹(jǐn),而且簡(jiǎn)單。綜上利弊采取方案二作為此次畢設(shè)方案。</
39、p><p> 2.3 人機(jī)接口設(shè)計(jì)與對(duì)比分析</p><p> 本次畢業(yè)設(shè)計(jì)主要的功能集中在小車的遙控和無線傳輸語音上上,因此在實(shí)現(xiàn)這些功能的同時(shí),更多的精力是集中在發(fā)送端的處理上,因此在人機(jī)的接口問題上更加注重方案的選擇,從中選擇能更好實(shí)現(xiàn)這些功能的方案。</p><p><b> 方案一:</b></p><p>
40、 選擇lcd1602作為顯示命令以及是否成功發(fā)送與接受數(shù)據(jù)的顯示芯片,操縱方面使用按鍵控制,通過按鍵時(shí)間的長(zhǎng)短實(shí)現(xiàn)不同的功能。語音的處理更加復(fù)雜。成本較低,功能簡(jiǎn)單,顯示效果不盡如人意。</p><p><b> 方案二:</b></p><p> 選擇功能更加豐富的TFTLCD可觸屏操作的液晶顯示屏。按鍵和一些手勢(shì)的識(shí)別通過觸屏上的傳感的坐標(biāo)實(shí)現(xiàn),集中度更高,
41、直接在屏幕上實(shí)現(xiàn)顯示和操作兩項(xiàng)功能。成本較低,難度中等實(shí)現(xiàn)起來較為方便。</p><p><b> 方案三:</b></p><p> 操作方面用操縱拉桿,通過角度不同實(shí)現(xiàn)速度與方向的識(shí)別,小車通過識(shí)別操作執(zhí)行命令,顯示方面選擇小的液晶顯示屏來顯示數(shù)據(jù)。但是成本較高,實(shí)現(xiàn)難度相對(duì)中等。</p><p> 在綜合成本和效果的考慮后決定選擇方
42、案二作為本次畢設(shè)要實(shí)現(xiàn)的具體的功能,而且方案二的集成度更高,在功能的擴(kuò)展方面有更大的優(yōu)勢(shì)。而且能更大程度上節(jié)約IO端口,對(duì)于芯片來說這至關(guān)重要。方案一在成本上較低,但是功能顯示上效果很差,影響效果和美觀,而方案三則成本較高,實(shí)現(xiàn)難度較高因此綜合考慮以上因素后決定選擇方案二。</p><p> 第3章 智能小車的硬件實(shí)施方案</p><p> 3.1智能小車的實(shí)現(xiàn)平臺(tái)介紹</p&g
43、t;<p> 該小車的命令或數(shù)據(jù)傳輸實(shí)現(xiàn)涉及了多個(gè)平臺(tái)間的相互協(xié)調(diào)通信。ARM作為命令或數(shù)據(jù)發(fā)出端,使用者可以通過觸屏上的不同觸電和動(dòng)作發(fā)送指令控制小車各個(gè)模塊的不同命令并進(jìn)行對(duì)電機(jī)的調(diào)節(jié)。下位機(jī)發(fā)送端MCU連接著電機(jī)驅(qū)動(dòng)模塊用以實(shí)現(xiàn)遙控指令并轉(zhuǎn)發(fā)給直流電機(jī),模塊調(diào)制信息并通過控制電機(jī)的正反轉(zhuǎn)實(shí)現(xiàn)不同命令和動(dòng)作。</p><p> 3.2 微控制器的選擇</p><p>
44、 近年來,由于科技的快速發(fā)展,大量先進(jìn)的微處理器也得以快速發(fā)展,隨著處理器的種類越來越多,各種單片機(jī)層出不窮,從 8位、16 位的 51和AVR 單片機(jī)到32 位的嵌入式微處理器,焊接方式從雙列直插式也逐漸變?yōu)榻佑|更加穩(wěn)固可靠的貼片形式,而且處理器的構(gòu)造和設(shè)計(jì)也越來越復(fù)雜,體積變得越來越小,能耗越來越低,性能卻是在逐步提高,傳輸速率也越來越快。從目前來看常用的處理器主要有以下幾種。 單片機(jī)系列,主要有 Intel 公司的 8031/8
45、051/8751系列的51單片機(jī),而從目前的智能小車的來看,微控制器大多選用 8/16 位的單片機(jī)和 DSP 兩大類,而從國(guó)內(nèi)的四軸來看,則更加偏向ARM芯片,使用單片機(jī)做控制器,控制系統(tǒng)設(shè)計(jì)相比較其他的方式來說制作比較簡(jiǎn)單,并且可以使用單片機(jī)與一些傳感器模塊的硬件連接,方式靈活而且軟件編程方面技術(shù)都已經(jīng)成熟,除了考慮到小車傳感器的數(shù)量較多可開發(fā)程度很大,硬件設(shè)計(jì)的開發(fā)周期短以外,還在硬件方面這就需要占用較多的處理器引腳和外設(shè)的功能要求
46、也很強(qiáng)大,在軟件方面這就使得軟件的復(fù)雜度和程序代碼增加,所以選用單片機(jī)作為控制系統(tǒng)的微處理器,無論是硬件還是對(duì)軟件都是很方便</p><p> 3.3命令發(fā)送端平臺(tái)</p><p> 3.3.1命令發(fā)送端液晶顯示介紹</p><p> TFTLCD即薄膜晶體管液晶顯示器。具有顯示和觸屏雙重操作,與普通的OLED液晶顯示屏不用,他具有可以顯示顏色的功能,也因此在
47、液晶的構(gòu)造和程序的編寫上更加復(fù)雜,為了保證像素和顯示的雙重效果;在液晶屏幕上每一個(gè)像素都配有晶體管用以顯示不同的顏色值,從而通過人眼的暫留效應(yīng),形成不同的顏色。而在選擇顏色填充的構(gòu)造上則是優(yōu)先選擇簡(jiǎn)單RGB565的格式。</p><p> TFT LCD其實(shí)就是一種中底端的液晶顯示屏,并不常用于大型的電子產(chǎn)品,早期只是應(yīng)用在MP3,MP4上,因其LCD液晶顯示技術(shù)的不斷成熟,TFTLCD顯示屏也逐漸具有了高品質(zhì)
48、的優(yōu)點(diǎn),產(chǎn)量也大幅度增加,成本降低。該顯示屏的命令或數(shù)據(jù)傳輸實(shí)現(xiàn)涉及了多個(gè)平臺(tái)間的相互協(xié)調(diào)通信的特點(diǎn)。</p><p> 圖3-1 2.8寸 TFTLCD 外觀圖</p><p> 本次畢業(yè)設(shè)計(jì)的TFILCD液晶顯示模塊則采用的是16位并方式與MCU相連接,之所以不采用八位的方式,是因?yàn)椴势烈獋鬏數(shù)目刂菩畔⒌臄?shù)據(jù)量比較大,不僅要顯示數(shù)據(jù)還要同時(shí)讀取坐標(biāo)點(diǎn),執(zhí)行觸屏操作,尤其在現(xiàn)實(shí)圖片
49、的時(shí)候,如果用八位的數(shù)據(jù)線,就會(huì)比16位的方式慢上一倍,為了保證數(shù)據(jù)的正常傳輸和速率的正常發(fā)送與接收,所以我選擇16位并口的接口液晶顯示屏來作為此次的顯示和驅(qū)動(dòng)模塊,該模塊的80并口有如下的一些信號(hào)線入下所示;</p><p> CS:TFTLCD 片選信號(hào)。</p><p> WR:向 TFTLCD 寫入數(shù)據(jù)。</p><p> RD:從 TFTLCD 讀取
50、數(shù)據(jù)。</p><p> D[15:0]:16 位雙向數(shù)據(jù)線。</p><p> RST:硬復(fù)位 TFTLCD。</p><p> ILI9341液晶控制器自帶顯示字庫的存儲(chǔ)的數(shù)據(jù),其顯示數(shù)據(jù)存儲(chǔ)大小為172800,即18位數(shù)據(jù)線讀取數(shù)據(jù)的顯示的存儲(chǔ)空間的大小,在該模式下,存儲(chǔ)芯片ILI9341采用RGB565格式存儲(chǔ)顏色數(shù)據(jù),此時(shí)ILI9341的18位數(shù)據(jù)格
51、式與MCU的16位數(shù)據(jù)線以及LCD GRAM的對(duì)應(yīng)關(guān)系如圖3-2所示:</p><p> 圖3-2 LCD GRAM的對(duì)應(yīng)關(guān)系圖</p><p> 圖3-3 2.8 寸 TFTLCD 模塊接口圖</p><p> 這樣,在實(shí)際顯示內(nèi)容的時(shí)候,就有了很大的靈活性,比如顯示JPG圖片,就可以開始從圖片的左下角,逐漸顯示到右上角,也可以從任意一個(gè)點(diǎn)任意的方向掃
52、描到另外的一個(gè)坐標(biāo)點(diǎn),例如我們規(guī)定LCD液晶顯示的掃描方向右邊到左邊,從下到上,那么我們只需要設(shè)置一次坐標(biāo)再設(shè)置一個(gè)掃描方向,顯示屏就可以不停地向LCD填充顏色數(shù)據(jù)即可,這樣就可以大大提高顯示速度從而顯示更加準(zhǔn)確。</p><p> 圖3-4 液晶顯示流程圖</p><p> 3.3. 2 觸屏操作平臺(tái)介紹</p><p> FSMC,即靈活的靜態(tài)存儲(chǔ)控制器,
53、STM32采用FSMC來連接外部的一些靜態(tài)的存儲(chǔ)功能的芯片,引文FSMC采用的直接是并口方式讀取和存儲(chǔ)的速度非常快,而且地址線有26位,可直接連接的芯片支持大容量存儲(chǔ),而且能夠與同步或者異步的16位的存儲(chǔ)器和PC存儲(chǔ)器卡當(dāng)外部接的不是存儲(chǔ)芯片而是改接TFTLCD顯示屏?xí)r真正用到的有數(shù)據(jù)線片選端寫信號(hào)和讀信號(hào)線,而且操作的時(shí)序和讀取外部存儲(chǔ)器時(shí)的時(shí)序操作是一樣的,其中片選端是一位的地址線,因此從某種程度上來說是節(jié)省了端口量。</p&
54、gt;<p> 片選端作為0和1時(shí)作為兩個(gè)連續(xù)的地址,用FSMC接顯示屏實(shí)際是把顯示屏當(dāng)成存儲(chǔ)器來使用了。</p><p> 本次設(shè)計(jì)需使用一個(gè)FSMC靜態(tài)存儲(chǔ)的端口,作為液晶顯示屏讀取和寫入數(shù)據(jù)和命令的地址和使能端。</p><p><b> 圖</b></p><p> 圖3-5 FSMC框圖</p>
55、<p> 電阻屏實(shí)際上是有表面的一層有機(jī)玻璃作為基層,表面上粘貼一層硬化的放刮痕的塑料層,以及內(nèi)部是導(dǎo)電的兩個(gè)導(dǎo)電層共同組成。在兩層之間因?yàn)殡娮柚档牟煌看伟磯憾紩?huì)通過讀取屏幕上的阻值來判斷坐標(biāo)點(diǎn),類似于矩形鍵盤的原理。通過讀取x軸和y軸的阻值的相交點(diǎn)即可以得出坐標(biāo)的具體位置。</p><p> 圖 3-6 四線電阻屏幕的工作原理<
56、/p><p> 對(duì)于電阻屏在屏幕使用過程中會(huì)出現(xiàn)漂移的現(xiàn)象,為了解決這個(gè)問題,需要在執(zhí)行程序時(shí)編寫觸屏校準(zhǔn)函數(shù),每次校準(zhǔn)會(huì)將坐標(biāo)數(shù)據(jù)重新與定義的觸屏的位置進(jìn)行比較,并在屏幕上顯示偏差,如果偏差太大則重新進(jìn)行校準(zhǔn),校準(zhǔn)成功進(jìn)入遙控界面。</p><p> 圖3-7觸屏校準(zhǔn)原理圖</p><p> 3.3.3芯片STM32F103ZET6介紹</p>&
57、lt;p> 既是遙控命令的發(fā)送端同時(shí)也是咪咕頭接收語音數(shù)據(jù)的接收端,由于向電小車上的單片機(jī)模塊發(fā)送數(shù)據(jù)與接收無線傳輸數(shù)據(jù)都需使用端口,并且再考慮到遙控發(fā)送端的高速率和日后的可擴(kuò)展性,需要選用一塊高速率、功能強(qiáng)大、穩(wěn)定且具有兩個(gè)串口以上的單片機(jī)作為主控芯片。</p><p> STM32F103ZET6單片機(jī)接口豐富,該單片機(jī)可以通過外設(shè)的不用模塊從而可以外接包括十多種標(biāo)準(zhǔn)的接口,可以方便的調(diào)用各種的資源
58、,最大限度地開發(fā)。此外使用最小系統(tǒng)板設(shè)計(jì)靈活,通過杜邦線能調(diào)用所需模塊的很多資源并靈活配置,可以極大的方便大家擴(kuò)展使用。另外開發(fā)板載支持硬件調(diào)試需要使用jlink一鍵下載</p><p> 可避免頻繁地更改端口 B0、B1 帶來的麻煩,僅通過 1 根 USB 線即可實(shí)現(xiàn) STM32 的開發(fā)。使用ARM芯片的好處是資源充足。該主芯片自帶 512K 字節(jié)的閃存,并外擴(kuò) 1M 字節(jié)SRAM 和 16M 字節(jié) FLAS
59、H,滿足大內(nèi)存需求和大數(shù)據(jù)存儲(chǔ)。板載雙 RS232 串口調(diào)試電路和各種接口芯片。</p><p> 圖3-8 STM32F103ZET6最小系統(tǒng)實(shí)物圖</p><p> 3.4 無線收發(fā)模塊與串口通信</p><p> 3.4.1無線通信模塊原理</p><p> 為了實(shí)現(xiàn)單片機(jī)能和小車通信,本次設(shè)計(jì)采用了深圳云佳科技生產(chǎn)的NRF
60、2401模塊為例。模塊如圖2-3所示。</p><p> 圖3-9 NRF2401無線傳輸模塊</p><p> NRF24L01 無線模塊,采用NRF24L01的無線傳輸芯片,該芯片的主要特點(diǎn)如下:</p><p> 1)2.4G 全球開放的 ISM 頻段,免許可證使用。</p><p> 2)最高工作速率 2Mbps,高校的 G
61、FSK 調(diào)制,抗干擾能力強(qiáng)。</p><p> 3)125 個(gè)可選的通道,滿足多點(diǎn)通信和調(diào)頻通信的需要。</p><p> 4)支持spi通信,點(diǎn)對(duì)多點(diǎn)的通信地址控制和內(nèi)置 CRC 檢錯(cuò)。</p><p> 5)低工作電壓(1.9~3.6V)。</p><p> 6)可設(shè)置自動(dòng)應(yīng)答,確保數(shù)據(jù)可靠傳輸。</p><p
62、> 該芯片與外部 MCU 通信采用SPI通信方式,相對(duì)于i2c的通信方式SPI速度可以達(dá)到10Mhz/s而且穩(wěn)定性和可靠性都有很大的提高。本章我們用到的模塊是NRF24L01的2.4G的頻分復(fù)用的方式。</p><p> 圖3-10 NRF2401無線模塊外觀引腳圖</p><p> NRF2401具有眾多的工作模式,在進(jìn)行大功率的收發(fā)時(shí)要對(duì)NRF2401模塊配置成Enhan
63、ced ShockBurst的模式。在初始化過程中要對(duì)主要的通信的端口配置。</p><p> 除此之外收發(fā)模式有Enhanced ShockBurstTM收發(fā)模式和ShockBurstTM收發(fā)模式兩種方式,而且只有Enhanced ShockBurstTM收發(fā)模式支持自動(dòng)ACK和自動(dòng)重發(fā)。開啟自動(dòng)ACK,則默認(rèn)選擇Enhanced模式。</p><p> 在Enhanced Shoc
64、kBurstTM收發(fā)模式下, DR1不變高說明NRF2401就沒接受到數(shù)據(jù),如果肯定發(fā)射沒問題,那就是接受的問題,基本上是程序的問題,我曾遇到過的問題,接收不到數(shù)據(jù),后來發(fā)現(xiàn)通過無線和電腦串口連接用串口助手查看傳輸?shù)臄?shù)據(jù)才發(fā)現(xiàn)是從發(fā)送到接受轉(zhuǎn)換時(shí)沒有重新配置成接收模式。在發(fā)送數(shù)據(jù)時(shí)NRF24L01自動(dòng)處理添加上字頭和CRC校驗(yàn)碼然后對(duì)數(shù)據(jù)打包發(fā)送。在接收數(shù)據(jù)時(shí),則自動(dòng)把字頭和CRC校驗(yàn)碼移去解析后邊字節(jié)的數(shù)據(jù)并進(jìn)行提取,在發(fā)送模式下,置
65、CE為高,至少等待超高10us,NRF2401高速發(fā)送數(shù)據(jù)。</p><p> 發(fā)送端要求終端的小車設(shè)備在接收到數(shù)據(jù)后有應(yīng)答信號(hào)即ACK校驗(yàn),以便發(fā)送方能時(shí)刻檢測(cè)有無數(shù)據(jù)丟失,一旦丟失則重發(fā)數(shù)據(jù)。重發(fā)數(shù)據(jù)設(shè)置在重發(fā)寄存器中用于重新發(fā)送丟失的數(shù)據(jù),在設(shè)置寄存器中則設(shè)置其重發(fā)次數(shù)和在未收到應(yīng)答信號(hào)后等待重發(fā)的時(shí)間。 </p><p> 3.4.2 串行通信接口電路</p>&
66、lt;p> SPI 串行外圍設(shè)備接口是一種MCU和外部模塊通信的一種協(xié)議,他可以通過這個(gè)接口的協(xié)議與外部設(shè)備進(jìn)行數(shù)據(jù)交換. SPI 總線在物理上是通過接在外圍設(shè)備微控制器上面的一個(gè)外部接口和USB一樣的一個(gè)協(xié)議同時(shí)也被叫做同步串行端口,它允許 MCU 以全雙工或者半雙工同步或者異步的方式, 與各種外圍設(shè)備進(jìn)行高速數(shù)據(jù)通信。</p><p> SPI主要應(yīng)用在E2PROM,F(xiàn)LASH等需要高速傳輸數(shù)據(jù)的芯
67、片上,用以控制以及數(shù)據(jù)傳輸,節(jié)約了芯片的pin數(shù)目同時(shí)也由于這一接口技術(shù)的應(yīng)用也在硬件上極大的節(jié)約了空間。由于在無線傳輸模塊上要經(jīng)過該協(xié)議配置點(diǎn)對(duì)點(diǎn)的地址,因此選擇spi的協(xié)議比i2c協(xié)議更具穩(wěn)定性和準(zhǔn)確性。</p><p> 3.4.3 無線模塊應(yīng)用示意圖</p><p> 無線傳輸?shù)慕Y(jié)構(gòu)圖如下圖3-11所示:</p><p> 圖3-11 無線傳輸結(jié)構(gòu)圖&
68、lt;/p><p> 3.5命令接收端平臺(tái)介紹</p><p> 3.5.1電機(jī)驅(qū)動(dòng)模塊L298N介紹</p><p> 本次設(shè)計(jì)采用通用電機(jī)驅(qū)動(dòng)模塊來驅(qū)動(dòng)直流電機(jī),該驅(qū)動(dòng)可驅(qū)動(dòng)兩路直流電機(jī),使能端ENA,ENB為高電平時(shí)有效,控制方式以及直流電機(jī)狀態(tài)。</p><p> 本次設(shè)計(jì)中只采用了兩個(gè)直流電機(jī)和一個(gè)萬向輪,因此對(duì)于電機(jī)正反轉(zhuǎn)實(shí)現(xiàn)
69、運(yùn)動(dòng)的方式相對(duì)來說較為簡(jiǎn)單。此外本次的供電方式是四個(gè)5伏的電池,因此電壓不會(huì)太高,對(duì)于直流電機(jī)來說不會(huì)產(chǎn)生很大的轉(zhuǎn)速,因此不用考慮是否速度過高來調(diào)節(jié)PWM的方式。</p><p> 圖3-12 電機(jī)驅(qū)動(dòng)模塊L298N圖</p><p> 3.5.2直流電機(jī)驅(qū)動(dòng)介紹</p><p> 隨著永磁材料的發(fā)展,尤其是稀土永磁的相繼問世,其磁性有了很大的提高,直流電機(jī)的
70、發(fā)展也逐漸走向結(jié)構(gòu)簡(jiǎn)單,運(yùn)行可靠,體積小,重量輕;損耗小,效率高;電機(jī)的形狀和尺寸可以靈活多樣等顯著優(yōu)點(diǎn)。</p><p> 圖3-13 直流電機(jī)實(shí)物圖</p><p><b> 直流電機(jī)的驅(qū)動(dòng):</b></p><p> 該驅(qū)動(dòng)板可驅(qū)動(dòng)2路直流電機(jī),使能端ENA,ENB為高電平時(shí)有效,控制方式及直流電機(jī)狀態(tài)表如下表:</p>
71、<p> 3.5.3 芯片STM32F103RCT6介紹</p><p> 接收端單片機(jī)作為接收端不僅要處理來自無線傳輸?shù)拿钚畔ⅲ€要將語音信息通過模數(shù)轉(zhuǎn)換將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),通過喇叭傳送出來。</p><p> 對(duì)于小車來說可以擴(kuò)展的功能很多,包括循跡,超聲波測(cè)距,以及液晶屏顯示數(shù)據(jù)等等,因此在選擇芯片上更加偏向集成度更高,功能更豐富的芯片。例如stm32f1
72、03zet6該款芯片具有3個(gè)12位的模數(shù)轉(zhuǎn)換器,1us轉(zhuǎn)換時(shí)間和2通道的12位D/A轉(zhuǎn)換器,內(nèi)置大容量的存儲(chǔ)器,具有低功耗,工作頻率高等特點(diǎn)。實(shí)物圖與電路圖如下圖所示:</p><p> 圖3-14 STM32F103ZET6最小系統(tǒng)實(shí)物圖</p><p> 在本次的設(shè)計(jì)中將ARM和電機(jī)驅(qū)動(dòng)模塊L298N的供電方式改為由51的最小系統(tǒng)板供電,除了使用無線傳輸模塊占用的端口外,其他的則
73、使用的通用端口接喇叭和四個(gè)通用端口接電機(jī)驅(qū)動(dòng)的模塊。</p><p> 圖3-15 STM32F103ZET6電路原理圖</p><p> 3.5.4 ISD1820錄放模塊使用說明介紹</p><p> 在選用語音傳送模塊中,本設(shè)計(jì)采用美國(guó)ISD公司于于 2001 年最新推出一種單片 8~20 秒單段語音錄放電路 ISD1810,它的基本結(jié)構(gòu)相對(duì)簡(jiǎn)單合成度較
74、高,內(nèi)部采用 CMOS 技術(shù),內(nèi)含振蕩器,話筒前置放大,自動(dòng)增益控制,防混淆濾波器,揚(yáng)聲器驅(qū)動(dòng)能夠很大程度節(jié)省在程序方面的編寫。ISD模塊有很多的模式,在本次試驗(yàn)中因?yàn)橐x出語音模塊的數(shù)據(jù)因此對(duì)模塊進(jìn)行改造,單純作為放大器來使用,將數(shù)據(jù)傳給單片機(jī)模數(shù)轉(zhuǎn)換后發(fā)送出去。在這個(gè)過程中將錄放模塊設(shè)置成直通模式,不需要外部觸發(fā)。</p><p> 圖3-16 語音驅(qū)動(dòng)模塊圖</p><p> 為
75、了能直接實(shí)現(xiàn)對(duì)語音的直接傳輸不需要對(duì)數(shù)據(jù)進(jìn)行儲(chǔ)存錄音,因此在模式的選擇上選擇直通模式(FT) 此端將接在 MIC 輸入端的外部語音信號(hào)經(jīng)過芯片內(nèi)部的 AGC 電路、濾波器而當(dāng)模擬的語音信號(hào)直接到達(dá)喇叭輸出端時(shí)則直接接入單片機(jī)中使用單片機(jī)程序進(jìn)行濾波處理和信號(hào)的采集發(fā)送工作。在該模式下需將 FT端接高電平,同時(shí) REC、PLAYE 和 PLAYL接低電平。直通開關(guān)閉合,對(duì)話筒說話會(huì)從喇叭輸出的端口里擴(kuò)音播放出來但此時(shí)通過單片機(jī)后變成數(shù)字音
76、頻信號(hào)通過單片機(jī)發(fā)送出去而在接收端進(jìn)行反操作,構(gòu)成喊話器功能,由于該模式下的模塊只是起到了一個(gè)放大器的作用,因此只是需要對(duì)音頻采集即可。</p><p> 第4章 發(fā)聲小車系統(tǒng)軟件設(shè)計(jì)</p><p> 4.1 單片機(jī)開發(fā)環(huán)境Keil介紹</p><p> STM32F103ZET6單片機(jī)屬于ARM系列的單片機(jī)在選用編程軟件上有兩款軟件可供選擇,一種是可使用K
77、eil系列的單片機(jī)不僅適合c51的編程也適合ARM芯片,另外一種是IAR軟件,但是IAR這款軟件相對(duì)使用不太廣泛而且軟件仿真相對(duì)于keil來說有點(diǎn)不盡如人意。但是兩者均是用c語言來編程c的優(yōu)勢(shì)主要體現(xiàn)在移植程序上但是程序的執(zhí)行效率上來說c遠(yuǎn)遠(yuǎn)不如匯編運(yùn)行的速度快。</p><p> 4.2驅(qū)動(dòng)庫函數(shù)介紹</p><p> 固件庫就是把一些底層的文件封裝從而直接提供的一種接口,在函數(shù)庫中
78、的一些變量的定義都是對(duì)寄存器的一些地址的定義,而在頭文件中則是直接提供的特殊寄存器和這些定義的固件庫函數(shù)的接口。在使用庫函數(shù)時(shí)ARM公司定義了一些接口協(xié)議例如下邊的CMSIS協(xié)議。</p><p> 向上提供用戶函數(shù)調(diào)用的接口(API)。CMSIS 分為 3 個(gè)基本功能層:</p><p> 核內(nèi)外設(shè)訪問層。 2) 中間件訪問層。3) 外設(shè)訪問層 。</p><p&
79、gt; 4.3 應(yīng)用程序設(shè)計(jì)</p><p> 4.3.1 接收端主程序驅(qū)動(dòng)</p><p> STM32F103RCT6主要功能是處理語音信息并進(jìn)行轉(zhuǎn)成適合無線發(fā)送的格式通過無線模塊發(fā)送出去,并把單片機(jī)液晶屏上的數(shù)據(jù)分批打包發(fā)送給終端,在此期間單片機(jī)的主要是用來作為語音模塊和液晶屏模塊與終端相互聯(lián)系的橋梁,整個(gè)發(fā)送與接收的完整鏈接的數(shù)據(jù)傳輸過程中無線模塊是出處于一直監(jiān)聽遙控端模塊的
80、狀態(tài)并能及時(shí)接收到從串口發(fā)來的數(shù)據(jù),同時(shí)將收到的數(shù)據(jù)從串口接收下來通過無線模塊進(jìn)行反方向的解析再通過單片機(jī)上集成的模數(shù)轉(zhuǎn)換模塊進(jìn)行轉(zhuǎn)換,由此可知針對(duì)STM32F103RCT6單片機(jī)的重點(diǎn)編程在無線傳輸部分并需要查閱其芯片手冊(cè),正確操作相關(guān)寄存器,配置好發(fā)送和接收的通信協(xié)議功能。整個(gè)程序流程圖如圖4-1所示。</p><p> 圖4-1 接收端端單片機(jī)程序流程圖</p><p> 圖4-
81、2 接收端單片機(jī)配置初始化函數(shù)</p><p> 接收端主程序中首先分別對(duì)系統(tǒng)時(shí)鐘,中斷分組,通用端口,和無線傳輸模塊的SPI通信協(xié)議以及NRF2401模塊進(jìn)行配置。如下圖所示:</p><p> 圖4-3 接收端單片機(jī)無線模塊初始化函數(shù)</p><p> 在所用的端口以及所用的外設(shè)以及協(xié)議完成后要對(duì)接收端的單片機(jī)配置模式為數(shù)據(jù)接收模式,在主函數(shù)中循環(huán)檢測(cè)是否
82、搜索到NRF2401模塊,搜索不到則led燈閃爍,否則接收數(shù)據(jù),將接受的數(shù)據(jù)與相應(yīng)的命令進(jìn)行對(duì)照,正確的話執(zhí)行相應(yīng)的程序,小車執(zhí)行命令。</p><p> 圖4-4 發(fā)送端單片機(jī)函數(shù)</p><p> 4.3.2發(fā)送端主程序驅(qū)動(dòng)</p><p> 發(fā)送端STM32F103ZET6的主要功能不僅僅是同接收端把語音模塊和無線傳輸模塊連起來,更要通過程序控制液晶顯示
83、,將液晶顯示屏要實(shí)時(shí)顯示是否發(fā)送成功與失敗同時(shí)也要檢測(cè)觸點(diǎn)坐標(biāo),執(zhí)行相應(yīng)的函數(shù)和命令,除此之外更要負(fù)責(zé)與語音模塊通過無線傳輸模塊傳輸數(shù)據(jù)和終端通信。具體功能是一直發(fā)送數(shù)據(jù)并且不斷處于監(jiān)聽的狀態(tài),檢測(cè)終端模塊是否成功接收遙控發(fā)來的數(shù)據(jù),并將結(jié)果顯示到液晶屏上,提示用戶。而接受端單片機(jī)將收到的數(shù)據(jù)通過單片機(jī)上集成的模數(shù)轉(zhuǎn)換模塊進(jìn)行轉(zhuǎn)換,由此對(duì)與發(fā)送數(shù)據(jù)的單片機(jī)STM32F103ZET6單片機(jī)的重點(diǎn)編程在液晶顯示部分并需要查閱其芯片手冊(cè),正確
84、操作相關(guān)寄存器,配置好發(fā)送的通信協(xié)議功能。</p><p> 圖4-5 LCD液晶屏程序顯示函數(shù)</p><p> 液晶顯示屏顯示的過程中,</p><p> 圖4-6 發(fā)送端單片機(jī)外設(shè)功能配置函數(shù)</p><p> 圖4-7 檢測(cè)主函數(shù)</p><p> 4.4 人機(jī)接口方案的詳細(xì)設(shè)計(jì)與實(shí)施</p&g
85、t;<p> 4.4.1 液晶顯示驅(qū)動(dòng)</p><p> 在對(duì)液晶顯示中需要先對(duì)顯示屏進(jìn)行一些基本的配置,比如對(duì)屏幕的掃描的方向進(jìn)行配置以及寫入數(shù)據(jù)的方向以及寫入的地址的起始點(diǎn)和結(jié)束點(diǎn),對(duì)液晶背光的亮度控制,然后寫入的顏色數(shù)據(jù)要填充的顏色等等。</p><p> void LCD_WriteReg(u16 LCD_Reg, u16 LCD_RegValue);</
86、p><p> u16 LCD_ReadReg(u16 LCD_Reg);</p><p> void LCD_WriteRAM_Prepare(void);</p><p> void LCD_WriteRAM(u16 RGB_Code);</p><p> void LCD_SSD_BackLightSet(u8 pwm);
87、//SSD1963 背光控制</p><p> void LCD_Scan_Dir(u8 dir);//設(shè)置屏掃描方向</p><p> void LCD_Display_Dir(u8 dir);//設(shè)置屏幕顯示方向</p><p> void LCD_Set_Window(u16 sx,u16 sy,u16 width,u1
88、6 height);//設(shè)置窗口 </p><p> //LCD分辨率設(shè)置</p><p> #define SSD_HOR_RESOLUTION800//LCD水平分辨率</p><p> #define SSD_VER_RESOLUTION480//LCD垂直分辨率</p
89、><p> //LCD驅(qū)動(dòng)參數(shù)設(shè)置</p><p> #define SSD_HOR_PULSE_WIDTH1//水平脈寬</p><p> #define SSD_HOR_BACK_PORCH46//水平前廊</p><p> #define SSD_HOR_FRONT_PORCH210//水平后廊</p&
90、gt;<p> 4.4.2液晶顯示函數(shù)</p><p> 在液晶屏幕上首先可以通過一些事先寫好的函數(shù)的畫圖的函數(shù)直接調(diào)用,在屏幕上畫出想要的圖畫和文字,然后通過調(diào)用顏色函數(shù)進(jìn)行填充,在畫圖時(shí)對(duì)一些函數(shù)的參數(shù)要進(jìn)行修改,起始點(diǎn)坐標(biāo)以及大小等等。</p><p> void LCD_Init(void); //初始化</p>&l
91、t;p> void LCD_DisplayOn(void);//開顯示</p><p> void LCD_DisplayOff(void);//關(guān)顯示</p><p> void LCD_Clear(u16 Color); //清屏</p><p> void LCD_SetCurso
92、r(u16 Xpos, u16 Ypos);//設(shè)置光標(biāo)</p><p> void LCD_DrawPoint(u16 x,u16 y); //畫點(diǎn)</p><p> void LCD_Fast_DrawPoint(u16 x,u16 y,u16 color); //快速畫點(diǎn)</p><p> u16 LCD_R
93、eadPoint(u16 x,u16 y); //讀點(diǎn) </p><p> void LCD_Draw_Circle(u16 x0,u16 y0,u8 r); //畫圓</p><p> void LCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2); //畫線</p><p
94、> void LCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2); //畫矩形</p><p> void LCD_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 color); //填充單色</p><p> void LCD_Color_Fill(u16 s
95、x,u16 sy,u16 ex,u16 ey,u16 *color); //填充指定顏色</p><p> void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode); //顯示一個(gè)字符</p><p> void LCD_ShowNum(u16 x,u16 y,u32 num,u8 len,u8 size);
96、 //顯示一個(gè)數(shù)字</p><p> void LCD_ShowxNum(u16 x,u16 y,u32 num,u8 len,u8 size,u8 mode) //顯示 數(shù)字</p><p> void LCD_ShowString(u16 x,u16 y,u16 width,u16 height,u8 size,u8 *p)</p><p> 第
97、5章 系統(tǒng)測(cè)試實(shí)驗(yàn)與結(jié)果分析</p><p> 5.1 功能實(shí)現(xiàn)測(cè)試實(shí)驗(yàn)與分析</p><p> 在設(shè)計(jì)初期,首先要實(shí)驗(yàn)的是無線發(fā)送與接收數(shù)據(jù)的過程,因?yàn)槌跗谝獙?shí)驗(yàn)的是要保證無線傳輸模塊的正常運(yùn)行,在原有的串口調(diào)試程序的基礎(chǔ)上,將每次檢驗(yàn)到接受的數(shù)據(jù)通過串口的形式傳送到電腦上并通過串口調(diào)試助手作為上位機(jī)來查看接收到的數(shù)據(jù)的格式以及數(shù)據(jù)的大小,我首次用的是串口來顯示接收的數(shù)據(jù)針對(duì)每次的傳
98、輸不同的數(shù)據(jù)來檢驗(yàn)每次傳輸數(shù)據(jù)的正確性,從而針對(duì)每次傳輸?shù)臄?shù)據(jù)來執(zhí)行相應(yīng)的命令。實(shí)驗(yàn)的串口調(diào)試助手顯示的接收的數(shù)據(jù)如下圖5-1所示:</p><p> 圖5-1 串口調(diào)試返回?cái)?shù)據(jù)圖</p><p> 在測(cè)試語音模塊的過程中因?yàn)閷?duì)其模塊的改造已經(jīng)使得原有的模塊單純的作為一個(gè)放大器來使用,所以在接喇叭的端口處要用萬用表測(cè)試其電壓的最大量程并且要保持在這個(gè)量程中最大限度保證語音的不失真而且在
99、設(shè)置模塊的方式時(shí)是作為一個(gè)直通的信號(hào)來處理,以下是測(cè)得的實(shí)物和測(cè)量數(shù)據(jù)圖5-2:</p><p> 圖5-2測(cè)量放大器輸出電壓實(shí)物圖</p><p> 實(shí)驗(yàn)數(shù)據(jù)輸出電壓從0.2V-0.01V,不超過單片機(jī)輸入、輸出端口的最大量程,因此可以作為放大器來使用。</p><p> 5.2 性能技術(shù)參數(shù)測(cè)試分析</p><p> (1)最大無
100、線遙控距離測(cè)試</p><p> 在測(cè)量無線模塊的傳輸距離時(shí)對(duì)小車進(jìn)行無阻擋實(shí)驗(yàn),在實(shí)驗(yàn)距離最大超過7米左右的距離時(shí)遙控明顯出現(xiàn)連接時(shí)斷時(shí)續(xù)的現(xiàn)象小車對(duì)指令的接收存在丟失的現(xiàn)象在接受距離超過十米時(shí),小車明顯接收不到數(shù)據(jù),遙控顯示屏上顯示發(fā)送數(shù)據(jù)失敗,未連接小車此時(shí)完全處于失靈狀態(tài)。</p><p><b> (2)電機(jī)控制測(cè)試</b></p><
101、;p> 電機(jī)是通過對(duì)無線傳輸數(shù)據(jù)接收后解析命令并通過對(duì)電極控制芯片L298N的端口電平的控制便可以實(shí)現(xiàn)電機(jī)的左右轉(zhuǎn)向,前后的轉(zhuǎn)向以及停止功能,同時(shí)通過程序延時(shí)或者脈沖降低電機(jī)轉(zhuǎn)速。</p><p> 設(shè)計(jì)總結(jié)與存在的問題</p><p> 問題一:電阻屏幕在使用過程中出現(xiàn)漂移的現(xiàn)象。</p><p> 方案:在觸屏程序中編寫觸屏校準(zhǔn)函數(shù),每次校準(zhǔn)將坐標(biāo)
102、數(shù)據(jù)與定義的觸屏的位置進(jìn)行比較,并在屏幕上顯示偏差,如果偏差過大則進(jìn)行重新校準(zhǔn),校準(zhǔn)成功進(jìn)入遙控界面,除此之外更是在外部設(shè)置專門的按鍵用來進(jìn)入校準(zhǔn)的界面,在每次校準(zhǔn)后接收機(jī)要進(jìn)行復(fù)位重新檢測(cè)發(fā)送機(jī)的信號(hào)。校準(zhǔn)界面如圖5-3和未校準(zhǔn)界面圖5-4所示:</p><p> 圖5-3首次校準(zhǔn)界面 圖5-4 未校準(zhǔn)成功顯示界面</p><p> 問題
103、二: 發(fā)送命令時(shí)只能夠一次按下一次按鍵,不能同時(shí)按下兩個(gè)甚至多個(gè)按鍵。</p><p> 方案:分別在接受命令和發(fā)送命令中編寫組合按鍵要執(zhí)行的程序代碼,和發(fā)送端需要發(fā)送的命令。在本次畢業(yè)設(shè)計(jì)中采用的四節(jié)5V電壓的電池,供電電壓小速度緩慢,而且采用的兩輪驅(qū)動(dòng)在轉(zhuǎn)向上四個(gè)按鍵的設(shè)計(jì)完全足夠轉(zhuǎn)向的功能要求,加上本身萬向輪的轉(zhuǎn)向靈活不必添加組合鍵的設(shè)計(jì),因此在考慮以上因素后決定使用第一種方法,即不對(duì)組合鍵功能進(jìn)行設(shè)置,
104、完全采用獨(dú)立按鍵的設(shè)計(jì)方式。這在功能上更加方便簡(jiǎn)潔。</p><p><b> 參考資料</b></p><p> [1] 陳志旺 STM32嵌入式微控制器快速上手(第二版)[M]. 電子工業(yè)出版社 2014</p><p> [2] 王寶萍 玩具智能小車控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].- 2013</p><p>
105、; [3] 鄭啟文 基于無線通信網(wǎng)絡(luò)的多智能小車協(xié)作控制系統(tǒng)研究- [D] 2013</p><p> [4] 李健,任玲芝,郭亮,何義超 無線語音控制小車的設(shè)計(jì)與實(shí)現(xiàn) [D]</p><p> [5] 劉崇翔 基于ARM智能小車的設(shè)計(jì)與研究 [D]</p><p> [6] 解俊 基于ARM智能小車控制軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]</p>
106、<p> [7] 基于arm的智能小車控制軟件系統(tǒng)的設(shè)計(jì)和實(shí)[J] 豆丁網(wǎng)</p><p> [8] 潘美鶯;李榮景 語音遙控小車的設(shè)計(jì)潘美鶯 [D] 2014</p><p> [9] 單片機(jī)實(shí)踐之閉門造車 [D]-安徽師范大學(xué) 07級(jí)電子信息工程</p><p> [10] 李國(guó)軍 電子設(shè)計(jì)工程[D] 無線激光通信光發(fā)射模塊的研究 2
107、011 [11] 周柱 基于STM32的智能小車設(shè)計(jì)[D] 技術(shù)與市場(chǎng) 2011 </p><p> [12] 周興華 用ARM驅(qū)動(dòng)TFTLCD [D] 無線電[J] 2015 </p><p> [13] 嚴(yán)林祥 nRF24L01射頻模塊驅(qū)動(dòng)程序設(shè)計(jì)[D]-電子設(shè)計(jì)工程[J] 2013 </p><p> [14] 田亮 LIN總線協(xié)議分析[D] 中國(guó)儀器
108、儀表[J] 2004</p><p> [15] 李瀚霖 智能小車研究與設(shè)計(jì)[D] 科技致富向?qū)J] 2011 </p><p> [16] 呂曉光 智能語音錄放系統(tǒng)的設(shè)計(jì)[D] 電子世界[J] 2014 </p><p><b> 附件:</b></p><p><b> 致謝</b>&
109、lt;/p><p> 經(jīng)過了為期四個(gè)月的本科畢業(yè)設(shè)計(jì)的不斷學(xué)習(xí),我逐步攻克困難一步一步完成任務(wù),最終不斷實(shí)現(xiàn)功能,我終于完成了畢業(yè)設(shè)計(jì)所有的任務(wù),但是這不僅僅是我個(gè)人的努力,還歸功于我的指導(dǎo)老師郭經(jīng)緯老師及學(xué)習(xí)過程中與我共同探討和進(jìn)步的同學(xué)們。</p><p> 在這段時(shí)間的學(xué)習(xí)當(dāng)中,我的指導(dǎo)老師幫我指引了學(xué)習(xí)之路,從論文課題的選取,到相關(guān)資料的搜集、課題結(jié)果的實(shí)現(xiàn)、論文的不斷修改,以及最
110、終論文的完成,指導(dǎo)老師一直不厭其煩地幫我提供學(xué)習(xí)經(jīng)驗(yàn),從而讓我避免了走彎路。沒有老師的耐心指導(dǎo),我無法實(shí)現(xiàn)如此令人滿意的結(jié)果。每次我遇到問題,指導(dǎo)老師都不是直接告訴我答案,而是告訴我學(xué)習(xí)的方法,讓我自己去探索,從而學(xué)到了更多知識(shí)。特別感謝我的指導(dǎo)老師,謝謝他這段時(shí)間的悉心指導(dǎo)。</p><p> 論文的完成,老師的幫助固然重要,當(dāng)然也少不了曾經(jīng)跟我一起在畢業(yè)設(shè)計(jì)的學(xué)習(xí)同學(xué)們。遇到問題,同學(xué)們總是互相探討,共同進(jìn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)--智能小車設(shè)計(jì)
- 智能小車設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 智能小車畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---labview智能小車設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)_智能清障小車設(shè)計(jì)
- 智能小車系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 智能小車設(shè)計(jì)--優(yōu)秀畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)_智能清障小車設(shè)計(jì)
- 智能小車畢業(yè)設(shè)計(jì)報(bào)告
- 畢業(yè)設(shè)計(jì)-- 多功能智能小車的設(shè)計(jì)與制作
- 畢業(yè)設(shè)計(jì)(論文)-智能小車系統(tǒng)設(shè)計(jì)與制作
- 電動(dòng)智能小車設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)---多功能智能小車的設(shè)計(jì)與制作
- 智能化小車畢業(yè)設(shè)計(jì)
- 電動(dòng)智能小車畢業(yè)設(shè)計(jì)論文
- 4194光電智能小車【機(jī)械畢業(yè)設(shè)計(jì)全套資料+已通過答辯】
- 畢業(yè)設(shè)計(jì)+智能循跡避障小車設(shè)計(jì)
- 智能小車視頻信號(hào)分解與處理畢業(yè)設(shè)計(jì)(論文)正文終稿.doc
- 畢業(yè)設(shè)計(jì)--智能小車引導(dǎo)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 藍(lán)牙智能遙控小車畢業(yè)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論