2023年智能機器人跨專業(yè)公選實驗_第1頁
2023年智能機器人跨專業(yè)公選實驗_第2頁
2023年智能機器人跨專業(yè)公選實驗_第3頁
2023年智能機器人跨專業(yè)公選實驗_第4頁
2023年智能機器人跨專業(yè)公選實驗_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

智能機器人跨專業(yè)公選實驗

實驗指導書

范守文吳獻鋼袁太文陳暢

電子科技大學機械電子工程學院

2005年9月

機器人自己做,也許你從小有這樣的一

個夢,在這里,我們讓你夢想成真!

第一篇機器人控制電路基礎

一、復位電路

VCC

任何單片機在工作之前都要有個復位

的過程,復位是什么意思呢?它就象是我P1.0

1

P1.1

2

們上課之前打的預備鈴。預備鈴一響,大PL2

3

PL3

家就自動地從操場、其它地方進入教室了,4

PL7

5

在這一段時間里,是沒有老師干預的,對■C2PL5

6

22uFPL6I

單片機來說,是程序還沒有開始執(zhí)行,是7

Pl.7S

8

在做準備工作。顯然,準備工作不需要太O

96

22010

長的時間,復位只需要5ms的時間就可以TxD

118

RIINTO

了。如何進行復位呢?只要在單片機的12K

IkINTT

RST引腳上加上高電平,就可以了,按上13

14

面所說,時間不少于5ms。為了達到這個15

WR

要求,可以用很多種方法,這里提供一種16

17

XTAL7

供參考,見圖1。18

這種復位電路的工作原理是:通電時,圖1復位電路

電容兩端相當于是短路,于是RST引腳上

為高電平,然后電源通過電阻對電容充電,

RST端電壓慢慢下降,降到一定程序,即為低

電平,單片機開始正常工作。

二、晶振電路AT89C51

單片機是一種時序電路,必須提供脈沖信

號才能正常工作,在單片機內部已集成了振蕩

器,使用晶體振蕩器,接18、19腳。只要買

圖2晶振電路

來晶振,電容,連上就可以了,按圖2接上即

可。

VCCVDD

I

gOTJT1

o

x

u

6OUT2

8

/

COUTS

8

OUT4

圖3機器人驅動芯片AS611

三、機器人驅動芯片AS611

圖3是機器人驅動芯片AS611與51單片機連接的電路原理圖

AS611內部包含4通道邏輯驅動電路,其額定工作電流為1A,最大可達1.5A,Vss電

壓最小4.5V,最大可達36V;Vs電壓最大值也是36V。下表是其使能、輸入引腳和輸出引

腳的邏輯關系(電路按圖3連接):

ENA(B)INI(IN3)IN2(IN4)電機運行情況

HHL正轉

HLH反轉

H同IN2(IN4)同INI(IN3)快速停止

LXX停止

四、74LS21四輸入與門

74LS21四輸入與門引腳如圖4所示。

圖474LS21四輸入與門引腳圖

五、LM324四運放集成電路

LM324是四運放集成電路,它采用14腳雙列直插塑料封裝。它的內部包含四組形式完

全相同的運算放大器,除電源共用外,四組運放相互獨立。

圖5LM324四運放的組成與引腳圖

每一組運算放大器可用圖5a所示的符號來表示,它有5個引出腳,其中“+為

兩個信號輸入端,“v+”、“V」為正、負電源端,“Vo”為輸出端。兩個信號輸入端中,Vi-

(-)為反相輸入端,表示運放輸出端Vo的信

號與該輸入端的相位相反;Vi+(+)為同相輸

入端,表示運放輸出端Vo的信號與該輸入端的

相位相同。LM324的引腳排列見圖5b。

由于LM324四運放電路具有電源電壓范

圍寬,靜態(tài)功耗小,可單電源使用,價格低廉

等優(yōu)點,因此被廣泛應用在各種電路中。

當去掉運放的反饋電阻時,或者說反饋電

阻趨于無窮大時(即開環(huán)狀態(tài)),理論上認為運放

的開環(huán)放大倍數(shù)也為無窮大。此時運放便形成

一個電壓比較器,其輸出如不是高電平(V+),

就是低電平(V-或接地)。當正輸入端電壓高于

負輸入端電壓時,運放輸出低電平。

六、碰撞開關

