基于AT89s52微處理器的機器人車體系統(tǒng)智能小車設(shè)計畢業(yè)論文

上傳人:痛*** 文檔編號:78425027 上傳時間:2022-04-21 格式:DOC 頁數(shù):44 大小:1.55MB
收藏 版權(quán)申訴 舉報 下載
基于AT89s52微處理器的機器人車體系統(tǒng)智能小車設(shè)計畢業(yè)論文_第1頁
第1頁 / 共44頁
基于AT89s52微處理器的機器人車體系統(tǒng)智能小車設(shè)計畢業(yè)論文_第2頁
第2頁 / 共44頁
基于AT89s52微處理器的機器人車體系統(tǒng)智能小車設(shè)計畢業(yè)論文_第3頁
第3頁 / 共44頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于AT89s52微處理器的機器人車體系統(tǒng)智能小車設(shè)計畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《基于AT89s52微處理器的機器人車體系統(tǒng)智能小車設(shè)計畢業(yè)論文(44頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、基于AT89s52微處理器的機器人車體系統(tǒng) 摘 要 智能作為現(xiàn)代社會的新產(chǎn)物,是以后的發(fā)展方向它可以按照預(yù)先設(shè)定的模塊在一個特定的環(huán)境里自動的運作,無需人為管理,便可以完成預(yù)期所要達到的或更高的目標(biāo)。 本文設(shè)計是基于AT89s52微處理器的機器人車體系統(tǒng)和XL02-232AP1微功率無線透明傳輸模塊的無線通信系統(tǒng),以此實現(xiàn)小車的前進、后退、停止、及直角特別是圓弧形拐彎,本設(shè)計主要體現(xiàn)多功能小車的智能模式,設(shè)計中的理論方案、分析方法及特色與創(chuàng)新點等可以為自動運輸機器人、采礦機器人、家用自動清潔機器人,特別是智能足球機器人的設(shè)計與普及有一定的參考意義。同時小車可以作為玩具的發(fā)展方向,

2、為中國玩具市場技術(shù)含量的缺乏進行一定的彌補,實現(xiàn)經(jīng)濟收益,形成商業(yè)價值。 關(guān)鍵詞:單片機,智能小車,AT89s52,XL02-232AP1 ABSTRACT As a new product of modern society,intelligence is the trend in future development.It can work in some specific environment according to the mode which sets in advance.Dispensing with beha

3、vior adjustment management,but it can achieve the expected,even higher goal. This design is based on the robot body AT89s52 microprocessor system and XL02-232AP1 transparent micro-power wireless transmission module of the wireless communication system,to achieve the car forward, backward, stop,

4、 especially the arc-shaped bend at right angles The design mainly reflected a smart-car model,The theoretical scheme,analysis method,uniqueness and innovation etc.that pointed in this paper,I think they are will be certain reference value in design an popularity of automatic or semi-automatic robo

5、t such as automatic transportation robot,prospecting robot,cleaning household robot, especially intelligent soccer robot.This car can be used as a model of development of toy,to make up the deficiency of technical content in the Chinese toy market,to realize economic profit and to form commercia

6、l value. KEY WORDS:MCU,smart-car robot, AT89s52,XL02-232AP1 前 言 1 第1章 設(shè)計環(huán)境建設(shè) 4 1.1 硬件環(huán)境 4 1.1.1 硬件系統(tǒng)鋪設(shè) 4 1.1.2 硬件設(shè)備 4 1.2 軟件環(huán)境 5 第2章 智能小車車體 6 2.1 智能小車的硬件結(jié)構(gòu) 6 2.1.1 主控芯片的選擇 6 2.1.2 主要芯片介紹 6 2.1.3 小車控制板電路圖 11 2.1.4 小車電路板成品樣圖 11 2.2 智能小車關(guān)鍵代碼 12 2.3 智能小車程序介紹 12 2.3.1

7、上位機程序介紹 12 2.3.2 下位機程序介紹 13 第3章 無線收發(fā)模塊 20 3.1 無線模塊的選擇 20 3.1.1 XL02-232AP1的端口定義及連接示意圖 20 3.1.2 無線模塊的性能 22 3.2 配置接口通訊協(xié)議 24 3.2.1 接口 25 3.2.2 命令 25 3.3 參數(shù)范圍 26 3.4 發(fā)送串口控制命令 26 第4章 電機驅(qū)動模塊 27 4.1 電機方案的論證與比較 27 4.2 電機驅(qū)動芯片 27 第5章 經(jīng)驗總結(jié)與展望 29 5.1 設(shè)計中解決的問題 29 5.2 總結(jié)與展望 30 致 謝 31 參考文獻 32 附錄

8、一:原理圖 33 附錄二:上位機主要程序代碼: 34 第IV頁 前 言 1、課題背景及意義 機器人學(xué)是一門與機器人設(shè)計、制造和應(yīng)用相關(guān)的科學(xué)。機器人學(xué)又稱為機器人技術(shù)或機器人工程學(xué),主要研究機器人的控制與被處理物體之間的相互關(guān)系。機器人學(xué)涉及的專業(yè)領(lǐng)域很多,主要內(nèi)容有運動學(xué)和動力學(xué)、系統(tǒng)結(jié)構(gòu)、傳感技術(shù)、控制技術(shù)、行動規(guī)劃和應(yīng)用工程等。 智能車是機器人學(xué)中的一類,是具有自主性、適應(yīng)性和交互性等于一體的綜合系統(tǒng),它融合了自動控制、人工智能、機械工程、信息融合、傳感器技術(shù)、圖像處理技術(shù)以及計算機等

9、多門學(xué)科的最新研究成果,對智能車的研究不僅具有理論意義而且具有實際價值。 智能車在我們的現(xiàn)實生活中的應(yīng)用意義極大。人類的研究活動已擺脫了地球生物圈的束縛而廣泛地進入外層空間和海洋深處。對月球和太陽系其他行星的探測,對太陽系以外的宇宙進行考察,對數(shù)千米以下的海底的研究,都是目前單靠人力所不能及的。智能機器人正在代替人們完成這些任務(wù)。在戰(zhàn)場上的軍事活動中,在惡劣環(huán)境條件下的生產(chǎn)勞動中,凡不宜由人直接承擔(dān)的任務(wù),均可由智能機器人代替,如智能小車可以適應(yīng)不同環(huán)境,不受溫度、濕度等條件的影響,完成危險地段、人類無法介入等特殊情況下的任務(wù)。 本設(shè)計是智能小車的運動軌跡的研究,是智能小車研究領(lǐng)域的重要組

10、成部分,初步實現(xiàn)了多學(xué)科領(lǐng)域的綜合研究。 2、國內(nèi)外研究及現(xiàn)狀 從20世紀70年代,歐美等發(fā)達國家開始進行無人駕駛車的研究,大致可以分為三個階段:軍事用途、高速公路和城市環(huán)境。在軍事用途方面,早在80年代初期,美國國防部就資助自主陸地車輛ALV(AutonomousLandVehicle)的研究。進入21世紀,美國國防部連續(xù)舉辦大挑戰(zhàn)(Grand Challenge)比賽 活動,對促進智能車輛技術(shù)交流與創(chuàng)新起到很大激勵作用。隨著現(xiàn)實需要,智能車輛的研究逐漸轉(zhuǎn)向民用領(lǐng)域,最早實現(xiàn)在高速公路應(yīng)用領(lǐng)域。高速公路無人駕駛研究的典型代表有美國CMU大學(xué)的NavLab-5系統(tǒng),意大利帕

11、爾瑪大學(xué)的ARGO系統(tǒng)和德國聯(lián)邦國防大學(xué)的VAMP系統(tǒng)。 在城市交通方面,歐洲Yamaba公司推出了旅游接待智能車輛CyberCab 。在2005年日本愛知世博會上,豐田公司成功演示了ITMS無人駕駛公交系統(tǒng)。美國在城市環(huán)境智能車輛研發(fā)方面起步較晚,目前與歐洲和日本存在一些差距。 由于起步較晚,國內(nèi)智能車研究水平總體上與發(fā)達國家相比存在不小的距離。但經(jīng)過各高校和研究單位的不懈努力,仍取得了階段行的成果。國內(nèi)清華大學(xué)、國防科技大學(xué)、上海交通大學(xué)、西安交通大學(xué)、吉林大學(xué)、同濟大學(xué)和南京理工大學(xué)等都有過智能車的研究項目。我國的智能車發(fā)展也主要運用在軍事用途、高速公路和城市交通三個領(lǐng)域。 “八五

12、”、“九五”期間由國內(nèi)六所重點大學(xué)聯(lián)合研制成功了我國第一輛智能車ALVLAB1和第二代智能車ALVLAB2。目前,我國正在組織研究第三代的陸地自主車ALVLAB3。THMR-V(TsingHua Mobile Robot V)清華V型智能車是一個比較成功的范例。它由清華大學(xué)計算機系智能技術(shù)與系統(tǒng)國家重點實驗室在中國科學(xué)院院士張鈸主持下研制的新一代智能移動機器人,兼有面向高速公路和一般道路的功能 。 除了清華大學(xué),越來越多的研究機構(gòu)、學(xué)者也加入到這一新興學(xué)科中來。比如上海交通大學(xué)設(shè)計的自動駕駛汽車,能根據(jù)道路彎曲程度的變化,實時計算出車輛的轉(zhuǎn)向盤角度輸入,控制車輛按預(yù)設(shè)道路行駛。 3、課

13、題研究內(nèi)容 智能車的研究是紛繁復(fù)雜的,而無論是怎樣的功能,車體的運動系統(tǒng)是可少的。 本文設(shè)計方案以多功能的智能小車作為載體,以單片機AT89S52為核心,以XL02-232AP1微功率無線透明傳輸模塊為輔助系統(tǒng),由驅(qū)動執(zhí)行電路完成小車的行駛,通過計算機的控制對小車狀態(tài)作出實時反應(yīng),并輸出相應(yīng)的控制指令;能夠?qū)崿F(xiàn)小車的前進,停止,后退,三個等級的左右轉(zhuǎn)向,以及小車的弧形運動。是智能車的基礎(chǔ)研究領(lǐng)域。 第1章 設(shè)計環(huán)境建設(shè) 1.1 硬件環(huán)境 要迅速反應(yīng)、精確計算高效率的完成復(fù)雜功能,就需要一個運

