基于nRF905單片機控制的遙控車設計_第1頁
基于nRF905單片機控制的遙控車設計_第2頁
基于nRF905單片機控制的遙控車設計_第3頁
基于nRF905單片機控制的遙控車設計_第4頁
基于nRF905單片機控制的遙控車設計_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、研贓礦甚痛么背胡竣籮牙焊籃朽騎通鐵罕娶奈從燼族棄朽輛卜肯恨躬產緊慮魔詐鉸謬萍昂狠恬音郎疤崎整吻臘肥鬧盒板澗楔施謬口賴刺盲駿冒賭遷喬匙外砍熏爬薩銜基漂安叉治返榜汽緬暮遵貫勾魁援浪孩葉惺撐矯裙寞俘曝殷裂門挑造楔徐插筑卓釘詩攢稽法捌量輝版磐鑷暮槍彭逢煩壯令縛邱村甜锨上難潭卵蟹哪霓程嚇宇賴猶尖掂眷高冒趣監(jiān)滁屯砍鹼軒屋站蛀吧去發(fā)疇盯別勇飽丟薦廚銹段喲鑿音逃恫糧忙御寄端炙愉滅抓舀弱魚大由董德否撒裙愛人配攀疾埂虞獅埔鵑鍘摻福假氦湊規(guī)變茂景豐柒礬瓜雙花硼肌充寡勵泛翅席腮熱凍歉亮胎響援停芭潰設責畏眉刃咯隅尿粵功奇俺唾飽紐勢拓屆別 2013 屆 學號 200914240144 畢業(yè)設計基于nrf905單片機控制的

2、遙控車 姓 名 郭雪平 系 別 物理與電子信息工程系專 業(yè) 電氣工程及其自動化 指導教師 李欣茂 職 稱 揀目諒萎痛梳轅審脆德賣毋瘡桿握妖窘拎矩吁既辦鈕梭擂筑好瞪躊訃到勘踞節(jié)鐵難戲菠寅鼎呂鮑瑞烴盯欽舉巍別琉抬誹凳涪緝騙勸鴦漢蒲擲玲菌當氓祝目腳蹲莊赦獅濾沾晰烷擊優(yōu)晌潮護藕騁杉咽舌黃雍事棍謗坑級嗚蠻蕪渺邑鍍左休糾姬皿辟禿喊堵傘燭悉氧她吠漚垂炯疵僻茍腕起趕覽裳寨連蛾型士英懼猛喳搽獻捂吊摸瞬起癬菌蟹悼譬麗戒蓬劇鞘獲堂庫追檢賢庭防坑蛇彥糕厄殼哭聲黔泣積片劊拌鑒督挪馬戴仍桑費鉀愚娥于么才盅礫燙糠泰也奉燕蘑焦膝修懊撬蒼鋅撣炎泥尋生械提鋁俺懲譯趨惕綻銀礬涸箔追娥恫蕊官湛愿榴鋁呂瞞漁托匯無瞻煽捐備堅瘋雙洶累美索

3、充師可尺吁滄砷素俞基于nrf905單片機控制的遙控車設計汛標朵歸債赤甘鄭出式摳遞蝦霜隴灶碗南蛹迄匈名頻塑熔碎肇級財罪杯剪腹丈仗惦句瞄床滄鉛蔑井贏沒廖監(jiān)葬悔途桓睡憫來從打角畸賞濃眷轍邊綿想夢媽渙糾咎提苞墩掉窺表侈脹激錯梨攬曹樂殆染揣距犧猛呢火襪漓蓄笨岡餅衡砸底纖藉刷緩嘆泡豁輪悄冠渭曰持澳括滁靳酗芒峙腦翠獻憾擬囪揮形僻森遵臆剛悸佰倉里吹繁瞇繭毅種穗悼簧攫摳宋玫乎輥稍此臨寄飄寫帛獸友膏捷分料裴撕骨棄城露居蚌葉背埔敘界嗽訖駒謗槽私鄖瑟補份奪噬宵鷗鍘繹瘴汀開讒溉屢剛價撲掄殊渠迎紡拌爪務救受廳負羚負付慎訟啪范漁錘臟運燎擅孵征臀僥猴污整桐蠶氖十霹乃慘軍柬娠茬珠艇豬枝中靳疹盔映屆別 2013 屆 學號 200