碰撞開關引腳與尺寸如圖6所示。引腳1為信號輸出腳,引腳2接地,引腳3接+5V。

七、紅外發(fā)射管

紅外發(fā)射管發(fā)出的光是不可見的,它發(fā)出的峰Dimensions

值波長在900nm左右,屬于紅外波段,由于一般半1.OUTPUT

導體硅光敏器件的峰值波長在900nm左右,因此可2.GROUND

3.VCC

以方便地構筑紅外傳感系統(tǒng)。智能機器人實驗中使

6.4±0.3-

用的紅外發(fā)射管波長為—13-20

880nm,其電路符號及外

形如圖7所示。

紅外發(fā)射管的主要優(yōu)

點是:體積小、壽命長、a

功耗小、響應速度快(可

以調制到幾十兆赫)等,

因此在光電控制中被大量

采用。其主要缺點是:有圖7紅外發(fā)射管外形圖8紅外接收頭引腳

與電路符號

方向性、易受環(huán)境溫度影與尺寸圖

響等。

紅外發(fā)射管工作在正向電壓下,

其正向特征與普通二極管一樣。對它

施加幾伏正向電壓后,就會發(fā)出不可

見的紅外光,光敏元件接收到此紅外

光后,就會輸出相應的信號。由于紅

外發(fā)射管在正向電流下工作,因此發(fā)

光強度隨正向電流的增加而增加,因

此調整流過紅外發(fā)射管的正向電流,

便可以調整輸出光功率(即發(fā)光強

度),對應地達到調整有效檢測距離的

圖9紅外傳感器測障原理

目的。

八、紅外接收頭

紅外接收頭引腳與尺寸如圖8所示。引腳1為信號輸出腳,引腳2接地,引腳3接+5V。

當接收到紅外信號時,其信號輸出腳輸出為低電平。

九、紅外傳感器測障原理

紅外傳感系統(tǒng)依靠發(fā)射并接收由障礙物反射回來的紅外光來判斷是否有障礙物。如圖9

所示,紅外光以60°的散射角向外發(fā)射,陰影區(qū)域分別是左右兩個紅外發(fā)射管的反射區(qū)域,

而紅外接收模塊正好處于左右兩個反射區(qū)域內,能接收到左右兩個紅外發(fā)射管的反射光,從

而可以判定前方、左邊、右邊有無障礙物。

U4

圖10機器人控制板的電源

十、機器人控制板的電源

機器人控制板的電源部分分兩路,一路直接由充電電池提供,主要是提供給電機使用,

另一路通過三端穩(wěn)壓芯片LM7805穩(wěn)壓成5伏直流電源提供給單片機系統(tǒng)使用,右邊兩個電

容是5伏電源的濾波電容,電阻和發(fā)光二極管組成5伏電源的工作指示電路,只要電源部分

正常,發(fā)光二極管組就會點亮,我們可以根據(jù)這個發(fā)光二極管組來判斷整個電源部分是否工

作正常,左側的開關是整個機器人控制系統(tǒng)電源的總開關。

第二篇機器人控制軟件基礎

一、中斷服務程序

有關中斷的概念

什么是中斷,我們從一個生活中的例子引入。你正在家中看書,突然電話鈴響了,你放

下書本,去接電話,和來電話的人交談,然后放下電話,回來繼續(xù)看你的書。這就是生活中

的“中斷”的現(xiàn)象,就是正常的工作過程被外部的事件打斷了。仔細研究一下生活中的中斷,

對于我們學習單片機的中斷也很有好處。

第一、什么可經引起中斷,生活中很多事件可以引起中斷:有人按了門鈴了,電話鈴響

了,你的鬧鐘鬧響了,你燒的水開了….等等諸如此類的事件,我們把可以引起中斷的稱之

為中斷源,單片機中也有一些可以引起中斷的事件,8031中一共有5個:兩個外部中斷,

兩個計數(shù)/定時器中斷,一個串行口中斷。

第二、中斷的嵌套與優(yōu)先級處理:設想一下,我們正在看書,電話鈴響了,同時又有人

按了門鈴,你該先做那樣呢?如果你正是在等一個很重要的電話,你一般不會去理會門鈴的,

而反之,你正在等一個重要的客人,則可能就不會去理會電話了。如果不是這兩者(即不等

電話,也不是等人上門),你可能會按你通常的習慣去處理??傊@里存在一個優(yōu)先級的問

