版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、沈陽師范大學(xué)本科畢業(yè)論文本科畢業(yè)論文(設(shè)計)(2015 屆本科畢業(yè)生) 題 目: 基于NRF24L01的智能小車無線控制設(shè)計 學(xué)生姓名: 姜肇璘 學(xué)生學(xué)號: 11999048 學(xué)院名稱: 軟件學(xué)院 專業(yè)名稱: 計算機科學(xué)與技術(shù) 指導(dǎo)老師: 李冶 二零一五年五月 【摘要】智能小車系統(tǒng)是有著一個集感知周圍環(huán)境、自動蔽障、自動駕駛等功能的一個系統(tǒng)。它可以在人類無法進行工作的特殊環(huán)境下完成任務(wù),所以在軍事、航空、救援等領(lǐng)域有著重要的應(yīng)用。而由于目前技術(shù)的限制,某些特定的場合下,機器智能尚不能完成某些任務(wù),所以需要加以人的控制,這就涉及到了無線控制。本文既是以無線模塊為核心。 本設(shè)計實現(xiàn)的功能是上位機與
2、以MSP430單片機為核心的智能小車進行實時無線通信并對其遠(yuǎn)程控制,同時可以將智能小車上的數(shù)據(jù),如:速度、溫度等信息反饋給上位機。在上位機控制模式下,通過控制上位機能控制小車的前進后退,左轉(zhuǎn)右轉(zhuǎn),加速減速,顯示小車當(dāng)前的速度?!娟P(guān)鍵詞】 NRF24L01, QT,串口通信,智能小車Intelligent carwireless controldesign based on NRF24L01【Abstract】Intelligent car system is a collection of perception surroundings, automatically escapes, inte
3、lligent functions such as automatic driving system. Because it can under special environment to work in the human cannot complete the task, so is very important in the field of military, aviation, rescue and other applications. Due to the limitation of current technology, certain situations, machine
4、 intelligence cannot finish some tasks, so people need to be controlled, this goes to the wireless control. This article is a wireless module as the core.This design implementation is the function of upper machine and with MSP430 single chip microcomputer as the core of the smart car for real-time w
5、ireless communication and remote control, at the same time can take the data on the smart car, such as speed, temperature and other information feedback to the upper machine. In PC control mode, by controlling the upper function to control the car forward backward, turn left turn right, speed.【Keywo
6、rds】NRF24L01,QT , Serial communication , Smart car , NRF24L01 目 錄第一章 引言.- 1 - 1.1課題的背景和意義.- 1 - 1.2無線傳輸?shù)陌l(fā)展與現(xiàn)狀.- 1 -第二章 分析與整體設(shè)計.- 3 - 2.1總體方案設(shè)計.- 3 - 2.2需求功能.- 3 - 2.3系統(tǒng)可行性分析.- 3 - 2.4系統(tǒng)主要結(jié)構(gòu).- 4 - 2.5系統(tǒng)主要功能.- 5 -第三章 無線傳輸實現(xiàn).- 6 - 3.1功能說明.- 6 - 3.2無線通信模塊的選擇.- 6 - 3.3 NRF24L01介紹.- 7 - 3.5異常情況分析.- 12 - 3
7、.6控制命令格式設(shè)計與說明.- 12 -第四章 上位機程序的設(shè)計與實現(xiàn).- 18 - 4.1 功能說明. 18 - 4.2 小車控制軟件程序與界面設(shè)計.- 18 -第五章 總結(jié)和展望.- 24 - 5.1本文總結(jié).- 24 - 5.2本文展望.- 24 -后記.- 26 -參考文獻.- 27 -III - -第1章 引言1.1課題的背景和意義目前,隨著科技技術(shù)的進步、對自動化技術(shù)要求不斷加深的環(huán)境下,智能車輛以及在智能車輛基礎(chǔ)上開發(fā)出來的產(chǎn)品已成為一個重要的研究方向。移動機器人從無到有,數(shù)量不斷增多,智能車輛作為移動機器人的一個重要分支也得到越來越多的關(guān)注。智能小車,是一個集環(huán)境感知、規(guī)劃決策
8、,自動行駛等功能于一體的綜合系統(tǒng),它集中地運用了計算機、傳感、信息、通信、導(dǎo)航及白動控制等技術(shù),是典型的高新技術(shù)綜合體。全世界許多國家都在進行智能微型車的相關(guān)研究,己經(jīng)應(yīng)用于各個領(lǐng)域,在探測和軍事領(lǐng)域使用特別多。近年來,我國也進行了很多的研究工作,以此來滿足不同用途的需要。世界各國開發(fā)、研制行星探測車系統(tǒng)己經(jīng)有很多年的歷史。世界上最早進行相關(guān)研究的國家是美國與前蘇聯(lián)。美國曾在1966-1968年間,向月球成功發(fā)射了兩次無人巡游探測器。1997年,由美國研制的Sojourner號探測車登上了火星。它驗證了小型火星車的性能,并完成了一系列技術(shù)試驗。2004年1月,美國的“勇氣號”和“機遇號”火星探
9、測車再度登陸火星。前蘇聯(lián)在1959-1976年間,總共成功發(fā)射了兩個月球探測車。同時,隨著計算機技術(shù)、電子技術(shù)和無線技術(shù)的快速發(fā)展,電子產(chǎn)品越來越呈現(xiàn)光機電一體化、智能化、小型化等趨勢。同時人們需要系統(tǒng)變得越來越智能化。顯然傳統(tǒng)的控制觀念是無法滿足人們的需求,而智能控制與這些傳統(tǒng)的控制有機的結(jié)合起來,提高整體的優(yōu)勢更好的滿足人們的需求。隨著人工智能技術(shù)、計算機技術(shù)、自動控制技術(shù)的迅速發(fā)展,智能控制必將迎來它的發(fā)展新時代。因此,遙控加智能的技術(shù)研究、應(yīng)用都是很有意義而且有很高市場價值的。1.2無線傳輸?shù)陌l(fā)展與現(xiàn)狀伴隨著時代的發(fā)展和科技的進步,無線通信技術(shù)也隨之發(fā)生一定的改變,這不僅適應(yīng)了時代發(fā)展
10、的需要,同時也符合了人們?nèi)找嬖鲩L的對通信服務(wù)的需要,在信息化越來越普遍的時代,人與人之間的溝通也趨向于通信化,這在無形中提高了人們的生活質(zhì)量?,F(xiàn)代無線通信技術(shù)的發(fā)展歷程主要包括以下幾方面:1.年代初到年代初為無線通信技術(shù)發(fā)展的第一階段,此時,無線通信技術(shù)主要應(yīng)為了滿足軍用的需要,它主采用的技術(shù)存在一定局限性,因此,它的傳輸不僅受客觀條件的制約,同時也沒有達到最初的傳輸速率。2.年代到年代為通信技術(shù)的第二階段,此時,通信設(shè)備器件已被應(yīng)用于移動環(huán)境的專用系統(tǒng)中,并實現(xiàn)了從半導(dǎo)體器件技術(shù)的過度,這在無形中解決了通信技術(shù)中安裝公用電話網(wǎng)的問題,同時實現(xiàn)了公用電話與移動電話的持續(xù)性。3.年代初到年代初為
11、通信技術(shù)的第三階段,此時,不僅擴展了通信技術(shù)的頻段,同時也制造出第一代的通信技術(shù)系統(tǒng),并根據(jù)貝爾實驗室所提出的蜂窩移動網(wǎng)理論,研制出新的實驗系統(tǒng)。4.年代到年代為通信技術(shù)的第四階,此時,在通信領(lǐng)域中,繼第一代數(shù)字移動通信興起后,出現(xiàn)了第二代的數(shù)字移動通信,這些都在無形中促進了各類電信系統(tǒng)的正常運行。5.年代后至今為通信技術(shù)的第五階段,此時,第三代的移動通信技術(shù)已逐步興起,這不僅滿足了通信技術(shù)逐步發(fā)展的需要,同時也促使了移動通信與多媒體運轉(zhuǎn)的結(jié)合,隨著全球化標(biāo)準(zhǔn)的制定,無線通信技術(shù)仍有待于實現(xiàn)多樣化與創(chuàng)新化。1.2.1現(xiàn)代無線通信技術(shù)的種類 隨著無線通信技術(shù)的逐步深化與改革,現(xiàn)代無線通信技術(shù)面臨
12、著新的發(fā)展現(xiàn)狀,為了符合時代發(fā)展的需要,無線通信技術(shù)的種類在現(xiàn)代也有了改進和提升?,F(xiàn)代無線通信技術(shù)的種類主要包括以下幾方面: 根據(jù)傳輸?shù)木嚯x來分,無線通信技術(shù)主要分為以下四種技術(shù),無線個域網(wǎng)、無線局域網(wǎng)、無線城預(yù)網(wǎng)以及無線廣域網(wǎng),其中、是短距離的無線通信技術(shù)接入的主要代表,而眾所周知的、是長距離的無線通信技術(shù)接入技術(shù)的主要代表。根據(jù)無線通信技術(shù)的移動性,可以將移動接入分為固定接入與移動接入,其中,移動無線通信技術(shù)的接入主要包括、,而固定無線通信技術(shù)的接入主要包括、,并且在寬帶上可分為寬帶的無線接入與窄帶的無線接入。1.2.2無線通信的意義無線通信技術(shù)在現(xiàn)代社會具有重要地位,發(fā)揮著重要作用。在經(jīng)
13、濟上,無線通信技術(shù)不僅可以完成數(shù)據(jù)信息的發(fā)送和接受,還可以對信息進行整合處理,分析預(yù)測,方便人們通過科學(xué)的、準(zhǔn)確的數(shù)據(jù)做出正確決策;在科技領(lǐng)域,無線通信技術(shù)的不斷發(fā)展和創(chuàng)新,提高了國家的科學(xué)技術(shù)水平,有利于增強國家在國際上的綜合競爭力;在文化領(lǐng)域,無線通信技術(shù)促進文化傳播,提高了人們的文化修養(yǎng)和綜合素質(zhì);在生活領(lǐng)域,方便人們的工作、生活和學(xué)習(xí),使人們的生活方式更加便捷,更加現(xiàn)代化、信息化等等由此說明無線通信在現(xiàn)代社會中有著極其重要的意義。第二章 分析與整體設(shè)計2.1總體方案設(shè)計 本設(shè)計的核心為QT程序設(shè)計,目的是為了實現(xiàn)上位機與以MSP430單片機為核心的智能小車進行實時無線通信并對其遠(yuǎn)程控制
14、,同時可以將智能小車上的數(shù)據(jù),如:速度等信息反饋給上位機。設(shè)計需要MSP430單片機、NRF24L01無線通信模塊、QT5.4來實現(xiàn)本次設(shè)計。整個設(shè)計需要單片機程序設(shè)計、無線通信模塊驅(qū)動、QT程序界面設(shè)計、QT串口通信程序設(shè)計等步驟來完成。2.2需求功能 整個無線控制智能小車系統(tǒng)想要實現(xiàn)的功能主要分為手動控制模式與自動控制模式兩大類,具體如下描述:1. 自動控制模式:小車在自動前進,并能通過超聲波測距等模塊避開障礙物2.手動控制功能:在上位機上通過設(shè)計好的軟件對智能小車進行遠(yuǎn)程控制,包括:前進、后退、左右轉(zhuǎn)彎、加速減速等模式。3.智能小車的速度等信息可以時時的顯示在上位機的控制軟件界面上。4無
15、線控制:通過軟件設(shè)計程序來完成對智能小車的遠(yuǎn)程控制。2.3系統(tǒng)可行性分析 可行性分析是從多種種角度分析智能小車預(yù)計的目標(biāo)是否能夠?qū)崿F(xiàn)而成立的,因此這是十分有必要的,這次設(shè)計的智能小車控制系統(tǒng)的可行性分析分為經(jīng)濟可行性分析、技術(shù)可行性分析、和運行可行性分析。2.3.1經(jīng)濟可行性分析 隨著科技的發(fā)展和技術(shù)的改良,現(xiàn)在市場上電子產(chǎn)品的價格已經(jīng)越來越低,本設(shè)計中使用到的各個模塊性價比極高。因此經(jīng)濟上設(shè)計是可行的。2.3.2技術(shù)可行性分析1.QT界面:QT是一個良好的跨平臺的創(chuàng)建C+圖形用戶界面的應(yīng)用程序,它可以提供給開發(fā)者簡歷圖形用戶界面所需要的所有功能,易擴展,并允許組件編程,而且它具有良好的可移植
16、性。同時C+編程在大學(xué)期間有過學(xué)習(xí)課程,所以界面相關(guān)的程序設(shè)計在技術(shù)上是可行的。2.基于MSP430的單片機控制:MSP430單片機具有體積小,功耗低,易于產(chǎn)品化,面向控制,抗干擾能力強,適用溫度范圍寬。3.NRF24L01無線接收芯片:nRF24L01是由NORDIC生產(chǎn)的工作2.4GHz2.5GHz的ISM 頻段的單片無線收發(fā)器芯片。無線收發(fā)器包括:頻率發(fā)生器、增強型“SchockBurst”模式控制器、功率放大器、晶體振蕩器、調(diào)制器和解調(diào)器。輸出功率頻道選擇和協(xié)議的設(shè)置可以通過SPI 接口進行設(shè)置。幾乎可以連接到各種單片機芯片,并完成無線數(shù)據(jù)傳送工作。2.3.3運行可行性分析從單片機的角
17、度分析:在MSP430單片機上有供NRF24L01模塊使用的對應(yīng)接口,所以NRF24L01在驅(qū)動和配置之后可以在MSP430單片機上使用。從上位機的角度分析:QT軟件可以在Windows環(huán)境下運行,且在PC機上,NRF24L01模塊可以接上一個串口轉(zhuǎn)USB口連接到PC 機的USB接口上。使用QT制作的相應(yīng)程序就可以使用NRF24L01無線傳輸數(shù)模塊。從信息的發(fā)送與接收延時的角度分析:PC機到串口再到NRF24L01無線傳輸模塊的延時、PC端無線模塊到單片機端無線模塊的延時、還有單片機的響應(yīng)時間都是一段極其短的時間,所以當(dāng)在上位機端發(fā)送控制小車的信號時,小車可以在特別短的時間內(nèi)響應(yīng)發(fā)送的動作,即
18、響應(yīng)的時間在允許的范圍內(nèi)。 通過以上的各項可行性分析,本系統(tǒng)通過NRF24L01無線傳輸模塊為設(shè)計核心,運用QT Creator,是可以達到預(yù)期的設(shè)計目標(biāo)的。2.4系統(tǒng)主要結(jié)構(gòu)智能小車控制結(jié)構(gòu)圖如圖2-1所示:圖2-1智能小車控制結(jié)構(gòu)框圖智能小車控制分為自動控制模式和手動控制模式。1.自動控制模式:是小車在自動模式下通過單片機的編寫55的程序自主運行來支配避障傳感器避開障礙物,通過測距傳感器來檢測距離后側(cè)物體的距離,記錄小車行走的路程長度,檢測小車運行時的速度,并顯示在液晶上。2.手動控制模式:手動控制的核心是NRF24L01無線通信模塊,當(dāng)切換到手動控制模式之后,小車的一切動作都可以通過用上
19、位機進行遠(yuǎn)程無線控制,如前進、后退等動作。與此同時,小車的上的速度等信息都可以在上位機上進行查看。無線通信系統(tǒng)如圖2-2所示:圖2-2無線通信系統(tǒng)示意圖2.5系統(tǒng)主要功能 本設(shè)計要實現(xiàn)的功能是為了實現(xiàn)上位機與以MSP430單片機為核心的智能小車進行實時無線通信并對其遠(yuǎn)程控制,同時可以將智能小車上的數(shù)據(jù),如:速度等信息反饋給上位機。上位機控制模式下,能控制小車的前進后退,左轉(zhuǎn)右轉(zhuǎn),加速減速,顯示測距的距離,顯示所有行駛的里程數(shù),顯示小車的時時速度。 所以要想完成預(yù)期的目標(biāo),可以確定的方案是:對已經(jīng)可以自動運行的智能小車安裝NRF24L01無線通信模塊并對其驅(qū)動。設(shè)置無線模塊的數(shù)據(jù)位、波特率等信息
20、。QT界面和程序的編寫與設(shè)計。運行程序,進行對小車的無線控制。第三章 無線傳輸實現(xiàn)3.1 功能說明上位機通過無線傳輸模塊發(fā)送一定命令格式的數(shù)據(jù)來控制智能小車的各種動作,并接收小車發(fā)送的信息。3.2 無線通信模塊的選擇在市面上的無線通信模塊的種類有很多,型號也多種多樣,其中比較常見的有NRF905、NRF2401A、NRF24L01。3.2.1熱門無線模塊簡介1.nRF905 nRF905是工作在433MHz、868MHz和915MHz頻段的GFSK調(diào)制模式的無線數(shù)傳芯片,最高發(fā)射功率可達+10dBm,接收靈敏度為-100dBm,支持512個通訊頻率。使用ShockBurst傳輸模式,數(shù)據(jù)在空中
21、的傳輸速率為50kbps。使用SPI接口與MCU完成數(shù)據(jù)通訊與通訊控制等功能。2.nRF2401A nRF2401A為nRF2401的改進型號(nRF2401AG為無鉛工藝型號)。nRF2401A工作在2.4GHz的國際通用ISM免申請頻段GFSK調(diào)制的無線數(shù)傳芯片。最高發(fā)射功率0dBm,接收靈敏度-90dBm,支持124個接收頻率與126個發(fā)射頻率。使用ShockBurst傳輸模式,具備兩個獨立的數(shù)據(jù)接收通道。支持250kbps和1Mbps的空中數(shù)據(jù)速率。使用SPI接口與MCU完成數(shù)據(jù)通訊與通訊控制等功能。3.nRF24L01 nRF24L01是工作在2.4GHz的國際通用ISM免申請頻段G
22、FSK調(diào)制的無線數(shù)傳芯片。最高發(fā)射功率0dBm,接收靈敏度為-85dBm,支持125個通訊頻率。使用增強型的EnhancedShockBurst傳輸模式,支持6個數(shù)據(jù)通道(共用FIFO)。支持1Mbps和2Mbps的空中數(shù)據(jù)傳輸速率。使用SPI接口與MCU完成數(shù)據(jù)通訊與通訊控制等功能。兼容性: nRF2401A、nRF24L01和nRF24L01+之間是可以完成相互通訊的。前提是,它們必須在配置的過程中使用相同的通訊頻率、空中傳輸速率、地址長度、地址信息、數(shù)據(jù)長度和CRC校驗方式。nRF905因為工作頻率與nRF2401A、nRF24L01和nRF24L01+的工作頻率不同,所以nRF905不
23、能與其它任何一種2.4GHz無線芯片之間完成通訊。3.2.2 熱門模塊的差異 nRF2401A與nRF24L01和nRF24L01+之間雖然可以完成互相通訊,但是它們之間存在一些重要差異。 nRF2401A使用9個SPI通訊與工作方式控制引腳(DATA、DOUT2、CLK1、CLK2、DR1、DR2、CE、CS、PWR_UP)。工作方式配置與發(fā)送/接收緩存全部采用數(shù)據(jù)包的方式進行寫入與讀出操作,2個獨立的接收通道采用不同的數(shù)據(jù)緩存和SPI引腳,使用不同的接收完成標(biāo)志輸出引腳,極大的簡化了器件的操作和產(chǎn)品開發(fā)時間。一次最多可以傳輸長度為32Byte的數(shù)據(jù)包(注意這個32Byte的數(shù)據(jù)中同時包含了
24、地址數(shù)據(jù)和CRC校驗碼的數(shù)據(jù)長度)。 nRF24L01+使用6個SPI通訊與狀態(tài)指示輸出引腳(CE、CSN、SCK、MOSI、MISO、IRQ)。工作方式配置與發(fā)送/接收緩存全部采用寫入控制字與寫入寄存器地址方式進行操作(與nRF2401A可通過CE、CS、PWR_UP引腳快速完成狀態(tài)切換是不同的)。6個數(shù)據(jù)接收通道(共用32Byte的RX_FIFO,在相應(yīng)寄存器中完成通道編號指示工作),支持自動應(yīng)答、自動重發(fā)和重發(fā)超限等功能。一次最多可以傳輸長度為32Byte的數(shù)據(jù)包(該長度不包含地址數(shù)據(jù)和CRC校驗碼的數(shù)據(jù)長度)。 nRF905使用9個SPI通訊與工作狀態(tài)控制/指示引腳(TRX_CE、PW
25、R_UP、CD、AM、DR、MISO、MOSI、SCK、CSN)。工作方式配置與發(fā)送/接收緩存使用如些控制字與數(shù)據(jù)包的方式進行寫入與讀取操作。一次最多可以傳輸長度為32Byte的數(shù)據(jù)包(該長度不包含地址數(shù)據(jù)和CRC校驗碼的數(shù)據(jù)長度) 本設(shè)計就性價比而選擇無線通信模塊,所以經(jīng)過反復(fù)比較最終決定使用NRF24L01無線通信模塊。3.3 NRF24L01介紹:NRF24L01無線通信模塊如圖3-1所示:圖3-1 NRF24L01無線通信模塊NRF24L01無線通信模塊共有八個引腳,而且在MSP430單片機上有供該模塊工作的對應(yīng)接口,所以該模塊可以直接插在MSP430上使用。但是由于智能小車其他的功能
26、占用了無線模塊需要的幾個引腳,所以就需要對單片機上的us-art進行驅(qū)動后再使用NRF24L01無線通信模塊。NRF24L01無線通信模塊原理圖如下圖3-2所示: 圖3-2 NRF24L01原理圖3.3.1 NRF24L01的應(yīng)用領(lǐng)域1.無線鼠標(biāo),鍵盤,游戲機操縱桿2.無線數(shù)據(jù)通訊3.無線門禁4.安防系統(tǒng)5.遙控裝置6.遙感探測7.智能運動設(shè)備8.工業(yè)傳感器9.玩具3.3.2 NRF24L01特性: 2.4GHz全球開放ISM頻段,最大0dBm發(fā)射功率,免許可證使用支持六路通道的數(shù)據(jù)接收 低工作電壓:1.93.6V低電壓工作 高速率:2Mbps,由于空中傳輸時間很短,極大的降低了無線傳輸中的碰
27、撞現(xiàn)象(軟件設(shè)置1Mbps或者2Mbps的空中傳輸速率) 多頻點:125頻點,滿足多點通信和跳頻通信需要 超小型:內(nèi)置2.4GHz天線,體積小巧,15x29mm(包括天線) 低功耗:當(dāng)工作在應(yīng)答模式通信時,快速的空中傳輸及啟動時間,極大的降低了電流消耗。 低應(yīng)用成本:NRF24L01集成了所有與RF協(xié)議相關(guān)的高速信號處理部分,比如:自動重發(fā)丟失數(shù)據(jù)包和自動產(chǎn)生應(yīng)答信號等,NRF24L01的SPI接口可以利用單片機的硬件SPI口連接或用單片機I/O口進行模擬,內(nèi)部有FIFO可以與各種高低速微處理器接口,便于使用低成本單片機。 便于開發(fā):由于鏈路層完全集成在模塊上,非常便于開發(fā)。 自動重發(fā)功能,自
28、動檢測和重發(fā)丟失的數(shù)據(jù)包,重發(fā)時間及重發(fā)次數(shù)可軟件控制自動存儲未收到應(yīng)答信號的數(shù)據(jù)包自動應(yīng)答功能,在收到有效數(shù)據(jù)后,模塊自動發(fā)送應(yīng)答信號,無須另行編程載波檢測 固定頻率檢測 內(nèi)置硬件CRC檢錯和點對多點通信地址控制 數(shù)據(jù)包傳輸錯誤計數(shù)器及載波檢測功能可用于跳頻設(shè)置 可同時設(shè)置六路接收通道地址 可有選擇性的打開接收通道 標(biāo)準(zhǔn)插針Dip2.54MM間距接口,便于嵌入式應(yīng)用3.3.3 NRF24L01的主要工作模式接收模式,發(fā)送模式,待機模式,掉電模式。 3.4 NRF24L01無線模塊的配置 為了讓兩個NRF24L01無線模塊能正常的工作。首先需要對無線模塊進行配置。本次設(shè)計中NRF24L01無線
29、模塊的配置環(huán)境如下:Windows操作系統(tǒng);SSCOM3.3(串口調(diào)試助手);USB轉(zhuǎn)TTL模塊(圖3-3);兩個無線模塊,其中一個無線模塊接不帶USB接口的無線驅(qū)動模塊(圖3-4)后用杜邦線接到單片機上,杜邦線連接到單片機的P3.4、P3.5口上。另一個無線模塊接帶USB接口的無線驅(qū)動模塊(圖3-5)接到PC機上。圖3-3 USB轉(zhuǎn)TTL模塊圖3-4不帶USB接口的無線驅(qū)動模塊圖3-5 帶USB接口的無線驅(qū)動模塊無線模塊的配置過程描述如下: 帶USB接口的模塊直接插電腦進行配置,不帶USB接口的模塊得借助USB轉(zhuǎn)串口進行配置;1.USB轉(zhuǎn)串口模塊以及帶USB的無線驅(qū)動模塊需要安裝CH341驅(qū)
30、動;2.波特率默認(rèn)設(shè)置為9600(帶USB與不帶USB的),波特率的選擇范圍為:2400-115200;3.配置時,必須在斷電的情況下,插上跳線帽,再從新上電;(不能上著電的情況下,插跳線帽?。?.配置完成之后,必須得把跳線帽拔掉;(注意:必須得在斷電的情況下拔,然后,再重新上電)5.配置的格式為10個字節(jié):0X55 + 數(shù)據(jù)長度 + 波特率 + 頻道 + 地址1 + 地址2 + 地址3 + 地址4 + 地址5 + 0XAA配置時要注意:1.必須插上跳線帽進行配置,配置完之后,必須(如圖3-6所示)拔掉跳線帽才能正常使用;(配置時,在上電前就得插上跳線帽;當(dāng)然,正常使用時也得在斷電的情況下,拔
31、跳線帽,再重新上電)圖3-6驅(qū)動模塊上的跳線帽2.串口調(diào)試助手發(fā)送數(shù)據(jù)的格式為:十六進制(即為“HEX”格式);在發(fā)送欄輸入:55 06 00 78 01 02 03 04 01 aa其中:首位和末位55和aa為固定配置字節(jié),不可以更改;第二位06代表數(shù)據(jù)長度(范圍:0x01-0x20即1-32);第三位00代表波特率:00:9600 01:14400 02:19200 03:3840004:56000 05:57600 06:115200 07:2400 08:4800第四位78代表頻道(范圍:0x01-0x78即1-120)第五位至第九位五個字節(jié)構(gòu)成地址,要把兩個模塊的地址配制成一樣。點擊
32、發(fā)送后得到下圖的結(jié)果如圖3-7所示:圖3-7配置程序發(fā)送和接收結(jié)果3. USB轉(zhuǎn)TTL模塊的TX,RX與NRF24L01驅(qū)動模塊(無USB的)的TX,RX要交叉相連,即一方的TX與另外一方的RX相連,然后,一方的RX與另外一方的TX相連。設(shè)計需要兩個無線模塊進行通信,一個位于單片機端,一個位于上位機端。在上位機端的連接方式,如圖3-8所示:圖3-8上位機端的連接方法在單片機端的連接方式,如圖4-10所示:圖3-9 單片機端連接方法4.兩個模塊的數(shù)據(jù)長度,頻道,地址得設(shè)置成一樣,否則工作不正常:數(shù)據(jù)長度選擇范圍:0x01-0x20,即1-32個字節(jié);頻道的選擇范圍為:0X01-0X78,即1-1
33、20;地址由5個字節(jié)構(gòu)成:地址1、2、3、4、5 取值范圍是 0x00-0xff ,這5個字節(jié)必須得設(shè)置一樣;5.在同一個實驗室中,為了不互相影響,得把頻道設(shè)置成不一樣,或者把地址設(shè)置成不一樣,否則會互相干擾;6.波特的選擇,從小到大分別為:2400(0X07),4800(0X08), 9600(0X00), 14400(0X01), 19200(0X02), 38400(0X03), 56000(0X04), 57600(0X05),115200(0X06);7.數(shù)據(jù)的長度得選擇適中,串口調(diào)試助手(單片機)的發(fā)送頻率也得選擇適中;需要注意這兩個兩個模塊的數(shù)據(jù)長度,頻道,地址得設(shè)置成一樣,否則
34、工作不正常。3.5 異常情況分析:1.配合NRF24L01+無線模塊正常使用時,跳線帽忘記拔掉;2.兩個模塊,配置的參數(shù)不匹配,如數(shù)據(jù)長度,頻道,地址;3.電源不純,有干擾波,高頻電路對電源的要求很高;3.6 控制命令格式設(shè)計與說明無線傳輸模塊的使用需要對其編程,編程需要使用到的軟件是:IAR Embedded Workbench IDE.IAR Embedded Workbench for AR是IAR Systems公司為ARM微處理器開發(fā)的一個集成開發(fā)環(huán)境。比較其他的ARM開發(fā)環(huán)境,IAR EWARM具有入門容易、使用方便和代碼緊湊等特點。 嵌入式IAR Embedded Workben
35、ch適用于大量8位、16位以及32位的微處理器和微控制器,使用戶在開發(fā)新的項目時也能在所熟悉的開發(fā)環(huán)境中進行。它為用戶提供一個易學(xué)和具有最大量代碼繼承能力的開發(fā)環(huán)境,以及對大多數(shù)和特殊目標(biāo)的支持。3.6.1 命令格式設(shè)計配置完成NRF24L01無線通信模塊后,為了能讓上位機與單片機能夠?qū)崿F(xiàn)信息的交換,需要對無線傳輸信息命令格式進行設(shè)計。1.需要控制小車的動作有:前進,后退,左轉(zhuǎn),右轉(zhuǎn),加速,減速,開始,停止,自動模式,手動模式。在無線模塊配置時設(shè)置的是發(fā)送和接受6位的字符串,所以在設(shè)計無線傳輸命令格式時要使用6位的字符串。其中*是對齊位,因為在無線傳輸信息的發(fā)送和接收中會出現(xiàn)數(shù)據(jù)的丟失或串行等
36、,所以設(shè)置數(shù)據(jù)的對齊位,檢驗接收的數(shù)據(jù)是否完整。所以單片機接到的以*開頭的字符串才是合法的。上位機向單片機發(fā)送數(shù)據(jù)的命令格式如下表3-1:表3-1 上位機向單片機發(fā)送數(shù)據(jù)的命令格式上位機向單片機發(fā)送的數(shù)據(jù)命令格式前進*23121后退*23122左轉(zhuǎn)*23123右轉(zhuǎn)*23124加速*23125減速*23126開始*23127停止*23128自動模式*13125手動模式*23128單片機接收信息部分關(guān)鍵代碼如下:while t = t + 1; if (t99) t=0; fsl(t); if (h=6) if(ml0=* if(ml5=1) wholego(); else if(ml5=2) w
37、holeback(); else if(ml5=3) turnleft() ; else if(ml5=4) turnright(); else if(ml5=5) wholeadd(); else if(ml5=6) wholesub(); else if(ml5=7) wholestart(); else if(ml5=8) wholestop(); / else if(ml5=9) /sudu /else if (ml4=1&ml5=0) /lc = read_Lc(); / else if(ml4=1&ml5=1) /s=(int)float_range; else fsml(erro
38、r!);在以上代碼中mlX:字符串的第X位。當(dāng)單片機接收到上位機發(fā)送的信息后,對接收到的字符串進行判斷,首位是否是*,是*則程序繼續(xù)執(zhí)行,不是*則返回error!。接下來判斷第5位是1 2 3 4 5 6 7 8 9中的哪一個,若沒有則返回error!,是其中的數(shù)字則執(zhí)行數(shù)字對應(yīng)的函數(shù),然后小車執(zhí)行對應(yīng)的動作。2.需要小車向上位機發(fā)送的數(shù)據(jù)有:小車的速度值,小車的里程。如下表:表3-2單片機向上位機發(fā)送的數(shù)據(jù)單片機向上位機發(fā)送的數(shù)據(jù)命令格式小車的速度值s小車的里程實現(xiàn)將單片機上的信息發(fā)送給上位機,也需要上述的程序來完成,單片機發(fā)送部分關(guān)鍵代碼如下:void UART1_TX(unsigned
39、char Data) while (!(IFG1 & UTXIFG0); TXBUF0 =Data; void fsl(double x )unsigned char stl6 = L,:; int j; int sw,gw,xs,ls; ls= (int)(x*10); sw = ls/100; gw = (ls - sw*100)/10; xs = ls % 10; stl2 = sw + 0; stl3 = gw + 0; stl4 = .; stl5 = xs + 0; for (j=0;j5;j+) TXBUF0 = stlj; while (!(IFG1 & UTXIFG0); T
40、XBUF0 = n; delay(); /P2OUT = 0XFF; void fslsd(double x ,char c)unsigned char stl6 ; int j; unsigned char w; unsigned long int ls; ls= (unsigned long int)(x+0.5); w=ls%10; ls=ls/10; stl4 = w + 0; w=ls%10; ls=ls/10; stl3 = w + 0; w=ls%10; ls=ls/10; stl2 = w + 0; w=ls%10; ls=ls/10; stl1 = w + 0; w=ls%1
41、0; ls=ls/10; stl0 = w + 0; stl5 = c; ME1 |= UTXE0 ; /使能單片機發(fā)送 ME2 &= URXE1 ; delay(); for (j=0;j=5;j+) TXBUF0 = stlj; while (!(IFG1 & UTXIFG0); /TXBUF0 = n; delay(); /P2OUT = 0XFF; delay(); ME2 |= URXE1 ; /使能單片機發(fā)送 ME1 &= UTXE0 ; 第4章 上位機程序的設(shè)計與實現(xiàn)4.1 功能說明上位機通過設(shè)計好的軟件來實現(xiàn)對智能小車的控制,控制小車的動作有:前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、加速、減速
42、、自動控制與手動控制。單片機將小車的速度發(fā)送給上位機。上位機控制小車流程圖如圖4-1所示: 圖4-1上位機控制小車流程圖4.2 小車控制軟件程序與界面設(shè)計上位機是通過小車控制軟件來對小車進行控制,而控制軟件由底層的代碼和表層的操作界面組成。4.2.1 Qt平臺的簡介Qt是一個1991年由奇趣科技開發(fā)的跨平臺C+圖形用戶界面應(yīng)用程序開發(fā)框架。它可以開發(fā)GUI程式,同時也可用于開發(fā)非GUI程式,比如控制臺工具和服1的02編.3102.3.0程思想,并且它支持真正的組件編程。Qt是面向?qū)ο蟮目蚣埽褂锰厥獾拇a生成擴展(稱為元對象編譯器(Meta Object Compiler, moc)以及一些宏
43、,易于擴展,允許組件編程。它可以提供給開發(fā)者簡歷圖形用戶界面所需要的所有功能,易擴展,并允許組件編程,而且它具有良好的可移植性。基本上,Qt同X Window上的Motif,Openwin,GTK等圖形界面庫和Windows平臺上的 MFC,OWL,VCL,ATL 是同類型的東西。Qt使用”一次編寫,隨處編譯”的方式為開發(fā)跨平臺的圖形用戶界面應(yīng)用程序提供了一個完整的C+應(yīng)用程序開發(fā)框架。Qt云遜編程開發(fā)人員使用應(yīng)用程序的單一源碼樹來構(gòu)建可以運行在不同平臺下的應(yīng)用的不同版本。4.2.2 QT的特點 優(yōu)良的跨平臺性 面向?qū)ο?豐富的API QT包括400個以上的C+類,同時不斷擴展 支持2D/3d
44、圖形渲染,支持OpenGL; XML支持; 開放源碼4.2.3 QT串口相關(guān)類的說明 在Qt5.4中串口通信并沒有特定的串口控制類,現(xiàn)在普遍使用的是第三方寫的qextserialport類。所以當(dāng)需要使用QT的串口通信相關(guān)功能的時候,就需要使用qextserialport類。 在windows下qextserialport類只需要使用其中的6個文件:qextserialbase.cpp和qextserialbase.h,qextserialport.cpp和qextserialport.h,win_qextserialport.cpp和win_qextserialport.其中qextseri
45、alenumerator.cpp及qextserialenumerator.h文件中定 義的QextSerialEnumerator類是用來獲取平臺上可用的串口信息的。qextserialbase.cpp和qextserialbase.h文件定義了一個QextSerialBase 類,win_qextserialport.cpp和win_qextserialport.h文件定義了一個Win_QextSerialPort 類,posix_qextserialport.cpp和posix_qextserialport.h文件定義了一個 Posix_QextSerialPort類,qextseria
46、lport.cpp和qextserialport.h文件定義了一個 QextSerialPort類。這個QextSerialPort類就是我們上面所說的那個,它是所有這些類的子類,是最高的抽象,它屏蔽了平臺特征, 使得在任何平臺上都可以使用它。下載后直接將其解壓到工程文件夾內(nèi)即可。如圖4-2所示:圖4-2工程文件夾內(nèi)文件 在Qt Creator中左側(cè)的文件列表上,鼠標(biāo)右擊工程文件夾,在彈出的菜單中選擇Add Existing Files,添加已存在的文件添加好類文件之后的文件列表如圖4-3所示:圖4-3添加完成后的文件列表4.2.4 QT無線傳輸程序設(shè)計#include widget.h#in
47、clude int main(int argc, char *argv) QApplication a(argc, argv); Widget w; w.show(); w.setWindowTitle(小車控制程序); return a.exec();以上代碼的功能是更改程序窗口顯示的名字。#include widget.h#include ui_widget.hWidget:Widget(QWidget *parent) : QWidget(parent), ui(new Ui:Widget) ui-setupUi(this); myCom = newWin_QextSerialPort(COM3,QextSerialBase:EventDriven); /定義串口對象,指定串口名和查詢模式,使用事件驅(qū)動EventDriven myCom -open(QIODevice:ReadWrite); /以讀寫方式打開串口 myCom-setBaudRate(BAUD9600); /波特率設(shè)置,設(shè)置為9600myCom-setDataBits(DATA_8); /數(shù)據(jù)位設(shè)置,設(shè)置為8位數(shù)據(jù)位myCo
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣播稿400字左右(35篇)
- 高中技術(shù)《技術(shù)與設(shè)計2》模塊測試題 一
- 課外書的心得體會范文
- 幼兒園主題方案簡單
- 風(fēng)險合規(guī)部工作總結(jié)
- 銷售培訓(xùn)心得(35篇)
- 居間代理房屋合同(3篇)
- 《技術(shù)的未來》教學(xué)設(shè)計(兩篇)
- 蘇教版 高中技術(shù)《技術(shù)與設(shè)計1》教案合集
- 26.1 銳角三角函數(shù) 同步練習(xí)
- 期中測試卷(1-4單元)(試題)-2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊
- 前程無憂行測筆試題庫
- 中華民族發(fā)展史智慧樹知到期末考試答案章節(jié)答案2024年云南大學(xué)
- 合唱比賽評分表及評分標(biāo)準(zhǔn)
- 關(guān)于高中英語寫作教學(xué)的問卷設(shè)計(學(xué)生卷)
- VFA的測定方法及標(biāo)準(zhǔn)曲線
- 危險品安全數(shù)據(jù)清冊氯氰菊脂
- 施工現(xiàn)場挖斷電纜、光纜事故應(yīng)急搶修方案(純干貨版)
- 石灰石粉倉安裝方案
- 松下電器(中國)焊接學(xué)?!附蛹夹g(shù)
- 《肺動脈高壓護理》PPT課件.ppt
評論
0/150
提交評論