2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)論文(設(shè)計)</p><p><b> ?。ㄗ匀豢茖W(xué))</b></p><p>  題 目: 智能玩具小車的控制系統(tǒng)設(shè)計 </p><p>  院(系、部): 機電工程學(xué)院 </p><p>  學(xué) 生 姓 名:

2、吳 博 強 </p><p>  指 導(dǎo) 教 師: 王 楓 職 稱 講 師 </p><p>  2015年05月24日</p><p>  河北科技師范學(xué)院教務(wù)處制</p><p><b>  河北科技師范學(xué)院</b></p><p>  

3、本科畢業(yè)論文(設(shè)計)</p><p>  智能玩具小車的控制系統(tǒng)設(shè)計</p><p>  院(系、部)名 稱 : 機電工程學(xué)院 </p><p>  專 業(yè) 名 稱: 電子信息工程 </p><p>  學(xué) 生 姓 名: 吳 博 強 </p>

4、<p>  學(xué) 生 學(xué) 號: 0414110117 </p><p>  指 導(dǎo) 教 師: 王 楓 </p><p>  2015年05月24日</p><p>  河北科技師范學(xué)院教務(wù)處制</p><p><b>  學(xué) 術(shù) 聲

5、 明</b></p><p>  本人呈交的學(xué)位論文,是在導(dǎo)師的指導(dǎo)下,獨立進(jìn)行研究工作所取得的成果,所有數(shù)據(jù)、圖片資料真實可靠。盡我所知,除文中已經(jīng)注明引用的內(nèi)容外,本學(xué)位論文的研究成果不包含他人享有著作權(quán)的內(nèi)容。對本論文所涉及的研究工作做出貢獻(xiàn)的其他個人和集體,均已在文中以明確的方式標(biāo)明。本學(xué)位論文的知識產(chǎn)權(quán)歸屬于河北科技師范學(xué)院。</p><p>  本人簽名:

6、 日期: </p><p>  指導(dǎo)教師簽名: 日期: </p><p><b>  摘 要</b></p><p>  機器人的研究是一項具有良好前景的科研項目,而智能小車的研究可以說是機器人研究的

7、一個小入門。智能小車雖然功能不如機器人的強大,但是其所具備的功能一方面是機器人的基本功能或基礎(chǔ)原理,另一方面又有很大的發(fā)展空間。通過對智能小車的深入研究,也能為機器人的發(fā)展助一臂之力。</p><p>  本次設(shè)計的智能小車主要是基于52單片機實現(xiàn)自動循跡、避障和無線操控功能,這三個功能是一個智能小車應(yīng)具備的基本功能。對每個功能的實現(xiàn)分別依靠TCRT5000傳感器、超聲波傳感器和nRF24L01+無線模塊實現(xiàn)。這

8、些模塊收到的信號,由單片機進(jìn)行處理后,控制驅(qū)動模塊來實現(xiàn)對小車的控制。本次設(shè)計制作出的小車能夠很好地完成這些功能,達(dá)到了設(shè)計的要求。且可通過無線操控在小車的行進(jìn)過程中進(jìn)行不同工作模式的切換,這使小車的行動更加靈活。更能在遇到突發(fā)狀況時,能夠繼續(xù)正常工作或避免損壞,增強了小車的可靠性。</p><p>  關(guān)鍵詞:智能小車;單片機;TCRT5000傳感器;超聲波傳感器;nRF24L01+</p>&l

9、t;p><b>  Abstract</b></p><p>  The research of robot is a promising research project. And the research of smart car can be side to be rudiments of robot. Through in-depth study of the smart ca

10、r, also can help we research the robot.</p><p>  The design of intelligent car is mainly based on 52’s microcontroller to realize automatic tracking and obstacle avoidance and wireless control function, thes

11、e three functions is a smart car should have the basic functions. To achieve the functions of each are depended on the TCRT5000 sensor, ultrasonic sensor and nRF24L01+ wireless module. These modules receive signal, then

12、send to microcontroller. Microcontroller process the signal, to control drive module to realize the control of the car. Ma</p><p>  Keywords: smart car; microcontroller; TCRT5000 sensor; ultrasonic sensor; n

13、RF24L01+</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractI</p><p><b>  目 錄II</b></p><p><b>  1 緒

14、論1</b></p><p>  1.1 研究背景及意義1</p><p>  1.2 研究目的和設(shè)計構(gòu)思1</p><p>  2 系統(tǒng)工作原理2</p><p>  3 硬件系統(tǒng)設(shè)計2</p><p>  3.1 供電模塊設(shè)計與介紹2</p><p>  3.1.1

15、LM2576和LM2596介紹與應(yīng)用方案2</p><p>  3.1.2 7805芯片介紹與應(yīng)用方案5</p><p>  3.2 驅(qū)動模塊介紹6</p><p>  3.3 自動循跡傳感器介紹8</p><p>  3.4 避障傳感器介紹和選擇10</p><p>  3.5 無線模塊介紹和選擇11&l

16、t;/p><p>  4 軟件系統(tǒng)設(shè)計12</p><p>  4.1 自動循跡程序設(shè)計12</p><p>  4.2 自動避障程序設(shè)計15</p><p>  4.3 無線操控程序設(shè)計17</p><p>  5 小車調(diào)試與制作21</p><p><b>  結(jié)論23&l

17、t;/b></p><p><b>  參考文獻(xiàn)24</b></p><p><b>  致謝24</b></p><p><b>  附錄24</b></p><p><b>  1 緒論</b></p><p>  

18、1.1 研究背景及意義</p><p>  隨著科技的發(fā)展,尤其是計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的高速發(fā)展,使得智能化開始與各種產(chǎn)品進(jìn)行融合,衍生出功能更加強大的新一代產(chǎn)品。其中無人駕駛成為了一項重要研究方向。目前,Apple已開始著手研究智能汽車iCar或Apple Car。其他公司也有相關(guān)方面的研究計劃。在軍事領(lǐng)域,無人機也一直是一項具有重要戰(zhàn)略意義的研究項目。無論是智能汽車,還是無人機都是移動機器人中的一種[1]。而

19、智能小車則是移動機器人研究的基礎(chǔ),所以智能小車的研究可以推動智能汽車和無人機的發(fā)展。而且智能小車一直被各大高校重視,其中飛思卡爾智能小車競賽是智能小車研究中的一項重要賽事,且對智能小車技術(shù)的進(jìn)步做出了巨大貢獻(xiàn)。</p><p>  之所以說智能小車是移動機器人中的基礎(chǔ),是因為智能小車所能實現(xiàn)的功能是一個移動機器人都能完成也都應(yīng)該具備的功能[2]。可以說機器人的強大功能都是在小車功能的基礎(chǔ)上,進(jìn)行更深入研究后實現(xiàn)的

