足球機(jī)器人畢業(yè)論文
《足球機(jī)器人畢業(yè)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《足球機(jī)器人畢業(yè)論文(40頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 足球機(jī)器人畢業(yè)論文 1--總體設(shè)計(jì) 2.2.2 機(jī)器人移動(dòng)方式的選擇 機(jī)器人在地面上移動(dòng)的方式通常有三種:車輪式、履帶式和步行式。 步行移動(dòng)方式模仿人類或動(dòng)物的行走機(jī)理,用腿腳走路,對(duì)環(huán)境適應(yīng)性好,智能程度也相對(duì)較高。正因如此,步行移動(dòng)方式在機(jī)構(gòu)和控制上是最復(fù)雜的,技術(shù)上也還不成熟,不適于在要求靈活和可靠性高的比賽中。 履帶式實(shí)際是一種自己為自己鋪路的輪式車輛。它是將環(huán)狀循環(huán)軌道履帶卷繞在若干滾輪外,使車輪不直接與地面接觸。履帶式的的優(yōu)點(diǎn)是著地面積比車輪式大,所以著地壓強(qiáng)??;另外與路面黏著力強(qiáng),能吸收較小的凸凹不平,適于松軟不平的地面。因此,履帶式廣泛用在各類建筑機(jī)械及軍用車輛
2、上。 車輪式移動(dòng)是最常見的一種地面行進(jìn)方式。車輪式移動(dòng)的優(yōu)點(diǎn)是:能高速穩(wěn)定的移動(dòng),能量利用效率高,機(jī)構(gòu)和控制簡(jiǎn)單,而且技術(shù)比較成熟。它的缺點(diǎn)是對(duì)路面要求較高,適于平整硬質(zhì)路面。 在本機(jī)器人足球比賽中,場(chǎng)地為室內(nèi)光滑平整地面,非常適合車輪運(yùn)動(dòng),因此本設(shè)計(jì)選用車輪式運(yùn)動(dòng)方式。 2.3.2 機(jī)器人電路硬件選擇 根據(jù)規(guī)則所描述,要求機(jī)器人尺寸較為小巧,直徑為22cm,并且不允許人工干設(shè)其操作,需要自動(dòng)控制。因此選用單片機(jī)為核心的控制器件,小型直流電機(jī)作為動(dòng)力驅(qū)動(dòng),可以達(dá)到比賽的基本要求。 單片機(jī)價(jià)格低廉,體積小巧,一般為20引腳或40引腳封裝,其中包括了中央處理器,數(shù)據(jù)存儲(chǔ)器、程序存儲(chǔ)
3、器輸入輸出設(shè)備。對(duì)于需要靈活機(jī)動(dòng),精度要求不高,有可擴(kuò)展性及程序可擦寫和簡(jiǎn)單成熟的編程平臺(tái)等要求,單片機(jī)不失為最合適的選擇。 電機(jī)選擇方面,考慮到機(jī)器人本身自重不大,必且場(chǎng)地尺寸有限,可選用小型直流伺服電機(jī),可用電樞電壓作為速度控制信號(hào),但必須加裝減速箱以適應(yīng)低轉(zhuǎn)速和大扭矩的應(yīng)用環(huán)境。 2.4.2 傳感器元件及轉(zhuǎn)換元件選擇 通過(guò)對(duì)比賽規(guī)則的解讀可以發(fā)現(xiàn),對(duì)于球和場(chǎng)地基板的設(shè)計(jì)是該項(xiàng)比賽中最具特色內(nèi)容,它對(duì)機(jī)器人的核心設(shè)計(jì)――傳感器以及比賽的方式產(chǎn)生了決定性的影響。 發(fā)出紅外光的足球意味著機(jī)器人必須有紅外傳感器來(lái)對(duì)其進(jìn)行檢測(cè)。紅外線波長(zhǎng)介于可見光和無(wú)線電波之間,大約0.76nm-1000
4、nm,而光電傳感器其所用到的波長(zhǎng)選擇在近紅外區(qū),即0.76-930nm。常用的紅外線接收元件為光電二極管和光電三極管。它們可以將接收到的光變化轉(zhuǎn)變的電流變化。 比賽的場(chǎng)地圖紙為縱向的黑白灰度漸變,這意味著機(jī)器人對(duì)進(jìn)攻方向作出正確判斷必須要能讀出場(chǎng)地的灰度變化信息。要實(shí)現(xiàn)這一功能,則要用到紅外光電反射式傳感器。該元件由紅外發(fā)光管和接受管組成。發(fā)光管材料一般為砷化鉀半導(dǎo)體,發(fā)光波長(zhǎng)范圍在0.76-1.5nm,小功率的管壓降1.0-1.3v,平均工作電流20-50mA,紅外發(fā)管有指向角,光軸,波長(zhǎng),輝度等性能指標(biāo)。紅外接收管可用上述光電二極管或三極管。 紅外元件所接收的信號(hào),根據(jù)情況的需要,
5、要進(jìn)行模擬-數(shù)字量的轉(zhuǎn)換,因此需要AD轉(zhuǎn)換芯片,AD轉(zhuǎn)換的選擇要根據(jù)所選用的的單片機(jī)來(lái)確定。本文所選用的51系列單片機(jī),由于其端口的限制,需要AD轉(zhuǎn)換器具有串口數(shù)據(jù)輸出功能。 2.5.2 機(jī)器人運(yùn)行算法的構(gòu)想 對(duì)比賽過(guò)程的規(guī)則進(jìn)行分析后發(fā)現(xiàn),比賽的進(jìn)行與真實(shí)的足球比賽的思維過(guò)程是一致的,機(jī)器人需要完成下述動(dòng)作循環(huán) 圖2-4 然而在這一過(guò)程中,最關(guān)鍵的一步是把球攻進(jìn)正確的球門。其難點(diǎn)在于找球的傳感器與地面方向的傳感器是相互獨(dú)立的兩套系統(tǒng),怎樣才能讓機(jī)器人判斷當(dāng)前狀態(tài)是找球過(guò)程還是在帶球進(jìn)攻過(guò)程。如果單獨(dú)執(zhí)行找球程序,讓機(jī)器人跟隨球的方向前進(jìn),很有可能把球撞入己方球門;如果單獨(dú)執(zhí)行方向
6、判斷程序,機(jī)器人則無(wú)法知道當(dāng)前球的位置,有可能在沒有控球的情況下沖向?qū)Ψ角蜷T而造成無(wú)效的進(jìn)攻。 怎樣解決找球程序和進(jìn)攻方向判斷程序的銜接,避免烏龍球和無(wú)效的進(jìn)攻,這是算法設(shè)計(jì)要解決的重要問(wèn)題。然而筆者查閱過(guò)一些相關(guān)資料,一直沒有找令人滿意的算法解決方案。 由于機(jī)器人套件的外形限制,在外形上做一些改動(dòng)以適應(yīng)算法需要的想法無(wú)法實(shí)現(xiàn)。而本設(shè)計(jì)這是利用了外形可以自行設(shè)計(jì)的優(yōu)勢(shì),通過(guò)加裝了一個(gè)“持球探測(cè)臂”來(lái)解決算法上找球程序和進(jìn)攻方向判斷程序的銜接的問(wèn)題。 圖2-5 如圖所示,當(dāng)機(jī)器人尋找到球,并把球控制在控球板內(nèi)時(shí),持球探測(cè)臂上垂直向下的持球傳感器將接收到紅外信號(hào)并轉(zhuǎn)換為
7、電流變化。利用該信號(hào)作為是否持球的判斷標(biāo)志,單片機(jī)不斷查詢?cè)摌?biāo)志位。若該標(biāo)志位無(wú)信號(hào)反饋,則說(shuō)明機(jī)器人沒有控球,執(zhí)行找球程序;若該標(biāo)位有信號(hào)反饋,則說(shuō)明已經(jīng)控球,則執(zhí)行進(jìn)攻方向判斷及帶球進(jìn)攻程序。 簡(jiǎn)要流程如下: 圖2-6 2.6 Rhino繪制的機(jī)器人效果圖 圖2-7(點(diǎn)擊放大) 各部分零件介紹: 圖2-8 圖2-9 圖2-10 第三章 動(dòng)力驅(qū)動(dòng)部件與運(yùn)動(dòng)方式設(shè)計(jì) 3.2.3 四輪移動(dòng)配置和操舵方式 3輪機(jī)器人車體配置結(jié)構(gòu)雖然簡(jiǎn)單,但穩(wěn)定性差,遇到?jīng)_撞容易傾倒,與3輪相比,4輪穩(wěn)定性更好。4輪典型配置有如下兩種。 圖3-9 如
8、圖組合為前后輪為萬(wàn)向腳輪,左右兩輪為獨(dú)立驅(qū)動(dòng)輪,其自轉(zhuǎn)中心于車體中心重合,適于在狹窄場(chǎng)地運(yùn)行。其靈活性穩(wěn)定性都比較好。其缺點(diǎn)是前后輪不能同時(shí)著地,加速前進(jìn)時(shí)可能出現(xiàn)俯沖。 圖3-10 該配置方式是常見的所謂汽車配置方式,車的穩(wěn)定性較高。2個(gè)操舵輪需要同一個(gè)操舵機(jī)構(gòu)協(xié)調(diào)轉(zhuǎn)向,為了減少后輪摩擦損耗,配備了差動(dòng)齒輪裝置,增加了機(jī)構(gòu)復(fù)雜性。 綜合各種因素考慮,本設(shè)計(jì)采用圖3-9所示的四輪配置方案。 第四章 硬件電路設(shè)計(jì) 引言 本章按照機(jī)器人系統(tǒng)結(jié)構(gòu)模塊,把本機(jī)器人分解為主控部分,傳感器部分,AD轉(zhuǎn)換部分,電源供電部分以及電機(jī)驅(qū)動(dòng)部分。對(duì)每個(gè)部分的器件選用,主要功能以及各部分
9、所組合成的總體系統(tǒng)作了分析介紹。 4.1 機(jī)器人系統(tǒng)結(jié)構(gòu) 按照現(xiàn)代機(jī)器人理論,機(jī)器人分為機(jī)械手,環(huán)境,任務(wù)和控制器4個(gè)相互作用的部分。其系統(tǒng)結(jié)構(gòu)圖如下: 圖4-1 在本設(shè)計(jì)中根據(jù)實(shí)際情況的需要,對(duì)以上模型進(jìn)行了簡(jiǎn)化,得到以下的系統(tǒng)結(jié)構(gòu)圖: 圖4-2 4.2 主控部分硬件電路 4.2.1 主控部分硬件——89C4051 本設(shè)計(jì)選用了ATL公司生產(chǎn)的89C4051單片機(jī)作為控制器。 AT89C51是一個(gè)含有4K可編程可擦寫只讀存儲(chǔ)器的低功率高性能CMOS 8位單片機(jī)。該器件運(yùn)用了Atmel公司的高密度不易丟失存儲(chǔ)技術(shù)斌且兼容MCS-51工業(yè)標(biāo)準(zhǔn)的設(shè)置和管角輸出
10、。片內(nèi)的閃存允許用系統(tǒng)內(nèi)模式編程或傳統(tǒng)的不易失程序編寫器。由于集成了一個(gè)通用8位CPU和閃存,使得Atml的AT89C51成為一片具有高靈活性,可有效解決大多嵌入式控制應(yīng)用的高性能單片機(jī)。 AT89C51支持如下標(biāo)準(zhǔn)特性:4K閃存,128字RAM,32條I/O線路,雙16位定時(shí)/計(jì)數(shù)器,5V雙電平中斷機(jī)構(gòu),一個(gè)全雙工串行口,片內(nèi)震蕩和時(shí)鐘電路。綜上,AT89C51 是按照靜態(tài)邏輯操作停止到0頻率設(shè)計(jì)的,并且支持兩套由軟件選擇的功率存儲(chǔ)模式。被空閑模式停止的CUP可有RAM,j定時(shí)/計(jì)數(shù)器,串口和中斷系統(tǒng)使其繼續(xù)運(yùn)作。掉電模式用鎖定振蕩器停止一切芯片功能的方式存儲(chǔ)RAM內(nèi)的內(nèi)容,直到下一次
11、的硬件復(fù)位。 圖4-3 4.2.2控制電路所應(yīng)用到的端口功能介紹 VCC:為點(diǎn)片機(jī)提供+5V主電源 RST/Vpd:?jiǎn)纹瑱C(jī)復(fù)位引腳。單片機(jī)上電時(shí),各存儲(chǔ)器處于隨機(jī)狀態(tài),在該引腳上輸入兩個(gè)周期高電平,使單片機(jī)復(fù)位。 P1.0——P1.7:8個(gè)帶內(nèi)部上拉電阻的I/O口。其中P1.4——P1.7四個(gè)口用作接到L298的IN1——IN4,用作了對(duì)直流電機(jī)的驅(qū)動(dòng)控制。另外,8個(gè)I/O口上都留有LED接口,這樣可以通過(guò)程序?qū)⑷魏我粋€(gè)寄存器空間上的內(nèi)容輸出到P1口并由LED顯示,方便了程序的調(diào)試和功能的擴(kuò)展。 P3.0:串行口,向AD轉(zhuǎn)換器TLC1543的clock口輸出時(shí)鐘頻
12、率,用于控制AD轉(zhuǎn)換的器串行傳輸?shù)念l率以及AD轉(zhuǎn)換器的轉(zhuǎn)換/讀寫周期的切換。 P3.1:串行口,接TLC1543的ADRESS地址口,串行輸出四位地址用以對(duì)AD轉(zhuǎn)換器的9個(gè)模擬量輸入口進(jìn)行選通。 P3.4:串行口,接TLC1543的DATA out口,用以接收經(jīng)過(guò)AD轉(zhuǎn)換后的8數(shù)字量 P3.5:帶上拉電阻的I/O口,接TLC1543的片選CS口,用于對(duì)AD轉(zhuǎn)換器的轉(zhuǎn)換/數(shù)據(jù)讀取周期的控制。 P3.2:帶上拉電阻的I/O口,外部中斷0的輸入,用于碰撞開關(guān)的中斷輸入口。 XTAL.1XTAL.2:借外部晶振的兩條引腳。 GND:地線。 4.2.3 89C40
13、51線路連接圖: 圖4-4 4.3傳感器部分硬件電路 4.3.1 找球傳感器: 根據(jù)比賽用球?yàn)榧t外發(fā)射裝置,故采用的傳感器為紅外接收的傳感器,根據(jù)車體前方的兩個(gè)紅外傳感器接收紅外光輸出電壓不同比較來(lái)判斷球的方位指導(dǎo)車體前進(jìn)方向。 該紅外接收器由一只光電三極管構(gòu)成,其電路圖如下: 圖4-5A(chǔ) 當(dāng)光電三極管接收到紅外線信號(hào)時(shí),其電阻減小,在管兩端的電壓分壓減小,輸出口電壓上升,輸入到AD轉(zhuǎn)換芯片進(jìn)行轉(zhuǎn)換。 4.3.2 控球判傳感器 控球判斷傳感器也是一只紅外三極管,安裝在控球探測(cè)臂上,感光方向?yàn)檎路剑ㄒ姷诙孪嚓P(guān)章節(jié))其原理同上,因只需判斷持球與否連個(gè)狀態(tài),所以不需
14、要AD轉(zhuǎn)換比較,輸出量為數(shù)字量直接輸入到單片機(jī)P1.3口進(jìn)行判讀。 4.3.3 進(jìn)攻方向判斷傳感器 場(chǎng)地貼有按進(jìn)攻黑白灰度漸變的基板帖紙,由兩個(gè)位于車底的灰度傳感器進(jìn)行判斷,當(dāng)左右兩個(gè)傳感器值相等時(shí),認(rèn)為正對(duì)球門?;叶葌鞲衅饔煞瓷涫郊t外光電判讀器組成,即一個(gè)紅外發(fā)光管和紅外三極管并排綁定構(gòu)成,其電路圖如下 圖4-5B 當(dāng)?shù)孛婊叶茸兓瘯r(shí),對(duì)紅外光的反射量隨之變化,白色對(duì)紅外光反射力強(qiáng),輸出電壓高;黑色對(duì)紅外光吸收力強(qiáng),輸出低電壓。 4.3.4 碰撞傳感器 當(dāng)機(jī)器人與墻體發(fā)生碰撞時(shí),裝于持球檢測(cè)臂上部的微動(dòng)開關(guān)會(huì)被按下,導(dǎo)致一個(gè)中斷脈沖,使機(jī)器人進(jìn)入中斷處理程序——倒退,轉(zhuǎn)向,
15、避開障礙。由于碰撞開關(guān)安裝高度大于球的直徑,不會(huì)造成球碰到碰撞開關(guān)而造成誤操作。 碰撞傳感器線路圖見89C4051線路圖,其中的電容C4電阻R3起到對(duì)碰撞信號(hào)穩(wěn)定延遲的作用,使單片機(jī)能接收到一個(gè)可靠的中斷信號(hào)。 4.4AD轉(zhuǎn)換部分硬件電路 4.4.1AD轉(zhuǎn)換芯片的選用——TLC1543 AD轉(zhuǎn)換器自用在于把接收到的紅外線電壓模擬信號(hào)轉(zhuǎn)換成可被單片機(jī)計(jì)算比較的數(shù)字信號(hào)。其類型有積分型,逐次比較型等等。針對(duì)本設(shè)計(jì),所選用的是20管腳的單片機(jī)89C4051,其并行輸入口有限,并已用于驅(qū)動(dòng)電機(jī)控制。而TLC1543的模擬端口地址輸入和數(shù)字量輸出都用串行口,這樣大大節(jié)省了I/O口資源。雖然串
16、行通訊速度慢于并行通訊,但對(duì)于本設(shè)計(jì),串口速度遠(yuǎn)高于機(jī)器人反應(yīng)速度,可以滿足需要。另外,該AD轉(zhuǎn)換器有11個(gè)模擬量輸入口,為今后的功能擴(kuò)展留下很大空間。 圖4-6 4.4.2TLC1543與單片機(jī)的電路連接 圖4-7 4.4.3所用到的管腳功能介紹 ADDRESS:串行輸入地址端口,通過(guò)4位的串行地址選擇需要的模擬量端口。 Vcc:芯片工作正電壓。 REF+:高參考電壓值(通常是Vcc)輸入到該管腳,其最大輸入電壓取決于該管腳與REF-管腳上的電壓差值。 REF-:低參考電壓(通常接地)。 CS:片選信號(hào)。該位上一次由高到低的跳變將復(fù)位內(nèi)部計(jì)數(shù)器
17、和控制器,并使能DATA OUT和ADDRESS,并且I/O CLOCK在最大建立時(shí)間內(nèi)加兩個(gè)下降沿到內(nèi)部系統(tǒng)時(shí)鐘。一次由低到高的跳變將禁止DATAOUT和ADDRESS,同樣的加兩個(gè)下降沿到內(nèi)部時(shí)鐘。 DATA OUT:三態(tài)串行輸出口用于輸出AD轉(zhuǎn)換的結(jié)果。當(dāng)CS高時(shí)DATAOUT被置為高阻態(tài),CS低時(shí)被置為可用狀態(tài)。 vI/O CLOCK:輸入輸出時(shí)鐘。該管腳接受串行輸入的時(shí)鐘信號(hào),并執(zhí)行4種功能。 1、前4個(gè)周期在ADDRESS上接收4位地址信號(hào)。 2、接下來(lái)幾個(gè)周期,被選中的模擬量端口電壓進(jìn)入AD轉(zhuǎn)換器的電容陣列。 3、把前一周期所選中的模擬端口轉(zhuǎn)換結(jié)果從DATA OUT
18、輸出。 4、在第十個(gè)下降沿控制內(nèi)部控制器,使之開始轉(zhuǎn)換。 EOC:結(jié)束轉(zhuǎn)換信號(hào)。在第十個(gè)時(shí)鐘周期該由高跳到低并保持,直到轉(zhuǎn)換結(jié)束為止。 GND:接地端。 4.5 電源供應(yīng)部分 4.5.1穩(wěn)壓塊選用 本系統(tǒng)所有芯片都需要+5V的工作電壓,而干電池足能提供的電壓為1.5V的倍數(shù)的電壓,并且隨著使用時(shí)間的延長(zhǎng),其電壓會(huì)逐漸下降,想要得到穩(wěn)定的+5V工作電壓,則需要L7805穩(wěn)壓芯片。 圖4-8 4.5.2 電源選擇 雖然微處理器和微控制器不需要支持電路,功耗也很低,但必須要加以考慮。 ?單電池組:用一組電池同時(shí)給控制電路和驅(qū)動(dòng)電機(jī)供電。可以使機(jī)器人的重量減輕,成
19、本降低。 ?雙電池組:用兩組電池分別給控制電路和驅(qū)動(dòng)電機(jī)供電,可減少電機(jī)開關(guān)時(shí)的能量波動(dòng)。 本設(shè)計(jì)才用雙電池供電模式,四節(jié)AA1.5V堿性電池用于控制芯片供電,一節(jié)9V電池用于驅(qū)動(dòng)電機(jī)供電。 4.6 電機(jī)的驅(qū)動(dòng)與控制 4.6.1 直流H橋集成功放電路驅(qū)動(dòng)原理 直流H橋功放電路是用于控制直流電機(jī)雙向運(yùn)動(dòng)的基本電路,該電路使電機(jī)在單電源供電下可以雙向運(yùn)轉(zhuǎn)。 圖示電路為用三極管構(gòu)成的H橋集成功放電路基本形式。為使電機(jī)順時(shí)針轉(zhuǎn),應(yīng)接通三極管A和D,對(duì)電機(jī)而言,其電壓右負(fù)左正,通過(guò)改變不同的三極管導(dǎo)通狀況,可改變電機(jī)兩端電壓,達(dá)到反轉(zhuǎn)目的。 圖4-9 4.6.2 L298雙通
20、道直流電機(jī)驅(qū)動(dòng)芯片 L298驅(qū)動(dòng)芯片是性能優(yōu)越的小型直流電機(jī)驅(qū)動(dòng)芯片之一。它可被用來(lái)驅(qū)動(dòng)兩個(gè)直流電機(jī)或者是雙極性步進(jìn)電機(jī)。在6——46V的電壓下,可以提供2A的額定電流。L298還有過(guò)熱自動(dòng)關(guān)斷功能,并有反饋電流檢測(cè)功能。 為保證L298正常工作,建議加裝片外續(xù)流二極管。 圖4-10 L298驅(qū)動(dòng)雙電機(jī)的電路連接圖: 圖4-11 電機(jī)控制邏輯: 4.7 硬件連接總圖 圖4-12 第五章 軟件程序設(shè)計(jì) 引言 在完成了硬件的設(shè)計(jì)之后,需要進(jìn)行相應(yīng)的軟件設(shè)計(jì),對(duì)機(jī)器人的控制的思想,是直接通過(guò)軟件程序表達(dá)的。因此,軟件設(shè)計(jì)是整個(gè)設(shè)計(jì)過(guò)程中最重要的部分之
21、一,直接關(guān)系到機(jī)器人在賽場(chǎng)上的表現(xiàn)。本章先對(duì)程序運(yùn)行的重要環(huán)節(jié)——AD轉(zhuǎn)換器的讀寫控制進(jìn)行了說(shuō)明,再針對(duì)各個(gè)功能模塊設(shè)計(jì)了相關(guān)軟件,各模塊間相互獨(dú)立,可用于測(cè)試各個(gè)部件的運(yùn)行狀況。最后合成一個(gè)具有完整性能和多判斷的比賽應(yīng)用程序。 5.1 AD轉(zhuǎn)換器的讀寫控制模塊 5.1.1 TLC1543的時(shí)序分析 在本設(shè)計(jì)中所使用的AD轉(zhuǎn)換器為TLC1543,它支持串行的地址/數(shù)據(jù) 輸入輸出,大大節(jié)省了單片機(jī)的I/O口數(shù)量,但是這種串行通行方式有著較為復(fù)雜的時(shí)序要求。深入理解它的時(shí)序圖,是編寫讀寫控制程序的前提。 時(shí)序圖如下: 圖5-1 由圖可知,該芯片通過(guò)一個(gè)EOC(End of Co
22、nversion) 信號(hào)把時(shí)序劃分為兩個(gè)大的周期,當(dāng)EOC輸出高電平時(shí),芯片開始從串口接收地址數(shù)據(jù)并發(fā)送轉(zhuǎn)換結(jié)果;當(dāng)EOC輸出低電平時(shí),芯片進(jìn)入AD轉(zhuǎn)換周期,直到轉(zhuǎn)換完畢,EOC會(huì)再次跳高。 在數(shù)據(jù)收發(fā)周期開始時(shí),由CS片選信號(hào)跳低和EOC跳高為標(biāo)志,由外部入輸?shù)腎/O CLOCK作為串行通信的同步時(shí)鐘,該周期被這個(gè)時(shí)鐘信號(hào)劃分為10個(gè)小的時(shí)鐘周期。在ADDRESS口上,前4個(gè)周期接收4位地址信號(hào),通過(guò)這4位地址信號(hào)來(lái)選中11個(gè)模擬量輸入口其中的一個(gè);在DATA OUT口上,10個(gè)時(shí)鐘周期輸出10位AD轉(zhuǎn)換的數(shù)字量結(jié)果。需要注意的是,該結(jié)果來(lái)自于上一個(gè)數(shù)據(jù)收發(fā)周期中所確定的那個(gè)模擬量輸入口,
23、而本周期所確定的模擬量輸入口所讀進(jìn)的數(shù)字轉(zhuǎn)換結(jié)果將在下一個(gè)讀寫周期輸出。 5.1.2 AD轉(zhuǎn)換器數(shù)據(jù)讀取程序的編寫 雖然89C4051上有自帶的串行口,但是TLC1543的串行通信較為特殊,需要在同一時(shí)鐘周期內(nèi)有兩個(gè)I/O口在同時(shí)輸入和輸出,并且51自帶的串口同步時(shí)鐘難于保證在1543應(yīng)用上的同步,于是本程序采用了用普通I/O口模擬串口的方法。 單片機(jī)的P3.0口連接AD轉(zhuǎn)換器的I/O CLOCK口,通過(guò)對(duì)P3.0口輸出的信號(hào)進(jìn)行翻轉(zhuǎn)的方法來(lái)制造時(shí)鐘信號(hào)。P3.4連接DATA OUT 口,用移位寄存器的方式接收串行數(shù)據(jù)。即用P3.0控制時(shí)鐘,用標(biāo)志位C作為數(shù)據(jù)和地址的傳遞媒體,把轉(zhuǎn)換結(jié)果
24、通過(guò)C傳遞到可進(jìn)行位操作的地址空間20H,接收一位,左移一位,直到8位傳遞完畢。同樣,用P3.1連接到ADDRESS口,把地址數(shù)據(jù)存入可進(jìn)行位操作的21H地址空間,通過(guò)標(biāo)志位C把地址傳入ADDRESS,傳送一位,右移一位,直到4位地址傳完。在前4個(gè)周期,地址傳送和結(jié)果接收同時(shí)進(jìn)行,后四個(gè)周期,只進(jìn)行數(shù)據(jù)接收,因1543共有10個(gè)周期,所以8個(gè)周期完成后讓P3.0空翻轉(zhuǎn)兩次,完成數(shù)據(jù)地址的收發(fā)過(guò)程,進(jìn)入AD轉(zhuǎn)換的過(guò)程,這時(shí)等待EOC的跳高信號(hào),意味著轉(zhuǎn)換完成,進(jìn)入下一個(gè)數(shù)據(jù)收發(fā)過(guò)程。 以上過(guò)程進(jìn)行4個(gè)循環(huán),分別讀取左右紅外和左右灰度4傳感器的數(shù)據(jù),分別存放在02H,03H,04H,05H四個(gè)地
25、址單元中。 5.2 運(yùn)動(dòng)控制程序模塊 5.2.1 程序原理 機(jī)器人在實(shí)際運(yùn)用中,需要作出的動(dòng)作有:前進(jìn)、后退、左轉(zhuǎn)和右轉(zhuǎn),其中,左右轉(zhuǎn)可以根據(jù)需要分別有以車身中心為圓心轉(zhuǎn)動(dòng)和以車輪為圓心轉(zhuǎn)動(dòng)。其工作原理為,通過(guò)89C51的P1口向電機(jī)驅(qū)動(dòng)芯片L298傳送4位的控制信號(hào),控制左右兩個(gè)電機(jī)的正轉(zhuǎn)反轉(zhuǎn),再調(diào)用一段延時(shí)程序,完成動(dòng)作。 其中,兩個(gè)輪子反向轉(zhuǎn)動(dòng)時(shí),可實(shí)現(xiàn)以車身中心為圓心轉(zhuǎn)彎,當(dāng)一個(gè)輪轉(zhuǎn)動(dòng)時(shí),可實(shí)現(xiàn)以車輪為圓心轉(zhuǎn)彎。 5.2.2 運(yùn)動(dòng)控制模塊 ?延時(shí)程序:通過(guò)循環(huán)調(diào)用,執(zhí)行空語(yǔ)句實(shí)現(xiàn) DELAY: MOV R5,#04H ;延時(shí)1s DLOOP6: MOV R7,#0FF
26、H ;延時(shí)250ms DLOOP5: MOV R6,#0FFH ; DLOOP4: NOP ; NOP ; DJNZ R6,DLOOP4 ; DJNZ R7,DLOOP5 ; DJNZ R5,DLOOP6 ; RET ?直行程序:MOV P1,#50H ACALL DELAY RET ?后退程序:MOV P1,#A0H ACALL DELAY RET ?輪心左轉(zhuǎn):MOV P1,#10 H ACALL DELAY RET ?輪心右轉(zhuǎn):MOV P1,#40H ACALL DELAY RET ?軸心左轉(zhuǎn):MOV P1,#90H ACALL DEL
27、AY RET ?軸心右轉(zhuǎn):MOV P1,#60H ACALL DELAY RET 5.3 找球程序模塊 5.3.1編程思路 找球的過(guò)程是通過(guò)對(duì)左右兩個(gè)紅外傳感器的電壓數(shù)字量比較實(shí)現(xiàn)的。當(dāng)球在左前方時(shí),左紅外傳感器接收光量大于右紅外,電壓數(shù)字量也大于右紅外,這時(shí)控制機(jī)器人向左轉(zhuǎn)。右轉(zhuǎn)情況相同。當(dāng)球在正前方時(shí),左右傳感器電壓數(shù)字量相等,此時(shí)控制機(jī)器人直行。當(dāng)球在背后時(shí),兩個(gè)紅外傳感器沒有光接收,此時(shí)以車身中心為圓心進(jìn)行轉(zhuǎn)動(dòng),直到搜索到球?yàn)橹埂? 找球程序有以下幾點(diǎn)值得注意。 1) 找球目的在于盡快地接近球,于是當(dāng)球不在正前方時(shí),每次調(diào)整方向后,調(diào)入一段短距離直行程序,在修正方向的
28、同時(shí),不斷地向球靠近;當(dāng)球在正前方時(shí),調(diào)入一段長(zhǎng)距離執(zhí)行程序,縮短找球時(shí)間。 2) 由于AD轉(zhuǎn)換以及傳感器的誤差的存在,即使球完全正對(duì)機(jī)器人,也不可能得到兩個(gè)完全相等的電壓數(shù)字量,于是在比較時(shí)應(yīng)設(shè)一個(gè)閾值,當(dāng)左右差值小于閾值時(shí),認(rèn)為正對(duì)足球,調(diào)用長(zhǎng)直行;當(dāng)差值大于閾值時(shí),再進(jìn)行左右大小判斷,調(diào)用轉(zhuǎn)彎程序。 3) 當(dāng)進(jìn)行閾值判斷時(shí),差值有可能得到負(fù)數(shù),在此情況下應(yīng)求其相反數(shù)。 4) 當(dāng)球不在紅外傳感器可視范圍,即傳感器接收到的紅外信號(hào)為零時(shí),由于周圍環(huán)境的影響和暗電流的存在,其輸出電壓不可能為零,而是約0.3 V左右。 5.3.2 找球程序流程圖 圖5-2 5.4 進(jìn)攻程
29、序模塊 5.4.1編程思路 進(jìn)攻方向的判斷是根據(jù)對(duì)面灰度的增減比較來(lái)進(jìn)行的。在接近白色的區(qū)域,對(duì)紅外光的反射量大,光電判讀器即灰度傳感器的輸出電壓高,在接近黑色區(qū)域,輸出電壓則低。在此,默認(rèn)從白到黑為進(jìn)攻方向進(jìn)行編程。 當(dāng)機(jī)器人找到球并持球時(shí),程序進(jìn)入進(jìn)攻模塊。該模塊大致分為兩個(gè)步驟,首先判斷前進(jìn)的方向是否是進(jìn)攻的方向,之后,再判斷前進(jìn)的方向是否平行于邊線正對(duì)球門。 在進(jìn)攻程序之前的找球程序模塊中,多次用到讀取AD轉(zhuǎn)換結(jié)果的程序READ,在該程序中,每執(zhí)行一次,將讀進(jìn)4個(gè)傳感器的轉(zhuǎn)換結(jié)果,其中左灰度和右灰度的轉(zhuǎn)換結(jié)果存放在04H和05H兩個(gè)地址單元里。在判斷正確前進(jìn)方向時(shí),03H和04
30、H里存放著前一次的轉(zhuǎn)換結(jié)果,先把它們轉(zhuǎn)移到共工作寄存器R1,R2中,在讀取當(dāng)前的灰度轉(zhuǎn)換結(jié)果,分別與前一次的結(jié)果進(jìn)行比較,只要其中有一個(gè)值增大,就認(rèn)定為前進(jìn)方向錯(cuò)誤,這時(shí)調(diào)用以車身中心為圓心的原地轉(zhuǎn)動(dòng)程序,當(dāng)轉(zhuǎn)過(guò)約180度后,讀取當(dāng)前灰度值保存,再調(diào)用一段短距離直行程序,再次比較灰度值變化趨勢(shì),直到左右兩個(gè)灰度值都為減小,這時(shí),機(jī)器人前進(jìn)方向?yàn)檎_進(jìn)攻方向。 在大方向調(diào)正之后,許要調(diào)整機(jī)器人的前進(jìn)角度,即使前進(jìn)方向平行于邊線,正對(duì)球門。這個(gè)動(dòng)作左右兩個(gè)灰度傳感器轉(zhuǎn)換結(jié)果之間的比較完成。先讀取當(dāng)前灰度值,左右兩個(gè)結(jié)果進(jìn)行比較,如果左灰度大于右灰度,說(shuō)明前進(jìn)方向偏左,調(diào)用原地轉(zhuǎn)動(dòng)程序向右偏轉(zhuǎn),調(diào)
31、整后,再次讀取,比較,直到左右相等為止,這時(shí)方向正對(duì)球門,調(diào)用長(zhǎng)距離直行程序,開始進(jìn)攻,把球攻入球門。 在兩個(gè)灰度值大小比較時(shí),與紅外傳感器有類似的問(wèn)題需要注意:相減時(shí)出現(xiàn)負(fù)數(shù)時(shí)需要調(diào)整為相反數(shù);判斷相等時(shí)有傳感器誤差存在,需要設(shè)定閾值,差值小于閾值即認(rèn)為相等。 圖5-3 5.4.2進(jìn)攻程序模塊流程圖 圖5-4 5.5 碰撞避讓程序模塊 5.5.1碰撞避讓程序的硬件實(shí)現(xiàn) 本設(shè)計(jì)的碰撞避讓系統(tǒng),是通過(guò)51單片機(jī)的中斷控制功能實(shí)現(xiàn)的。MCS-51系列單片機(jī)有5個(gè)中斷源,可分為2個(gè)中斷優(yōu)先級(jí)。本碰撞避讓系統(tǒng)所用到的中斷源為 ,即外部中斷0。其請(qǐng)求信號(hào)由P3.2輸入請(qǐng)求信號(hào)
32、有效電平由IT0和設(shè)置,一旦輸入信號(hào)有效,則將TCON中的IE0標(biāo)志位置1,可向CUP申請(qǐng)中斷。 5.5.2中斷控制設(shè)置 MCS-51系統(tǒng)中斷控制由4個(gè)專用寄存器組成。 中斷請(qǐng)求標(biāo)志TCON 其中IE0為外部中斷零的申請(qǐng)標(biāo)志位。當(dāng)外部中斷源有請(qǐng)求時(shí),該位置1,其復(fù)位由觸發(fā)方式來(lái)設(shè)置。IT0為外部中斷觸發(fā)方式設(shè)置位,IT0=0時(shí),為電平觸發(fā)方式,該方式下,CUP每個(gè)機(jī)器周期對(duì)外部中斷源采樣,如果為低電平,則進(jìn)入中斷。該方式中CUP響應(yīng)中斷后不能自動(dòng)清除IE標(biāo)志位,所以中斷返回前,外部中斷源引腳上的低電平必須撤銷。IT0=1時(shí)為脈沖觸發(fā)方式,即在兩個(gè)相鄰的機(jī)器周期內(nèi) 上的電平發(fā)生
33、由高到低的跳變即進(jìn)入中斷IE=1保持到CUP響應(yīng)中斷時(shí),才由硬件清除,該方式下,中斷源低電平需要至少保持一個(gè)機(jī)器周期。 中斷開放和屏蔽 IE 其中,EA為總中斷允許位,EA=1時(shí)開放中斷,EA=0時(shí)關(guān)斷一切中斷。EX0為外部中斷0允許位,EX0=1時(shí)允許。 中斷優(yōu)先級(jí)設(shè)定 IP 其中PX0為外部中斷0優(yōu)先級(jí)設(shè)定,PX0=1時(shí),為高優(yōu)先級(jí)。 5.5.3 碰撞系統(tǒng)模塊程序 中斷控制設(shè)置: SETB IT0 ;選擇觸發(fā)方式為電平觸發(fā) MOV IE,#85H ;EA=1,EX0=1,開放外部中斷0 MOV IP,#01H ;PX0=1,外部中斷零設(shè)為高優(yōu)先級(jí) 中
34、斷服務(wù)子程序 INTR0: MOV P1,#50H ;后退 ACALL DELAY01 ; ACALL TURN ;調(diào)頭 RETI ;中斷返回 5.6 整體程序 5.6.1編程思想 以上所述的幾大功能模塊,都可以獨(dú)立使用,分別完成不同的任務(wù),而把它們聯(lián)系到一塊,則可以形成一個(gè)完整的程序,使機(jī)器人在賽場(chǎng)上完成整場(chǎng)比賽。而把他們聯(lián)系在一起的橋梁則是前中提到的持球探測(cè)壁以及其上的持球傳感器。 持球傳感器也一個(gè)紅外接收管,不需要AD轉(zhuǎn)換,只需要邏輯判斷,當(dāng)機(jī)器人持球時(shí),該傳感器從P3.6口輸入一個(gè)高電平。整個(gè)程序運(yùn)行過(guò)程中,通過(guò)查詢方式來(lái)判斷是否持球。當(dāng)P3.6=0時(shí),執(zhí)行找球程
35、序,當(dāng)P3.6=1時(shí),執(zhí)行進(jìn)攻程序。在整個(gè)程序中,中斷開放,實(shí)現(xiàn)任何狀態(tài)下的碰撞避讓。 5.6.2整體程序流程圖: 圖5-5(點(diǎn)擊放大) 第六章 測(cè)試及設(shè)計(jì)總結(jié) 6.1 足球機(jī)器人完成圖 圖6-1(點(diǎn)擊放大): 足球機(jī)器人完成圖 6.2功能測(cè)試 6.2.1 找球功能模塊測(cè)試 測(cè)試條件:用一個(gè)高功率紅外發(fā)光管模擬比賽用球,在室內(nèi)日光燈光源下進(jìn)行測(cè)試。 測(cè)試軟件:找球程序模塊,差值閾值0.05V,無(wú)紅外情況輸出電壓0.45V。轉(zhuǎn)彎延時(shí)0.25秒,直行延時(shí)0.5秒。 測(cè)試結(jié)果:機(jī)器人能在40CM距離左右發(fā)現(xiàn)球,在向球運(yùn)動(dòng)過(guò)程中,前半段由于基礎(chǔ)電壓小,差值小于
36、閾值,直線前進(jìn);當(dāng)靠近球時(shí),電壓增大,差值大于閾值,機(jī)器人左右調(diào)整方向,逐漸靠近小球。 6.2.2 碰撞功能模塊測(cè)試 測(cè)試條件:面向墻壁直行,模擬碰撞場(chǎng)地?fù)醢濉? 測(cè)試軟件:裝入直行程序,中斷開放,中斷服務(wù)程序?yàn)榈雇搜訒r(shí)1秒,原地轉(zhuǎn)彎延時(shí)1秒。 測(cè)試結(jié)果:機(jī)器人在直行碰撞墻壁后,順利進(jìn)入中斷服務(wù)程序,倒退并調(diào)頭,之后中斷返回繼續(xù)直行。 6.2.3 方向判斷功能模塊測(cè)試 測(cè)試條件:用黑白兩色紙模擬場(chǎng)地基板,室內(nèi)日光燈光源。 測(cè)試軟件:方向判斷程序模塊。默認(rèn)由白向黑進(jìn)攻。在起點(diǎn)采樣,直行到另一色地面再次采樣,比較判斷。 測(cè)試結(jié)果:由白向黑行進(jìn)時(shí),機(jī)器人判斷方向
37、為正確進(jìn)攻方向 ,繼續(xù)前進(jìn);由黑向白行進(jìn)時(shí),機(jī)器人發(fā)現(xiàn)方向錯(cuò)誤,掉頭前進(jìn)。 6.3 設(shè)計(jì)結(jié)論 本足球機(jī)器人系統(tǒng),從市場(chǎng)調(diào)研,資料查找,構(gòu)思設(shè)計(jì),到制作調(diào)試完畢,歷時(shí)3個(gè)多月,最終基本達(dá)到設(shè)計(jì)要求。 6.3.1 本設(shè)計(jì)的優(yōu)點(diǎn)及創(chuàng)新之處 本設(shè)計(jì)利用簡(jiǎn)單的器件使機(jī)器人擁有了較為完善的功能,其開放的程序及模塊化的編程方法,用戶能夠根據(jù)需要方便的編寫輸入不同的程序,使得機(jī)器人的性能可以不斷的完善。同時(shí),留有諸多的擴(kuò)展接口(9個(gè)AD轉(zhuǎn)換接口,5個(gè)中斷源)給今后的功能擴(kuò)展留下了廣闊的空間。 由于使用常規(guī)元件,并自己動(dòng)手制作,整個(gè)開發(fā)制作成本約300元,大大低于市場(chǎng)同類產(chǎn)品。 機(jī)器人的外形結(jié)構(gòu)可
38、以根據(jù)需要改變,并實(shí)現(xiàn)一定功能,本設(shè)計(jì)中的“持球探測(cè)臂”就是通過(guò)機(jī)器人的外形實(shí)現(xiàn)功能,大大簡(jiǎn)化了軟件程序的算法,是本設(shè)計(jì)的創(chuàng)新之處。 6.3.2 本設(shè)計(jì)可改進(jìn)的方面 本設(shè)計(jì)屬于第一次嘗試,許多功能還不夠完善,結(jié)構(gòu)也過(guò)于簡(jiǎn)單。在以下方面有待改進(jìn)。 1. 移動(dòng)方式方面:目前所使用的2個(gè)驅(qū)動(dòng)輪方式都只有兩個(gè)自由度,還不能實(shí)現(xiàn)任意定位和定向。若4個(gè)輪子都具備獨(dú)立驅(qū)動(dòng)和轉(zhuǎn)向能力,則可實(shí)現(xiàn)全方位的運(yùn)動(dòng),大大增加其靈活性。 2. 電機(jī)驅(qū)動(dòng)方式方面:目前所使用的邏輯驅(qū)動(dòng),只能實(shí)現(xiàn)電機(jī)的方向控制,遠(yuǎn)遠(yuǎn)不能滿足需要,因此,若能利用PWM等方式對(duì)電機(jī)進(jìn)行調(diào)速,這樣在比賽中將會(huì)有更大的主動(dòng)權(quán)。 3. A
39、D轉(zhuǎn)換方面:目前能使用的紅外傳感器只能實(shí)現(xiàn)簡(jiǎn)單地計(jì)算比較。精確的計(jì)算差值,必利用差值對(duì)轉(zhuǎn)向進(jìn)行精確的控制,這也是改進(jìn)的方向之一。 4. 傳感器方面:本次設(shè)計(jì)只使用了光電和微動(dòng)開關(guān)兩種傳感器,而傳感器的種類是繁多的,如超聲波測(cè)距傳感器,數(shù)字指南針等等,在足球機(jī)器人上都能發(fā)揮很大的作用。 6.4 設(shè)計(jì)參數(shù): 6.5 配件表: 參考文獻(xiàn) 1. 曹巧媛電子工業(yè)出版社,2002 2. 黃鴻,陳杰高等教育出版社,2002 3. 葛偉亮,賀力勤北京理工大學(xué)出版社,2001 4. 張有順中國(guó)計(jì)量出版社,1998 5. 蔡自興清華大學(xué)出版社,2001 6. 劉進(jìn)長(zhǎng),辛健成河南科學(xué)技術(shù)出版社,2000 7. (美)麥克.布瑞德科學(xué)出版社,2004 8. (日)船倉(cāng)一郎科學(xué)出版社,2004 9. (日)高橋友以,秋田純一,渡邊正人科學(xué)出版社,2004 10. AT89C4051 Description, ATMEL公司提供芯片資料 11. TLC1543 Description, TEXAS INSTRUMENTS公司提供芯片資料 12. L298N Description,ST公司提供芯片資料
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案