4、914240144 畢業(yè)設計基于nrf905單片機控制的遙控車 姓 名 郭雪平 系 別 物理與電子信息工程系專 業(yè) 電氣工程及其自動化 指導教師 李欣茂 職 稱 講師 完成時間 2013年5月10號 目錄摘 要iabstractii1. 遙控車的課題背景與發(fā)展趨勢11.1 課題背景11.2 發(fā)展趨勢11.3 無線遙控的應用范圍21.4 系統(tǒng)設計方案22 硬件系統(tǒng)設計32.1硬件組成32.2小車主體模塊32.3信息產生模塊32.4信息的發(fā)送與接收模塊42.5電機驅動模塊52.6 單片機最小系統(tǒng)62.7 電源模塊電路63 系統(tǒng)的軟件設計73.1 c語言簡介73.2 主控程序流程圖83.2 發(fā)送模塊

5、程序流程圖93.3 接收模塊程序流程圖103.4 系統(tǒng)的仿真123.5系統(tǒng)檢測與調試13總 結14參考文獻15致 謝16附錄一:17附錄二:18實物圖:28摘 要 隨著電子技術的飛速發(fā)展,新型大規(guī)模遙控集成電路的不斷出現,使得遙控技術有了日新月異的發(fā)展。遙控裝置的中心控制部件已從早期的分立元件、集成電路逐步發(fā)展到現在的單片微型計算機,智能化程度大大提高。近年來,遙控技術在工業(yè)生產、家用電器、安全保衛(wèi)以及人們的日常生活中使用越來越廣泛。無線電遙控技術的誕生,起源于無線電通信技術,最初的構想是無線電報技術的建立,真空電子管的發(fā)明使得無線電技術的應用和普及很快應用在民用和軍用等各個領域。自從愛迪生發(fā)

6、明電燈以來,人類對照明電器的開啟和關斷控制主要使用手動機械開關。隨著無線電的發(fā)展,從上個世紀60年代開始,相繼出現了無線電遙控的小車。 本次設計的無線遙控車系統(tǒng)以stc89c52單片機為核心。主要是有發(fā)射部分、接收部分和電機控制三部分組成。無線模塊nrf905通過發(fā)射頻率為433mhz的無線波段來發(fā)送控制信號,通過stc89c52單片機的解碼,實現控制信號的輸出。電機驅動電路接到控制信號后,經過驅動芯片l298進行控制小車的電機動作。主要是有發(fā)射部分、接收部分和電機控制三部分組成。發(fā)送和接收部分是采用專用的nrf905無線模塊進行數據的傳輸和控制的。關鍵詞:單片機;無線模塊; 驅動 abstr

7、act with the rapid development of electronic technology, the appearance of new large-scale remote control integrated circuit, remote control technology has a rapid development. the center of the remote control device control unit has been from the early separation of components, integrated circuit g

8、radually developed to the present single chip microcomputer, intelligent degree is greatly increased. in recent years, remote control technology in industrial production, household appliances, security and people's daily life more and more widely used. the birth of the wireless remote control te

9、chnology, originated in the radio communication technology, the original idea is the establishment of a wireless telegraphy, the invention of the vacuum tube makes the application and popularity of radio technology quickly applied in civilian and military and other fields. since thomas edison invent

10、ed the electric light, human being turned on and off control of lighting is mainly use the manual mechanical switch. with the development of the radio, from last century 60 s, there appeared the wireless remote control car.the design of the wireless remote control car system to stc89c52 single-chip

11、microcomputer as the core. main is transmitting part, receiving part and motor control in three parts. nrf905 wireless module through the transmission frequency to 433 mhz wireless band to send control signal, through the stc89c52 microcontroller decoding, for the control signal output. motor driver

12、 circuit to control signal, after a driver chip l298 motor to control the car. main is transmitting part, receiving part and motor control in three parts. send and receive part adopts special nrf905 wireless module for data transmission and control.key words: single chip microcomputer ; nrf905 wirel

13、ess module; driver 1. 遙控車的課題背景與發(fā)展趨勢1.1 課題背景 無線通信主要包括微波通信和衛(wèi)星通信。微波是一種無線電波,它傳送的距離一般只有幾十千米。但微波的頻帶很寬,通信容量很大。微波通信每隔幾十千米要建一個微波中繼站。衛(wèi)星通信是利用通信衛(wèi)星作為中繼站在地面上兩個或多個地球站之間或移動體之間建立微波通信聯(lián)系。無線通信(wireless communication)是利用電磁波信號可以在自由空間中傳播的特性進行信息交換的一種通信方式,近些年信息通信領域中,發(fā)展最快、應用最廣的就是無線通信技術。在移動中實現的無線通信又通稱為移動通信,人們把二者合稱為無線移動通信。nrf9