14、作穩(wěn)定良好的硬件環(huán)境。而提升硬件環(huán)境質(zhì)量。 高質(zhì)量的硬件可以提供更加清晰豐富的數(shù)據(jù),收集足夠而標(biāo)準的有用信息。當(dāng)然,硬件系統(tǒng)牢固的架構(gòu)與良好的信息傳導(dǎo)性能,將會極大地提高整個系統(tǒng)的信息傳遞速率與系統(tǒng)穩(wěn)定性,也是提高系統(tǒng)有效信息傳遞效率的可靠保證。硬件系統(tǒng)鋪設(shè)過程中要預(yù)留有足夠的調(diào)試空間,要有目的有計劃的建設(shè)系統(tǒng)關(guān)鍵節(jié)點,足夠而適當(dāng)?shù)恼{(diào)試空間可以提升系統(tǒng)的各方面適應(yīng)性和可靠性。 1.1.1 硬件系統(tǒng)鋪設(shè) 計算機 無線收發(fā)模塊 智能小車 決策系統(tǒng) 串口操作指令 圖1-1 1.1.2 硬件設(shè)備 本設(shè)計中用到的硬件設(shè)備包括:可執(zhí)行串口控制指令的

15、智能小車一輛,無線收發(fā)模塊一套,USB轉(zhuǎn)串口設(shè)備一套,軟件開發(fā)包一套,電池、導(dǎo)線若干。 1.2 軟件環(huán)境 設(shè)計中用到的軟件操作系統(tǒng)是windows xp,編程中用到了vc,在模擬仿真中用到了Keil C,protel,proteus等。 第2章 智能小車車體 智能小車車體是整個設(shè)計中的核心,它是這個系統(tǒng)運作的最終執(zhí)行者。它表現(xiàn)了整個智能小車設(shè)計的系統(tǒng)執(zhí)行效率。 2.1 智能小車的硬件結(jié)構(gòu) 2.1.1 主控芯片的選擇 方案一:采用單個單片機作為主控芯片。由于

16、AT89S52具有32個I/O口,能滿足小車各部分對I/O口的需求,另外只用一個單片機可以很好的控制小車。 方案二:采用雙單片機作為主控芯片。利用兩塊AT89S52分別對小車的各部分進行檢測和控制,雖然減輕了單個單片機的負擔(dān),提高了系統(tǒng)的工作效率,但是存在很多的I/O的資源浪費,并且兩個單片機不容易控制,所以不采用該方案。使用方案一。 2.1.2 主要芯片介紹 A AT89S52芯片 圖2-1 AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。使

17、用Atmel 公司高密度非 易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式

18、下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工 作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。 P0 口:P0口是一個8位漏極開路的雙向I/O口。 P1 口:P1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。 此外,P1.0和P1.1分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和定時器/計數(shù)器2 的觸發(fā)輸入(P1.1/T2EX)。 在flash編程和校驗時,P1口接收低8位地址字節(jié)。 P2 口:P2 口是一個具

19、有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動 4 個 TTL 邏輯電平。 P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p3 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。   此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。 RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復(fù)位。 ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:

20、每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。 PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89S52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。 EA/VPP:外部訪問允許,欲使

21、CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。 XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。 B L293D芯片 圖2-2 L293D通過內(nèi)部邏輯生成使能信號。H-橋電路的輸入量可以用來設(shè)置馬達轉(zhuǎn)動方向,使

22、能信號可以用于脈寬調(diào)整(PWM)。另外,L293D將2個H-橋電路集成到1片芯片上,這就意味著用1片芯片可以同時控制2個電機。每1個電機需要3個控制信號EN1、EN2、IN1、IN2,其中EN1、EN2是使能信號,IN1、IN2為電機轉(zhuǎn)動方向控制信號,IN1、IN2分別為1,0時,電機正轉(zhuǎn),反之,電機反轉(zhuǎn)。選用一路PWM連接EN12引腳,通過調(diào)整PWM的占空比可以調(diào)整電機的轉(zhuǎn)速。選擇一路I/O口,經(jīng)反向器74HC14分別接IN1和IN2引腳,控制電機的正反轉(zhuǎn)。 L293D額定工作電流為1A,最大可達1.5A,Vss電壓最小4.5V,最大可達36V;Vs電壓最大值也是36V,但經(jīng)過實驗,Vs電

23、壓應(yīng)該比Vss電壓高,否則有時會出現(xiàn)失控現(xiàn)象。L293D內(nèi)部集成了續(xù)流二極管,因此可以直接驅(qū)動感性負載,如線圈和電機。 表2-1是其使能、輸入引腳和輸出引腳的邏輯關(guān)系: 表2-1 EN A(B) IN1(IN3) IN2(IN4) 電機運行情況 H H L 正轉(zhuǎn) H L H 反轉(zhuǎn) H 同IN2(IN4) 同IN1(IN3) 快速停止 L X X 停止 C MAX232芯片    MAX232芯片(如圖2-3)是美信公司專門為電腦的RS-232標(biāo)準串口設(shè)計的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。    圖2-3 引

24、腳介紹: 第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入

25、轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。 第三部分是供電。15腳GND、16腳VCC(+5v)。 主要特點:   (1)符合所有的RS-232C技術(shù)標(biāo)準   (2)只需要單一 +5V電源供電   (3)片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓V+、V-   (4)功耗低,典型供電電流5mA   (5)內(nèi)部集成2個RS-232C驅(qū)動器 (6)內(nèi)部集成兩個RS-232C接收器 2.1.3 小車控制板電路圖 涉及到的主要配件有:300rad/min直流電機,ATmega8515L芯片,MAX232芯片,濾波器,電

26、容,電阻,二級管,串口接口,開關(guān)等,智能小車的原理圖詳見附錄1。 2.1.4 小車電路板成品樣圖 圖2-4 智能小車車體及無線接收模塊 圖2-5 無線發(fā)射模塊 圖2-6 USB轉(zhuǎn)串口模塊 2.2 智能小車關(guān)鍵代碼(見附錄2) 本程序在Icc AVR仿真調(diào)試IDE中由C語言編寫后生成 .Hex文件,再由雙龍MCU下載程序SLISP下載到小車單片機上。它的功能為接受串口傳入的16位控制命令01、02、03、04、05,并根據(jù)接收到的16位控制命令實現(xiàn)小車的前進、后退、左轉(zhuǎn)、右轉(zhuǎn)及

27、停止功能。此程序不具有應(yīng)答反饋和路徑判斷功能,屬于完全被動的執(zhí)行上位機命令的客戶端程序。 2.3 智能小車程序介紹 本設(shè)計程序分為上位機和下位機,上位機主要通過MFC控制窗口對小車發(fā)送運動指令,上位機通過MFC讀取指令,由計算機的串口發(fā)送給XL02-232AP1無線發(fā)送模塊。無線接收模塊接收命令后進行分析解碼,傳送給單片機AT89S52,單片機讀取指令,發(fā)送控制命令給電動機驅(qū)動芯片L293D,驅(qū)動電機運轉(zhuǎn),從而實現(xiàn)智能小車的運動。 2.3.1 上位機程序介紹 上位機是用MFC寫成的應(yīng)用程序,主要目的為通過COM口向串口發(fā)送數(shù)據(jù)到無線發(fā)送模塊,經(jīng)接收模塊接收

28、后控制小車的運行軌跡。 例如:小車的左直角拐彎的控制代碼如下 void CRobot2Dlg::OnButton7() { // TODO: Add your control notification handler code here CSerial ser; char buf[1]; buf[0]=Rob_left_one; ser.Open(com,9600); ser.SendData(buf,com); ser.Close(); } 通過運行程序,點擊此按鈕可以實現(xiàn)小車的左轉(zhuǎn)彎的運動。 2.3.2 下位機程序介紹 A 主要功能及

29、實現(xiàn) 本設(shè)計主要實現(xiàn)了只能小車在運動過程中的直行,后退,停止及轉(zhuǎn)彎,下面詳細介紹各功能的實現(xiàn)情況。 sbit input1=P1^3; sbit input2=P1^2; sbit input4=P1^0; sbit input3=P1^1; sbit en=P3^6; 分別定義input1,input2,input4,input3為P1口的第3,2,0,1位,以便進行位操作,定義en為p3口的第六位。 首先進行單片機的初始化。 TMOD=0x22; TH0=0x38; TL0=0x38; TH1=0xfd; TL1=0xfd;

30、 TR0=1; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1; ET0=1; 對定時器方式選擇寄存器TMOD的操作,確定是按定時器的工作模式,TH0和TL0分別是定時器0的高低8位,賦初值為0x38,TH1和TL1分別是定時器1的高低八位,賦初值為0xfd。TR0=1,TR1=1表示分別啟動T0和T1計數(shù)器REN為接收控制位,REN=1表示允許接收。SM0=0,SM1=1表示單片機的串行口的通信方式是10位異步收發(fā)方式,所用的波特頻率則由定時器控制完成。在中斷初始化方面,EA=1表示開單片機所有中斷,ES=1開串行口中斷,ET0=1

31、開TO中斷,初始化完畢,進入主程序循環(huán)。 主程序中,建立void carmov(uchar left,uchar right)函數(shù),方便主程序循環(huán)語句while()的調(diào)用。 利用switch語句的判斷,例如小車的右轉(zhuǎn): case 0x06: carmov(UF,US); break;//小車原地 case 0x07: carmov(UF,UL); break;//小車右轉(zhuǎn)弧形拐彎1級 case 0x08: carmov(UF,UM); break;//小車右轉(zhuǎn)弧形拐彎2級 單片機對接收到的指令通過上述語句進行判斷,若收到的為0x08,則執(zhí)行第三條語句,調(diào)用car

32、mov函數(shù),函數(shù)的兩個初始值分別為UF和UM,在程序中已定義#define UF 1,#define UM 2,運行carmov函數(shù),首先進行左輪運動情況的判斷,在此例中,我們選擇左輪的初值為UF。 if(left==UF) { input1=1; input2=0; } input1和input2分別賦值為1和0,表示小車左輪全速前進。 繼續(xù)運行程序進行小車的右輪運動情況的判斷,此例中,我們選擇右輪的初值為UM。 else if(right==UM) { if(num<60) { input4=1; inp

33、ut3=0; } else { input4=1; input3=1; } } 首先判斷num是否小于60,若小于,則將input4和input3分別賦值為1及0,既右輪前進,否則將二者賦值為1和1,右輪停止。 通過左右輪的單獨控制,完成小車的向右2級弧形拐彎。在本程序設(shè)計中,巧用定時器中斷模擬產(chǎn)生了PWM信號,以實現(xiàn)控制舵機。 void tim0() interrupt 1 { num++; if(num>=90) num=0; } 簡單介紹單片機模擬產(chǎn)生PWM信號。單片機系統(tǒng)實現(xiàn)對電機的控制,必須