題,單片機中也是如此,也有優(yōu)先級的問題。優(yōu)先級的問題不僅僅發(fā)生在兩個中斷同時產生

的情況,也發(fā)生在一個中斷已產生,又有一個中斷產生的情況,比如你正接電話,有人按門

鈴的情況,或你正開門與人交談,又有電話響了情況。考慮一下我們會怎么辦吧。

第三、中斷的響應過程:當有事件產生,進入中斷之前我們必須先記住現(xiàn)在看書的第幾

頁了,或拿一個書簽放在當前頁的位置,然后去處理不同的事情(因為處理完了,我們還要

回來繼續(xù)看書):電話鈴響我們要到放電話的地方去,門鈴響我們要到門那邊去,也說是不

同的中斷,我們要在不同的地點處理,而這個地點通常還是固定的。計算機中也是采用的這

種方法,五個中斷源,每個中斷產生后都到一個固定的地方去找處理這個中斷的程序,當然

在去之前首先要保存下面將執(zhí)行的指令的地址,以便處理完中斷后回到原來的地方繼續(xù)往下

執(zhí)行程序。具體地說,中斷響應可以分為以下幾個步驟:

1、保護斷點,即保存下一將要執(zhí)行的指令的地址,就是把這個地址送入堆棧。

2、尋找中斷入口,根據(jù)5個不同的中斷源所產生的中斷,查找5個不同的入口地址。

以上工作是由計算機自動完成的,與編程者無關。在這5個入口地址處存放有中斷

處理程序(這是程序編寫時放在那兒的,如果沒把中斷程序放在那兒,就錯了,中

斷程序就不能被執(zhí)行到)。

3、執(zhí)行中斷處理程序。

4、中斷返回:執(zhí)行完中斷指令后,就從中斷處返回到主程序,繼續(xù)執(zhí)行。究竟單片機

是怎么樣找到中斷程序所在位置。

中斷請求源:

1.外中斷請求源:即外中斷0和1,經由外部引腳引入的,在單片機上有兩個引腳,名稱

為INTO、INT1,也就是P3.2、P3.3這兩個引腳。在內部的TCON中有四位是與外中斷

有關的。ITO:INTO觸發(fā)方式控制位,可由軟件進和置位和復位,IT0=0,INTO為低電

平觸發(fā)方式,ITO=1,INTO為負跳變觸發(fā)方式。IE0:INTO中斷請求標志位。當有外

部的中斷請求時,這位就會置1(這由硬件來完成),在CPU響應中斷后,由硬件將IE0

清0。ITKIE1的用途和ITO、IE0相同。

2.內部中斷請求源TFO:定時器T0的溢出中斷標記,當T0計數(shù)產生溢出時,由硬件置

位TFO。當CPU響應中斷后,再由硬件將TFO清0。TF1:與TFO類似。TI、RI:串

行口發(fā)送、接收中斷。

中斷允許寄存器IE在MCS-51中斷系統(tǒng)中,中斷的允許或禁止是由片內可進行位尋

址的8位中斷允許寄存器IE來控制的。

EA是總開關,如果它等于0,則所有中斷都不允許。

ES一串行口中斷允許

ET1一定時器1中斷允許

EX1一外中斷1中斷允許。

ETO一定時器0中斷允許

EX0一外中斷0中斷允許。

我們也可以用位操作指令

SETBEA

SETBET1

SETBEX1

來實現(xiàn)它。

五個中斷源的自然優(yōu)先級與中斷服務入口地址

外中斷0:0003H

定時器0:000BH

外中斷1:0013H

定時器1:001BH

串口:0023H

它們的自然優(yōu)先級由高到低排列。寫到這里,大家應當明白,為什么前面有一些程序一

始我們這樣寫:

ORG0000H

LJMPSTART

ORG0030H

START:...

這樣寫的目的,就是為了讓出中斷源所占用的向量地址。

二、按鍵接口與編程

VCC

按鍵是單片機最常用的輸入設備,用

戶可以通過按鍵向計算機輸入指令、地址

和數(shù)據(jù),它具有結構簡單,使用靈活等特

點,因此被廣泛應用于單片機系統(tǒng)。

按鍵開關的抖動問題

組成鍵盤的按鍵有觸點式和非觸點式

兩種,單片機中應用的一般是由機械觸點

|PTT

構成的。在圖11中,當按鍵未被按下時,—PL2