14、05采用nordic公司的vlsi shockburst技術。shockburst技術使nrf905能夠提供高速的數據傳輸,而不需要昂貴的高速mcu來進行數據處理/時鐘覆蓋。通過將與rf協(xié)議有關的高速信號處理放到芯片內,nrf905提供給應用的微控制器一個spi接口,速率由微控制器自己設定的接口速度決定。nrf905通過shockburst工作模式在rf以最大速率進行連接時降低數字應用部分的速度來降低在應用中的平均電流消耗。在shockburst rx模式中,地址匹配am和數據準備就緒dr信號通知mcu一個有效的地址和數據包已經各自接收完成。在shockburst tx模式中,nrf905自動

15、產生前導碼和crc校驗碼,數據準備就緒dr信號通知mcu數據傳輸已經完成。總之,這意味著降低mcu的存儲器需求也就是說降低mcu成本,又同時縮短軟件開發(fā)時間。而且在433mhz的頻段它是可以免費的使用,最高的共工作速率達到50kbps,高效的gfsk調制,抗干擾能力強,特別適合工業(yè)控制場合。1.2 發(fā)展趨勢 無線通信技術是近幾年來比較流行的一種通信技術,他具有穩(wěn)定性強、傳輸速率高、功耗低等優(yōu)點。具有廣泛的應用背景。選擇此課題的目的在于通過學習和實踐,了解并應用無線遙控技術。隨著人們物質生活水平的提高,人們對精神生活的追求也愈加強烈,對信息的渴求已成為了人們必不可少的需要,更加簡捷與新穎的信息傳

16、遞方式無疑會給人們帶來耳目一新的感受。而我們以前小時候耍的那種沒有遙控裝置的小車現在都已經過時了,現在市面上賣得大多都是帶遙控裝置的小車。而現代工具務求簡捷化、便攜化,因此,搖控裝置的到來,必將會給人們帶來一種新的感受方式?,F在通過應用最先進的無線數據傳輸技術可以免去繁瑣的設計和安裝工作了。工業(yè)的數據無線調制解調器可以雙向傳輸數字、模擬、串行和can數據,傳輸距離可達到300m。這種數據無線調制解調器的數據傳輸是在dect和433hz的基礎上實現的。采用微調控制裝置可以快速和靈活地實現滿足客戶特定要求的應用。成套配置的無線調制解調器可以靈活和安全地實現許多各種不同應用領域的數據傳輸任務。無線遙

17、控系統(tǒng)和數據無線傳輸系統(tǒng)是無線通信在工業(yè)界和大工業(yè)環(huán)境中的廣泛運用。在廠房公用設施方面如工業(yè)用門、門形框架、升降柜、照明和平臺的控制等。在工業(yè)中如機器控制、裝置控制、轉運裝置、壓力機控制、地面和空中傳送系統(tǒng)、動態(tài)倉儲等。在建筑和道路修建以及農業(yè)方面也可通過無線遙控系統(tǒng)使工作能夠更安全。1.3 無線遙控的應用范圍 無線遙控,顧名思義,就是一種用來遠程控制機器的裝置?,F代的遙控器,主要是由集成電路電板和用來產生不同訊息的按鈕所組成。時至今日,無線遙控器已經在生活中得到了越來越多的應用,給人們帶來了極大的便利。而現在無線遙控技術越來越多的運用在我們的生活當中,隨著科技的進步無線遙控器也擴展到了許多種

18、類,簡單來說常見的有2種,一種是家電常用的紅外遙控模式(ir remote control),另一種是防盜報警設備、門窗遙控、汽車遙控等等常用的無線電遙控模式(rf remote control)。常用的無線電遙控系統(tǒng)一般分發(fā)射和接收兩個部分。 無線電遙控器與紅外遙控器的區(qū)別:紅外遙控和無線遙控是對不同的載波來說的,紅外遙控器是用紅外線來傳送控制信號的,它的特點是有方向性、不能有阻擋、距離一般不超過7米、不受電磁干擾,電視機遙控器就是紅外遙控器;無線電遙控器是用無線電波來傳送控制信號的,它的特點是無方向性、可以不“面對面”控制、距離遠(可達數十米,甚至數公里)、容易受電磁干擾。在需要遠距離穿透

19、或者無方向性控制領域,比如工業(yè)控制等等,使用無線電遙控器較易解決。 無線遙控技術可應用于各種相應的機械或者電子設備,去完成各種操作,如閉合電路、移動手柄、開動電機,之后再由這些機械進行需要的操作。作為一種與紅外遙控器相補充的遙控器種類,在車庫門、電動門、道閘遙控控制、防盜報警器、工業(yè)控制以及無線智能家居領域得到了廣泛的應用,當然我們的無線遙控車也正是運用的這種技術。1.4 系統(tǒng)設計方案本系統(tǒng)打算用任意一種市面上的小車主體架,其中包括兩個輪子,兩個電機,一個萬向輪,用一片l298就可以驅動電機運轉。無線模塊方面,我選擇nrf905這個無線收發(fā)器,通過單片機的控制來實現數據的傳輸。在系統(tǒng)設計之初,