20、。而為機器人開發(fā)一個新的功能,也可以在小車上進(jìn)行一定的測試,并且成本要比直接在機器人上開發(fā)的低。因此,目前繼續(xù)深入研究智能小車,對于移動機器人乃至所有機器人研究工作有著重要意義。除此之外,智能小車也是一名電子專業(yè)大學(xué)生有能力掌握的電子技術(shù)。其難度適中,設(shè)計思路靈活,很適合用來測試大學(xué)生的電子技術(shù)。通過制作智能小車有助于鞏固電子技術(shù)的基礎(chǔ)知識,加強實踐能力。</p><p>  1.2 研究目的和設(shè)計構(gòu)思</

21、p><p>  此次設(shè)計的小車將要完成自動循跡、自動避障、無線操控功能,并能夠在小車行進(jìn)過程中進(jìn)行功能的切換,即能通過遙控器實現(xiàn)小車的工作模式。這些功能使小車能完成更復(fù)雜的工作,具有更大的容錯率。比如在自動循跡時,如果因車速過快,導(dǎo)致小車離開軌跡且不能自動重回軌跡時??梢允蛊淝袚Q到無線操控模式,通過人為操控使其重回軌道后,再切換為自動循跡模式繼續(xù)循跡工作。再如當(dāng)小車在自動避障過程中,如果突然在無效距離內(nèi)出現(xiàn)障礙,也可

22、同樣利用無線操控其避開障礙后,再繼續(xù)進(jìn)行自動避障。這種人為操控方式加智能操控方式,在智能汽車和無人機上也采用如此方式,因此制作出的小車可以在一定的程度上模擬他們在工作時如何處理問題[3]。如汽車遇到信號燈時,需要一個交通網(wǎng)絡(luò)或車主來控制車輛的行駛。</p><p>  設(shè)計的核心便是利用不同功能的感測器和無線收發(fā)模塊,來提供信號或命令給單片機,由單片機處理后控制小車的移動或感測器的工作。通過利用不同的感測器可以使

23、小車具備不同的功能,也可以使小車的功能更強、精度更高。不同的無線模塊也可以使小車接收信號范圍更遠(yuǎn)、通道更多。本次設(shè)計中使用的TCRT5000傳感器、超聲波傳感器和nRF24L01+無線模塊,性能上滿足設(shè)計要求。且小車還留有一定的擴展空間,能添加新的或更換更好的感測器,提升小車的性能。</p><p><b>  2 系統(tǒng)工作原理</b></p><p>  本設(shè)計使用

24、52單片機作為核心處理器,通過外接循跡傳感器、障礙感測器、無線收發(fā)模塊,來給單片機提供信號。單片機接收到信號后,按照其內(nèi)部程序進(jìn)行信號識別并處理各種信號。之后控制電機所接電壓的有無、大小和正負(fù),實現(xiàn)對電機轉(zhuǎn)速和轉(zhuǎn)動方向的控制,從而控制小車的移動。</p><p>  通過編程使單片機知道應(yīng)如何處理各傳感器傳輸?shù)男盘?,以及何時處理。對無線操控功能,使用兩片單片機和兩個無線收發(fā)模塊。一片單片機和一個模塊組裝成遙控器,

25、進(jìn)行操控指令的發(fā)送。另一片單片機與無線模塊安裝在小車上,進(jìn)行操控指令的接收,和對小車的控制。循跡傳感器與障礙感測器,顧名思義是進(jìn)行軌跡檢測與障礙檢測。分別服務(wù)于自動循跡功能和自動避障功能。單片機識別其傳送的信號,來控制小車實現(xiàn)這兩個功能。</p><p><b>  3 硬件系統(tǒng)設(shè)計</b></p><p>  3.1 供電模塊設(shè)計與介紹</p><

26、;p>  首先,電源的選擇有蓄電池和一般干電池。設(shè)計中用到的各種感測器、無線模塊與單片機,均要求有4~5V的輸入電壓[4]。所以兩種電源提供的電壓,雖然大于電壓要求,但可以通過變壓后,得到符合電壓范圍的伏值。因此都可以使用。由于制作的無線操控時,需要再制作一個遙控器,因此需要兩個電源。而在購買小車底板時,附帶一個4節(jié)5號電池盒,且已擁有一個12V蓄電池??紤]到小車上不僅要給單片機供電,還需給各感測器、無線模塊以及直流電機供電,因此

27、在小車上用蓄電池供電,遙控器用4節(jié)干電池供電。</p><p>  3.1.1 LM2576和LM2596介紹與應(yīng)用方案</p><p>  選好供電電源后,還需要考慮的就是變壓的問題。蓄電池的額定輸出電壓最大為12V,所以使用LM2576或LM2596 芯片進(jìn)行變壓。LM2576可提供降壓穩(wěn)壓功能,可驅(qū)動3A的負(fù)載,有優(yōu)異的線性和負(fù)載調(diào)整能力。其輸出電流可以為連續(xù)型或非連續(xù)型,這取決于選

28、取的電感的直流通流量。LM2596是LM2576的升級版,加大了待機電流,增加了自我保護電路[5]。</p><p>  設(shè)計中分別使用了一片LM2576和LM2596。如此選擇的原因有兩個,第一、兩種芯片的使用原理和方法相同,皆是通過連接為反饋電路,達(dá)到降壓穩(wěn)壓效果。而且所使用的外接元件也相同且容易購買。因此使用任意一種芯片,沒有太大的區(qū)別。第二、在使用之前,已有一片LM2576。而購買另一片時,價格低導(dǎo)致不能

29、單獨購買,所以只好購買做好的使用LM2596的降壓穩(wěn)壓模塊。</p><p>  使用的反饋電路原理相同,均是采用一個極性輸入電容,一個肖特基二極管,一個電感,一個極性輸出電容。構(gòu)成如下電路:</p><p><b>  圖1 反饋電路圖</b></p><p>  圖中的CIN、L1和COUT可以使用不同的參數(shù),但要根據(jù)情況進(jìn)行選擇。本次設(shè)計

30、中,LM2576需要自己進(jìn)行外接反饋電路。設(shè)計中,輸入電壓電壓源為4節(jié)5號干電池,最大6V直流電壓。輸出電壓要求為5V。所以CIN使用100μF,COUT使用470μF,L1使用100μH,R1使用1kΩ。其余元件參數(shù)與上圖一致。并增加了一只六角開關(guān)和RF16700保險絲[6]。</p><p><b> ?。╝)正面</b></p><p><b>  (

31、b)背面</b></p><p>  圖2 LM2576電路</p><p>  經(jīng)測試,該電路可實現(xiàn)1到5.8V范圍內(nèi)的電壓輸出。調(diào)節(jié)后穩(wěn)定在5V輸出。另一模塊如下圖:</p><p>  圖3 LM2596降壓模塊</p><p>  該模塊供電電源為蓄電池,使用時輸出電壓調(diào)節(jié)到6.2V。此電壓不能直接給單片機和感測器供電,但