34、首先完成兩個任務(wù):首先是產(chǎn)生基本的PWM周期信號;其次是脈寬的調(diào)整,即單片機模擬PWM信號的輸出,并且調(diào)整占空比。 在此,我們設(shè)計num初值為0,num自加,如果num>=90時,則將num變?yōu)?繼續(xù)中斷程序運行,在此我們用定時器中斷模擬出PWM波,將其分成90等份,在小車轉(zhuǎn)動過程中,可以限制num值的大小而調(diào)整PWM波中高電平的占空比,從而實現(xiàn)小車電機在一個PWM周期波中的轉(zhuǎn)數(shù)控制,達到小車拐彎角度的控制。 具體的設(shè)計過程:例如想讓小車轉(zhuǎn)向左極限的角度,它的正脈沖為2ms,則負脈沖為脈沖周期20ms-2ms=18ms,所以開始時在控制口發(fā)送高電平,然后設(shè)置定時器在2ms后發(fā)生中斷,中斷發(fā)

35、生后,在中斷程序里將控制口改為低電平,并將中斷時間改為18ms,再過18ms進入下一次定時中斷,再將控制口改為高電平,并將定時器初值改為2ms,等待下次中斷到來,如此往復(fù)實現(xiàn)PWM信號輸出到電機。用修改定時器中斷初值的方法巧妙形成了脈沖信號,調(diào)整時間段的寬度便可使小車運動。 為保證軟件在定時中斷里采集其他信號,并且使發(fā)生PWM信號的程序不影響中斷程序的運行(如果這些程序所占用時間過長,有可能會發(fā)生中斷程序還未結(jié)束,下次中斷又到來的后果),所以需要將采集信號的函數(shù)放在長定時中斷過程中執(zhí)行,也就是說每經(jīng)過兩次中斷執(zhí)行一次這些程序,執(zhí)行的周期還是20ms。