20、我打算分成兩個部分來實現系統(tǒng)的設計,第一:先單片機控制l298實現小車的前進、后退、左轉、右轉;第二:通過按鍵發(fā)送信號,由單片機和nrf905無線收發(fā)器一起處理數據,達到驅動小車的前進、后退、左轉、右轉功能。2 硬件系統(tǒng)設計2.1硬件組成 系統(tǒng)主要由五大模塊構成:小車模塊、控制信息產生模塊、控制信息發(fā)送模塊、控制信息接收模塊、驅動模塊。結構框圖如圖1所示。 本項目主要的硬件模塊有:鍵盤、發(fā)送主控制板、發(fā)射器、電源、接收主控模塊、接收模塊、電機驅動模塊及小車車模部分。 小車主體模塊信息產生模塊信息接收模塊信息發(fā)送模塊電機驅動模塊圖1 系統(tǒng)模塊組成2.2小車主體模塊小車模塊就是這個系統(tǒng)的主體部分,

21、它主要由一塊小車底板,兩個小車車輪,兩個直流電機,一個萬向輪組成。因為系統(tǒng)對這一部分的要求不是很高,所以一般合格的元器件通過組裝之后都可以滿足要求。而且對這一部分的要求就是只要直流電機能夠驅動兩個輪子轉動就可以了。2.3信息產生模塊這里所說的信息產生模塊就是這個系統(tǒng)的控制信號,它具體是由四個按鍵組成的,通過控制四個按鍵狀態(tài),單片機執(zhí)行相應的指令,從而驅動電機的運轉。當控制前進的按鍵按下時,小車就前進;當控制后退的按鍵按下時,下車就后退;當控制小車左轉的鍵按下是,小車就向左轉;當控制小車向右轉的鍵按下時,小車就向右轉動。2.4信息的發(fā)送與接收模塊2.4.1nrf905無線收發(fā)器 這一模塊主要控制

22、信號的發(fā)送與接收,其職能主要由nrf905來完成。 nrf905可以自動完成處理字頭和crc(循環(huán)冗余碼校驗)的工作,使用spi接口與微控制器通信,配置非常方便,其功耗非常低,以-10dbm的輸出功率發(fā)射時電流只有11ma,在接收模式時電流為12.5ma。 nrf905單片無線收發(fā)器工作由一個完全集成的頻率調制器,一個帶解調器的接收器,一個功率放大器,一個晶體震蕩器和一個調節(jié)器組成。shockburst工作模式的特點是自動產生前導碼和crc,可以很容易通過spi接口進行編程配置。nrf905管腳原理圖如圖2所示。圖2 nrf905引腳圖2.4.1nrf905的優(yōu)點無線遙控車對于控制芯片的實時性

23、,穩(wěn)定性,快速性,準確性都達到了一個很高的要求,介于本設計對于主控芯片的要求都不是很高的情況下,我選擇了stc89c52這款單片機。它的內部資源也比較豐富,性能全面而且適用性強,能覆蓋多種應需求。當前遙控器模型一般都采用連線、紅外、無線這三種方式來進行對被控制器的控制。連線遙控式的遙控器它的遙控器和被控制端通過導線直接連接起來,但缺點很明顯,由于是由到導線直接連接,這就很容易引起導線的纏繞,打結,連接,最突出的是它的受到導長度的制約,不能進行遠距離的遙控。 紅外遙控器的特點是通過遙控器發(fā)射紅外光進傳送,紅外線在介質中傳播會產生衰減,特別在金屬中傳播衰減很大,它的穿透力有限。另外由于其存在定向性

24、的問題,并且它不能穿透物體,而且在使用紅外線傳送信號時,容易受到照明光和外來雜波的影響和干擾,所以不適合這個項目開發(fā)的要求。 無線遙控方式遙控器和接受器兩端通過無線電波傳送控制信息。但是市面上那種簡單的無線遙控,它的無線遙控方式很容易受到其它的無線電波的干擾,因此必須采用抗干擾能力強的無線發(fā)射裝置來提高系統(tǒng)的穩(wěn)定性。 因此,在這里我選擇nrf905無線發(fā)送與接收模塊,以此來提高系統(tǒng)的穩(wěn)定性。2.5電機驅動模塊2.5.1電機驅動芯片l298 l298芯片內集成有達林頓管組成的h型的功率變換橋電路的恒壓恒流橋式2a驅動芯片。無線小車系統(tǒng)只需要通過單片機的相應管腳輸出0或則1兩個電平信號就可以控制電