32、可以給L298N驅(qū)動模塊供電。給單片機供電還需經(jīng)下述的7805芯片穩(wěn)壓。這就同時解決了單片機與L298N驅(qū)動模塊的供電問題,7805芯片穩(wěn)壓后的電壓還能給L298N的邏輯電平供電[7]。</p><p>  3.1.2 7805芯片介紹與應(yīng)用方案</p><p>  7805內(nèi)部電路具有過壓保護、過流保護、過熱保護功能。能夠?qū)崿F(xiàn)1A以上的輸出電流,具有良好的溫度系數(shù),輸出電壓誤差精度分為&

33、#177;3%和±5%。使用時連接電路如下:</p><p>  圖4 7805電路圖</p><p>  實際連接時,還應(yīng)該在兩片7805的和的端分別連接一個瓷片電容,如102,104等。這是此次設(shè)計的一個失誤。不過由于輸入電壓低——只有6.2V,所以經(jīng)實際測試后發(fā)現(xiàn)也可以使用,不會對小車產(chǎn)生影響。</p><p>  VCC端接LM2596降壓模塊的輸

34、出電壓,該電壓值不能低于6V,不能高于36V。輸出端將自動穩(wěn)壓到5V左右,實際檢測其輸出電壓為4.97V,滿足單片機與各模塊的供電要求。兩片7805中,一片單獨給單片機供電,一片給各模塊供電。這樣做是因為單片機對電壓的穩(wěn)定性要求高,而所接模塊較多[8]。如果只用一片7805,會使7805的負(fù)載過重,熱量升高。進(jìn)而導(dǎo)致穩(wěn)壓性能變壞,甚至造成7805芯片的損壞。</p><p>  下圖為實際焊接電路,該圖拍攝時還未

35、添加電源開關(guān)。添加的開關(guān)位于兩片7805中間,沒有拍攝是因為已經(jīng)固定在小車上,不便于拍攝。電路板左上方左起第一根排針為左方7805的輸出端,單獨為單片機供電。第四根排針為電壓輸入端,第五和第六根排針為GND端。下方左起前四根排針為GND端,后八根排針為右方7805的輸出端,為各個感測器供電。剩余排針未接通,沒有使用意義。</p><p>  圖5 7805穩(wěn)壓電路板</p><p>  以

36、上便完成了電源供電設(shè)計。實際測試證明得到的電壓穩(wěn)定,能滿足單片機及其余元器件的電壓要求。</p><p>  3.2 驅(qū)動模塊介紹</p><p>  小車車體的設(shè)計要求使用左右兩個電機驅(qū)動,外加一個后萬向輪,形成三點結(jié)構(gòu),以穩(wěn)定小車的行駛。</p><p>  電機有直流電機與步進(jìn)電機兩種選擇。步進(jìn)電機是通過對各相繞組按合適的時序通電,控制電機步進(jìn)轉(zhuǎn)動??梢岳脝?/p>

37、片機的定時功能,或外接定時設(shè)備,對供電時序經(jīng)行控制,從而達(dá)到控制步進(jìn)電機的轉(zhuǎn)速。如此方法,能精確地控制小車的速度,以及轉(zhuǎn)彎時的角度。但是步進(jìn)電機比直流電機的價格昂貴,且編程難度大。此次設(shè)計中,對小車的行駛速度與轉(zhuǎn)彎角度沒有高精度要求,所以采用直流電機進(jìn)行驅(qū)動。</p><p>  使用直流電機驅(qū)動時,需要利用減速齒輪按一定的減速比減速后,才可以作為小車的驅(qū)動電機。否則,會因小車的速度過快,導(dǎo)致單片機來不及處理接收

38、到的信號,失去對小車的控制。另外小車的運動方向,需要利用電機的不同轉(zhuǎn)速和轉(zhuǎn)向來實現(xiàn)。因此須利用L298N驅(qū)動模塊來實現(xiàn)對電機的控制。</p><p>  L298N驅(qū)動模塊是依靠L298N芯片來實現(xiàn)對電機的控制。L298N芯片內(nèi)部核心是一個雙H橋,如下圖所示:</p><p>  圖6 H橋電路原理圖</p><p>  當(dāng)Q1和Q4導(dǎo)通時,電機順時針轉(zhuǎn)動;當(dāng)Q2和

39、Q3導(dǎo)通時,電機逆時針轉(zhuǎn)動。在L298N中,有兩個如此的H橋,分別控制兩個電機。其中每一個H橋的Q1和Q4的基極相連接,Q2和Q3的基極相連。發(fā)射極正極與驅(qū)動電壓相連,負(fù)極與GND 相連。L298N中除須連接一個驅(qū)動電壓外,還須連接一個邏輯電壓。單片機就是負(fù)責(zé)控制各基極的電平,來實現(xiàn)對電機轉(zhuǎn)動的控制。</p><p>  L298N還有兩個使能端,分別控制H橋的開啟。利用L298N控制電機轉(zhuǎn)速,就是利用PWM時序

40、脈沖控制使能端開啟的時間,達(dá)到控制電機導(dǎo)通的時間,進(jìn)而實現(xiàn)了控制電機的轉(zhuǎn)速。L298N在使用時會產(chǎn)生大量的熱量,因此還需要使用散熱片進(jìn)行散熱。</p><p>  將電機連接在驅(qū)動模塊上后,便可以按照前述進(jìn)行對電機的控制。實際測試表明該模塊能及時地進(jìn)行H橋?qū)ǚ较虻那袚Q,對兩個使能端的PWM脈沖控制能明顯地控制電機轉(zhuǎn)速。下圖為所購買的L298N驅(qū)動模塊:</p><p>  圖7 L298

41、N驅(qū)動模塊</p><p>  控制方式如下表所示:</p><p><b>  表1 驅(qū)動控制表</b></p><p>  3.3 自動循跡傳感器介紹</p><p>  自動循跡功能的實現(xiàn)時依靠TCRT5000光電傳感器來實現(xiàn)。設(shè)計要求是小車能自行識別一個環(huán)形黑色軌跡并沿著軌跡移動,且能在循跡過程中進(jìn)行無線操控,切

42、換小車的運行模式。關(guān)于無線操控部分,將在無線操控功能設(shè)計時進(jìn)行說明,現(xiàn)在先說明自動循跡功能的設(shè)計方案。</p><p>  本人購買的用于循跡功能的感測器為一路循跡傳感器,如下圖所示:</p><p><b>  圖8 循跡傳感器</b></p><p>  其三根引腳分別是OUT、VCC、GND。當(dāng)傳感器檢測到黑色軌跡時,OUT端輸出低電平,