P1.0輸入為高電平,當按鍵閉合后,P1.0PIa

輸入為低電平。由于按鍵是機械觸點,當

機械觸點斷開、閉合時,會有抖動動,P1.0

輸入端的波形如圖12所示。這種抖動對于

人來說是感覺不到的,但對計算機來說,

則是完全可以感應到的,因為計算機處理

的速度是在微秒級,而機械抖動的時間至

少是毫秒級,對計算機而言,這已是一個“漫長”的時間了。前面我們講到中斷時曾有個問

題,就是說按鍵有時靈,有時不靈,其實就是這個原因,你只按了一次按鍵,可是計算機卻

已執(zhí)行了多次中斷的過程,如果執(zhí)行的次數(shù)正好是奇數(shù)次,那么結果正如你所料,如果執(zhí)行

的次數(shù)是偶數(shù)次,那就不對了。

為使CPU能正確地讀出P1口的狀態(tài),對每一次按鍵只作一次響應,就必須考慮如何去

除抖動。單片機中常用軟件法,軟件法其實很簡單,就是在單片機獲得P1.0口為低的信息

后,不是立即認定S1已被按下,而是延時10毫秒或更長一些時間后再次檢測P1.0口,如

果仍為低,說明S1的確按下了,這實際上是避開了按鍵按下時的抖動時間。而在檢測到按

鍵釋放后(P1.0為高)再延時5-10個毫秒,消除后沿的抖動,然后再對鍵值處理。不過一

般情況下,我們通常不對按鍵釋放的后沿進行處理,實踐證明,也能滿足一定的要求。當然,

實際應用中,對按鍵的要求也是千差萬別,要根據(jù)不同的需要來編制處理程序,但以上是消

除鍵抖動的原則。

按鍵編程方法示例(通過按鍵控制小車前進、后退、左轉、右轉)

ORGOOOOh

AJMPL1

ORGOlOOh

LI:MOVA,Pl

JNBACC.0,L2

JNBACC.1,L3

JNBACC.2,L4

JNBACC.3,L5

MOVA,#0h;停止

MOVP2,A

AJMPLI

L2:ACALLDELYlOms

MOVA,Pl

JBACC.O,L1

MOVA,#27h;前進

MOVP2,A

AJMPLI

L3:ACALLDELYlOms

MOVA,Pl

JBACC.1,L1

MOVA,#lbh;后退

MOVP2,A

AJMPLI

L4:ACALLDELYlOms

MOVA,Pl

JBACC.2,L1

MOVA,#17h;左轉

MOVP2,A

AJMPLI

L5:ACALLDELYlOms

MOVA,Pl

JBACC.3,L1

MOVA,#2bh;右轉

MOVP2,A

AJMPLI

DELYlOms:MOVR6,#50;12M晶振,延時10ms

DL1:MOVR5,#100

DL2:DJNZR5,DL2

DJNZR6,DL1

RET

END

第三篇機器人機械結構

一、機器人中的電機

電機在機器人驅動中起

著重要的作用。直流電機的作

用原理是建立在電與磁的相

互轉化和相互作用的基礎上

的。它主要由定子和轉子兩大

部分組成。定子上有勵磁繞

組,由它產生磁場。轉子與機■

械負載相聯(lián),上面安裝有電樞

繞組,并通過電刷與直流電源

聯(lián)接,電樞繞組上的電壓稱為電用

樞中由于電刷的作用,被通以交習

使轉子在磁場中連續(xù)相對運動,?|

轉速和轉矩。由此,轉子便帶動機;

智能機器人中的主動輪)運動。

圖13為直流電機的電流、功;

轉速的關系圖。T為轉矩,n為轉.

率。當電機無負載時轉速最快,*

速越?。还β蕜t是隨轉矩的增大下

圖14直流電機轉矩一轉速關系圖

功率達到最大值后,功率則是隨轉矩的增大

而減?。浑娏麟S轉矩的增大而增大;效率則先增大,當達到最大值時又隨之減小。

直流電機在一定的電樞電壓下,轉速與轉矩成反比。如果改變電壓,則轉矩/轉速線隨

著電壓的升降而升降(如圖14),在智能機器人負載一定時(即轉矩一定時),提高電壓,

即電壓由ul到u2,對應的轉速為nl和n2,可見,nl<n2,即當電樞電壓提高時,電機轉子