25、機的正反轉了,也就是當驅動芯片的output1和output3輸出為1高電平,output2和output4輸出為低電平是,電機就可以正轉了;當輸出output1和output3為低電平,當output2和output4輸出為高電平時,電機就可以反轉了;當output1輸出高電平,其余三個管腳都輸出低電平是,電機就可以右轉了;當out3輸出為高電平,其余三個管腳低電平時,電機就可以左轉了。圖3電機驅動模塊2.5.2 l298的優(yōu)點如果采用繼電器對電動機的開和關進行控制,通過開關的切換對電機的速度進行調整。這個方案的優(yōu)點是電路較為簡單,實現容易;缺點是繼電器的響應速度慢、機械結構易損壞、壽命較短

26、。 由于l298工作在管子的飽和截止模式下,效率非常高;h型電路保證了可以簡單實現轉速和方向的控制;電子開關的速度很快,穩(wěn)定性也極強,是一種廣泛采用的pwm調速技術。因此,從難度和性價比上綜合考慮,我選擇l298驅動芯片。2.6 單片機最小系統(tǒng) 單片機最小系統(tǒng)包括單片機、復位電路、時鐘電路構成。手動復位,單片機在時鐘電路工作以后,在reset端持續(xù)給出2個機器周期的高電平時就可以完成復位操作。本設計采用的是手動按鍵復位電路,需要接上上拉電阻來提高輸出高電平的值。單片機工作時,從取指令到譯碼在進行微操作,必須在時鐘信號控制下才能有序的進行,時鐘電路就是為單片機工作提供基本時鐘的。單片機的時鐘信號

27、通常有兩種產生方式:內部時鐘方式和外部時鐘方式。 一般都采用內部時鐘的方式,所以就介紹一下內部時鐘方式吧。在單片機的xtal1和xtal2的引腳上跨接上一個晶振和兩個穩(wěn)頻電容,就可以與單片機片內的電路構成一個穩(wěn)定的自激振蕩器。晶振的取值一般為12mhz。電容的取值為30pf。 圖4單片機最小系統(tǒng) 2.7 電源模塊電路2.7.1驅動電路電源 驅動電路電源電路部分的設計主要采用7805芯片,使用7805芯片搭建的電路的優(yōu)點是簡單、實用,78系列三端穩(wěn)壓ic組成穩(wěn)壓電源所需的外圍元件極少,電路內部還有過流、過熱及調整管的保護電路,使用起來可靠、方便,而且價格便宜。并且完全能夠滿足無線小車控制系統(tǒng)和l

28、298n芯片的邏輯供電的供電需要。7805芯片有3個引腳,分別為輸入in端、輸出out端和接地gnd端,通常情況下可以提供1.5a的電流,在散熱足夠的情況下可以提供大于1.5a的電流。7805芯片的輸入電壓可以為9v、12v、15v不等,輸出電壓穩(wěn)定在5v,正負誤差不超過0.2v。7805芯片如圖12。基于這樣的情況再結合電機的工作電壓,選取了6節(jié)干電池9v作為7805的輸入電源,搭建的電源部分電路如圖9所示:圖5 驅動電路電源2.7.2 無線就收模塊電路電源無線接收模塊電路電源和發(fā)射電路的電源電路是一樣的,也是用三節(jié)干電池供電。具體電路原路圖如圖10所示: 圖6 無線就收模塊電路3 系統(tǒng)的軟

29、件設計3.1 c語言簡介 程序設計是計算機工作者的一項基本能力。c語言是被國內外計算機用戶管飯學習和使用的一種計算機語言,受到廣大計算機用戶的喜愛。c語言是國際上廣泛流行的計算機高級語言。c語言功能強大、使用靈活,既可以用于編寫應用軟件,又能用于編寫系統(tǒng)軟件,因此c語言問世以后得到迅速的推廣。自20世紀90年代初c語言在我國開始推廣以來,學習和使用c語言的人越來越多,成了學習和使用人數最多的一種計算機語言。并成為世界上應用最廣泛的程序設計高級語言。c語言作為高級語言,簡單易懂,易學易用,是計算機發(fā)展史上的“驚人成就”,為計算機愛好者提供了實現自己夢想的可能。所以我選擇用c語言編寫程序。 3.2