36、 B 程序流程圖 開始 中斷返回 定時器初始化開定時器中斷 改變定時時間輸出管腳取反 運行其他中斷程序 有中斷 是否為長中斷 圖2-7 產(chǎn)生PWM信號流程圖 開始 接收中斷標(biāo)志位RI清零 讀取數(shù)據(jù) 結(jié)束 圖2-8 串口中斷程序流程圖 開始 結(jié)束 num++ num>=90? num=0 是 否 圖2-9 定時器中斷流程圖 開始 初始化 前進 原地左轉(zhuǎn) 向左弧形轉(zhuǎn)彎 向右弧形轉(zhuǎn)彎 原地右轉(zhuǎn) 后退 停止

37、圖2-10 主程序流程圖 第3章 無線收發(fā)模塊 在小車系統(tǒng)中,控制系統(tǒng)的基本任務(wù)是:接收系統(tǒng)通過無線通信發(fā)射裝置傳來的運動控制指令,然后根據(jù)接收到的運動指令控制小車左、右輪的停止或轉(zhuǎn)動以實現(xiàn)規(guī)劃的運動。機器人能否正確接收運動控制指令,決定于無線通信系統(tǒng)的性能。所以通信速率高、集成度好、可靠性高、抗干擾能力強的無線通信系統(tǒng)對于正確實現(xiàn)小車的運動規(guī)劃具有重要的意義。 3.1 無線模塊的選擇 本設(shè)計中采用一款低功耗超高頻的XL02-232AP1數(shù)據(jù)收發(fā)模塊,它具有通信速率高、性能可靠、體積小的優(yōu)點,只接少許外圍電路即可工作,使用非常方便,既