的轉速便也提高。所以只要改變直流電機電樞電壓的大小,就可以實現(xiàn)直流電機的調速。

直流電機能調速,這點對于控制機器人的運動構件非常重要,因為只有當電機的轉動能

被控制成時快、時慢、時正、時

反時,機器人才可能按照所設計

的運動規(guī)律來動作。

智能機器人采用的是改變

電機電樞電壓的方式來改變直

流電機的轉速,這種方式只是直

流電機調速方式之一,有關詳細

資料可參考有關資料.提供給電

機的信號是方波,不同的方波,

它的平均電壓不同如圖15所

示,ul<u2<u3,我們就利用這一

點來進行智能機器人的速度控

制。進而調節(jié)電機的轉速,這就

是脈寬調制技術(PWM,PulseWidthModulation)o

二、機器人的傳動系統(tǒng)

機器人的運動由

兩個主動輪的運動來

完成,而它們分別由

兩套完全一樣的驅動

裝置來分別帶動兩個

驅動輪。在機器人的

驅動裝置中,減速器

是主要的機械部件,喇齒輪b)椎齒粕

它構成了機器人的傳

圖16齒輪

動系統(tǒng),下面對減速

器進行介紹。

1、齒輪

齒輪機構是現(xiàn)在機械中應用最為廣泛的一種傳動機構。他可以用來傳遞空間任意兩軸間

的運動和力,而且傳動準確、平穩(wěn)、機械效率高,使用壽命長和工作安全可靠。

1)齒輪各部分的名稱

齒輪上每個凸起部分稱為齒,齒輪的齒數(shù)用z表示。其他參數(shù)為:

(1)齒頂圓過所有齒輪頂端的圓稱為齒頂圓,用半徑ra表示,直徑用da表示。分

度圓和齒輪圓之間的徑向距離稱為齒頂高,用ha表示。

(2)齒根圓過所有齒槽底部的圓稱為齒根圓,用半徑rf表示,直徑用df表示。分度

圓和齒根圓之間的徑向距離稱為齒根高,用hf表示。

/3

\(分度圓齒頂圓和齒根圓之間的一個特殊定圓,用半徑r表示,直徑用d表示。

4

全齒高齒頂圓與齒根圓之間的徑向距離稱為全齒高,用半徑h表示,h=ha+hfo

/5X

\!71基圓產生漸開線的圓稱為基圓,用半徑rb表示,直徑用db表示。

?6\

\|ZJ齒厚每個齒輪上的圓周弧長稱為齒厚。在半徑為rk的圓周上度量的弧長稱為該

半徑上的齒厚,用sk表示。在分度圓上度量

弧長稱為分度圓槽寬,用e表示。

(7)槽寬兩個齒間齒槽上的圓周弧長稱為槽

寬。在半徑為rk的圓周上度量的弧長稱為該

半徑上的槽寬,用ek表示。在分度圓上度量

弧長稱為分度圓齒厚,用S表示。

(8)齒距相鄰兩個齒輪同側齒廓之間的圓周

弧長稱為齒距。在半徑為rk的圓周上度量的

弧長稱為該半徑的齒距,用pk表示,顯然

pk=sk+ek?在分度圓上度量的弧長稱為分度

圓齒距,用p=s+e表示。在基圓上度量的弧

長稱為基圓齒距,用pb表示,pb=sb+eb,sb

和eb是基圓上的齒厚與槽寬。

(9)法向齒距相鄰兩個齒輪同側齒廓之間在

法線方向上的距離稱為法向齒距,用pn表

示。由漸開線性質可知:pn=pbo

(10)中心距中心距是指相互嚙合的一對齒輪,

兩齒輪的圓心之間的距離,用a表示,a=rl+r2。如圖17所示。

2)基本參數(shù)

為了計算齒輪各部分幾何尺寸,需要規(guī)定若干基本參數(shù),對于標準齒輪而言,有以下5

個基本參數(shù):

齒數(shù)z

(2)分度圓模數(shù)m分度圓周長=md=zp,于是可得:d=zp/n由于口是無理數(shù),分

度圓的直徑也將為無理數(shù),用一個無理數(shù)的尺寸作為設計標準,對設計是很不利的。

為了方便設計、加工和檢驗,人為地把分度圓齒距與口的比值用m表示,并取其為

一理數(shù)列,即:p/"=mm稱為分度圓模數(shù),也簡稱為模數(shù),單位為mm。分度圓