43、其余顏色軌跡,OUT端輸出高電平。如果傳感器因高度無法進(jìn)行檢測時,OUT端輸出低電平。</p><p>  該模塊核心是利用TCRT5000實現(xiàn)對軌跡的檢測。TCRT5000工作原理是通過紅外發(fā)射二極管發(fā)射紅外線,當(dāng)紅外線遇到黑色軌跡時,由于黑色會吸收所有光線。導(dǎo)致紅外線沒有返射足夠的強度給光敏三極管,光敏三極管便處于關(guān)閉狀態(tài),于是輸出為低電平[5]。而當(dāng)軌跡遠(yuǎn)離傳感器時,也會導(dǎo)致紅外線無法反射回來,使傳感器輸出

44、低電平。下圖為該模塊的電路原理圖:</p><p>  圖9 循跡模塊電路圖</p><p>  該模塊缺點是不能調(diào)節(jié)檢測距離,其固定檢測距離為1cm左右。設(shè)計一共使用4個該循跡模塊,分為前后兩排,一排兩個對稱安裝。前排靠內(nèi),后排靠外。這是使前排確定軌跡的最大寬度——測量為5cm——并提前檢測到小車是否駛出軌跡。后排是預(yù)防因小車速度過快,導(dǎo)致前排來不及檢測小車駛出軌跡。是一種增加循跡可靠性

45、的方案。</p><p>  3.4 避障傳感器介紹和選擇</p><p>  對于自動避障功能設(shè)計,有紅外避障方案和超聲波避障方案兩種選擇。對于紅外避障方案,購買到的YS-29紅外避障模塊,具有易編程、易調(diào)節(jié)檢測距離的特性。但是考慮到,紅外線在實際中容易受到環(huán)境光線強度的影響,且大多數(shù)障礙物表面不光滑,會產(chǎn)生漫反射現(xiàn)象。這些都將影響檢測的穩(wěn)定性和可靠性。最重要的是,該模塊不是利用編程來控

46、制避障距離,而是通過調(diào)節(jié)電位器來控制檢測距離。而其檢測距離就是避障距離。這也就意味著不能通過該模塊,來實時檢測距離,影響了小車功能的擴展性。所以最終采用超聲波避障方案。</p><p>  超聲波避障方案與紅外避障方案相比較,其優(yōu)點是能進(jìn)行實時檢測障礙物到小車的距離,可將避障功能擴展成測距功能和避障功能于一體,以滿足更多工作需求。但是考慮到負(fù)載過多,不能再外接1602或數(shù)碼管顯示所測距離,所以小車檢測到的距離數(shù)據(jù)

47、沒有顯示。測距功能只能為避障服務(wù),不能滿足其余工作需求。超聲波的反射也比紅外線穩(wěn)定,能增強自動避障的穩(wěn)定性。而其缺點則是不能應(yīng)對在2cm內(nèi)突然出現(xiàn)的障礙,容易受到溫度的影響,導(dǎo)致檢測的距離不如紅外線的精確。障礙物受測面要盡量平整,否則會影響測距效果。下圖分別是所購買的紅外模塊和超聲波模塊。</p><p>  圖11 紅外避障模塊</p><p><b> ?。╝)正面</

48、b></p><p><b> ?。╞)背面</b></p><p>  圖12 超聲波避障模塊</p><p>  超聲波避障模塊上有一個發(fā)射口和一個接收口,其檢測原理是通過按一定的時間間隔發(fā)送一個超聲波,當(dāng)超聲波遇到障礙物時,便會反射回來,由接收口接收返回的超聲波。這時接收端的輸出就會由高電平變?yōu)榈碗娖?。而從發(fā)送超聲波開始,到檢測到接

49、收端變?yōu)榈碗娖降倪@段時間,就是超聲波從小車開始,移動到障礙物的并返回到小車的往返時間。也就是一次測距的時間。進(jìn)過如下公式計算,就可得到小車到障礙物的距離[9]。</p><p><b>  (1)</b></p><p>  公式中的聲速,通常使用聲音在空氣中的傳播速度340來計算。實際上在超聲波往返于小車和障礙物間時,小車處于移動狀態(tài)的。所以為了避免因小車的移動造成

50、的誤差,要控制小車保持低速行駛,使聲波的速度遠(yuǎn)大于車速,就可以忽略小車移動的影響。而且低速行駛也能在前方障礙物,沒有被檢測到時,減低碰撞時的沖擊力,避免小車的損壞。</p><p>  3.5 無線模塊介紹和選擇</p><p>  無線功能是本次設(shè)計的核心功能,其余的功能都需要利用無線來進(jìn)行切換。無線操控功能在設(shè)計時,也有兩種方案。一種是使用網(wǎng)上已調(diào)制好的遙控設(shè)備,另一種是使用NRF24

51、L01+模塊。</p><p>  已做好的遙控設(shè)備,使用簡單。但不可以對其按鍵進(jìn)行編程,也就是說起按鍵功能固定,導(dǎo)致無線功能擴展受限。而且此種方式接收端只能接收,發(fā)送端只能發(fā)送,兩者不能相互通信。所以決定采用NRF24L01+模塊設(shè)計無線功能。</p><p>  NRF24L01+模塊具有功耗低、抗干擾性高的特點。且發(fā)送時會自動添加CRC校驗碼與字頭,接收時會自動去掉。發(fā)送時,先將數(shù)據(jù)

52、送人收發(fā)隊列,再高速發(fā)送。如此可以節(jié)能、降低系統(tǒng)費用、增加抗干擾性[10]。</p><p>  在使用NRF24L0+時,還購買了一塊轉(zhuǎn)接模塊。該轉(zhuǎn)接模塊提供一個降壓穩(wěn)壓功能,將5V降壓到3.3V左右,再給NRF24L01+供電。對于無線模塊程序的設(shè)計,主要是調(diào)用模塊配送的收發(fā)程序來實現(xiàn)設(shè)計要求,而不是設(shè)計全部程序。有關(guān)該模塊的配置程序與收發(fā)程序,購買模塊時會由商家提供,網(wǎng)上也有不少現(xiàn)成程序,可以直接調(diào)用。在各

53、程序代碼中也有詳細(xì)的注釋說明,因此不在論文中提及,相關(guān)內(nèi)容可見附錄中的小車整體代碼。而在本文中重點說明設(shè)計的思路,和調(diào)用程序段的目的。下面是NRF24L01+與轉(zhuǎn)接模塊的實物圖。</p><p>  圖14 NRF24L01+模塊</p><p>  圖15 無線轉(zhuǎn)接模塊</p><p><b>  4 軟件系統(tǒng)設(shè)計</b></p>