38、可發(fā)送又可接收。 其特點主要有: ★300米傳輸距離 ★工作頻率在428.8-435.1MHz,(默認433.92MHZ) ★可設(shè)置ID:范圍0-65535,默認ID:12345 ★串口速率1.2K---38.4KBPS.(默認9.6KBPS) ★數(shù)據(jù)格式8N1 ★方便快捷的參數(shù)設(shè)置 3.1.1 XL02-232AP1的端口定義及連接示意圖 A 端口定義: 表3-1 管腳 定義 說明 電平 備注 1 VCC 電源 +5v 模塊的第一方形焊盤 2 GND 地 GND 3 TXD 模塊數(shù)據(jù)輸出 TTL

39、 4 RXD 模塊數(shù)據(jù)輸入 TTL 5 SET 設(shè)置時拉低,平時懸空 進入設(shè)置模塊時,請先將此端口拉低,再給模塊上電,此時綠燈長亮 6 GND 地 GND 7 NC 不連接 B 連接示意圖 圖3-1 圖3-2 3.1.2 無線模塊的性能 A 通信方式 在智能小車運動過程中,機器人的無線通信協(xié)議采用廣播式通信方式。上位機通過無線通信設(shè)備,發(fā)出數(shù)據(jù),小車從數(shù)據(jù)串中確定出發(fā)給自己的命令 B 程序 小車無線接收程序是串行通信中斷服務(wù)程序,其流程框圖見圖3-3“串行通信中斷程序流程”。

40、 開始 同步標(biāo)志1? 幀頭1-55H? 同步標(biāo)志2? 同步標(biāo)志3? 幀頭3-55H? 幀頭2-FAH? 置同步標(biāo)志-1 置同步標(biāo)志-3 置同步標(biāo)志-0 置同步標(biāo)志-2 置同步標(biāo)志-0 開始接收數(shù)據(jù),送到暫存區(qū),數(shù)據(jù)和CRC校驗 最后字節(jié)-CRC? 最后一個字節(jié)? 置同步標(biāo)志-0 置新接收成功標(biāo)志-1 置同步標(biāo)志-0 恢復(fù)現(xiàn)場返回 N N N Y Y Y N N N N N Y Y Y Y Y 圖3-3 串行口通信中斷程序流程 由流程圖3-3可知,必須通過啟始同步碼3道關(guān)驗證,才能開始接收數(shù)據(jù)。一