直徑d=mz,分度圓齒距p=nm。

(3)分度圓壓力角a過分度圓與漸開線交點作基圓切線得切點N,該交點與中心。的連

線與NO線之間的夾角用a表示,其大小等于漸開線在分度圓圓周上壓力角的大小。

為方便起見,往往用這個中心角表示分度圓壓力角。我過規(guī)定分度圓壓力角標準值一

般為20°。在某些裝置中,也有用分度圓壓力角為14.5°、15°、22.5°、和25°

等的齒輪。至此,我們可以給分度圓下一個完整的定義:分度圓就是齒輪中具有標準

模數(shù)和標準壓力角的圓。

(4)齒頂高系數(shù)ha*齒頂高ha用齒頂高系數(shù)ha*與模數(shù)的乘積表示,ha=ha*m

(5)頂隙系數(shù)c*齒根高hf用齒頂高系數(shù)ha*與頂隙系數(shù)c*之和乘以模數(shù)表示,

hf=(ha*+c*)m。

我國定了齒頂高系數(shù)和頂隙系數(shù)的標準值:

正常齒制

(1)當mN1mm時,ha*=l,c*=0.25

二級減速器

三級減速器

圖18齒輪減速器

(2)當m<1mm時,ha*=1,c*=0.35

短齒制ha*=0.8,c*=0.3

3)漸開線標準直齒輪的幾何尺寸和基本參數(shù)的關系

漸開線標準直齒輪除了基本參數(shù)是標準值外,還有兩個特征:

(1)分度圓齒厚與槽寬相等,即s=e=p/2=nm/2

(2)具有標準的齒頂高和齒根高,即ha=ha*mhf=(ha*+c*)m

不具備上述特征的稱為非標準齒輪。

2、減速器

減速器是指原動機與工作機之間獨立的閉式傳動裝置,用來降低轉速和相應的增大轉

距。此外,在某些場合,用來增速的。并名為增速器。

減速器的種類很多,常用的減速器有齒輪及蝸桿減速器。按其傳動和機構的特點,大致

可以分為三類:I)齒輪減速器2)蝸桿減速器3)行星減速器。這里僅討論齒輪減速器,

按其減速齒輪的級數(shù)可以分為一級、二級、三級及多級,如圖所示:

按其軸在空間的相互配置可以分為立式和臥式;按其運動簡圖的特點可以分為展式、同

軸式和分流式等.

我國已將減速器系列化了,而且指定了某些類型減速器的標準系列。在指定標準系列時,

對減速器的主要參數(shù),如中心距,模數(shù),齒寬系數(shù)及傳動比等,還做了一系列的規(guī)定。在計

算時須將數(shù)值轉換成與其相近的標準值?,F(xiàn)將減速器的常用參數(shù)計算公式列表如下:

類型中心距符號總中心距傳動比符號總傳動比

一級aaL=a=l/2(d2+di)ii=z從/z主

二級高速級ataE=ar+as高速級ifi=if*is

低速級as低速級is

三級高速級arar=af+am+as高速級ifi=if*im*is

中速級an.中速級im

低速級as低速級is

減速器的每級有兩個齒輪相互嚙合傳遞動力,小齒輪為主動輪(ZD,大齒輪為從動輪

(Z?),小齒輪轉一周而大齒輪則轉不到一周,故而減速(反之,便為增速)。

二、機器人的總體結構

機器人由機器人小車、手臂、手爪等部分組成,機器人小車、手臂、手爪通過螺紋連接

件連接裝配在一起。機器人總體三維結構如圖19所示,零件之間的三維裝配關系如圖20

所示,手臂和手爪通過電機帶動拉繩來驅動。電機停止工作時,在彈簧或橡皮筋的拉動下,

手臂和手爪將會回復原位。以上機器人手臂和手爪的總體結構圖僅供同學們參考,同學們可

以自己創(chuàng)意設計自己的機器人手臂和手爪的結構。

三、機器人的手臂結構

(若干零件圖,用AutoCAD軟件繪制)

四、機器人的手爪結構

(若干零件圖,用AutoCAD軟件繪制)

圖19機器人的總體結構圖

圖20機器人裝配關系示意圖

第四篇機器人實驗

實驗一基礎實驗

按照圖21的電路圖連接各電子元器件,控制板上元器件參考布局如圖22所示。

上電之前請按照以下步驟做好電路檢查工作:

1)確保電源正負極之間沒有短路(一定要慎重!)