54、<p>  4.1 自動循跡程序設(shè)計</p><p>  程序設(shè)計流程圖如下:</p><p>  圖10 循跡程序流程圖</p><p>  循跡模式啟動后,小車便會一直沿著軌跡行進(jìn),直到無線操控切換小車工作模式。對于特殊的十字交叉軌跡,小車將保持直行。如果軌跡上出現(xiàn)障礙,則可以切換小車為無線操控模式,避開障礙并回到軌跡后,再切換為循跡模式繼續(xù)工作。

55、</p><p>  小車自動循跡功能的實現(xiàn)如上面的流程圖所示。當(dāng)左邊的傳感器輸出低電平時,表明小車的左方過界,即小車如繼續(xù)行駛將駛離軌跡。而要避免此情況發(fā)生,此時需要進(jìn)行左轉(zhuǎn)。左轉(zhuǎn)時,控制左輪減速行駛,右輪速度不變,便可完成左轉(zhuǎn)。控制左輪減速是通過對左輪的H橋,進(jìn)行PWM脈沖控制實現(xiàn)。同理當(dāng)右傳感器輸出低電平時,實現(xiàn)小車的右轉(zhuǎn)。對于十字交叉軌跡,會使小車的左右傳感器同時輸出低電平,此時保持小車行駛路線就可以通過

56、該軌跡。下面是自動循跡的循跡部分代碼。</p><p>  INA1=1;INA2=0;</p><p>  INB1=1;INB2=0;</p><p>  for(i=0;i<200;i++)</p><p><b>  {</b></p><p>  delay(15);</p&

57、gt;<p><b>  ENA=~ENA;</b></p><p><b>  ENB=~ENB;</b></p><p>  if(!INTERTRAL&&!INTERTRAR&&!EXTERTRAL&&!EXTERTRAR)</p><p>  {cont

58、inue;}</p><p>  if(INTERTRAL==0||EXTERTRAL==0)</p><p><b>  Left();</b></p><p>  if(INTERTRAR==0||EXTERTRAR==0)</p><p><b>  Right();</b></p>

59、;<p><b>  }</b></p><p>  代碼中的INTERTRAL為左前方傳感器輸出端,INTERTRAR為右前方傳感器輸出端,EXTERTRAL為左后方傳感器輸出端,EXTERTRAR為右后方傳感器輸出端。第一個if檢測十字交叉軌跡,當(dāng)同時輸出低電平時,保持小車的行進(jìn)方向。第二個if檢測左傳感器輸出,第三個if檢測右傳感器輸出。由于小車的速度較快,所以使用PWM

60、進(jìn)行減速控制。</p><p>  調(diào)用的Left函數(shù)和Right函數(shù)分別為左轉(zhuǎn)函數(shù)和右轉(zhuǎn)函數(shù)。由于左轉(zhuǎn)和右轉(zhuǎn)使用PWM控制,需要在一個死循環(huán)中執(zhí)行,所以對左轉(zhuǎn)函數(shù)和右轉(zhuǎn)函數(shù)分別添加了如下代碼:</p><p>  if(Mode_Flag==2&&(INTERTRAR==0||EXTERTRAR==0))</p><p>  { P2=0x00;d

61、elay(100);return;}</p><p>  if(Mode_Flag==2&&(INTERTRAL==0||EXTERTRAL==0))</p><p>  { P2=0x00;delay(100);return;}</p><p>  前兩行代碼是左轉(zhuǎn)函數(shù)的,后兩行是右轉(zhuǎn)函數(shù)的。Mode_Flag是工作模式標(biāo)志。Mode_Flag=2

62、表示工作模式為自動循跡模式。第一個if語句判定工作模式為自動循跡模式,并且檢測右傳感器輸出是否為0。如果是,則將P2口置零[11]。這是因為驅(qū)動模塊的控制端與P2口相連,P2口置零后使小車停止運動。經(jīng)過延時后,返回到自動循跡函數(shù),此時右傳感器依然輸出低電平,小車便會右轉(zhuǎn)。這一設(shè)置便避免了左轉(zhuǎn)過多,導(dǎo)致小車右邊出界,而原地停止一段時間,能讓小車有時間判斷下一步如何行駛。第二個if語句與第一個if語句相同,只是檢測的是左傳感器的輸出電平。&

63、lt;/p><p>  該方法的缺點是轉(zhuǎn)彎角度固定,當(dāng)軌跡的弧度與轉(zhuǎn)彎角度差別較大時,小車的循跡會不太穩(wěn)定。行駛時容易搖擺不定。要解決該問題,則應(yīng)使用步進(jìn)電機,并添加測速模塊,形成一個閉環(huán)控速系統(tǒng)。但本次設(shè)計因成本和編程問題沒有采取該方案,所以小車在循跡時有可能要根據(jù)不同弧度的軌跡,進(jìn)行重新編程來控制PWM脈沖的時序,進(jìn)而控制轉(zhuǎn)彎角度。以實現(xiàn)在任意軌跡上的穩(wěn)定循跡能力,這是設(shè)計中的一個缺陷[12]。</p>

64、;<p>  4.2 自動避障程序設(shè)計</p><p>  下面是程序的設(shè)計流程圖:</p><p>  圖13 避障程序設(shè)計流程圖</p><p>  自動避障與自動循跡一樣,需要受到無線控制,能切換為其他工作模式。流程中檢測循跡傳感器輸出,是考慮到在避障過程中,除了要檢測前方是否有障礙外,還需要檢測路面的高低落差是否過大。由于購買的循跡傳感器,檢測

65、距離固定為1cm左右,所以循跡傳感器離地面非常低。這也就意味著小車行進(jìn)時,前方路面不能有高低落差。而當(dāng)出現(xiàn)高低落差時,傳感器會因距離遠(yuǎn)而輸出低電平,因此可以用來檢測前方路面是否有高低落差[13]??紤]到小車的行駛速度,只要前排或后排的傳感器都輸出低電平,就停止小車的行進(jìn),并退出自動避障模式,由人為手段處理該狀況。</p><p>  之所以沒有在檢測到該情況時,讓小車自動避開前方的高低落差路面。是因為此時小車以處

66、于路面的邊緣,如果原地旋轉(zhuǎn)90度,雖然能夠避開,但也存在小車旋轉(zhuǎn)時產(chǎn)生位移,從而掉落的可能。有些情況不會有太大的影響,但有時會造成小車的損毀,而這是由前方高低落差大小決定的。但是小車的循跡傳感器不能調(diào)節(jié)檢測距離,所以不能區(qū)分前方的高低落差大小,因此只好在出現(xiàn)高低落差時,強制停止小車并退出避障模式。</p><p>  在前兩中情形沒有發(fā)生時,小車的避障模式采取簡單的檢測前方是否有障礙,障礙物與小車的距離是否在避障

