




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、六足爬蟲機器人設(shè)計前言 3(1) 、機器人的大腦 3(2) 、機器人的眼睛耳朵 4(3) 、機器人的腿驅(qū)動器與驅(qū)動輪 4(4) 、機器人的手臂機械傳動專制 5(5) 、機器人的心臟電池 5一、 AT89S51 單片機簡介 6(1) 、 AT89S51 主要功能列舉如下: 6(2) 、 AT89S51 各引腳功能介紹: 6二、控制系統(tǒng)電路圖 9三、微型伺服馬達原理與控制 10(1) 、微型伺服馬達內(nèi)部結(jié)構(gòu) 10(2) 、微行伺服馬達的工作原理 10(3) 、伺服馬達的控制 11(4) 、選用的伺服馬達 11四、紅外遙控 12(1) 、紅外遙控系統(tǒng) 12(2) 、遙控發(fā)射器及其編碼 12(3) 、
2、紅外接收模塊 13(4) 、紅外解碼程序設(shè)計 13五、控制程序 14六、六足爬蟲機器人結(jié)構(gòu)設(shè)計圖 21刖百今年年初,學(xué)校為參加中央電視臺舉辦的第三屆全國大學(xué)生機器人電視大賽,組建了機器人制作小組。我積極參加,有幸成為了其中的一員。因為我們以前沒有參加過類似的比賽, 也沒有制作機器人的經(jīng)驗。 可以說我們什么都是從零開始, 邊學(xué)習(xí)邊制作。 通過這半年多的制作過程, 我從中學(xué)到了很多書本上學(xué)不到的東西,也得到了很好的學(xué)習(xí)與鍛煉的機會。最初, 我們組建了機器人制作實驗室。 到五金機電市場購買了必要的工具和一些制作材料。然后開始制作實驗機器人的身體框架。實驗機器人的框架我們是使用輕型萬能角鋼制作的, 這
3、種角鋼的兩側(cè)都有間隔均勻的孔槽, 可以很方便的用螺栓進行連接。 用不同長度的角鋼組合后, 就可 以得到不同大小的立方體和長方體及多邊形。 機器人身體的框架就搭建好了。 在它的上面將裝上: 機器人的大腦可編程控制器、 機器人的眼睛耳朵傳感器、 機器人的腿驅(qū)動輪、 機器人的手臂機械傳動專制、 機器人的心臟電池之所以使用輕型萬能角鋼,主要是因為是在制作試驗機型,而輕型萬能角鋼安裝拆卸方便和便于修改長度,調(diào)整設(shè)計。實驗機器人定型后, 就照其尺寸用不銹鋼方管焊接制作機器人的身體。 再在上面進行打孔等工作, 后就可以將機器人的其它部分安裝上去。 這樣一個機器人 就制作好了。下面我介紹一下機器人的基本組成部
4、分: (一) 、機器人的大腦它可以有很多叫法,可以叫做:可編程控制器、微控制器,微處理器,處理器或者計算器等, 不過這都不要緊, 通常微處理器是指一塊芯片, 而其它的是一整套控制器, 包括微處理器和一些別的元件。 任何一個機器人大腦就必須要有這塊芯片,不然就稱不上機器人了。在選擇微控制器的時候,主要要考慮:處理器的速度,要實現(xiàn)的功能,ROMF口 RAM勺大小,I/O端口類型和數(shù)量,編程語言以及功耗等。其主要類型有:單片機、PLG工控機、PCM等。單有這些硬件是不夠的,機器人的大腦還無法運行。只有在程序的控制下,它才能按我們的要求去工作。 可以說程序就是機器人的靈魂了。 而程序是由編程 語言所編
5、寫的。編程語言是一個控制器能夠接受的語言類型, 一般有 C 語言, 匯編語言或者 basic 語言等,這些通常能被高級一點的控制器直接執(zhí)行,因為在高級控制器里面內(nèi)置了編譯器能夠直接把一些高級語言翻譯成機器碼。 微處理器將執(zhí)行這些機 器碼,并對機器人進行控制。、機器人的眼睛耳朵傳感器, 是機器人的感覺器官, 是機器人和現(xiàn)實世界之間的紐帶, 使機器人能感知周圍的環(huán)境情況。其主要有:光電傳感器、紅外傳感器、力傳感器、超聲波傳感器、位置和姿態(tài)傳感器等等。下面我將就幾種常用傳感器進行介紹:1、 光電傳感器: 光電傳感器的原理是光電效應(yīng)。 其主要用途是顏色識別 (機 器人就可以沿著地上的線條行進了)和光電
6、編碼等。2、紅外傳感器:紅外傳感器是用來測量距離和感知周圍情況的。因為發(fā)射出去的紅外信號在一定距離內(nèi)遇到物體就會反射回來。 通過發(fā)送紅外線信號, 并接收反射回來的信號, 機器人就可以感知前方或身體周圍的情況, 做出相應(yīng)的調(diào)整(如:倒退或繞行等) 。3、力傳感器:力傳感器是用來檢測碰撞或者接觸信號的,比如機械手的應(yīng)用, 當你放一個東西到機械手的時候, 機械手自動抓住它, 它就需要力傳感器檢測東西抓的緊不緊。 典型的力傳感器是微動開關(guān)和壓敏傳感器。 微動開關(guān)其實就是一個小開關(guān), 通過調(diào)節(jié)開關(guān)上的杠桿長短, 能夠調(diào)節(jié)觸動開關(guān)的力的大小。 用來做碰撞檢測這是最好不過了。 但是這種傳感器必須事先確定好力
7、的閥值, 也就是說只能實現(xiàn)硬件控制(開還控制) 。而壓敏傳感器是能根據(jù)受力大小,自動調(diào)節(jié)輸出電壓或者電流,從而可以實現(xiàn)軟件控制(閉環(huán)控制) 。4、超聲波傳感器:超聲波傳感器是從蝙蝠那里學(xué)來的,通過把發(fā)射出的信號與接收到的信號進行對比,就可以測定周圍是否有障礙物,及障礙物的距離,也屬于距離探測傳感器, 能提供交遠的探測范圍, 而且還能提供在一個范圍內(nèi)的探測而不是一條線的探測。5、位置和姿態(tài)傳感器:機器人在移動或者動作的時候必須時時刻刻知道自己的姿態(tài)動作, 否則就會產(chǎn)生控制中的一個開環(huán)問題, 沒有反饋, 無法獲知運動是否正確。 位置傳感器和姿態(tài)傳感器就是用來解決這個問題的。常用的有光電編碼器, 由
8、于機器人的執(zhí)行機構(gòu)一般是電機驅(qū)動, 通過計算電機轉(zhuǎn)的圈數(shù), 可以得出電機帶動部件的大致位置, 編碼器就是這樣一種傳感器, 它一般和電機軸或者轉(zhuǎn)動部件直接連接, 電機或者轉(zhuǎn)動部件轉(zhuǎn)了多少圈或者角度能夠通過編碼器讀出, 控制軟件再根據(jù)讀出數(shù)據(jù)進行位置估計計算。 還有一種是陀螺儀, 這是利用陀螺原理制作的傳感器, 主要可以測得移動機器人的移動加速度, 轉(zhuǎn)過的角度等信息。(3) 、機器人的腿驅(qū)動器與驅(qū)動輪驅(qū)動器就是驅(qū)動機器人的動的部件。 最常用的是電機了。 當然還有液壓, 氣動等別的驅(qū)動方式。 一個機器人最主要的控制量就是控制機器人的移動, 無論是自身的移動還是手臂等關(guān)節(jié)的移動, 所以機器人驅(qū)動器中最
9、根本和本質(zhì)的問題就是控制電機, 控制電機轉(zhuǎn)的圈數(shù), 就可以控制機器人移動的距離和方向, 機械手臂的彎曲的程度或者移動的距離等。 所以, 第一個要解決的問題就是如何讓電機能根據(jù)自己的意圖轉(zhuǎn)動。一般來說,有專門的控制卡和控制芯片來進行控制的。有了這些控制卡和芯片, 我們所要做的就是把微控制器和這些連接起來, 然后就可以用程序來控制電機了。 第二個問題是控制電機的速度, 在機器人上的實際表現(xiàn)就是機器人或者手臂的實際運動速度了, 機器人走的快慢全靠電機的轉(zhuǎn)速, 這樣, 我們就要求控制卡對電機有速度控制。 電機目前常用的有兩種, 步進電機和直流電機。下面我將就這兩種電機進行介紹:1、直流電機:這是最最普
10、通的電機了。直流電機最大的問題是你沒法精確控制電機轉(zhuǎn)的圈數(shù), 也就前面所說的位置控制。 你必須加上一個編碼盤, 來進行反饋, 來獲得實際轉(zhuǎn)的圈數(shù)。 但是直流電機的速度控制相對就比較簡單, 用一種叫pwM脈寬調(diào)速)的調(diào)速方法可以很輕松的調(diào)節(jié)電機速度?,F(xiàn)在也有很多控制芯片帶調(diào)速功能的。 選購時要考慮的參數(shù)是電機的輸出力矩, 電機的功率, 電機的最高轉(zhuǎn)速。2 、步進電機:看名字就知道了,它是一步一步前進的。也就是說,它可以一個角度一個角度旋轉(zhuǎn), 不象直流電機, 你可以很輕松的調(diào)節(jié)步進電機的轉(zhuǎn)角位置, 如果你發(fā)一個轉(zhuǎn)10 圈的指令, 步進電機就不會轉(zhuǎn) 11 圈, 但是如果是直流電機,由于慣性作用,它可
11、能轉(zhuǎn)11 圈半。步進電機的調(diào)速是通過控制電機的頻率來獲得的。一般控制信號頻率越高,電機轉(zhuǎn)的越快,頻率越低,轉(zhuǎn)的越慢。選購時要考慮的參數(shù)是電機的輸出力矩,電機的功率,每個脈沖電機的最小轉(zhuǎn)角。還有就是關(guān)于輸出的動力, 要說明一下: 一般情況下, 電機都沒法直接帶動輪子或者手臂, 因為速度過高力矩不夠大, 所以我們需要加上一個減速箱來增加電機的輸出力矩,但是代價是電機速度的減小,比如一個1: 250 的齒輪箱,會讓你電機的輸出力矩增大250 倍, 但是速度只有原來的 1/250 了。 首先計算出機器人所需要的速度與力矩大小,然后根據(jù)速度與力矩去選擇電機與減速器。(4) 、機器人的手臂機械傳動專制機械
12、傳動專制就是,由電機驅(qū)動的一些桿件和機構(gòu)(如:凸輪機構(gòu)、螺桿機構(gòu)等),用以實現(xiàn)機械手臂的上升、下降、伸縮、彎曲等動作。通常運用的機構(gòu)有四桿機構(gòu)、凸輪機構(gòu)、螺桿機構(gòu)、搖臂等。(5) 、機器人的心臟電池電池為機器人的控制系統(tǒng)與驅(qū)動系統(tǒng)提供能源供應(yīng)。 主要有: 電瓶及可充電電池、電池。前面介紹了機器人的一些基本知識, 但這是遠遠不夠的。 機器人學(xué)科, 是在多學(xué)科基礎(chǔ)上發(fā)展起來的綜合性技術(shù)。機器人技術(shù)涉及機械、電子、計算機、語言學(xué)和人工智能等許多學(xué)科?,F(xiàn)在機器人已經(jīng)應(yīng)用在人類社會生活的各個領(lǐng)域,發(fā)揮著越來越重要的影響。我利用暑假的時間設(shè)計了一個六足爬蟲機器人,用日立( HITACHI的錄像機遙控器來對
13、它進行控制。 基本原理是: 遙控器發(fā)出紅外學(xué)號, 機器人通過紅外接收器接收倒紅外信號后, 對信號進行解碼, 并以存儲的代碼進行比較, 確定指令的含義,后可以實現(xiàn)前進、后退、左轉(zhuǎn)、右轉(zhuǎn)及發(fā)聲等功能??刂葡到y(tǒng)我使用的是AT89S51單片機,編程語言使用的是匯編語言,動力系統(tǒng)使用的是微型伺服馬達,能源系統(tǒng)使用的是9V電池。下面我將就具體設(shè)計進行介紹。一i、AT89S51單片機簡介AT89S51為ATMEL所生產(chǎn)的可電氣燒錄清洗的8051相容單芯片,其內(nèi)部 程序代碼容量為4KB(一)、AT89S51主要功能列舉如下:1、為一般控制應(yīng)用的8位單芯片2、晶片內(nèi)部具時鐘振蕩器(傳統(tǒng)最高工作頻率可至12MH0
14、3、內(nèi)部程式存儲器(ROM為4KB4、內(nèi)部數(shù)據(jù)存儲器(RAM為128B5、外部程序存儲器可擴充至64KB6、外部數(shù)據(jù)存儲器可擴充至64KB7、32條雙向輸入輸出線,且每條均可以單獨做 I/O 的控制8、5個中斷向量源9、2組獨立的16位定時器10、1個全多工串行通信端口11、8751及8752單芯片具有數(shù)據(jù)保密的功能12、單芯片提供位邏輯運算指令(T2) P1Q 匚口 VCC140(T2EX)P1.1 匚239 PO.OiADOP1.2E33&P0.1 (AD1P13匚437 P0.2 (AD2)P1H匚536 P0.3 (AD3)P15E635 P0.4 (A04)P1.6 匚734
15、 P0.5 (ADS)F17匚833 PO.e (AD6)RSTC932 P0.7 CAD7)(RXDi P3.0匚1031 EAVPP_(TXD) pad 匚1130 ALB PROG(INTO) P3.2 匚1229 PSENUNT1)P43 匚1328口 P2.7 (A1£)(TO) P3.4 匚1427口 F261Al中(TDRMIZ1526 P2.SCA13)(WRj P3.6 匚162S p24 ml-RD F&7 匚1724 P2.3(A11)XTAL2C1923口 P2.2iA10iXTAL1 匚1922 P2.1 (A9)GND匚2021 P2.D(A8)(
16、二)、AT89S51各弓I腳功能介紹:AT89S51VCCAT89S51電源正端輸入,接+5V。 VSS電源地端。XTAL,單芯片系統(tǒng)時鐘的反相放大器輸入 端。XTAL2系統(tǒng)時鐘的反相放大器輸出端,一 般在設(shè)計上只要在 XTAL1和XTAL2上 接上一只石英振蕩晶體系統(tǒng)就可以動作 了,此外可以在兩引腳與地之間加入一 20PF的小電容,可以使系統(tǒng)更穩(wěn)定,避 免噪聲干擾而死機。RESETAT89S51的重置引腳,高電平動作,當要對晶片重置時, 只要對此引腳電平提升至高電平并保持兩個機器周期以上的時間,AT89S51便能完成系統(tǒng)重置的各項動作,使得內(nèi)部特殊功能寄存器之內(nèi)容 均被設(shè)成已知狀態(tài),并且至地
17、址 0000H處開始讀入程序代碼而執(zhí)行程序o EA/Vpp:"EA"為英文"External Access"的縮寫,表示存取外部程序代碼之意,低電 平動作, 也就是說當此引腳接低電平后, 系統(tǒng)會取用外部的程序代碼 (存于外部 EPROMP)來執(zhí)行程序。因此在8031及8032中,EA引腳必須接低電平,因為其 內(nèi)部無程序存儲器空間。 如果是使用 8751 內(nèi)部程序空間時, 此引腳要接成高電 平。止匕外,在將程序代碼燒錄至8751內(nèi)部EPROIW,可以利用此引腳來輸入21V 的燒錄高壓(Vpp) 。ALE/PRO:GALE 是英文 "Address
18、 Latch Enable" 的縮寫,表示地址鎖存器啟用信號。AT89S51可以利用這支引腳來觸發(fā)外部的8位鎖存器(如74LS373),將端口 0的地址總線(A0A7)鎖進鎖存器中,因為AT89S51是以多工的方式送出地址及 數(shù)據(jù)。平時在程序執(zhí)行時ALE引腳的輸出頻率約是系統(tǒng)工作頻率的1/6,因此可以用來驅(qū)動其他周邊晶片的時基輸入。此外在燒錄 8751 程序代碼時,此引腳會 被當成程序規(guī)劃的特殊功能來使用。PSEN:此為 "Program Store Enable" 的縮寫,其意為程序儲存啟用,當 8051 被設(shè)成為讀取外部程序代碼工作模式時(EA=0) ,會送出
19、此信號以便取得程序代碼,通常這支腳是接至|J EPROM6 OE腳。AT89S51可以禾I用PSENR RD弓I腳分另啟用 存在外部的RAMt EPROM使得數(shù)據(jù)存儲器與程序存儲器可以合并在一起而共用 64K 的定址范圍。PORT0(P0.0 P0.7):端口 0 是一個 8 位寬的開路汲極( Open Drain )雙向輸出入端口,共有8個位, P0.0 表示位0, P0.1 表示位 1,依此類推。其他三個I/O 端口( P1、 P2、P3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路,P0在當做I/O用時可以推動8個LS的TTL負載。如果當EA引腳為低電平時(即取用外部程序代碼或數(shù)據(jù) 存儲器)
20、,P0就以多工方式提供地址總線(A0A7)及數(shù)據(jù)總線(D0D7)。設(shè) 計者必須外加一鎖存器將端口0送出的地址栓鎖住成為 A0A7,再配合端口 2所送出的A8A15合成一完整的16位地址總線,而定址到64K的外部存儲器空 間。PORT2(P2.0 P2.7):端口 2 是具有內(nèi)部提升電路的雙向 I/O 端口,每一個引腳可以推動 4 個 LS 的 TTL 負載, 若將端口 2 的輸出設(shè)為高電平時, 此端口便能當成輸入端口來使用。P2除了當做一般I/O端口使用外,若是在 AT89S51擴充外接程序存儲器或數(shù)據(jù) 存儲器時,也提供地址總線的高字節(jié)A8A15,這個時候P2便不能當做I/O來使用了。PORT
21、1(P1.0P1.7):端口 1 也是具有內(nèi)部提升電路的雙向 I/O 端口,其輸出緩沖器可以推動4個 LS TTL 負載,同樣地若將端口 1 的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。如果是使用 8052或是 8032的話, P1.0 又當做定時器2 的外部脈沖輸入腳,而P1.1可以有T2EX功能,可以做外部中斷輸入的觸發(fā)腳位。PORT3(P3.0 P3.7):端口 3 也具有內(nèi)部提升電路的雙向 I/O 端口,其輸出緩沖器可以推動4 個TTL 負載, 同時還多工具有其他的額外特殊功能, 包括串行通信、 外部中斷控制、計時計數(shù)控制及外部數(shù)據(jù)存儲器內(nèi)容的讀取或?qū)懭肟刂频裙δ?。其引腳分配如下:P3.
22、0: RXD串行通信輸入。P3.1 : TXD串行通信輸出。P3.2: INT0,外部中斷0輸入。P3.3: INT1,外部中斷1輸入。P3.4: T0,計時計數(shù)器0輸入。P3.5: T1,計時計數(shù)器1輸入。P3.6: WR外部數(shù)據(jù)存儲器的寫入信號。P3.7: RD外部數(shù)據(jù)存儲器的讀取信號。、控制系統(tǒng)電路圖"h典好e(£-I2V) 電器780JgB由Q3亞ell£1,:叫了MA22 出151+1J12H2-'l|3+立野康氣霖1 23 .5 f781£融 1觀金POJ)P13P01Pls+PONH1利3Pl.£P0.+Pl .7P)JR
23、M 同 7JUHh 辭&EMVp面、P31KLHO5&畫迅PSJ 面T、P33Z0» %K711 KJP2.i版 P5.(P2JED- KJK.+於3K2P12出Pll繇口G-JTD IM”+0239+38537一一tJj:g科d103$C0H12算311113 口30 TTF£髓1Jli4H2£2JW15料231?22n0阿騰陽CU1T8COtlli1rI,控制系統(tǒng)電路圖三、微型伺服馬達原理與控制(一)、微型伺服馬達內(nèi)部結(jié)構(gòu)一個微型伺服馬達內(nèi)部包括了一個小型直流馬達;一組變速齒輪組;一個反 饋可調(diào)電位器;及一塊電子控制板。其中,高速轉(zhuǎn)動的直流馬達
24、提供了原始動力, 帶動變速(減速)齒輪組,使之產(chǎn)生高扭力的輸出,齒輪組的變速比愈大,伺服 馬達的輸出扭力也愈大,也就是說越能承受更大的重量,但轉(zhuǎn)動的速度也愈低。小型直流馬達變速齒輪組可調(diào)電位器電子控制板微型伺服馬達內(nèi)部結(jié)構(gòu)圖(二)、微行伺服馬達的工作原理一個微型伺服馬達是一個典型閉環(huán)反饋系統(tǒng),其原理可由下圖表示:比例電.至微行伺服馬達工作原理圖減速齒輪組由馬達驅(qū)動,其終端(輸出端)帶動一個線性的比例電位器作位 置檢測,該電位器把轉(zhuǎn)角坐標轉(zhuǎn)換為一比例電壓反饋給控制線路板,控制線路板將其與輸入的控制脈沖信號比較,產(chǎn)生糾正脈沖,并驅(qū)動馬達正向或反向地轉(zhuǎn)動, 使齒輪組的輸出位置與期望值相符,令糾正脈沖
25、趨于為 0,從而達到使伺服馬達 精確定位的目的。(三)、伺服馬達的控制標準的微型伺服馬達有三條控制線,分別為:電源、地及控制。電源線與地線用于提供內(nèi)部的直流馬達及控制線路所需的能源,電壓通常介于4尸6V之間,該電源應(yīng)盡可能與處理系統(tǒng)的電源隔離(因為伺服馬達會產(chǎn)生噪音)。甚至小伺服馬達在重負載時也會拉低放大器的電壓,所以整個系統(tǒng)的電源供應(yīng)的比例必須 合理。輸入一個周期性的正向脈沖信號,這個周期性脈沖信號的高電平時間通常在 1ms- 2ms之間,而低電平時間應(yīng)在5ms到20ms之間,并不很嚴格,下表表示出 一個典型的20ms周期性脈沖的正脈沖寬度與微型伺服馬達的輸出臂位置的關(guān)(四)、選用的伺服馬達
26、我選用的伺服馬達為TowPro的,型號為SG303其主要技術(shù)參數(shù)如下:轉(zhuǎn)速:0.23秒/ 60度。力矩:3.2kg - crnt尺寸:40.4mnm< 19.8mm< 36mm重量:37.2g o5V電源供電??刂浦芷诿}沖寬度為20ms送出不同的正脈沖寬度是,就可以得到不同的 控制效果??刂普}沖寬度如下:正脈沖寬度為0.3ms時,伺服馬達反轉(zhuǎn)。正脈沖寬度為2.5ms時,伺服馬達正轉(zhuǎn)。正脈沖寬度為1.4ms時,伺服馬達回到中點。四、紅外遙控家中許多的電器產(chǎn)品都有遙控的功能,例如電視機、錄像機、VCD空調(diào)等家電產(chǎn)品,它們都是以紅外遙控的方式進行遙控。(一) 、 紅外遙控系統(tǒng)通用紅外遙
27、控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編 / 解碼專用集成電路芯片來進行控制操作,如圖1所示。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。、 遙控發(fā)射器及其編碼遙控發(fā)射器專用芯片很多, 根據(jù)編碼格式可以分成兩大類, 這里我們以運用比較廣泛,解碼比較容易的一類來加以說明,現(xiàn)以日本NEC勺uPD6121G&成發(fā)射電路為例說明編碼原理。 當發(fā)射器按鍵按下后, 即有遙控碼發(fā)出, 所按的鍵不 同遙控編碼也不同。這種遙控碼具有以下特征:采用脈寬調(diào)制的用行碼,以脈寬為 0.565ms、間隔0.56ms、周期為1.125ms 的組合表示二進制的“ 0”
28、 ;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms 的組合表示二進制的“1”,其波形如圖2 所示。上述“0”和“1”組成的32位二進制碼經(jīng)38kHz的載頻進行二次調(diào)制以提高發(fā)射效率, 達到降低電源功耗的目的。 然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。遙控編碼是連續(xù)的 32位二進制碼組, 其中前 16 位為用戶識別碼, 能區(qū)別不同的電器設(shè)備, 防止不同機種遙控碼互相干擾。 該芯片的用戶識別碼固定為十六進制01H;后16位為8位操作碼(功能碼)及其反碼。UPD6121G:多額128種不同組合的編碼,如圖 3 所示。遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進制碼,周期約為
29、108ms 一組碼本身的持續(xù)時間隨它包含的二進制“ 0”和“1”的個數(shù)不同而不同,大約 在4563ms之間,圖4為發(fā)射波形圖。叫號的 j FL, j.戶/我” I斗力:產(chǎn)"嗎; 坤作產(chǎn)£及學(xué) I卜箱小k gk*4k 祠匹加卜永:3卜4/5廉周沖中邪帆網(wǎng)心扃"畏|口市;圉3遙控信號痛碼波然圖*竺蝴.冉、圖4遺疑伯目的陶斯恃波影(三)、紅外接收模塊1GND 2 I ;3一左圖為一常用的紅外接收模 塊。其內(nèi)部含有高頻的濾波電路, 專門用來濾除紅外線合成信號的載 波信號(38KH,并送出接收到的信 號。當紅外線合成信號進入紅外接 收模塊,在其輸出端便可以得到原 先發(fā)射器發(fā)
30、出的數(shù)字編碼,只要經(jīng) 過單片機解碼程序進行解碼,便可 以得知按下了哪一個按鍵,而做出 相應(yīng)的控制處理,完成紅外遙控的 動作。紅外接收模塊(四)、紅外解碼程序設(shè)計紅外解碼程序主要工作為等待紅外線信號出現(xiàn),并跳過引導(dǎo)信號,開始收集連續(xù)32位的表面數(shù)據(jù),存入內(nèi)存的連續(xù)空間。位信號解碼的原則是:以判斷各 個位的波寬信號來決定高低信號。位解碼原理如下:解碼為0:低電平的寬度0.56ms+高電平白寬度0.56ms。解碼為1:低電平的寬度1.68ms+高電平白寬度0.56ms。程序中必須設(shè)計一精確的0.1ms延時時間作為基礎(chǔ)時間,以計數(shù)實際的波形 寬度,若讀值為5表示波形寬度為0.5ms,若讀值為16表示波
31、形寬度為1.6ms, 以此類推。高電平的寬度1.12ms為固定,因此可以直接判斷低電平的寬度的計 數(shù)值5或時16,來確定編碼為0或是1。程序中可以減法指令SUB陳完成判斷, 指令"SUBB A, R2'中若R2為計數(shù)值,A寄存器設(shè)為8,就可如下:當“8R2'有產(chǎn)生借位,借位標志 C=1,表示編碼為1。當“8R2'無產(chǎn)生借位,借位標志 C=0,表示編碼為00將借位標志C經(jīng)過右移指令“ RRC A”轉(zhuǎn)入A寄存器中,再經(jīng)由R0寄存器 間接尋址存入內(nèi)存中。詳細解碼程序請參看“紅外遙控爬蟲機器人ASMS序”中的“紅外解碼子程 序”。五、控制程序HOMEEQU 14BAC
32、KEQU 3FOR EQU 25;;伺服馬達回到中點時間常數(shù);伺服馬達反轉(zhuǎn)時間常數(shù);伺服馬達正轉(zhuǎn)時間常數(shù);遙控器按鍵16比較碼CODE_K1 EQU 19H;機器人前進比較碼CODE_K2 EQU 18H;機器人后退比較碼CODE_K3 EQU 0AH;機器人左轉(zhuǎn)比較碼CODE_K4 EQU 09H;機器人右轉(zhuǎn)比較碼CODE_K5 EQU 0BH;機器人回到中點比較碼CODE_K6 EQU 14H ;;機器人行走啟動進比較碼IRCOM EQU 30H;紅外線信號解碼數(shù)據(jù)放置變量起始地址COM EQU 32H ;比較第3字節(jié)變量IRINEQU P3.2;紅外線IR信號輸入位引腳定義WLEDEQU
33、 P3.7;發(fā)光二極管引腳定義SPK EQU P3.4;壓電喇叭引腳定義DJZ EQU P1.0;中間伺服馬達引腳定義DJL EQU P1.1;左側(cè)伺服馬達引腳定義DJR EQU P1.2 ;右側(cè)伺服馬達引腳定義ORG 0H;程序代碼由地址0開始執(zhí)行JMP BEGIN ;進入主程序BEGIN:CLR DJZ;關(guān)閉中間伺服馬達CLR DJL;關(guān)閉左側(cè)伺服馬達CLR DJR;關(guān)閉右側(cè)伺服馬達CLR SPK;關(guān)閉壓電喇叭CALL LED_BL;發(fā)光二極管閃爍,表示程序開始執(zhí)行CALL BZ;壓電喇叭發(fā)出嘀的一聲CALL GO_HOME;全部伺服馬達回到中點CALL LED_BL;發(fā)光二極管閃爍,表示
34、機器人準備完畢CALL BZ;壓電喇叭發(fā)出嘀的一聲CALL QD;運行行走啟動子程序,擺好行走姿態(tài)SETB IRINLOOP:;紅外線信號IR輸入位設(shè)為高電平,MOV R0,#IRCOM;設(shè)置IR解碼起始地址CALL IR_IN;進行IR解碼CALL OP;進行解碼比較,并控制機器人動作JMP LOOP ;繼續(xù)循環(huán)執(zhí)行DELAY: MOV R6,#50D1:MOV R7,#99;10ms延時子程序J準備接收紅外信號;紅外遙控爬蟲機器人 ASM程序DJNZ R7,$DJNZ R6,D1 DJNZ R5,DELAYRET;;發(fā)光二極管閃爍子程序;發(fā)光二極管反向;進行100ms延時LED_BL: M
35、OV R1,#4LE1: CPL WLEDMOV R5,#10 CALL DELAYDJNZ R1,LE1 RET;BZ: MOV R6,#0B1: SETB SPKDJNZ R6,B1MOV R5,#5CALL DELAYCLR SPKRET;壓電喇叭發(fā)聲子程序;壓電喇叭得電,開始發(fā)聲;進行50ms延時 ;關(guān)閉壓電喇叭DEL:; 0.1ms 延時子程序MOV R5,#1DELAY1:MOV R6,#2E1:MOV R7,#22E2:DJNZ R7,E2DJNZ R6,E1DJNZ R5,DELAY1 RET;IR_IN:;紅外解碼子程序I1:JNB IRIN,I2;等待紅外IR 信號出現(xiàn)JM
36、P I1I2:MOV R4,#20;發(fā)現(xiàn)紅外IR 信號,延時一下I20:CALL DELDJNZ R4,I20JB IRIN,I1;確認紅外IR 信號出現(xiàn)I21:JB IRIN,I3CALL DELJMP I21;等待 IR 變?yōu)楦唠娖絀3:MOV R3,#0; 8 位數(shù)清0LL:JNB IRIN,I4 CALL DEL JMP LL;等待 IR 變?yōu)榈碗娖絀4:JB IRIN,I5CALL DELJMP I4;等待 IR 變?yōu)楦唠娖絀5:MOV R2,#0; 0.1ms 計數(shù)L1:CALL DELJB IRIN,N1;等待 IR 變?yōu)楦唠娖組OV A,#8;設(shè)置減數(shù)為 8CLR C;清除借位
37、標志CSUBB A,R2;判斷高低位MOV A,R0;取出內(nèi)存中原先數(shù)據(jù)RRC A;右移指令,將借位標志 C右移進入A寄存器中MOV R0, AINC R3CJNE R3,#8, LLMOV R3,#0INC R0CJNE R0,#34H, LLJMP OKN1: INC R2CJNE R2,#30, L1OK: RET;將數(shù)據(jù)寫入內(nèi)存中;處理完成一位,R3+1 (R3計數(shù));循環(huán)處理 8 位;R3 清 0;處理完成1個字節(jié),R0+1 (R0計數(shù));循環(huán)收集到 4 個字節(jié);至完成返回;R2+1 (R2 計數(shù)); 0.1ms 計數(shù)過長,時間到自動離開;完成返回OP:MOV A,COMCJNE A
38、,#CODE_K5, A1CALL LED_BLCALL BZCALL GO_HOMECALL LED_BLCALL BZRETA1:MOV A,COMCJNE A,#CODE_K1, A2CALL BZCALL GO_FOR執(zhí)行解碼動作子程序;對解碼進行比較,看是否是回到中點指令,否就轉(zhuǎn)至下一項比較;發(fā)光二極管閃爍;壓電喇叭發(fā)出嘀的一聲;執(zhí)行回到中點;發(fā)光二極管閃爍;壓電喇叭發(fā)出嘀的一聲;對解碼進行比較,看是否是前進指令,否就轉(zhuǎn)至下一項比較;壓電喇叭發(fā)出嘀的一聲;執(zhí)行前進RETA2:MOV A,COMCJNE A,#CODE_K2, A3CALL BZCALL GO_BACK;對解碼進行比較
39、,看是否是后退指令,否就轉(zhuǎn)至下一項比較;壓電喇叭發(fā)出嘀的一聲 ;執(zhí)行后退RETA3: ;LMOV A,COMCJNE A,#CODE_K3, A4CALL BZCALL GO_L;對解碼進行比較,看是否是左轉(zhuǎn)指令,否就轉(zhuǎn)至下一項比較 ;壓電喇叭發(fā)出嘀的一聲 ;執(zhí)行左轉(zhuǎn)RETA4: ;RMOV A,COMCJNE A,#CODE_K4, A5CALL BZCALL GO_R;對解碼進行比較,看是否是右轉(zhuǎn)指令,否就轉(zhuǎn)至下一項比較 ;壓電喇叭發(fā)出嘀的一聲 ;執(zhí)行右轉(zhuǎn)RETA5:MOV A,COMCJNE A,#CODE_K6, A6CALL LED_BLCALL BZCALL QDCALL LED_
40、BLCALL BZRETA6:RET;對解碼進行比較,看是否是行走啟動指令,否就轉(zhuǎn)至下一項 ;發(fā)光二極管閃爍 ;壓電喇叭發(fā)出嘀的一聲 ;執(zhí)行行走啟動 ;發(fā)光二極管閃爍 ;壓電喇叭發(fā)出嘀的一聲;返回;各伺服電機回中點控制子程序HOME1: SETB DJZSETB DJLSETB DJRMOV R4,#HOMEG1: CALL DELDJNZ R4,G1CLR DJZCLR DJLCLR DJRMOV R4,#(200-HOME)G2: CALL DELDJNZ R4,G2RET;GO_HOME: MOV R3,#15H1: CALL HOME1DJNZ R3,H1RET;機器人回中點子程序DJ
41、Z_FOR: SETB DJZMOV R4,#FORFZ1: CALL DELDJNZ R4,FZ1CLR DJZMOV R4,#(200-FOR)FZ2: CALL DELDJNZ R4,FZ2RET;中間電機正轉(zhuǎn)子程序DJL_FOR: SETB DJLMOV R4,#FORFL1: CALL DELDJNZ R4,FL1CLR DJLMOV R4,#(200-FOR)FL2: CALL DELDJNZ R4,FL2RET;左側(cè)電機正轉(zhuǎn)子程序DJR_FOR: SETB DJRMOV R4,#FORFR1: CALL DELDJNZ R4,FR1CLR DJRMOV R4,#(200-FOR)FR2: CALL DELDJNZ R4,FR2RET;右側(cè)電機正轉(zhuǎn)子程序DJZ_BACK: SETB DJZMOV R4,#BACKDJZBA1: CALL DELDJNZ R4,DJZBA1CLR DJZMOV R4,#(200-BACK)DJZB2: CALL DEL;中間電機反轉(zhuǎn)子程序DJNZ R4,DJZB2 RETD
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- VEGFR-IN-7-生命科學(xué)試劑-MCE
- Monopropyl-phthalate-生命科學(xué)試劑-MCE
- Chlorzolamide-CL-13580-生命科學(xué)試劑-MCE
- 2025年新型配電變壓器合作協(xié)議書
- 2025年玻璃加工機床合作協(xié)議書
- 餐具清潔安全生產(chǎn)培訓(xùn)
- 二零二五年度互聯(lián)網(wǎng)公司勞動合同違約賠償及網(wǎng)絡(luò)安全合同
- 2025年度水上運輸安全協(xié)議責(zé)任書
- 二零二五年度智能家居系統(tǒng)集成電子商務(wù)銷售合同
- 2025年度電子商務(wù)顧問合同(含網(wǎng)絡(luò)營銷)
- 經(jīng)濟法學(xué)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 浙江寧波前灣控股集團有限公司招聘筆試題庫2024
- 結(jié)構(gòu)化學(xué)(PDF電子書)
- 產(chǎn)科腹部四步觸診要點
- 第10課 人類社會及其發(fā)展規(guī)律-【中職專用】2024年中職思想政治《哲學(xué)與人生》金牌課件(高教版2023·基礎(chǔ)模塊)
- SLT 478-2021 水利數(shù)據(jù)庫表結(jié)構(gòu)及標識符編制總則
- 2024年春學(xué)期人教版小學(xué)道德與法治六年級下冊教學(xué)計劃附教學(xué)進度表
- 深度學(xué)習(xí)視角下“尺規(guī)作圖”教學(xué)策略
- 2024 年袋鼠數(shù)學(xué)競賽 等級E(中國區(qū))
- 2024年南京旅游職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫匯編
- 2024-2030中國半導(dǎo)體閥門及管接頭市場現(xiàn)狀研究分析與發(fā)展前景預(yù)測報告
評論
0/150
提交評論