41、幀數(shù)據(jù)接收完后,字節(jié)還要進行CRC(循環(huán)冗余校驗)。CRC校驗字節(jié)是每個數(shù)據(jù)字節(jié)相互異或后的結(jié)果。接收到的數(shù)據(jù)校驗正確則接收,否則放棄這幀數(shù)據(jù)。 C 干擾與噪聲 造成無線通信系統(tǒng)可靠性不高的原因很多,主要原因是存在著各種噪聲和干擾。它們的來源不同,有電臺干擾、通信信號干擾及驅(qū)動左右輪的直流電機產(chǎn)生的干擾,以及系統(tǒng)設(shè)備本身所產(chǎn)生的各種噪聲等。 為了抑制系統(tǒng)干擾及噪聲,應(yīng)盡可能提高無線模塊的工作電壓和發(fā)射功率。發(fā)射器是通過通信線纜與上位機相連的,發(fā)射器輸入端加上光電隔離電路,以排除上位機的干擾。使用的發(fā)射和接收天線的長度保持一致,且均垂直于水平面向上。通信中出現(xiàn)失誤的情況是難以避免的,因

42、此在通信協(xié)議中加入起始幀頭和校驗碼,通過抗干擾方法設(shè)計接收軟件程序,提高數(shù)據(jù)接收的準確性。 3.2 配置接口通訊協(xié)議 圖3-4 操作步驟:按圖3-4中標(biāo)識,把無線模塊插入轉(zhuǎn)接板相對位置。將無線發(fā)射模塊接到計算機串口上面,并將無線接收模塊接到小車串口上。首次使用無線收發(fā)模塊要進行調(diào)試:將電源開關(guān)置于ON,電源指示燈紅燈亮,再將設(shè)置開關(guān)置于ON,設(shè)置狀態(tài)燈綠燈亮。此時,可以用相關(guān)軟件調(diào)試無線收發(fā)模塊通信協(xié)議。本設(shè)計中,采用RF-Magic調(diào)試無線模塊。在正常通訊情況下,設(shè)置開關(guān)置于OFF。 3.2.1 接口 通訊接口: RS232 – TTL 通訊速率: 960

43、0bps 通訊格式: 1 start bit , 8 data bits , no parity bit , 1 stop bit 注意:在配置模式下串口恒為以上格式。 配置使能:config pin 低電平進入配置模式 config pin 高電平進入正常模式 頻率計算:x = 設(shè)置RF頻率參數(shù) TX = 6.4Mhz * (67 + x/65535) 例如:頻率高字節(jié) = 0xcc; 頻率低字節(jié) = 0xcc; 則 x = 0xcccc TX = 6.4Mhz * (67 +

44、0xcccc/0xffff) = 6.4Mhz * (67 +0.8) = 433.92Mhz 例如:頻率高字節(jié) = 0xaa; 頻率低字節(jié) = 0x00; 則 x = 0xaa00 TX = 6.4Mhz * (67 + 0xaa00/0xffff) = 6.4Mhz * (67 +0.664) = 433.05Mhz 3.2.2 命令 (1)寫命令:0xF8 (2)數(shù)據(jù)格式: ① 主機發(fā)送: 0xF8+串口速率+RF發(fā)射功率+ RF頻率高字節(jié)+RF頻率低字節(jié)+ ID高字節(jié)+ID低字節(jié)+和校驗字節(jié)

45、 注:和校驗字節(jié) = 所有參數(shù)累加和的低字節(jié)(不包括命令字節(jié)) ② 模塊應(yīng)答:配置成功應(yīng)答0xAA,否則無應(yīng)答 3.3 參數(shù)范圍 表3-2 功率 01-04 ;0dbm,5dbm,10dbm,15dbm RS232速率 01-06;1.2kbps,2.4kbps,4.8kbps,9.6kbps,19.2kbps,38.4kbps 頻率 428.8MHZ – 435.1MHZ; 0x0000 – 0xfbff ID 0x0000 – 0xffff 3.4 發(fā)送串口控制命令 無線模塊接口為串口,采用9600波特率通信,串口控制程序?qū)崿F(xiàn)串口的開啟,發(fā)送命令,接收

46、回饋信息,關(guān)閉串口等復(fù)雜過程,確保無線通信的穩(wěn)定性和可靠性。 第4章 電機驅(qū)動模塊 本次設(shè)計中采用了L293D驅(qū)動兩臺獨立直流電機分別控制小車的左后輪和右后輪,向小車發(fā)送左轉(zhuǎn)或右轉(zhuǎn)指令時,可以分別控制兩輪的轉(zhuǎn)速,使程序簡潔,方便。前輪則用一個可自由旋轉(zhuǎn)360度的小輪代替,無論是停止還是轉(zhuǎn)向,前輪都可以隨之改變,方便操作,簡化了程序的復(fù)雜性。 電機驅(qū)動芯片方面,采用的是L293D驅(qū)動直流電機轉(zhuǎn)動,既方便簡潔,又實惠耐用。 4.1 電機方案的論證與比較 方案一:采用步進電機,精確度較高,一般步進電機的精度為步進的3%-5%,且不積累,缺點