67、距離內(nèi)。如果是,則讓小車右轉(zhuǎn)90度來躲避障礙,并重新檢測新方向上的障礙。否則小車?yán)^續(xù)直行。下面是其部分代碼的說明。if((INTERTRAL==0&&INTERTRAR==0)||(EXTERTRAL==0&&EXTERTRAR==0))</p><p>  {P2=0X00;return;}</p><p>  INA1=1;INA2=0;</p&g

68、t;<p>  INB1=1;INB2=0;</p><p>  for(i=0;i<200;i++)</p><p>  {if((INTERTRAL==0&&INTERTRAR==0)||(EXTERTRAL==0&&EXTERTRAR==0))</p><p>  {P2=0X00;return;}</

69、p><p>  delay(20);</p><p><b>  ENA=~ENA;</b></p><p><b>  ENB=~ENB;</b></p><p>  if(distance<=12&&distance>0)</p><p><

70、b>  {P2=0x00;</b></p><p>  Right90();</p><p>  delay_ms(100);}}</p><p>  小車進(jìn)入避障模式后,用第一個if語句是檢測是否可以在當(dāng)前位置開啟自動避障功能,不能則退出自動避障模式。之后的for循環(huán)是PWM控制,并在其中進(jìn)行檢測前方高低落差檢測與障礙檢測。其中distance變

71、量儲存測量的距離,單位是厘米,當(dāng)其不大于12時。表明小車到障礙的距離小于12cm,此時進(jìn)行右轉(zhuǎn)90度處理。之后的延遲100ms,是由于超聲波的發(fā)送不能是連續(xù)的,需要一定的時間間隔。本模塊的推薦是每60ms發(fā)送一個10μs以上的超聲波,所以延遲100ms等待新方向的測距。而右轉(zhuǎn)90度后小車會進(jìn)入制動狀態(tài),如此在等待新一輪測距時,也不會因小車移動,使其與障礙的距離不足2cm——超聲波最小有效距離——而導(dǎo)致無法自動避障。</p>

72、<p>  超聲波的發(fā)送與距離的測量,使用了單片機的定時器0和定時器1進(jìn)行時序控制。其中定時器0工作模式為方式1,用于測量超聲波的往返時間。定時器1工作模式也為方式1,用于定時60ms發(fā)送超聲波。下面是超聲波測距程序說明:</p><p>  void meter_distance()</p><p><b>  {Trig=1;</b></p&

73、gt;<p>  delay_ms(12);</p><p><b>  Trig=0;</b></p><p>  while(!Echo);</p><p>  TR0=1; </p><p>  while(Echo);</p><p><b>  TR

74、0=0;</b></p><p>  distance=TH0*256+TL0;</p><p>  TH0=0;TL0=0;</p><p>  distance=distance/53;}</p><p>  其中的Trig是超聲波發(fā)送端,通過給其高電平進(jìn)行發(fā)送。代碼中發(fā)送一個12μs的超聲波。發(fā)送完成后開始計時,通過檢

75、測Echo端——超聲波接收端,當(dāng)超聲波發(fā)送完成后會自動置為高電平——來判斷超聲波是否返回。返回后Echo將會變?yōu)榈碗娖剑藭r停止計時,得到的就是超聲波的往返時間。將該時間除以53就能得到小車與障礙的距離。這里運用了公式(1),計算過程如下:</p><p><b> ?。?)</b></p><p>  其中時間單位為s,長度單位為m,速度單位為m/s。經(jīng)過公式2的換

76、算后得到時間t(s)=0.0053*s(m),即s(cm)=t(μs)/53。所以distance(μs)除以53后便得到距離(cm)。定時器0計時后清零,并當(dāng)計時溢出后,進(jìn)入定時中斷將Echo端置為低電平。這是防止距離過遠(yuǎn),導(dǎo)致Echo端一直處于高電平狀態(tài),影響后續(xù)的測量效果。</p><p>  4.3 無線操控程序設(shè)計</p><p><b>  程序設(shè)計流程圖:</

77、b></p><p>  圖16 無線接收流程圖</p><p>  圖17 發(fā)送程序流程圖</p><p>  設(shè)計中發(fā)送端采取自動重發(fā)機制,當(dāng)接收端沒有按時傳回應(yīng)答信號時,發(fā)送端便會重發(fā)之前的命令。發(fā)送端還外接一個44鍵盤,鍵盤掃描程序來自單片機100例。當(dāng)有按鍵按下,掃描出是第幾個按鍵,然后發(fā)送對應(yīng)的命令[14]。每次發(fā)送前,將會清空收發(fā)隊列,以免有以前

78、未發(fā)送命令還存在隊列中,干擾當(dāng)前命令的發(fā)送。</p><p>  接收函數(shù)在每一個功能函數(shù)中都要調(diào)用,以此來切換工作模式。特別地在左轉(zhuǎn)函數(shù)與右轉(zhuǎn)函數(shù)中也要調(diào)用。上文已說明這兩個函數(shù)是如何實現(xiàn)左右轉(zhuǎn)的,而該實現(xiàn)使用了一個死循環(huán)。當(dāng)小車工作于無線操控模式時,需要在左右轉(zhuǎn)時也能接受新的命令并執(zhí)行。這就必須在這兩個函數(shù)中調(diào)用接收函數(shù),以使其在收到新的命令時,能夠退出函數(shù)并執(zhí)行當(dāng)前命令。下面將說明部分代碼。</p&g

79、t;<p>  int I = -1;</p><p>  inerDelay_us(100);</p><p>  init_io(); // 初始化NRF24L01+的IO</p><p>  TX_Mode(); //配置發(fā)送模式</p><p>  SPI_RW_Reg(WRITE_REG+STATUS,0xff);//

80、清空狀態(tài)為</p><p>  SPI_RW_Reg(FLUSH_TX,0xff);// 清空收發(fā)隊列</p><p><b>  while(1)</b></p><p>  { i=Keys_Scan();//按鍵掃描,返回按鍵的編號</p><p>  if(i!=-1&&i<10)<

81、;/p><p>  {SPI_RW(FLUSH_TX);</p><p>  nRF24L01_TxPacket(TX_BUF[i]);</p><p>  while(IRQ);</p><p>  sta=SPI_Read_Data(STATUS); //讀取狀態(tài)信息</p><p>  while(!TX_DS)&

82、lt;/p><p>  {if(MAX_RT)</p><p>  {SPI_RW_Reg(FLUSH_TX,0xff);</p><p><b>  break;}</b></p><p>  sta=SPI_Read_Data(STATUS);}</p><p>  SPI_RW_Reg(WRIT

83、E_REG+STATUS,sta); //清除TX_DS或MAX_RT標(biāo)志</p><p>  SPI_RW_Reg(FLUSH_TX,0xff);</p><p><b>  IRQ=1;</b></p><p>  delay_ms(20000);</p><p>  i = -1; }}</p>&l

84、t;p>  因為一共設(shè)置了10個命令,按鍵編號重0開始,所以第一個if語句檢測i是否小于10。發(fā)送完一個命令后,IRQ會由高電平變?yōu)榈碗娖?,所以檢測IRQ就可以知道命令是否發(fā)送完畢。之后讀取芯片狀態(tài)信息,檢測TX_DS位,當(dāng)接收端發(fā)送回應(yīng)答信號后,該位會從低電平變?yōu)楦唠娖?,便可以發(fā)送下一條命令。在接收到應(yīng)答信號前,每隔4086μs重發(fā)一次該命令。最大重發(fā)5次,超過后,會產(chǎn)生MAX_RT中斷,即MAX_RT變?yōu)楦唠娖?。此時將清空收發(fā)

