多功能智能網(wǎng)球撿球機設(shè)計【含11張CAD圖紙+PDF圖】,含11張CAD圖紙+PDF圖,多功能,智能,網(wǎng)球,撿球機,設(shè)計,11,CAD,圖紙,PDF
JIANGXI AGRICULTURAL UNIVERSITY
本 科 畢 業(yè) 論 文(設(shè) 計)
題目: 多功能智能網(wǎng)球撿球機
學(xué) 院: 工學(xué)院
姓 名: 王駿斌
學(xué) 號: 20101173
專 業(yè): 機械設(shè)計制造及其自動化
班 級: 機制1004班
指導(dǎo)教師: 蔡金平 職 稱: 講師
二 0 一四 年 五 月
目錄
摘要 3
Abstract 4
引言 5
1 多功能智能撿球機概論 6
1.1 多功能智能撿球機外形簡介 6
1.1.1 撿球機底盤 6
1.1.3 鎖存機構(gòu) 7
1.2 智能撿球機的材料簡介 8
1.2.1 底盤材料 8
1.2.2 車輪材料 8
1.2.3 撿球機構(gòu)材料 8
1.2.4 固定材料 8
1.2.5 其他材料 8
2 多功能網(wǎng)球撿球機工作原理 8
2.1 多功能網(wǎng)球撿球機設(shè)計原理 9
2.1.1 撿球機底盤 9
2.1.2 撿球機構(gòu) 9
2.1.3 球桶的設(shè)計 10
2.2 控制中心的設(shè)計 11
2.2.1 撿球機的控制中央處理器AVR系列中ATmega16 11
2.2.5 紅外線傳感器模塊 13
3 數(shù)據(jù)理論計算 14
3.1 電機功率的計算 14
3.1.1 驅(qū)動電動機輸出功率 14
4 實驗結(jié)果 14
參考文獻 15
附錄 16
致謝 21
摘要
目前市面上已經(jīng)存在的各種網(wǎng)球發(fā)球機,忽視了把球撿回來的問題,很多訓(xùn)練網(wǎng)球的場所還是原始的采用人工撿球的方法,這樣做不僅僅浪費了大量的時間,也消耗了人的體力。因此研究網(wǎng)球撿球設(shè)備同樣具有重要意義。人們希望制造一款簡單的網(wǎng)球撿球機,能夠在網(wǎng)球訓(xùn)練時輕松撿起,有效提高網(wǎng)球運動樂趣。根據(jù)目前國內(nèi)外市面上主要網(wǎng)球撿球機的原理與特點,同時針對現(xiàn)有撿球機的不足之處設(shè)計了一款新型的多功能智能網(wǎng)球撿球機。多功能智能網(wǎng)球撿球機由驅(qū)動裝置、撿球裝置和中央處理器組成,以蓄電池供電,并用高性能的單片機作為控制核心對遙控裝置、尋球機構(gòu)、撿球裝置進行高效集中的控制。多功能智能網(wǎng)球撿球機能夠通過遙控器甚至智能手機遙控完成網(wǎng)球撿取、人推動撿球機運動完成網(wǎng)球撿取、技術(shù)成熟時可以通過無人操作智能識別全自動網(wǎng)球撿取,可以方便撿拾網(wǎng)球場上散落的網(wǎng)球,并可以通過遙控撿球機撿球給運動過疲勞的人們一點娛樂。它體積小,自動化程度高,能實現(xiàn)人工手推、遙控和未來的智能自主撿球,節(jié)省人力資源。
關(guān)鍵詞:網(wǎng)球撿球機; 控制系統(tǒng); 撿球; 遙控撿球;多功能撿球機。
Abstract
There are already a variety of existing tennis ball machine , to some extent neglected to retrieve the ball and then issue a problem , a lot of tennis training places or artificial picking methods do not just spend a lot of time , also consume a person's strength. Therefore research Tennis picking device equally important . People want to manufacture a simple tennis picking machines , tennis training can be easy when it picked up , effectively improve tennis fun. According to the current domestic market principles and main characteristics of tennis picking machines , while for the deficiencies of existing picking machines designed a new type of multi-function smart tennis picking machines . Multifunctional smart tennis picking machines by the drive unit , consisting of a central processing unit and picking to battery -powered and high-performance microcontroller as the core of the remote control device , look for the ball institutions , picking device for efficient centralized control . Multifunctional smart tennis picking machines through remote control and even remote smartphones completed tennis seizure , people picking machine movement to promote the completion of tennis seizure , when the technology is mature intelligent recognition by unmanned automatic seizure of tennis , you can easily pick up scattered tennis on the tennis court , and picking through the remote machine picking people to exercise too tired little entertainment. Its small size , high degree of automation can be achieved manually push , remote and future intelligent picking , saving human resources.
Keywords: Mobile ball machine; control system; ball; remote control
引言
就目前來說,網(wǎng)球運動在我國開展的還不夠廣泛。網(wǎng)球初學(xué)者在剛學(xué)習(xí)網(wǎng)球時需要人來配合練習(xí),沒有合適的陪練人員使他們更加缺乏合適的練習(xí)機會。在這種情況下,如果網(wǎng)球場能夠配有網(wǎng)球發(fā)球機和撿球機,將解決初學(xué)者不能獨自練習(xí)和撿球疲勞的問題。 為了方便撿球,目前市場上出現(xiàn)了一些一類手推式網(wǎng)球撿球車。此類撿球車為純機械式,需要有人操作。人把撿球車推到需要撿起的球前,然后撿球車把球撥入車中。
但是,這種半自動的網(wǎng)球撿球工具仍有許多不足之處。它體積大且質(zhì)量重,相對于智能化撿球機比較笨拙。既浪費了大量的空間,又影響訓(xùn)練人員打球,因為在它撿球的過程中運動員影響打球。還完全需要人工操作,相對于智能化撿球機浪費了不必要的時間與體力。而且,它只適用于地上球較多的情況,但是地上球也會影響運動員打球。地上球少時則沒有必要用上述撿球車。因此,它的適用環(huán)境較局限,未實現(xiàn)撿球過程的自動化、智能化。
為了克服以上半自動網(wǎng)球撿球機的不足之處,作者研制了能夠?qū)崿F(xiàn)網(wǎng)球撿球過程的智能化、高效化的多功能智能網(wǎng)球撿球機。多功能智能網(wǎng)球撿球機由遙控系統(tǒng)、運動系統(tǒng),撿球系統(tǒng)和中央處理器組成,他能夠?qū)崿F(xiàn)遙控撿球、高效率人推動撿球機撿球、未來實現(xiàn)全自動無人尋球和撿球。
1 多功能智能撿球機概論
1.1 多功能智能撿球機外形簡介
智能撿球機主體由小車底盤、控制中心、撿球機構(gòu)、鎖存機構(gòu)等四大部分組成并相互協(xié)調(diào)工作。從而達到快速智能撿球的目的。
1.1.1 撿球機底盤
小車底盤是由直徑350mm×2的圓形硬質(zhì)塑料材料做成。兩塊以間隔60mm的距離疊放在一起,中間通過上底盤支架和螺柱固定,在下底盤上有安裝四個直流減速電機驅(qū)動輪。在兩塊底盤之間有兩個上底盤支架支持上底盤支架形成的V形通道的收納口。收納口形成通道的底部與儲球管相連,儲球管是大小略大于網(wǎng)球直徑兩頭90度彎曲的一個空心管,90度的彎管和直徑略大于網(wǎng)球的作用是便于網(wǎng)球在進入儲球管時運動不受限制。其中一個上底盤支架的中間有一個紅外檢測傳感器,用于檢測是否有球進來。上底盤上有儲球管安裝座和U型曹,用于安裝儲球筒和撥球桿的運動。
1.1.2 撿球機構(gòu)
撿球機構(gòu)由馬達驅(qū)動一根硬質(zhì)塑料撥桿。撥桿與電機輸出主軸連接在一起,電機轉(zhuǎn)動帶動撥桿旋轉(zhuǎn),撥桿推動網(wǎng)球運動,撥桿和球在儲球筒的弧形幾何外形下產(chǎn)生豎直向上的一個分力,使網(wǎng)球豎直向上運動。
圖1.1.2 (撿球機構(gòu)圖)
圖 1.1.2 (撿球機構(gòu)實物圖)
1.1.3 鎖存機構(gòu)
鎖存器是由安裝在直徑略大于網(wǎng)球直徑的塑料儲球管左右兩端上的一個只能夠讓球單向運動的機構(gòu)。鎖存器的作用是撥球桿把球撥進儲球管中讓網(wǎng)球只能豎直向上運動而不會依靠重力豎直向下運動的一個機構(gòu),他能有效地把網(wǎng)球儲存在進球管中而不讓網(wǎng)球因為重力掉下去。鎖存器的原理是一個可以旋轉(zhuǎn)60度的L形的機構(gòu),他可以通過L形狀的L直角處的軸轉(zhuǎn)動,軸的中間有扭簧用來復(fù)原旋轉(zhuǎn)后L形的鎖存器。
圖 1.1.3 (鎖存器)
1.2 智能撿球機的材料簡介
1.2.1 底盤材料
底座材料選擇為硬質(zhì)塑料板。對于網(wǎng)球而言,其質(zhì)量不大,網(wǎng)球質(zhì)量為180-200g,直徑為65mm。并且網(wǎng)球場比較平坦。撿球機在運動時的運動速度為0.5-0.7m/s。在這種低速的運動下,撿球機運行平穩(wěn),撿球機受到的力并不大。對材料的力學(xué)性能要求并不高。普通的硬質(zhì)塑料的許用力學(xué)參數(shù)遠遠超過實際使用時的力學(xué)要求。硬質(zhì)塑料的強度、硬度、塑性、韌性等力學(xué)性能都能滿足使用條件。在滿足使用要求的條件下,硬質(zhì)塑料具有易加工、易成型、易獲取、密度小、價格便宜的眾多優(yōu)點。
1.2.2 車輪材料
車輪是撿球機與地面接觸的重要部分。承擔(dān)著所有地面與撿球機的力,材料對其影響極大。但因為撿球本身的質(zhì)量輕,運動速率小,受力小。所以選擇硬質(zhì)塑料。其直徑為60mm。外邊為后約2mm的橡膠輪,選用橡膠為了增加運動時與地面的摩擦因數(shù)并且可以緩沖在地面不平時的沖擊。從而達到高效穩(wěn)定的工作效率。
1.2.3 撿球機構(gòu)材料
撿球機構(gòu)為一根直徑為5mm的塑料曲桿。曲率半徑為70mm。兩端略小于中間,利用的是塑料有極好的韌性,在受力較大時不會折斷。質(zhì)量較小,減小了輸出力矩,節(jié)省了電能。
1.2.4 固定材料
固定材料:硬質(zhì)角鋁、、螺釘、螺桿、螺柱等各類緊固件。
1.2.5 其他材料
萬用板、各類線接頭、各類電子元器件(單片機、電阻、二極管、發(fā)光二極管、電動機、數(shù)碼管)
2 多功能網(wǎng)球撿球機工作原理
多功能網(wǎng)球撿球機是將散落于球場的各個地方的網(wǎng)球收集撿起。根據(jù)其工作目的,可將工作原理分為三部分:1 移動部分,2 撿球部分,3 控制部分。
1)移動部分:因為網(wǎng)球散落于球場各個地方,撿球機需要運動到各個地方,才能進行撿起散落的網(wǎng)球。
2)撿球部分:當(dāng)撿球機運動到網(wǎng)球所在地時。則需要通過撿球機構(gòu)將網(wǎng)球撿入存球筒中,將網(wǎng)球集中撿起,重復(fù)利用。
3)控制部分:控制部分由AVR高性能單片機ATmega16作為主控芯片、L298N電機驅(qū)動模塊、NRF24L01無線模塊、紅外傳感器模塊、電壓檢測模塊、降壓模塊、數(shù)碼管顯示以及高性能的繼電器組成。
2.1 多功能網(wǎng)球撿球機設(shè)計原理
2.1.1 撿球機底盤
撿球機底盤作為該部分保證機器人在場地內(nèi)自由運動的主要框架結(jié)構(gòu),保證結(jié)構(gòu)強度,在框架的兩側(cè)分別安裝由直流電動機驅(qū)動的運動輪,運動輪分別通過角鋁和螺釘固定,四臺減速電機同時驅(qū)動,可以通過左右兩邊的輪胎旋轉(zhuǎn)方向相反實現(xiàn)轉(zhuǎn)彎,能夠在網(wǎng)球場地中靈活的自由運動。每臺電動機驅(qū)動一個輪子,保證了足夠的動力和運動速度。從而實現(xiàn)高速穩(wěn)定的工作效率。小車底盤充分考慮了撿球機的美觀、體積大小、收納口的收球效果和美觀、四個電機的安裝空間、以及蓄電池和控制電路的安裝空間等綜合因素而設(shè)計的。
圖2.1.1 (下底盤)
2.1.2 撿球機構(gòu)
撿球機構(gòu)的撥桿外圓直徑位10mm,內(nèi)孔直徑位6mm,長75mm,曲率半徑為70mm的塑料曲桿。曲桿兩頭略小。內(nèi)孔與大扭矩的直流減速撿球電機主軸連接,并通過銷釘固定,防止其產(chǎn)生相對運動。當(dāng)撿球機運動到網(wǎng)球所在地時,撿球機通過網(wǎng)球的正上端,網(wǎng)球則通過撿球機的的收納口進入儲球管。安裝在上底盤支架上的紅外檢測傳感器檢測到網(wǎng)球的進入時發(fā)送個信號給控制中心處理后撿球電機開始轉(zhuǎn)動。撿球電機帶動撥桿圓周運動,撥桿則推動網(wǎng)球在儲球管中完成由水平運動轉(zhuǎn)換到豎直運動。網(wǎng)球通過安裝在儲球管上的鎖存器后被限制向下運動,最后這個網(wǎng)球就存儲在儲球管的中,安裝在撿球電機正上端的另一個紅外檢測傳感器檢測到撥桿后發(fā)送一個信號給控制中心處理后停止撿球電機的轉(zhuǎn)動,這時撥桿就停留在水平向上大概40度左右的方向上,這就完成一個網(wǎng)球的撿起。當(dāng)撿第二個網(wǎng)球時,同理第二個網(wǎng)球進入儲球筒管中把第一個網(wǎng)球頂起后被鎖存器鎖死,這時儲球管中就儲存了兩個球。當(dāng)?shù)谌齻€球儲存在儲球管中,這時再進來一個網(wǎng)球,那么儲球管中的最頂上的第一個網(wǎng)球在儲球管就溢了出來進入球桶中,在后面的網(wǎng)球撿起來都進入球筒中。在撿球的過程中每撿一個球,中央處理器都會發(fā)送數(shù)據(jù)給數(shù)碼管顯示球的個數(shù),當(dāng)球撿滿后,報警喇叭就會報警。
圖 2.1.2 (撿球機構(gòu)剖面示意圖)
2.1.3 球桶的設(shè)計
球桶是直徑為356mm,壁厚為1.5mm的圓柱型塑料桶,塑料球桶的上方有凹陷下去用于安裝提手的凹槽,提手則可以旋轉(zhuǎn)放入凹槽,提手也可以旋轉(zhuǎn)豎直起來方便人們提動撿球機。塑料球桶后方也有一個T字形的凹槽,凹槽內(nèi)安裝有可伸縮T形推桿,推桿可以繞凹槽底部的一個軸旋轉(zhuǎn),旋轉(zhuǎn)后與塑料球桶上表面形成大概100度的角度后固定,固定后推桿就可以拉伸,拉伸后人們就可以通過手推動撿球機完成高效率的撿球。塑料球桶儲滿球后可以通過球桶上方的一個酷似心形的一個圓口倒出來。
圖 2.1.3 (球桶)
2.2 控制中心的設(shè)計
本設(shè)計采用了2片AVR單片機(芯片采用的是ATmega16)作為處理器,由AVR芯片控制整個小車的運行,然后由單片機與nRF24L01無線模塊構(gòu)成主從式的控制系統(tǒng),雙機采用無線串行通信。遙控部分采用杭州茂葳科技有限公司生產(chǎn)的FSK無線模塊(nRF24L01),從而提高了控制的可靠性;該小車與遙控器采用了協(xié)議式的通信,根據(jù)它們之間所制定的協(xié)議,進行數(shù)據(jù)傳輸,從而提高了控制的有效性。控制部分采用的是高性能、低功耗的8位AVR微處理器ATmega16。驅(qū)動小車部分采用了L298N單塊集成電路,四通道驅(qū)動設(shè)計,用來接收DTL或者TTL邏輯電平,驅(qū)動感性負載和開關(guān)電源晶體管。
2.2.1 撿球機的控制中央處理器AVR系列中ATmega16
ATmega16是基于增強的AVR?RISC結(jié)構(gòu)的低功耗8?位CMOS微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間,ATmega16?的數(shù)據(jù)吞吐率高達1?MIPS/MHz,從而可以減緩系統(tǒng)在功耗和處理速度之間的矛盾。??
ATmega16?AVR?內(nèi)核具有豐富的指令集和32?個通用工作寄存器。所有的寄存器都直接與運算邏單元(ALU)?相連接,使得一條指令可以在一個時鐘周期內(nèi)同時訪問兩個獨立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC?微控制器最高至10?倍的數(shù)據(jù)吞吐率。
2.2.2基于nRF24L01無線模塊的無線傳輸?
nRF24L01是一款由NORDIC公司所生產(chǎn)的無線通信芯片,無線通信速度能夠達到2M(bps)。它采用了FSK調(diào)制,其內(nèi)部集成了自己的Enhanced?Short?Burst協(xié)議,能夠?qū)崿F(xiàn)1對6或者點對點的無線通信。該公司還提供了通信模塊的GERBER文件,可以直接進行生產(chǎn)加工,可以很容易實現(xiàn)無線通信的功能,非常適合用來為MCU系統(tǒng)構(gòu)建無線通信功能
2.2.3基于L298N芯片驅(qū)動電路
L298是SGS(通標(biāo)標(biāo)準(zhǔn)技術(shù)服務(wù)有限公司)公司所生產(chǎn)的一種高電壓、大電流電機驅(qū)動芯片。我們經(jīng)常使用的是15腳Multiwatt封裝的L298N,其內(nèi)部包含有4通道邏輯驅(qū)動電路,能夠順利的驅(qū)動一個兩相步進電機或者兩個直流電機。
2.2.4撿球機電氣簡圖
圖 2.2.4 (撿球機控制系統(tǒng)示意圖)
2.2.5 紅外線傳感器
紅外線傳感器抗干擾能力強,可以避免陽光和電燈等光線中紅外線的干擾,且具有可見光的反射特性,經(jīng)常作為避障傳感器使用。紅外線傳感器具有內(nèi)置的光濾波器,除了光敏二極管發(fā)出的紅外線外,其它光線都不允許通過,這就保證了探測的準(zhǔn)確性。該撿球機器人采用距離可調(diào)節(jié)的NPN 型光電開關(guān)紅外傳感器。
圖2.2.5 (紅外傳感器)
2.3、硬件調(diào)試存在的問題以及解決方案?
1.當(dāng)程序通過燒錄器寫入單片機時,單片機沒有按照預(yù)定設(shè)計工作,后經(jīng)過老師提?醒,用示波器檢測晶的震蕩電路是否正確。開始檢測時,晶振沒有產(chǎn)生鋸齒波形,后來?給震蕩電路換了一個電容,才產(chǎn)生了鋸齒波形。?
2.檢測無線傳輸模塊傳輸數(shù)據(jù)時,編寫了一個簡單程序,但是無線模塊不能正常工?作,后用萬能表檢測出無線傳輸模塊引腳電平,發(fā)現(xiàn)一個引腳不對,沒有接地,從而連?接了一個跳線。
2.4、硬件調(diào)試的心得與體會
經(jīng)過一段時間的調(diào)試,撿球機能夠?qū)崿F(xiàn)基本上的任務(wù)要求。但是,在這期間也遇到了一些問題,就是無線模塊不太穩(wěn)定,就是遙控部分,由于未知原因的影響,容易受到干擾,?使遙控不太靈敏。由于這個原因,怎么解決小車飛車成為了一個主要問題。?
整個系統(tǒng)的硬件調(diào)試和軟件調(diào)試是不能分開的,大多數(shù)的硬件錯誤是在軟件調(diào)試中被發(fā)現(xiàn)和糾正的。但通常是先排除過于明顯的硬件故障以后,再和軟件結(jié)合起來調(diào)試以進一步排除故障??梢娪布擒浖幕A(chǔ),如果硬件調(diào)試不通過,軟件設(shè)計則更是無從做起。軟件的調(diào)試要在硬件配合中進行,往往問題可能不是硬件上的。
3 數(shù)據(jù)理論計算
3.1 電機功率的計算
3.1.1 驅(qū)動電動機輸出功率
P=P w/η
式中:P w-工作機所需有效功率。
P w=FV/ηw
其中,F 為生產(chǎn)阻力,最小估算為15N,ηw 為工作機驅(qū)動總效率,估算為2/5,設(shè)計v 為0.5m/s,由此算得P w>=15×0.5/0.4=19 瓦,η-電動機至工作機之間傳動裝置的總效率, 估算為2/3,由此可得P>=19×3/2=28.5W。綜合考慮最后得出前輪驅(qū)動電機輸出總功率為P=30W。
3.1.2 撿球機構(gòu)電動機輸出功率
P=P w/η
P w=T×n/(9550×ηw)
撿球阻力距T 估算為1N*m,n 為轉(zhuǎn)速,由此可算得P w=7W。綜合考慮得出撿球機構(gòu)電動機輸出功率:P=10W。
4 實驗結(jié)果
通過在網(wǎng)球場實地操作,網(wǎng)球場面積為長36.60 m,寬l8.30 m,撿球機器人的運行速度為0.5 m/s,旋轉(zhuǎn)半徑為50 cm,一次裝球量為加個。球場內(nèi)球數(shù)少于20個時,一次運行時間約為5 min。如果個別網(wǎng)球比較分散,還可以通過手動遙控的方式遙控機器人進行撿球.通過網(wǎng)球撿球機從可以將繁瑣無聊的撿球工作變的有趣。
參考文獻
[1]?孫恒陳作模?葛文杰.機械原理(第七版).北京:高等教育出版社,2006
[2]?濮良貴 陳國定 吳立言 機械設(shè)計(第九版).北京:高等教育出版社,2013?
[3]?趙衛(wèi)軍?任金泉?陳鋼?.機械設(shè)計基礎(chǔ)課程設(shè)計?.北京:科學(xué)出版社,2010?
[4]?安琦王建文?.機械設(shè)計課程設(shè)計?.上海:華東理工大學(xué)出
版社,2012[5]?李群芳,張士軍等.單片微型計算機與接口技術(shù)[M].第三版.?電子工業(yè)出版社,2008?
[5]?周元康?林昌華?張海兵?.機械設(shè)計課程設(shè)計?.重慶:重慶大學(xué)出版社,2001
[6]?梁啟成.?談?wù)剢纹瑱C入門學(xué)習(xí)[J].?教育教學(xué)論壇,?2012,?第3期:?74-76
[7]?陳群挺.基于AVR單片機的直流無刷電機控制系統(tǒng)的設(shè)計[J].科技致富向?qū)В?011年2期
[8]?郭天祥.新概念51單片機C語言教程[M].電子工業(yè)出版社,2009?
[9]?AVR單片機開發(fā)從入門到精通[M].中國電力出版社,2006?
[10]?樊昌信.?通信原理教程[M].電子工業(yè)出版社,2008?
[11]?郭天祥.?AVR單片機C語言教程[M].電子工業(yè)出版社,2009?
[12]?金明日.?淺談單片機抗干擾技術(shù)[J].?科技創(chuàng)新與應(yīng)用,2012,第10期:38
[13]?晉會杰,楊娜.?單片機硬件抗干擾方法研究[J].?電子世界,2012,?第5期:98-99?
[14]?李長林等.?AVR單片機應(yīng)用設(shè)計[M].?電子工業(yè)出版社,2005?
[15]?欒兵.?淺談單片機硬件設(shè)計需要注意的問題[J].?中國科技縱,2012,第2期
附錄
附錄A1???無線發(fā)射電路圖
附錄A2???無線接受電路圖
附錄A3 撿球機三維圖
附錄A4 撿球機實物圖
附錄B1遙控部分程序清單?
#include
#include
#define uchar unsigned char
#define uint unsigned int
//spi標(biāo)志
#define DDR_SPI DDRB
#define DD_MOSI 5
#define DD_MISO 6
#define DD_SCK 7
#define DD_SS 4
#define CE PB3
#define IRQ PB2
#define Hign_24L01_MISO PORTB|=(1 << PB6)
#define Low_24L01_MISO PORTB &= ~(1 << PB6)
#define Read_24L01_MISO PINB & (1 << PB6)
#define Hign_24L01_MOSI PORTB |= (1 << PB5)
#define Low_24L01_MOSI PORTB &= ~(1 << PB5)
#define Read_24L01_MOSI PINB & (1 << PB5)
#define Hign_24L01_SCK PORTB |= (1 << PB7)
#define Low_24L01_SCK PORTB &= ~(1 << PB7)
#define Read_24L01_SCK PINB & (1 << PB7)
#define Low_24L01_CSN PORTB &= ~(1 << PB4)
#define Hign_24L01_CSN PORTB |= (1 << PB4)
#define Hign_24L01_CE PORTB |= (1 << PB3)
#define Low_24L01_CE PORTB &= ~(1 << PB3)
#define Read_24L01_CE PINB & (1 << PB3)
//*********************************************NRF24L01*************************************
#define TX_ADR_WIDTH 5 // 發(fā)送地址長度,最大長度為5 5*8=40 bit
#define RX_ADR_WIDTH 5 // 接收地址長度
#define TX_PLOAD_WIDTH 5 // 發(fā)送字節(jié)長度,
#define RX_PLOAD_WIDTH 5 // 接收字節(jié)長度
uchar TX_ADDRESS[TX_ADR_WIDTH]={0x34,0x43,0x10,0x10,0x01}; //發(fā)送地址
uchar RX_ADDRESS[RX_ADR_WIDTH]={0x34,0x43,0x10,0x10,0x01}; //接收地址
//***************************************NRF24L01寄存器指令*******************************************************
#define READ_REG 0x00 // 讀寄存器指令
#define WRITE_REG 0x20 // 寫寄存器指令
#define RD_RX_PLOAD 0x61 // 讀取接收數(shù)據(jù)指令
#define WR_TX_PLOAD 0xA0 // 寫待發(fā)數(shù)據(jù)指令
#define FLUSH_TX 0xE1 // 沖洗發(fā)送 FIFO指令
#define FLUSH_RX 0xE2 // 沖洗接收 FIFO指令
#define REUSE_TX_PL 0xE3 // 定義重復(fù)裝載數(shù)據(jù)指令
#define NOP1 0xFF // 保留
//*************************************SPI(nRF24L01)寄存器地址****************************************************
#define CONFIG 0x00 // 配置收發(fā)狀態(tài),CRC校驗?zāi)J揭约笆瞻l(fā)狀態(tài)響應(yīng)方式
#define EN_AA 0x01 // 自動應(yīng)答功能設(shè)置
#define EN_RXADDR 0x02 // 可用信道設(shè)置
#define SETUP_AW 0x03 // 收發(fā)地址寬度設(shè)置
#define SETUP_RETR 0x04 // 自動重發(fā)功能設(shè)置
#define RF_CH 0x05 // 工作頻率設(shè)置
#define RF_SETUP 0x06 // 發(fā)射速率、功耗功能設(shè)置
delay_nms(2);
Hign_24L01_CE; //置高CE,激發(fā)數(shù)據(jù)發(fā)送
delay_nus(10);
Low_24L01_CE;
}
uchar CheckACK(void)
{ uchar sta1;
sta1=SPI_Read(STATUS); // 返回狀態(tài)寄存器
if((sta1&0x20)||(sta1&0x10)) //發(fā)送完畢中斷
{
SPI_RW_Reg((READ_REG+STATUS),0xff); // 清除TX_DS或MAX_RT中斷標(biāo)志
Low_24L01_CSN;
SPI_RW(FLUSH_TX);//用于清空FIFO !!關(guān)鍵??!不然會出現(xiàn)意想不到的后果!??!大家記?。?!
Hign_24L01_CSN;
return(0);
}
else
return(1);
}
void init_NRF24L01(void)
{
spi_init();
Low_24L01_CE; // 空閑模式
Hign_24L01_CSN; // SPI 關(guān)閉
Low_24L01_SCK; // 關(guān)閉時鐘
致謝
為期一個學(xué)期的畢業(yè)設(shè)計終于接近尾聲了,在這短短的幾個月里,不僅僅考察了大學(xué)四年自己所學(xué)要的東西,更重要的是把自己從老師從課本里所了解的東西應(yīng)用到實踐應(yīng)用中,檢驗了自己的能力。雖然有過成功,有過失敗,有過歡笑,有過淚水,但是過程其實才是最重要的。?
通過本次畢業(yè)設(shè)計,我在蔡金平指導(dǎo)老師的精心指導(dǎo)和嚴(yán)格要求下,獲得了豐富的理論知識,并在設(shè)計過程中,翻閱大量的科技文獻,針對設(shè)計內(nèi)容的要求,對所學(xué)過的專業(yè)知識又認真細致的進行鞏固和練習(xí),在硬件和軟件的組合上認真聽取了謝老師以及一些優(yōu)秀同學(xué)的意見,在很大程度上使這次設(shè)計順利通過老師的審核和評定.在另一方面極大地提高了實踐能力,并對當(dāng)前機械和電子領(lǐng)域的研究狀況和發(fā)展方向有了一定的了解,機械設(shè)計這一領(lǐng)域這對我今后進一步學(xué)習(xí)機械方面的知識有極大的幫助。在此,我忠心感謝蔡金平老師的指導(dǎo)和支持,以及一些同學(xué)給出的寶貴意見,可以說沒有了你們的支持,這次的畢業(yè)設(shè)計不可能這么順利的完成。在未來的工作和學(xué)習(xí)中,我將以更好的成績來回報各位領(lǐng)導(dǎo)和老師,回報老師和母校的辛勤栽培,做一名優(yōu)秀的大學(xué)畢業(yè)生,奉獻社會。??
21