47、是體積較大,速度較慢,且價格較高。 方案二:采用直流電機,直流電機運轉(zhuǎn)平穩(wěn),可以保證小車運行的精度,雖然其控制的精確度沒有直流電機的高,但完全可以滿足本設(shè)計中的要求,而且價格也比較合理。 4.2 電機驅(qū)動芯片 L293D采用16引腳DIP封裝,其內(nèi)部集成了雙極型H-橋電路,所有的開量都做成n型。這種雙極型脈沖調(diào)寬方式具有很多優(yōu)點,如電流連續(xù);電機可四角限運行;電機停止時有微振電流,起到“動力潤滑”作用,消除正反向時的靜摩擦死區(qū):低速平穩(wěn)性好等。 L293D芯片的詳細介紹請參照論文中的2.1.1-b 圖4-1 第5章 經(jīng)驗

48、總結(jié)與展望 5.1 設(shè)計中解決的問題 首先遇到的問題是小車CPU芯片的選擇,在權(quán)衡各種問題及考慮到自己掌握的知識等問題后,選擇使用了AT89S52。首先,這個芯片與89C51類似,而89C51使我們已經(jīng)學(xué)過的單片機,其次,AT89S52的功能及引腳完全可以滿足此次設(shè)計的需要。 在進行上位機與下位機傳輸?shù)膯栴}上,經(jīng)過上網(wǎng)搜索與老師的答疑,選擇了一款低功耗超高頻的XL02-232AP1數(shù)據(jù)收發(fā)模塊,它可以解決在無線模塊中干擾最大的噪聲問題,既方便又實惠。在電機驅(qū)動模塊上,選擇了兩個直流電機分別單獨控制小車的左右輪,解決了在轉(zhuǎn)彎時單片機程序控制同時控制小車左右輪不同轉(zhuǎn)速的問題。

49、設(shè)計小車弧形拐彎時遇到的最大問題是怎樣實現(xiàn)小車兩輪的不同轉(zhuǎn)速,在咨詢老師和查閱相關(guān)書籍后得知,可以用單片機模擬實現(xiàn)PWM波,PWM波可控制電機的運轉(zhuǎn)。我們可以巧妙的利用定時器的中斷來實現(xiàn)單片機模擬PWM波的產(chǎn)生,利用變量num的大小調(diào)整可以調(diào)整一個波形周期內(nèi)高電平所占的占空比,從而實現(xiàn)車輪在一個周期內(nèi)的轉(zhuǎn)數(shù),從宏觀上即可實現(xiàn)小車的弧形拐彎。 上位機的程序也是比較苦難的,由于平時很少接觸MFC窗口的編程,開始編寫上位機程序時遇到了不小的阻力,但是指導(dǎo)老師適時的給我們輔導(dǎo)了這方面的知識,使我在編程中解決了不小的困難。 電源選擇方面,無線驅(qū)動用的電池必須滿足6V以上方可實現(xiàn)其正常運行。由于用到的

50、電機耗電量比較大,六節(jié)干電池只用了十幾分鐘就耗完了,剛開始不知道,以為是編程出現(xiàn)了問題,不能滿足程序的長時間運行,在考慮并調(diào)試之后,終于發(fā)現(xiàn)了這一個問題,問題得到圓滿的解決。 5.2 總結(jié)與展望 智能小車的設(shè)計一直是我所想做的,它不但滿足了我的興趣愛好,而且還能將大學(xué)四年中的知識很好的應(yīng)用到設(shè)計中。 此次設(shè)計主要是嵌入式方面的內(nèi)容,用到的軟件知識有MFC,VC等,在模擬實現(xiàn)過程中也用到了protel和protus等,硬件方面用到了了單片機的相關(guān)知識。設(shè)計中很好的將這些知識聯(lián)系統(tǒng)一起來,做到融會貫通。最重要的是在此次設(shè)計中,解決了很多平時理論學(xué)習(xí)匯總很少遇到的實

51、際問題,例如小車電源的選擇過程中,費了很大的周折,最讓我記憶深刻的是小車電機電池的問題。還有就是USB轉(zhuǎn)串口的問題,雖然最后未能圓滿解決此問題,但是解決問題的過程中還是收獲不少。 隨著科技的迅猛發(fā)展,智能已經(jīng)成為了現(xiàn)在的高科技的熱詞,智能機器人可以解決無數(shù)人類無法或者是很難解決的難題。智能是大勢所趨,而智能車作為智能機器人中一類必不可少的組成部分,最近幾年發(fā)展更是迅速,各個國家更是投入大量資金。它廣泛涉及人工智能、計算機視覺、自動控制、精密儀器、傳感和信息等一系列學(xué)科的創(chuàng)新研究,其研究成果可廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、醫(yī)藥、軍事、航空、信息技術(shù)等實際領(lǐng)域,集中反映出一個國家的高科技水平和綜合國力,

52、是國家綜合國力強大的標(biāo)志,也是人類文明進步的標(biāo)志。 參考文獻 [1]船倉一郎,土屋堯,崛桂太郎(日).機器人控制電子學(xué).北京:科技出版社.2004.11~12 [2]陳繼榮.智能電子制作創(chuàng)新制作-機器人制作入門.北京:科學(xué)出版社.2007.66~71 [3]Rowel O.Atienza,Marcelo H.Ang Jr. A Flexible Control Architecture for Mobile Robots:An Application for a Walking Robot.Journal of Intelligent a