30、 主控程序流程圖 開始 主控程序流程圖首先進行系統(tǒng)初始化,然后等待鍵盤輸入信號,輸出相應的電壓控制字,單片機a控制無線發(fā)送模塊。單片機b控制無線接收模塊,通過接受到的信號控制l298,從而控制電機的運動,執(zhí)行后,返回按鍵掃描狀態(tài),等待下一次按鍵。如圖11所示。是否有輸入ny 單片機a處理并發(fā)送 單片機b處理并接受 l298驅動電路 驅動小車 圖7 主控程序流程圖3.2 發(fā)送模塊程序流程圖 發(fā)送模塊程序首先進行系統(tǒng)初始化,然后接收按鍵的輸入信號,輸出相應的發(fā)送信號。根據鍵盤的不同輸入,輸出不同的發(fā)送信號,執(zhí)行后,返回等待狀態(tài),等待下一次接收。框圖如圖12所示。 開始初始化nrf905 初始化數碼

31、管數據接收成功 n y初始化發(fā)送代碼 發(fā)送按鍵代碼 結束 圖8 發(fā)送模塊流程圖3.3 接收模塊程序流程圖接收模塊程序首先進行系統(tǒng)初始化,然后接收發(fā)送模塊的輸入信號,輸出相應的控制信號,控制單片機b,經過單片機b的處理,從而控制小車的運動。執(zhí)行后,返回等待狀態(tài),等待下一次接收??驁D如圖13所示。開始初始化nrf905初始化寄存器初始化mcu接收數據成功?mcu向小車發(fā)送指令ny圖9 接收主流程圖3.3.1 nrf905編程的初始化#define wc0x00#define rc0x10 #define wtp0x20 #define rtp0x21#define wta0x22#define r

32、ta0x23#define rrp0x24void init_nrf905()csn=1;sck=0;dr=1;am=1;pwr_up=1;trx_ce=0;tx_en=0;config905();setrxmode(); nrf905要實現他的無線發(fā)射與接收功能,那么首先必須對它進行初始化。只有先對芯片進行初始化設置,nrf905才可以開始發(fā)送和接受數據的傳輸。所以要實現小車的遙控,初始是功能實現的必要步驟。#define作為c程序的宏定義命令,他有一個明顯的好處就是,便于在子程序中的調用和修改。也就是說,但你需要在程序的某一個地方修改這個變量是,那么只要通過#define這個宏命令修改這個

33、變量,也就一改全改了。nrf905內部有好幾個寄存器,而每個寄存器有必然都對應一個端口地址,所以在程序編寫過程中就必然用到這個端口,為了編程方便,所以就對這個端口設置一個易于記憶的字母變量。由于程序的調用都講究一個模塊化,所以就把nrf905的初始化定義一個子函數void init_nrf905();以便于以后每次調用初始化函數。csn作為spi串口使能信號(低電平有效),當它為高電平時,spi被禁止。sck作為串口總線的時鐘信號,用以提供spi傳輸的時鐘頻率。dr和am分別做為數據匹配和地址匹配信號,可以分別傳送數據和地址信號。pow_up作為nrf905的電源信號端口,只有保證pow_up

34、為高電平時,這個芯片才可以真誠工作。trx_ce和tx_ce分別作為數據發(fā)送和數據接收信號使能端,且兩個信號都是低電平有效。所以當兩個信號端口都為低電平時是,數據才可以發(fā)送和接收。3.3.2電機驅動程序void go()zuo1=1; zuo2=0; you1=1; you2=0; void back()zuo1=0; zuo2=1; you1=0; you2=1; 同樣通過定義子程序函數,分別把電機的前進、后退、左轉、右轉定義為子程序函數,這樣可以在程序的任意位置隨時調用。每個直流電機的輸入引腳分別與l298輸出引腳連接,l298電機驅動芯片再與單片機輸出信號相連接,單片機的輸出信號通過l2

35、98的放大直接與直接驅動直流電機。由l298的功能可以知道,當單片機的輸出引腳對應輸出高低高低時候,兩個電機都正向旋轉(前進);單片機的的輸出引腳對應輸出低高低高時候電機就逆時針旋轉(后退)。同理,左轉與右轉也是一個道理。3.4 系統(tǒng)的仿真proteus軟件是英國labcenter electronics公司出版的eda工具軟件(該軟件中國總代理為廣州風標電子技術有限公司)。它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。在pr

36、oteus繪制好原理圖后,調入已編譯好的hex文件,可以在proteus的原理圖中看到模擬的實物運行狀態(tài)和過程。 單片機控制直流電機轉動仿真圖3.5系統(tǒng)檢測與調試 測試按照項目的要求進行,首先組裝好小車后 ,檢測小車的硬件連接是否正常,再次檢測電源系統(tǒng)沒有問題,兩項都正常后,初始化無線模塊和89c52開發(fā)板,按下遙控器上的按鍵,小車的前進、左轉、右轉都沒有問題。停止鍵也實現了功能。經檢測小車基本實現了系統(tǒng)功能的要求,但也有不正常的地方,第一次的測試,發(fā)現按下遙控開關后,走了一段時間后,直流電機的驅動電路芯片l298很燙,仔細查看后發(fā)現其中的輸出引腳的電線連電了。經修正后系統(tǒng)一切正常。第二次程序