85、隊列,跳出應(yīng)答檢測循環(huán),清除TX_DS或MAX_RT標(biāo)志后,就可以發(fā)送新命令了。</p><p>  UCHAR RX_BUF;</p><p>  RX_Mode();</p><p><b>  while(1)</b></p><p>  {flag=nRF24L01_RxPacket(&RX_BUF);/

86、/接收命令至RX_BUF并返回1</p><p>  sta = SPI_Read_Data(STATUS);</p><p>  if(flag==1)</p><p>  {switch(RX_BUF)</p><p>  {case STOP: INA1=0;INA2=0;INB1=0;INB2=0;break;</p>

87、<p>  case FRONT:INA1=1;INA2=0;INB1=1;INB2=0;ENA=1;ENB=1;break;</p><p>  case BACK: INA1=0;INA2=1;INB1=0;INB2=1;ENA=1;ENB=1;break;</p><p>  case LEFT: Left();break;</p><p>  ca

88、se RIGHT:Right();break;</p><p>  case LEFT_90: Left90();break;</p><p>  case RIGHT_90:Right90();break;</p><p>  case MODE2: P2=0x00;Mode_Flag=2;return;</p><p>  case MO

89、DE3: P2=0x00;Mode_Flag=3;return;</p><p>  default: P2=P2;} }</p><p>  SPI_RW_Reg(WRITE_REG + STATUS, sta);</p><p>  delay_ms(20);</p><p>  RX_Mode();//配置接收模式}</p>

90、<p>  接收模式主要是接收命令后,識別該命令并根據(jù)命令控制小車移動。其中各命令與發(fā)送端配置的命令內(nèi)容相同。接收端的主函數(shù)主要是進(jìn)行模式切換,如下是主函數(shù)的主要操作:</p><p>  switch(RX_BUF)</p><p><b>  {</b></p><p>  case MODE1: Mode_Flag=1;Wi

91、fiControl(); break;</p><p>  case MODE2: Mode_Flag=2;AutoTrace(); break;</p><p>  case MODE3: Mode_Flag=3;AutoAvoidObstacle();break;</p><p>  default: P2=P2;</p>

92、<p><b>  }</b></p><p>  MODE1為無線操控模式,MODE2為自動循跡模式,MODE3為自動避障模式。調(diào)用的函數(shù)便是個模式的功能函數(shù),如此實現(xiàn)工作模式的切換。代碼中相關(guān)的無線配置見附錄中的完整代碼[15]。</p><p><b>  5 小車調(diào)試與制作</b></p><p>  小

93、車的硬件制作簡單,因為使用的都是購買的模塊,只需按照程序設(shè)定的接口進(jìn)行接線即可。接線完后利用小車底板上的螺紋孔,將單片機與各模塊固定在小車上就完成了小車實物的制作。下圖是做好的小車和遙控器。</p><p><b>  圖18 小車實物圖</b></p><p>  圖19 遙控器實物圖</p><p>  調(diào)試時主要調(diào)試PWM脈沖的控制,和左

94、右轉(zhuǎn)90度時的延時長度。循跡傳感器和障礙感測器的調(diào)試,實際上也是調(diào)節(jié)轉(zhuǎn)動的角度,而這就是由上述兩個主要調(diào)試項目來完成。雖然避障距離應(yīng)該也是重要調(diào)試項,但因為沒有顯示模塊,使用時也不能知道當(dāng)前小車與障礙的距離。所以沒有進(jìn)行避障距離的調(diào)試,而是主要調(diào)試前述兩個項目。無線模塊由于使用軟件復(fù)用技術(shù),所以只需將代碼燒錄入單片機,就可以使用無線收發(fā)功能,不用進(jìn)行調(diào)試。下面是調(diào)試好的PWM代碼。</p><p>  for(i

95、=0;i<200;i++)</p><p>  {delay(15);</p><p>  ENA=~ENA;}</p><p>  調(diào)試時,通過調(diào)節(jié)延時函數(shù)的輸入值就可以了。這是實現(xiàn)右轉(zhuǎn)的PWM,實現(xiàn)左轉(zhuǎn)的PWM代碼,只需將ENA改為ENB就可以了。減速是同時加上ENA和ENB 就可實現(xiàn)減速操作。由于小車沒有測速功能,無法得到速度值,只能憑借觀察小車的轉(zhuǎn)動角

96、度來調(diào)節(jié),不是太精確。上述PWM控制小車的轉(zhuǎn)動角度大致為45度。</p><p>  左右轉(zhuǎn)90度的調(diào)節(jié),是控制小車左右輪相互反向轉(zhuǎn)動時間,來達(dá)到90度的旋轉(zhuǎn)。實際使用還要考慮地面與小車的摩擦力,對不同路面時間長短不同,越光滑時間越短。調(diào)試時的地面為普通地板磚表面,下面是左轉(zhuǎn)90度代碼。</p><p>  void Left90(void)</p><p><

97、;b>  { ENA=1;</b></p><p><b>  ENB=1;</b></p><p><b>  INA1=1;</b></p><p><b>  INA2=0;</b></p><p><b>  INB1=0;</b&g

98、t;</p><p><b>  INB2=1;</b></p><p>  delay(150);</p><p><b>  P2=0x00;}</b></p><p>  經(jīng)反復(fù)調(diào)試,觀察發(fā)現(xiàn)延時函數(shù)輸入150時,能達(dá)到接近90度的轉(zhuǎn)動角度。右轉(zhuǎn)時也同樣如此。</p><p

99、>  如此便完成對小車的調(diào)試。實際使用時,對于不同弧度的軌跡,如需要小車穩(wěn)定地循跡,還須重新對PWM代碼內(nèi)的延時函數(shù)進(jìn)行時間調(diào)試。而不同的路面,因為摩擦因素的不同,也需要對左右轉(zhuǎn)90度的函數(shù),進(jìn)行內(nèi)部延時的調(diào)試。</p><p>  不過由于都是直接憑觀察進(jìn)行調(diào)試,精度不能得到有效保證。可以考慮以后添加測速功能,再進(jìn)行精準(zhǔn)調(diào)試。目前則只能做到一個大致的調(diào)試結(jié)果,但也滿足了循跡與避障功能的需求。所以對小車的調(diào)

100、試就到此結(jié)束。</p><p>  遙控器上的調(diào)試也只有對44鍵盤按鍵掃描的調(diào)試,而該掃描函數(shù)代碼來自單片機100例,所能做的也只是調(diào)整接線順序,使單片機能正確識別按下的按鍵,發(fā)送正確的命令。下面先附上鍵盤實物圖:</p><p><b>  圖20 鍵盤實物圖</b></p><p>  經(jīng)調(diào)試得出,從左到右的接線順序為P1.0、P1.1、P

101、1.2、P1.3、P1.4、P1.5、P1.6、P1.7。如此接線后,按鍵編號從左到右、從上到下依次增大,左上第一個按鍵編號為0。如此所有的調(diào)試均已完成。</p><p><b>  結(jié)論</b></p><p>  本次設(shè)計的小車,經(jīng)過測試能夠達(dá)到設(shè)計的基本要求。能進(jìn)行工作模式的切換、自動循跡、自動避障、無線操控。還使用了PWM控制小車的速度。不過也有一些不足之處。

102、比如,自動避障時需要檢測前方路面的高低落差,以防止小車從高處落下。但該功能是通過檢測循跡傳感器的輸出電平,來判斷前方是否有高低落差。這使得小車無法判斷前方的高低落差究竟有多少,導(dǎo)致只要路面不平,小車就會停止。而且循跡傳感器離地面太近,當(dāng)路面有較低的障礙物時,就會使傳感器與障礙碰撞,降低傳感器的使用壽命。而且,如果小車離路面邊緣稍遠(yuǎn)時,就算檢測到前方有高低落差時,也會因為慣性使小車駛出路面,無法停下。</p><p&g

103、t;  無線操控沒有太大的問題,能通過發(fā)送端完全實現(xiàn)對小車的實時控制。但由于小車車體的設(shè)計存在一些尺寸問題,導(dǎo)致沒有一個可很好安放無線模塊的位置,使得接收能力有所下降,遙控距離只有2到3米。未能體現(xiàn)出NRF24L01+的收發(fā)能力。</p><p>  但是綜合而言,該小車已完整的體現(xiàn)設(shè)計的核心要求,即工作時進(jìn)行工作模式切換。而對與三種工作模式的主要部分,也表現(xiàn)良好。符合循跡、避障和無線操控的需求,達(dá)到三個功能的設(shè)

104、計要求。并且小車還留下了足夠的擴展空間,比如還能再添加測速模塊、顯示模塊等。對于PWM脈沖控制車速,也還可以得到更好的利用。比如制作行駛時加減速??傊敬卧O(shè)計還是成功的制作出了一個滿足設(shè)計要求的智能小車。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 尹念東. 智能車輛的研究及前景[J]. 上海汽車, 2002.2.</p>

105、<p>  [2] 華成英, 童詩白. 模擬電子技術(shù)基礎(chǔ)[M]. 北京: 高等教育出版社, 2006.</p><p>  [3] 郭天祥. 51單片機c語言教程[M]. 北京: 電子工業(yè)出版社,2010.</p><p>  [4] 趙家貴, 付小美, 董平. 新編傳感器電路設(shè)計手冊[M]. 北京: 中國計量出版社, 2002</p><p>  [5

106、] 于連國, 李偉, 王妍瑋. 基于單片機的智能小車設(shè)計[J]. 林業(yè)機械與木工設(shè)備, 2011, 4.</p><p>  [6] 趙振德. 多功能遙控智能小車的制作[J]. 電子制作, 2011, 4.</p><p>  [7] 何立民. 單片機技術(shù)的現(xiàn)狀與未來[N]. 中國計算機報, 1995.</p><p>  [8] 楊加國. 單片機原理與應(yīng)用及C51

107、程序設(shè)計[M]. 北京: 清華大學(xué)出版社, 2006.</p><p>  [9] 張毅剛. 單片機原理及應(yīng)用[M]. 北京: 高等教育出版社, 2010.</p><p>  [10] 胡漢才. 單片機原理與接口技術(shù)[M]. 北京: 清華大學(xué)出版社, 1999.4.</p><p>  [11] 趙海蘭. 基于單片機的紅外遙控智能小車的設(shè)計[J]. 無線互聯(lián)科技,

108、 2011, 3.</p><p>  [12] 周淑娟. 基于單片機智能尋跡小車的設(shè)計方案[J]. 工業(yè)技術(shù)與職業(yè)教育, 2011, 9(2).</p><p>  [13] 姚培. 基于單片機控制的智能循跡避障小車[J]. 機電信息, 2010, 12.</p><p>  [14] Daniel Hunt V. Mechartronics-Japan’s Ne

109、west Threat[M]. New York: Chapman and Hall, 1987.</p><p>  [15] Krishna C M, Shin G K. Real-Time System[M]. Columbus, OH: McCraw-Hill Companies, Inc.1997.</p><p><b>  致謝</b></p>

110、;<p>  在本次設(shè)計中,由衷感謝王楓導(dǎo)師對我的指導(dǎo)。感謝老師對設(shè)計提出的建議,和設(shè)計中錯誤的指正。設(shè)計之所以能夠完成,沒有老師對我的督促是做不到的。而且在設(shè)計初期,老師給出的分步設(shè)計思路,也是設(shè)計時使用的方案。</p><p>  再就是感謝我的同學(xué)對我設(shè)計的幫助,多虧他們制作小車的經(jīng)驗,給了我很大的幫助。比如供電的設(shè)計,沒有他們提供的元件和設(shè)計建議,是不能讓小車得到有效且穩(wěn)定的供電電源。而這將

111、影響小車的實際運行。</p><p>  最后再次由衷的感謝你們的幫助。</p><p><b>  附錄</b></p><p><b>  發(fā)送端完整代碼。</b></p><p>  #include<reg52.h></p><p>  #include

112、<intrins.h></p><p>  #include <api.h></p><p>  typedef unsigned UINT;</p><p>  typedef unsigned char UCHAR;</p><p>  #define TX_ADR_WIDTH 5 // 5字節(jié)寬度的發(fā)送/接

113、收地址</p><p>  #define TX_PLOAD_WIDTH 1 // 數(shù)據(jù)通道有效數(shù)據(jù)寬度</p><p>  UCHAR code TX_ADDRESS[TX_ADR_WIDTH] = {0x34,0x43,0x10,0x10,0x01}; // 定義一個靜態(tài)發(fā)送地址</p><p>  UCHAR RX_BUF[TX_PLOAD_WIDTH];

114、</p><p>  UCHAR TX_BUF[16] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,</p><p>  0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};</p><p>  UCHAR bdata sta;</p><p>  sbit RX_DR

溫馨提示

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

評論

0/150

提交評論