53、nd Robotic Systems,Springer Netherlands.2001.29~48 [4]V.E.Pavlovsky,S.A.Polivtseev,T.S.Khashan.Intelligent Technical Audition and Vision Sensors for Walking Robot Realizing Telepresence Functions.Climbing and Walking Robots,2006,Vol.10:387~397 [5]江晉劍,錢萌.一種基于AT89S52的簡易智能小車設(shè)計:科技論文.成都:電子科技大學(xué)高能所,2007.

54、97~100 [6]胡漢才.單片機原理及接口技術(shù)(第二版).北京:清華大學(xué)出版社,2004.61~65.206~207.337~338 [7]肖偉,武強,閆秀桃,劉根.L293D在護士移動機器人主控電路板設(shè)計中的應(yīng)用.國外電子元器件,2007,Vol.11:64~66 [8]趙負圖.光電檢測控制電路手冊.北京:化學(xué)工業(yè)出版社.2001.34~39 [9]趙負圖.無線電接收發(fā)射應(yīng)用集成電路手冊.北京:化學(xué)工業(yè)出版社.2003.45~54 [10]何立民. MCS-51系列單片機應(yīng)用系統(tǒng)設(shè)計系統(tǒng)配置與接口技術(shù).北京:北京航空航天大學(xué)出版社,2001.81~90 附

55、錄一:原理圖 附錄二:上位機主要程序代碼: void CRobot2Dlg::OnUp() { //實現(xiàn)小車的向前移動 CSerial ser; char buf[1]; buf[0]=Roa_forward; ser.Open(com,9600); ser.SendData(buf,com); ser.Close(); } void CRobot2Dlg::OnLeft() { //實現(xiàn)小車的向左直角拐彎 CSerial ser; char buf[1]; buf[0]=Roa_left_one; ser.Open(co

56、m,9600); ser.SendData(buf,com); ser.Close(); } void CRobot2Dlg::OnDown() { // 實現(xiàn)小車的向后移動 CSerial ser; char buf[1]; buf[0]=Roa_back; ser.Open(com,9600); ser.SendData(buf,com); ser.Close(); } void CRobot2Dlg::OnStoper() { // 小車停止 CSerial ser; char buf[1]; buf[0]=

57、Roa_stop; ser.Open(com,9600); ser.SendData(buf,com); ser.Close(); } void CRobot2Dlg::OnRignt() { // 小車向右弧形拐彎2級 CSerial ser; char buf[1]; buf[0]=Roa_right_three; ser.Open(com,9600); ser.SendData(buf,com); ser.Close(); } void CRobot2Dlg::OnButton7() { //小車

58、向左直角拐彎 char buf[1]; buf[0]=Rob_left_one; ser.Open(com,9600); ser.SendData(buf,com); ser.Close(); } void CRobot2Dlg::OnButton6() { // 小車向左弧形拐彎2級 CSerial ser; char buf[1]; buf[0]=Rob_left_three; ser.Open(com,9600); ser.SendData(buf,com); ser.Close(); } 下位機主要程序代碼:

59、 #include #define uchar unsigned char #define UF 1 #define UM 2 #define UL 3 #define BL 4 #define ST 5 #define BF 6 #define US 7 #define BM 8 #define BS 9 sbit input1=P3^4; sbit input2=P2^0; sbit input4=P3^6; sbit input3=P2^1; sbit enlef=P3^5; sbit

60、 enrig=P3^7; uchar rec,nub; void init() { //初始化操作 nub=0; rec=0; enlef=0; enrig=0; TMOD=0x22; TH0=0x38; TL0=0x38; TH1=0xfd; TL1=0xfd; TR0=1; TR1=1; REN=1; SM0=0; SM1=1; EA=1; ES=1; ET0=1; } void carleft(uchar k_lef,uchar cnt_lef) { if(k_lef==1) { in

61、put1=1; input2=0; } else if(k_lef==2) { input1=0; input2=1; } if(nub

62、 if(nub

63、); break; default: break; } //右輪運動判斷 switch(right) { case UF: carright(1,90); break; case UM: carright(1,60); break; case UL: carright(1,30); break; case US: carright(1,18); break; case ST: carright(0,0); break; default: break; } } void main() { init();

64、 while(1) { switch(rec) { case 0x11: carmov(BF,BF); break;//小車后退 case 0x12: carmov(UF,UF); break;//小車前進 case 0x13: carmov(US,UF); break;//小車直角左轉(zhuǎn) case 0x14: carmov(UL,UF); break;//小車弧形左轉(zhuǎn)1級 case 0x15: carmov(UM,UF); break;//小車弧形左轉(zhuǎn)2級 case 0x16: carmov(UF,US); brea

65、k;//小車直角右轉(zhuǎn) case 0x17: carmov(UF,UL); break;//小車弧形右轉(zhuǎn)1級 case 0x18: carmov(UF,UM); break;//小車弧形右轉(zhuǎn)2級 case 0x19: carmov(ST,ST); break;//小車停止 default: break; } } } void ser() interrupt 4 { RI=0; rec=SBUF; } void time0() interrupt 1 { nub++; if(nub>=90) nub=0; } 第40頁

展開閱讀全文
溫馨提示:
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)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!