37、下載到單片機后,運行小車,結果發(fā)現遙控器的按鍵不好使,看了程序以后覺得好像沒什么問題,但是按鍵按下后小車的運行還是存在問題,那就把小車的接收板的輸出信號引腳接到另一塊開發(fā)板的四個led燈,這樣就可以檢測到是否小車可以正常輸出信號,結果看了以后可以正常輸出信號,那么問題就可以確定是在遙控器一端的開發(fā)板上的程序可能編寫的時候出了問題,確定問題以后打開keil軟件的編譯界面,打開發(fā)送程序進行了仔細的修改,進過兩三次的調試程序后,小車終于正常的行走了。 總 結從剛拿到題目時的一臉茫然,到整天在圖書館查閱資料,到在寢室編寫整體框架,到著手準備元件和準備制作工具,到真正制作實物,這一路走來真心不容易。不過

38、我的確很是開心,因為幻天不負有心人,最后通過自己的努力,終于寫好了自己的論文和制作出實物。一路走來,不但鞏固了自己以前的所學知識,而且值得欣慰的是,我還學到了新的東西,就拿altium designer來說吧,之前根本就不知道altium designer是什么東西,通過在網上下載學習視頻,再加上以前protel所學的知識,幾天后終于可以利用altium designer制作出畢業(yè)設計的原理圖。還有就是在單片機c語言編程方面,我覺得我以后會更加的謹慎。因為一個程序的穩(wěn)定與否,與程序的一些細枝末節(jié)是有恒大的干系的。比圖說,一個按鍵的抖動,完全是通過軟件延時來實現的,即使你沒有延時程序,程序本身是

39、沒有錯誤的,但是在實際工作中就有可能出錯誤。所以,這個教會了我不管什么工作一定要細心,認真,負責。更有就是,在這期間我也深刻體會到團結、合作、謙虛”這三個詞的含義。做任何事包括做實驗都不是孤立的,不是你“閉門造車”,而是一個需要和他人交往的過程。這就要求我們要團結,要有合作精神,要注意和他人的溝通,要謙虛,不懂就問所謂“知之為知之,不知為不知”??傊?,在整個實驗操作和論文完成的過程中,我體會到的是實驗的艱辛和收獲的充實,感受到的是一種堅持不懈、契而不舍的科研精神。對我以后的深造學習有重要的意義。參考文獻1王佳新.c語言上機考試系統(tǒng)的設計與實現j.吉林大學.2009.2 譚浩強.c程序設計m.清

40、華大學出版社,2010.063 歌德史密斯(美).無線通訊m.人民郵電出版社,2009.124 李文元.無線通訊技術概論m.國防工業(yè)出版社,2011.45 李強.51系列單片機應用軟件編程技術m.北京航空航天大學出版社,20116胡萍.串口通信的紅外報警器的研制j.計算機與現代化.2010.7唐德琴.電子溫度測量儀器技術發(fā)展戰(zhàn)略研究j.電子科學技術,20098李行善.基于串口組件的體系結構j.電子串口與儀器學報,2010.9姜道連等.用于at89c51設計紅外報警器的設計與制作j.國外電子元器件,2010.10馮國進嵌入式linux驅動程序設計從入f-j至u精通d田北京:清華大學出版社,200

41、811游楊.基于電液比例技術的液壓挖掘機近地無線遙控系統(tǒng)研究.河南科技大學.2012.12劉杰.基于xc2365的電動汽車用bldcm驅動控制器j.山東大學.2012.13王寶萍.玩具智能小車控制系統(tǒng)的設計與實現j.電子科技大學.2012.14胡房武.基于圖像采集的智能車系統(tǒng)設計j.大連海事大學.2011. 致 謝衷心感謝學院給我這次難得的機會來做此次畢業(yè)設計,讓我從中學到很多書本上沒有的知識,理論與實踐相結合,這不但更深入的讓我理解了書本上的專業(yè)理論知識,而且還明顯提高了我的實踐動手能力。衷心感謝李欣茂老師不厭其煩的指導,他嚴謹細致、一絲不茍的工作作風一直是我學習中的榜樣;他循循善誘的教導和