2)確保AT89c51芯片、AS611芯片相鄰引腳之間沒有短接。

3)AT89C51芯片的引腳20與電源負極相連,AT89c51芯片的引腳31、40與電源正極相連。

4)AS611芯片的引腳4、5、12、13與電源負極相連,AS6U芯片的引腳8、16與電源正

極相連。

5)復位電路、晶振電路按照電路圖正確連接。

6)AT89C51芯片的引腳21、22、23、24分別與第一塊AS611芯片的引腳2、7、10、15

相連,AT89C51芯片的引腳25、26、27、28分別與第二塊AS611芯片的引腳2、7、10、

15相連。

圖21實驗一電路圖

輸入以下的匯編程序,編譯后將十六進制代碼程序燒寫進AT89C51芯片,在電路檢查

正確的前提下,可以嘗試著上電,觀察運行結果。如果電機不動,請立即斷電。再做進一步

的檢查或者請求教師幫助。

ORGOOOOh

AJMPMAIN

ORGOlOOh

MAIN:

MOVA,#09h;二進制數(shù)00001001b小車右轉

MOVP2,A

ACALLDELY

MOVA,#06h;二進制數(shù)00000110b小車左轉

MOVP2,A

ACALLDELY

MOVA,#05h;二進制數(shù)00000101b小車后退

MOVP2,A

ACALLDELY

MOVA,#0ah;二進制數(shù)00001010b小車前進

MOVP2,A

ACALLDELY

MOVA,#20h;二進制數(shù)00100000b手臂前進

MOVP2,A

ACALLDELY

MOVA,#10h;二進制數(shù)00010000b手臂后退

MOVP2,A

ACALLDELY

MOVA,#80h;二進制數(shù)10000000b手爪松開

MOVP2,A

ACALLDELY

MOVA,#40h;二進制數(shù)01000000b手爪夾緊

MOVP2,A

ACALLDELY

MOVA,#0h;所有電機停

MOVP2,A

SJMPMAIN

DELY:MOVR7,#100;12M晶振,延時2秒

DLYO:MOVR6,#100

DLY1:MOVR5,#100

DLY2:DJNZR5,DLY2

DJNZR6,DLY1

DJNZR7,DLYO

RET

END

碰撞傳感器接口

右發(fā)光二極管9

S

4

左發(fā)光二極管二

9

S

4

小車左電機接口

左紅外發(fā)射管

件\------

電源總開關外接電池接口LM7805穩(wěn)壓芯片

圖22控制板上元器件參考布局示意圖

以下是用單片機C語言編寫的運動控制程序,其運動控制功能與上面的匯編語言程序相

同。

#include<reg51.h>

#defineCOUNTO197

#defineCOUNT1100

unsignedcharbdatamotorctrl;

/*底盤兩個電機對應的控制住*/

sbitINIBase=motorctrl"0;

sbitIN2_Base=motorctrl」;

sbitIN3_Base=motorctrl2;

sbitIN4_Base=motorctrl3;

/*手臂電機對應的控制位*/人

sbitINl_Arm=motorctrl4;

sbitIN2_Arm=motorctrl"5;

/*手爪電機對應的控制位*/C

sbitIN3_Hand=motorctrl*6;

sbitIN4_Hand=motorctrl?;

voiddelayL(unsignedcharcount2)smallreentrant;

voiddelayM(unsignedcharcountl)smallreentrant;

voiddelayS(unsignedcharcountO)smallreentrant;

voidrun(bitmotorl,bitdirl,bitmotor2,bitdir2,

bitmotor3,bitdir3,bitmotor4,bitdir4);

voidstop(bitmotor1,bitmotor2,bitmotor3,bitmotor4);

main()

(

do

(

run(l,0,1,1,0,0,0,0);/*右轉*/

delayL(20);/*2s*/

run(l,1,1,0,0,0,0,0);/*左轉*/

delayL(20);

run(l,0,1,0,0,0,0,0);/*后退*/

delayL(20);

run(l,1,1,1,0,0,0,0);/*前進*/

delayL(20);

stop(l,1,0,0);

run(0,0,0,0,1,1,0,0);/*手臂前進*/

delayL(20);

run(0,0,0,0,1,0,0,0);/*手臂后退*/

delayL(20);

stop(0,0,1,0);

run(0,0,0,0,0,0,1,1);/*手爪松開*/

delayL(20);

run(0,0,0,0,0,0,1,0);/*手爪夾緊*/

delayL(20);

stop(0,0,0,1);

}

while(1);

}

voiddelayS(unsignedcharcountO)smallreentrant

/*短延時函數(shù)*/

/*countO取值范圍:0~256*/

/*延時計算方法:countOx5T+2T?*/

/*T:機器周期(振蕩周期的1/12)。*/

while(~countO);

/*對應的匯編代碼

000A150ADECOOAH;T

000CAFOAMOVR7,OOAH;T

000EEFMOVA,R7;T

000F70F9JNZOOOOAH;2T

001122RET;2T

*/

}

voiddelayM(unsignedcharcountl)smallreentrant

/*中延時函數(shù)*/

/*countl取值范圍:0~256*/

/*延時計算方法:countlx(11T+delayS(COUNTO))+2T。*/

/*T:機器周期(振蕩周期的1/12)。*/

while(一countl)delayS(COUNTO);

/*對應的匯編代碼

0109150BDECOOBHT

010BAFOBMOVR7,OOBUT

010DEFMOVA,R7T

010E6008JZ00118II2T

0110750A64MOVOOAH,#064H2T

011312000ALCALLOOOOAH2T

011680F1SJMP00109112T

011822RET2T

*/

}

voiddelayL(unsignedcharcount2)smallreentrant

/*長延時函數(shù)*/

/*count2取值范圍:0~256*/

/*延時計算方法:count2x(11T+delayM(COUNTl))+2T。*/

/*T:機器周期(振蕩周期的1/12)。*/

while(一count2)delayM(COUNT1);

/*對應的匯編代碼

0119150CDECOOCHT

011BAFOCMOVR7,OOCHT

011DEFMOVA,R7T

011E6008JZ00128II2T

0120750B32MOVOOBH,#032112T

0123120109LCALL00109II2T

012680F1SJMP00119112T

012822RET2T

*/

)

voidrun(bitmotor1,bitdirl,bitmotor2,bitdir2,

bitmotor3,bitdir3,bitmotor!,bitdir4)

*/切

/*運行函數(shù)

/*電機選擇(motor1,motor2,motor3,motor4):

/*為1表示對應的電機被選中進行“運轉”操作,為0則表示沒有被選中。*/

/*運行方向選擇(dirl,dir2,dir3,dir4):**/

/*對應的電機如果被選中,為1表示按照正方向運行,為0表示按反方向運行。4

if(motorl)/*1#電機*/

(

if(dirl)

{INl_Base=0;IN2__Base=1;)

else

{INl_Base=1;IN2__Base=o;)

)

if(motor2)/*2#電機*/

(

if(dir2)/*=l*/

{IN3_Base=0;IN4__Base=1;)

else

{IN3?Base=1;IN4__Base=o;)

)

if(motor3)/*3#電機*/

(

if(dir3)

{INl_Arm=0;IN2_Arm=1;}

else

{INl_Arm=1;IN2_Arm=0;}

)

if(motor4)/*4#電機*/

(

if(dir4)/*==l*/

{IN3JIand=0;IN4JIand=1;}

else

{IN3JIand=1;IN4Jland=0;}

P2=motorctrl;

return;

)

voidstop(bitmotorl,bitmotor2,bitmotor3,bitmotor4)

/*停止函數(shù)*/

/*電機選擇(motorl,motor2,motor3,motor4):*/

/*為1表示對應的電機被選中進行“停止”操作,為0則表示沒有被選中。*/

(

if(motorl)

(

INl_Base=IN2_Base=0;

}

if(motor2)

(

IN3_Base=IN4_Base=0;

}

if(motor3)

(

INl_Arm=IN2_Arm=0;

}

if(motor4)

(

IN3Hand=IN4Hand=0;

)

P2=motorctrl;

return;

}

實驗二手控機器人

40

39

38

3?

36

3s

3

3

3

3

3

2

2

2

2

2

2

2

2

21

圖23實驗二電路圖

按照圖23連接各電子元器件,手控手柄上按鈕及接口參考布局如圖24所示,將手控手

柄與機器人控制板通過手控手柄接口用約1.5米長的排線連接起來。輸入以下的匯編程序,

溫馨提示

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

評論

0/150

提交評論