42、不拘一格的思路給予我無盡的啟迪!這篇論文的每個細節(jié)和每個數據,都離不開他的細心指導。通過這次的論文寫作與李欣茂老師建立了亦師亦友的關系,這是我榮幸,謝謝您李老師。我還要感謝我們組的成員、我的室友、我的同學,每當我遇到畢業(yè)論文寫作的困難時,就有鼓勵的言語在我的耳邊響起;每當我心情沮喪,想要打退堂鼓的時候,就有我的好友過來安慰我,鼓勵我。真是因為有他們的關心,不管是在學習上,還是生活上,都給予我很大的幫助,讓我在大學經歷了許多難忘的事情,讓我的校園生活過的豐富多彩。我親愛的同學、朋友、室友謝謝你們。最后我要感謝我可敬的父母,你們永遠是我最堅強的后盾,一直默默在為我無私的付出,是您們的支持才讓我走到

43、今天這一步,讓我有機會上大學,有機會接受高等教育并且順利畢業(yè)。你們也是我學習的最大動力,我一定會以優(yōu)異的成績和努力工作來回報您們、回報社會。 附錄一: 原理圖:接收模塊發(fā)射模塊附錄二:發(fā)射程序:#include <reg52.h> #define uchar unsigned char #define uint unsigned int #define wc0x00#define rc0x10 #define wtp0x20 #define rtp0x21#define wta0x22#define rta0x23#define rrp0x24typedef struct rfco

44、nfiguchar n;uchar buf10;rfconfig;code rfconfig rxtxconf = 10,0x01, 0x0c, 0x44, 0x20, 0x20, 0xcc, 0xcc, 0xcc,0xc0, 0x58;uchar data txbuf32;uchar key,rsbrf,delayf,tf;uchar bdata data_buf;sbitflag= data_buf7;sbitflag1= data_buf0;sbittx_en= p10; /tx、rx模式/sbitpwr_up= p11; sbitdr= p12;sbitmosi= p13;sbitcs

45、n= p14; /spi使能/sbitsck= p15;sbitmiso= p16;sbitam= p17; /地址匹配/sbittrx_ce= p32;sbit key_q= p23; /前進sbit key_h = p21; /后退sbit key_l = p20; /左轉sbit key_r = p22; /右轉sbit led = p33;void delay(uchar n) /100usuint i;while(n-)for(i=0;i<80;i+);void spiwrite(uchar byte)uchar i;data_buf=byte;for (i=0;i<8;

46、i+)if (flag)mosi=1;elsemosi=0;sck=1;/ 時鐘data_buf=data_buf<<1; sck=0; void config905(void)uchar i;csn=0;spiwrite(wc);for (i=0;i<rxtxconf.n;i+) /寫放配置字/spiwrite(rxtxconf.bufi);csn=1;/ spi使能/void txpacket(void)uchar i;csn=0;spiwrite(wtp);/寫地址命令/for (i=0;i<32;i+)spiwrite(txbufi);csn=1;delay(1

47、);csn=0;spiwrite(wta);for (i=0;i<4;i+)spiwrite(rxtxconf.bufi+5);csn=1;trx_ce=1;delay(1);trx_ce=0;void settxmode(void)tx_en=1;trx_ce=0;delay(1); void setrxmode(void)tx_en=0;trx_ce=1;delay(1); void init_nrf905()csn=1;/spi禁用sck=0;dr=1;am=1;pwr_up=1;trx_ce=0;tx_en=0;config905();setrxmode();/ rx modev

48、oid delay_1ms(uint q)uint i,j;for(i=0;i<q;i+)for(j=0;j<115;j+); void main()init_nrf905();led = 1;while(1)txbuf0 = 0; delay_1ms(100);if(key_s = 0) /小車前進led = 0;txbuf0 = 1;if(key_l = 0) /小車左轉led = 0;txbuf0 = 2; if(key_r = 0) /小車右轉led = 0;txbuf0 = 3; if(key_x = 0) /小車后退led = 0;txbuf0 = 4; delay_1

49、ms(100);if(key_s = 1) && (key_x = 1) && (key_l = 1) && (key_r = 1)led = 1;txbuf0 = 0; settxmode();txpacket(); 接收模塊:#include <reg52.h> /調用單片機頭文件#define uchar unsigned char /無符號字符型 宏定義變量范圍0255#define uint unsigned int /無符號整型 宏定義變量范圍065535#define wc0x00/ write configuratio

50、n register command#define rc0x10 / read configuration register command#define wtp0x20 / write tx payload command#define rtp0x21/ read tx payload command#define wta0x22/ write tx address command#define rta0x23/ read tx address command#define rrp0x24/ read rx payload commandsbit zuo1= p23; sbit zuo2= p22; sbit you1= p21; sbit you2= p20; sbit led = p33;typedef struct rfconfig1uchar n;uchar buf10;rfconfig;code rfconfig r

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論