投籃機(jī)器人
投籃機(jī)器人,投籃,機(jī)器人
I目 錄第一章 緒 論.11.1 課題背景 .11.1.1 機(jī)器人的發(fā)展及特點(diǎn)及發(fā)展前景.11.2 比賽規(guī)則 .21.2.1 規(guī)則簡(jiǎn)介.21.2.2 競(jìng)技型投籃機(jī)器人的設(shè)計(jì)與制作的意義.31.2.3 場(chǎng)地簡(jiǎn)介.31.3 方案簡(jiǎn)介 .41.3.1 總體方案.41.3.2 小自動(dòng)機(jī)器人技術(shù)要求.51.3.3 小自動(dòng)機(jī)器人初步設(shè)想.5第二章 機(jī)械結(jié)構(gòu)設(shè)計(jì).72.1 行走機(jī)構(gòu) .72.2 定位機(jī)構(gòu) .92.3 升降機(jī)構(gòu) .92.4 投籃機(jī)構(gòu) .10第三章 電氣裝備設(shè)計(jì).133.1 電機(jī)及驅(qū)動(dòng)器 .133.2 數(shù)字羅盤 .133.2.1 性能簡(jiǎn)介.133.2.2 操作步驟.143.3 單片機(jī)電路板 .153.3.189C51 單片機(jī).163.3.2 計(jì)數(shù)器/定時(shí)器 8253 簡(jiǎn)介.203.3.3 電路板原理.233.3.4 PCB .233.4 電氣系統(tǒng)總體說明 .23第四章 自動(dòng)控制設(shè)計(jì).264.1 編程準(zhǔn)備工作 .264.1.1 設(shè)置電機(jī)驅(qū)動(dòng)器.26 II4.1.2 確定地址.264.1.3 計(jì)算測(cè)量某些參數(shù).274.2 子程序的編寫 .274.2.1 羅盤接受程序.274.2.2 羅盤標(biāo)定程序.304.2.3 電機(jī)速度控制系列程序.314.2.4 電機(jī)位移控制系列程序.314.2.5 定位機(jī)構(gòu)檢測(cè)程序流程圖.334.2.6 投籃機(jī)構(gòu) A 控制程序流程圖.344.2.7 投籃機(jī)構(gòu) B 控制程序流程圖.35結(jié) 論.36致 謝.37參考文獻(xiàn).38附錄 1 控制程序.39附圖 1 硬件原理圖 .55附圖 2 PCB .56長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 1第一章第一章 緒緒 論論1.11.1 課題背景課題背景根據(jù)“全國(guó)大學(xué)生機(jī)器人電視大賽”中競(jìng)技型投籃機(jī)器人的設(shè)計(jì)與制作要求,進(jìn)行自動(dòng)機(jī)器人的機(jī)械,電路和控制的設(shè)計(jì)。1.1.11.1.1 機(jī)器人的發(fā)展及特點(diǎn)及發(fā)展前景機(jī)器人的發(fā)展及特點(diǎn)及發(fā)展前景機(jī)器人雖然已經(jīng)有幾十年的發(fā)展歷史,然而,迄今為止,它還沒有一個(gè)嚴(yán)格的、為人們所公認(rèn)的定義。但實(shí)際上,人們所關(guān)心的是機(jī)器人作為一種實(shí)用的操作系統(tǒng)的特性和適用范圍,至于如何給它下一個(gè)嚴(yán)格的、精確的定義,似乎是個(gè)較為次要的問題。一般說來(lái),機(jī)器人是指在人的操縱下能夠在人難以接近的環(huán)境中完成比較復(fù)雜的、精細(xì)的操作的一種遠(yuǎn)距離操作系統(tǒng)。當(dāng)然,這里所謂的“機(jī)器人”只是指它具有人類的一部分操作功能及與操作有關(guān)的某些其它功能而言,并不意味著它的全部功能及至形狀都與人相似。事實(shí)上,迄今所有的機(jī)器人,除了與操作有關(guān)的某些功能以外,其它方面均與人相差甚遠(yuǎn)。在機(jī)器人中,人(操作者)是不可缺少的重要組成部分,在用這種裝置完成一項(xiàng)操作任務(wù)的整個(gè)過程中,自始至終都必須有人的參加。同時(shí),人通過觀察系統(tǒng)對(duì)從動(dòng)部件的工作情況及其周圍環(huán)境保持直接或間接的視覺監(jiān)視,從而能充分的依靠人的感覺和智力及時(shí)做出判斷和決策,以適應(yīng)工作對(duì)象或其周圍環(huán)境的變化,隨機(jī)應(yīng)變地完成那些較為復(fù)雜的、或者事先難以預(yù)料的操作任務(wù)。目前,機(jī)器人已經(jīng)越來(lái)越多、越來(lái)越廣泛地應(yīng)用于生產(chǎn)生活的各個(gè)方面。金字塔探密,機(jī)器人功不可沒。美國(guó)攻打伊拉克,機(jī)器人也發(fā)揮了重要作用。中國(guó)神州五號(hào)的成功發(fā)射,充分顯示了我國(guó)在機(jī)器人某個(gè)領(lǐng)域的實(shí)力。對(duì)于現(xiàn)階段的中國(guó),要成為世界強(qiáng)國(guó)。必須大力發(fā)展工業(yè)現(xiàn)代化、智能化。根據(jù)目前我國(guó)現(xiàn)階段落后的工業(yè)和匱乏的高尖人才。大力發(fā)展自動(dòng)機(jī)器人就成了我國(guó)現(xiàn)階段的當(dāng)務(wù)之急。機(jī)器人技術(shù)不但能提高我國(guó)的工業(yè)生產(chǎn)水平,而且還能極大的增強(qiáng)國(guó)家的軍事實(shí)力,為祖國(guó)的早日統(tǒng)一,提高人民的物質(zhì)生活水平提供技術(shù)保證。所以大力發(fā)展機(jī)器人必然成了我國(guó)現(xiàn)階段的當(dāng)務(wù)之急。 長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 21.21.2 比賽規(guī)則比賽規(guī)則1.2.11.2.1 規(guī)則簡(jiǎn)介規(guī)則簡(jiǎn)介此次比賽的意圖是盡量多的將比賽用球射入 9 個(gè)有一定距離且高度不同的籃筐內(nèi),每個(gè)籃筐包含 3 個(gè)排成三角形的網(wǎng)袋,射入賽球?qū)⒌玫揭欢ǖ姆謹(jǐn)?shù),最后,按照得分多少來(lái)判定比賽的輸贏。如果一個(gè)參賽隊(duì)將球射入包括中心籃筐 3 個(gè)網(wǎng)袋在內(nèi)的所有籃筐,或者它的得分比對(duì)手高時(shí),該隊(duì)將被視為獲勝隊(duì)。每場(chǎng)比賽的時(shí)間為 3 分鐘。計(jì)分標(biāo)準(zhǔn)如下:1.球入袋計(jì)分。袋中只有一球可計(jì)分。2.如果兩隊(duì)的球都放入同一網(wǎng)袋內(nèi),兩隊(duì)都可以得分。3.每個(gè)網(wǎng)袋的分?jǐn)?shù)如下:“中心籃筐”5 分/進(jìn)球/網(wǎng)袋;“內(nèi)部籃筐”2 分/進(jìn)球/網(wǎng)袋;“外部籃筐”l 分/進(jìn)球/網(wǎng)袋;4.如果某隊(duì)將球投入所有籃筐以及中心籃筐的三個(gè)網(wǎng)袋中,該隊(duì)將被視為“征服了太空”并贏得比賽。比賽場(chǎng)地分為手動(dòng)區(qū)和自動(dòng)區(qū)自動(dòng)區(qū):1.“自動(dòng)區(qū)”是自動(dòng)機(jī)器人的運(yùn)行區(qū)域。2.該區(qū)域由一個(gè) 100mm 高、20mm 寬的 16 邊形木欄所包圍。3.在自動(dòng)區(qū)地板上,標(biāo)有兩條寬 30mm、直徑分別為 3000mm 和 6000mm 的圓形白色引導(dǎo)線。4.在自動(dòng)區(qū)上標(biāo)有 8 條 30mm 寬、對(duì)角線狀的白色引導(dǎo)線。5.由排列成三角形的 3 個(gè)網(wǎng)袋(每個(gè)網(wǎng)袋的直徑為 450mm)組成的 9 個(gè)籃筐被懸掛在自動(dòng)區(qū)上方,4 個(gè)外部籃筐掛在地面上方 l500mm 處,4 個(gè)內(nèi)部籃筐掛在地面上方 2000mm 處,中心籃筐的高度為 3000mm, 被懸掛賽場(chǎng)的中心點(diǎn)上。6.在各籃筐正下方的場(chǎng)地上固定有直徑為 100mm、高 10mm 的白色圓盤,以標(biāo)記籃筐的位置。 手動(dòng)區(qū):1.手動(dòng)區(qū)是手控機(jī)器人的運(yùn)行區(qū)域。2.該區(qū)域由一個(gè) 100mm 高、20mm 寬的 16 邊木欄所包圍3.內(nèi)有一個(gè)球庫(kù)為每個(gè)參賽隊(duì)提供的 16 個(gè)球放置在球庫(kù)中,排列方式為44 方陣。長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 3其它規(guī)定:1.手控機(jī)器人不能接觸或?qū)⒆约旱牟考烊搿白詣?dòng)區(qū)”。2.機(jī)器人電源電壓必須低于 DC24 伏。3.所有機(jī)器人的總重應(yīng)小于 50kg。4.比賽所使用的球?yàn)樗芰锨?,直?135mm,重 155g。比賽的規(guī)則和特點(diǎn)要求手控機(jī)器人應(yīng)能完成取球、行走及投射不同高度距離的籃筐的能力,且要求質(zhì)量輕,盡可能采用輕質(zhì)材料,使用簡(jiǎn)單可靠的機(jī)械結(jié)構(gòu)。如圖 1-1 所示:圖 1-1 場(chǎng)地布局1.2.21.2.2 競(jìng)技型投籃機(jī)器人的設(shè)計(jì)與制作的意義競(jìng)技型投籃機(jī)器人的設(shè)計(jì)與制作的意義通過對(duì)競(jìng)技型投籃機(jī)器人的設(shè)計(jì)與制作,不但能使我從理論學(xué)習(xí)過渡到實(shí)際工作中去,而且還能極大的開闊我的視野,提高我進(jìn)行實(shí)際項(xiàng)目開發(fā)的能力。特別是對(duì)單片機(jī)的應(yīng)用和對(duì)電機(jī)的控制。1.2.31.2.3 場(chǎng)地簡(jiǎn)介場(chǎng)地簡(jiǎn)介手動(dòng)機(jī)器人從手動(dòng)機(jī)器人啟動(dòng)區(qū)啟動(dòng),并只能在手動(dòng)區(qū)活動(dòng),初始狀態(tài)不能帶球;自動(dòng)機(jī)器人從自動(dòng)機(jī)器人啟動(dòng)區(qū)啟動(dòng),初始狀態(tài)可以帶球。在啟動(dòng)區(qū)機(jī)器人的尺寸必須控制在 1.21.22m 以內(nèi),所有機(jī)器人的總重量不能超過 50kg。在場(chǎng)地中,籃筐有三種高度,分別為 3m,2m,1.5m,分布在自動(dòng)區(qū)內(nèi)。籃筐的正下方有直徑 100mm 高 10mm 的白色標(biāo)志盤。場(chǎng)地上分布著 30mm 寬的白色引導(dǎo)線。如圖 1-2,圖 1-3 所示:長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 4 圖 1-2 場(chǎng)地側(cè)視圖圖 1-3 場(chǎng)地俯視圖1.31.3 方案簡(jiǎn)介方案簡(jiǎn)介1.3.11.3.1 總體方案總體方案 經(jīng)過對(duì)場(chǎng)地的分析,我們決定采用一大一小兩個(gè)自動(dòng)機(jī)器人和手動(dòng)機(jī)器人配合的方案。如圖 1-4:其中,大機(jī)器人為進(jìn)攻主力,以前導(dǎo)軌快速搶占中心點(diǎn),再用大功率電機(jī)牽引機(jī)器人主體待指定位置并升出 5 個(gè)手臂同時(shí)投 3m 和 2m 的 5 個(gè)籃筐。小自動(dòng)機(jī)器人是大機(jī)器人的補(bǔ)充,一開始裝在大機(jī)器人肚子里以有效利用空間,相對(duì)于大機(jī)器人他有較大的靈活性,有多條路徑,還可以根據(jù)形勢(shì)投 2m長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 5和 1.5m 的籃筐,必要時(shí)可充當(dāng)敢死隊(duì)員。手動(dòng)機(jī)器人由人工直接操作,可在戰(zhàn)略上有效支援自動(dòng)機(jī)器人。 圖 3-4 初期方案的 3D 建模1.3.21.3.2 小自動(dòng)機(jī)器人技術(shù)要求小自動(dòng)機(jī)器人技術(shù)要求 根據(jù)總體方案,對(duì)小自動(dòng)機(jī)器人提出以下要求:1具有自主行走和定位能力;2帶 6 粒球,可兩次投籃,即可投 1.5m 籃也可投 2m 籃;3為順利與主機(jī)器人脫離高度應(yīng)小于 1150mm,寬度小于 820mm;4考慮到總重量限制,重量應(yīng)小于 8kg;5結(jié)構(gòu)簡(jiǎn)單,易于加工;6與其他機(jī)器人的零件有一定的通用性,實(shí)現(xiàn)模塊化。7電源為 12V,或 24V;8采用單片機(jī)控制,以具有較強(qiáng)的靈活性;1.3.31.3.3 小自動(dòng)機(jī)器人初步設(shè)想小自動(dòng)機(jī)器人初步設(shè)想基于以上考慮,我做了以下設(shè)想:1為獲得足夠的剛度和較低的重量,以及良好的加工性能,我選用鋁材作為主要加工材料;2采用兩電機(jī)分別驅(qū)動(dòng)兩主動(dòng)輪,并以萬(wàn)向輪作輔助支撐的方式,從而使整個(gè)機(jī)器人行走靈活,并準(zhǔn)確完成自轉(zhuǎn)等戰(zhàn)術(shù)動(dòng)作。3為降低機(jī)構(gòu)的復(fù)雜程度,適當(dāng)采用靈活的線傳動(dòng)。長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 64從精度,重量,以及物資情況等方面考慮,采用德國(guó) FAULHABER 公司生產(chǎn)的 2657 型和 2342 型直流伺服電機(jī)。這兩種電機(jī)都配備了專用的減速器、碼盤和 MCDC2805 型驅(qū)動(dòng)器,在單片機(jī)控制下,采用步進(jìn)模式可十分簡(jiǎn)便的實(shí)現(xiàn)較精確的位移和角度控制。5整個(gè)機(jī)器人采用 4 個(gè)電機(jī),其中兩個(gè)為行走電機(jī);一個(gè)負(fù)責(zé)升降,機(jī)器人從初始高度到投 1.5m 籃,或投 2m 籃,都需要進(jìn)行升降;另一個(gè)負(fù)責(zé)投籃。 6為擺脫傳統(tǒng)的循線定位方式對(duì)導(dǎo)引線的嚴(yán)重依賴,可考慮全新的傳感器,如數(shù)字羅盤,紅外傳感器等。經(jīng)過分析,采用數(shù)字羅盤比較適應(yīng)場(chǎng)地布局。這樣,通過數(shù)字羅盤反饋角度,計(jì)數(shù)器和光電碼盤反饋位移,從而實(shí)現(xiàn)類似于極坐標(biāo)的定位方式。每次捕捉到標(biāo)志盤,可以重新標(biāo)定原點(diǎn)以減少累計(jì)誤差。7由于數(shù)字羅盤,光電碼盤和機(jī)械結(jié)構(gòu)引起的總誤差可能太大,無(wú)法順利完成投籃,可能需要一個(gè)專門的定位機(jī)構(gòu),在一定范圍內(nèi)糾正偏差。長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 7第二章第二章 機(jī)械結(jié)構(gòu)設(shè)計(jì)機(jī)械結(jié)構(gòu)設(shè)計(jì)2.12.1 行走機(jī)構(gòu)行走機(jī)構(gòu) 剛開始采用圖 2-1 左圖比較常規(guī)的方案,結(jié)構(gòu)簡(jiǎn)單,轉(zhuǎn)向靈活,只用兩個(gè)萬(wàn)向輪,重量輕。但加工上比較困難,還有一個(gè)致命性的缺陷,就是由于萬(wàn)向輪的輪徑較小,但車體正前方與標(biāo)志盤接觸時(shí)(經(jīng)常出現(xiàn)這種情況),容易導(dǎo)致車體被迫轉(zhuǎn)向,甚至整個(gè)機(jī)器人卡死。 圖 2-1 行走機(jī)構(gòu)兩種步局方案后經(jīng)改進(jìn),采用右圖所示布局。雖然增加了兩個(gè)萬(wàn)向輪,但有效的避免了萬(wàn)向輪與標(biāo)志盤的直接接觸,而且加工裝配十分簡(jiǎn)便,容易保持精度。行走機(jī)構(gòu)的控制精度對(duì)機(jī)器人能否完成成套動(dòng)作起決定性的作用。為保證精度和足夠的剛度,設(shè)計(jì)了一套精度較高的加工件以實(shí)行運(yùn)動(dòng)從驅(qū)動(dòng)電機(jī)到主動(dòng)輪的傳遞。為簡(jiǎn)化結(jié)構(gòu),降低重量,不采用齒輪等傳動(dòng)件,由于電機(jī)以步進(jìn)模式工作,且功率較大,所以在速度和驅(qū)動(dòng)力上都能滿足要求。驅(qū)動(dòng)軸用兩個(gè)深溝球軸承和一個(gè)推力球軸承,可有效克服各種阻力。其受力分析如下: 圖 2-3 驅(qū)動(dòng)輪受力分析主動(dòng)輪驅(qū)動(dòng)系統(tǒng)具體結(jié)構(gòu)如圖 2-3 所示:長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 8 圖 2-3 投籃機(jī)構(gòu)原理如圖所示,2 為主動(dòng)輪,11 為驅(qū)動(dòng)電機(jī),8 為連接電機(jī)與輪的驅(qū)動(dòng)軸。驅(qū)動(dòng)軸通過壓板 9 與電機(jī)軸配合,如圖 2-2 左下角所示。并通過法蘭盤 1 與主動(dòng)輪固定。由深溝球軸承 5 與 7 限制驅(qū)動(dòng)軸徑向位移,傳遞徑向力,并可承受一定的扭轉(zhuǎn)力矩。軸套 6 限定了軸承 5 與 7 的軸向位置。推力球軸承 3 限制驅(qū)動(dòng)軸軸向位移,承受徑向力。大部分零件通過套筒 10 和驅(qū)動(dòng)軸得到定位,并把作用力通過套筒 10 傳遞到支撐架 4 上,從而傳遞到機(jī)器人主體。裝備順序:1.從驅(qū)動(dòng)軸 8 開始,先后套上軸承 7,軸套 6,軸承 5;2.用螺釘將套筒 10 與電機(jī) 11 固定;3.將驅(qū)動(dòng)軸和軸承等裝入套筒 10 中,同時(shí)將電機(jī)軸插入驅(qū)動(dòng)軸 8 的孔中;4.從套筒 10 的窗口中裝入壓板,并用內(nèi)六角螺釘固定好;5.將套筒 10 與支撐架 4 相連,螺釘固定;6.依次裝推力球軸承 3,墊片,主動(dòng)輪 2,法蘭盤 1;7.用螺釘將法蘭盤分別與驅(qū)動(dòng)軸 8 與主動(dòng)輪 2 固定。長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 92.22.2 定位機(jī)構(gòu)定位機(jī)構(gòu)定位機(jī)構(gòu)的功能是糾正行走機(jī)構(gòu)到達(dá)標(biāo)志盤時(shí)的誤差。其機(jī)構(gòu)非常簡(jiǎn)單,由 3 個(gè)限位開關(guān),2 個(gè)彈性擋片,以及一些附屬的支撐件,固定件組成。整個(gè)定位機(jī)構(gòu)裝在機(jī)器人的正前方,其中擋片下沿距地面 5mm, 小于標(biāo)志盤的高度,便于與標(biāo)志盤接觸,無(wú)論擋片觸發(fā)區(qū)上任何一點(diǎn)與標(biāo)志盤接觸,擋片產(chǎn)生彈性形變便可觸發(fā)對(duì)應(yīng)的限位開關(guān);中限位開關(guān)矩地面 8mm,當(dāng)標(biāo)志盤(10mm)從其下經(jīng)過時(shí)便觸發(fā)。 圖 2-4 定位機(jī)構(gòu)原理如圖 2-4 所示,由于機(jī)器人全身機(jī)構(gòu)對(duì)稱分布,且萬(wàn)向輪阻力很小,機(jī)器人旋轉(zhuǎn)中心大致在兩主動(dòng)輪輪軸連線的中點(diǎn)。兩彈性擋片與機(jī)器人正前方的夾角都為 45 度,且機(jī)器人旋轉(zhuǎn)中心到兩彈性擋片的距離都為 50mm(標(biāo)志盤的半徑)。當(dāng)標(biāo)志盤與左擋片接觸時(shí),如圖 2-4,左限位開關(guān)被觸發(fā),此時(shí)標(biāo)志盤的圓心一定在經(jīng)過機(jī)器人旋轉(zhuǎn)中心,且與機(jī)器人正前方偏左 45 度的直線上。那么將機(jī)器人繞旋轉(zhuǎn)中心逆時(shí)針旋轉(zhuǎn) 45 度,便可使機(jī)器人正前方對(duì)準(zhǔn)標(biāo)志盤。這時(shí)再讓機(jī)器人緩慢前進(jìn),標(biāo)志盤就會(huì)觸發(fā)中限位開關(guān),表明機(jī)器人的旋轉(zhuǎn)中心已與籃筐正中心理論上重合,從而完成定位。當(dāng)標(biāo)志盤與右擋片接觸時(shí)也同理。經(jīng)實(shí)驗(yàn),該定位機(jī)構(gòu)穩(wěn)定性較高,可糾正300mm 的偏差。 2.32.3 升降機(jī)構(gòu)升降機(jī)構(gòu)升降機(jī)構(gòu)要求重量輕,行程長(zhǎng),截面尺寸小(防止與投籃機(jī)構(gòu)空間干涉)長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 10,所以我采用如圖 2-5 所示結(jié)構(gòu)。起初選用左邊的方案,利用滾輪滾動(dòng)來(lái)減小摩擦,因此結(jié)構(gòu)較為復(fù)雜。但實(shí)際上我發(fā)現(xiàn)由于加工和裝備精度的原因,反而使機(jī)構(gòu)的阻力很大,爬行現(xiàn)象嚴(yán)重。由于升降機(jī)構(gòu)還要為投籃機(jī)構(gòu)提供動(dòng)力(將在下面提到),很難滿足要求。支座將升降臺(tái)整個(gè)圍住,剛度很高,但重量也很大。 圖 2-5 升降機(jī)構(gòu)兩種方案后來(lái)經(jīng)過改進(jìn),變?yōu)橛疫叺姆桨?,用?jiǎn)單的滑動(dòng)摩擦代替滾動(dòng)摩擦。增加一個(gè)動(dòng)滑輪,不但使升降臺(tái)減小了軸向作用力,而且減小了牽引繩的作用力,對(duì)鋼絲線和電機(jī)的要求都減小了。2.42.4 投籃機(jī)構(gòu)投籃機(jī)構(gòu)投籃機(jī)構(gòu)要求一次可將 3 個(gè)球分別投入同一個(gè)籃的 3 個(gè)籃筐中。由于籃筐的空間結(jié)構(gòu)比較復(fù)雜(如圖 2-6),且初始位置不定并可任意旋轉(zhuǎn),這勢(shì)必要提高整個(gè)機(jī)構(gòu)的復(fù)雜性。經(jīng)過長(zhǎng)時(shí)間的設(shè)計(jì),最終的方案只用一個(gè)電機(jī),一個(gè)自由度。其原理如圖2-7 所示:采用靈活輕便的線傳動(dòng)。由于整個(gè)投籃過程中執(zhí)行機(jī)構(gòu)的阻力矩變化很大,從初始的很小的阻力到逐漸變大,又逐漸變小,為使整個(gè)投籃過程功率平穩(wěn),以利用電機(jī)的功率,設(shè)計(jì)成偏心輪結(jié)構(gòu)。初始時(shí)主動(dòng)力臂很小,隨著阻力矩的增大,增大主動(dòng)力臂,之后又隨著阻力矩的減小,減小主動(dòng)力臂。這樣在整個(gè)投籃過程中,主動(dòng)力大小變化不大的情況下,使整個(gè)動(dòng)作連貫平穩(wěn)。長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 11 圖 2-6 籃筐 3D 圖投籃手臂通過懸臂固定在支撐座上。支撐座上固定著六個(gè)(兩組,每組三個(gè))懸臂和手臂,每個(gè)手臂上的球袋里帶一個(gè)球。球袋由紫銅管圍成的圓環(huán)和一條鋁帶構(gòu)成,由于鋁帶的固定方式,是球在放入球袋后就由于重力墜在袋中,及時(shí)小范圍的晃動(dòng)也不會(huì)從袋中躍出。而一旦手臂投籃時(shí),球袋反扣,球就會(huì)順著鋁帶快速滾出,并作拋物線運(yùn)動(dòng)。 圖 2-7 投籃機(jī)構(gòu)原理圖如圖 2-7 右下腳小圖,支撐座由直徑 60mm 的鋁管加工而成,靠橡膠圈的長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 12變形套在方圓過渡上,這樣不僅拆卸方便而且必要時(shí)也快速調(diào)整手臂方向,使之正對(duì)場(chǎng)地上的籃筐,提高投籃成功率。方圓過渡可使圓形的支撐座與矩形的升降桿連接在一起。圖 2-7 中的左圖是其中一組投籃手臂的原理圖。電機(jī)通過壓板帶動(dòng)線輪旋轉(zhuǎn)。線輪牽引的鋼絲在接近末端時(shí)分成三股,每一股分別帶動(dòng)一個(gè)手臂。鋼絲繩的末端固定在偏心輪上,當(dāng)拉動(dòng)鋼絲時(shí)偏心輪就會(huì)繞自身的軸轉(zhuǎn)動(dòng),而固定在偏心輪的手臂也就隨著偏心輪繞軸轉(zhuǎn)動(dòng),從而把球送入藍(lán)筐中。當(dāng)手臂旋轉(zhuǎn)到位時(shí),緩沖橡膠片就會(huì)觸發(fā)行程開關(guān)反饋給電路板,這時(shí)程序就會(huì)讓電機(jī)停車。另一組投籃手臂(稱為投籃機(jī)構(gòu) B)的原理與上一組(稱為投籃機(jī)構(gòu) A)有所不同。它沒有專門的動(dòng)力系統(tǒng)。鋼絲繩的下端固定在機(jī)器人的底座上。但升降機(jī)構(gòu)升到一定高度時(shí),鋼絲繩被拽緊,并開始帶動(dòng)三個(gè)手臂。其他部分的結(jié)構(gòu)和原理與上一組一樣。投籃時(shí)球在手臂的最前面,直接與籃筐碰撞。如果正好對(duì)準(zhǔn),則球直接滾入筐中;如果偏了,則在手臂的作用下球推動(dòng)籃筐轉(zhuǎn)動(dòng),直到球擦入筐中;如果正好卡在死區(qū)(兩個(gè)籃筐之間的兩節(jié)縫隙,見圖 2-8),則嘗試讓機(jī)器人自轉(zhuǎn) 60 度后再投籃。圖 2-8 投籃的角度死區(qū)長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 13第三章第三章 電氣裝備設(shè)計(jì)電氣裝備設(shè)計(jì)3.1 電機(jī)及驅(qū)動(dòng)器電機(jī)及驅(qū)動(dòng)器為了獲得良好的機(jī)械和電氣性能,我選用了德國(guó) FAULHABER 公司生產(chǎn)的2657 型和 2342 型直流伺服電機(jī),并且為其配備了專用的 14/1 和 66/1 的減速器、碼盤和 MCDC2805 型驅(qū)動(dòng)器。工作電壓 24V。這套電機(jī)具有體積小、重量輕、出力大、控制簡(jiǎn)便等優(yōu)點(diǎn)。2805 型驅(qū)動(dòng)器有電壓、步進(jìn)等幾種控制模式。為了實(shí)現(xiàn)較精確的位移和角度控制,我采用了步進(jìn)控制模式。該模式控制起來(lái)十分簡(jiǎn)便。其接線如圖 3-1 所示: 圖 3-1 電機(jī)與驅(qū)動(dòng)器接線圖一共只需要兩個(gè)控制信號(hào):方向和脈沖。用+5V 和 GND 作為方向信號(hào)來(lái)控制電機(jī)的正反轉(zhuǎn)動(dòng)方向;用不同頻率的脈沖作為脈沖信號(hào)來(lái)控制電機(jī)的轉(zhuǎn)動(dòng)速度。驅(qū)動(dòng)器,電機(jī)和光電碼盤本身就組成了一個(gè)閉環(huán)反饋系統(tǒng)。在不丟步的境況下,只要輸入相應(yīng)個(gè)數(shù)的脈沖,電機(jī)就轉(zhuǎn)相應(yīng)的角度。3.23.2 數(shù)字羅盤數(shù)字羅盤3.2.13.2.1 性能簡(jiǎn)介性能簡(jiǎn)介1.描述TDCM3 是一個(gè)高性能,低損耗的數(shù)字羅盤,一旦主機(jī)提出請(qǐng)求,它通過串口連接向主機(jī)系統(tǒng)傳輸數(shù)據(jù)。TDCM3 內(nèi)有一個(gè)高度集成的標(biāo)定程序用來(lái)補(bǔ)償周圍有鐵磁介質(zhì)引起的失真。2.應(yīng)用1.交通工具指南針;2.PDA,移動(dòng)電話,望遠(yuǎn)鏡;3.導(dǎo)航系統(tǒng);長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 144.仿真實(shí)體.3.主要性能誤差 3 度精度 0.5 度重復(fù)度 3 度4.能量供應(yīng)所需電壓 3V5V所需電流 休眠模式 1uA 標(biāo)定模式 8mA5.通信TDCM3 提供 2400,4800,9600,19200 波特率 4 個(gè)等級(jí)的頻率。6.特色探測(cè)失真:當(dāng)有磁介質(zhì)干擾等將會(huì)顯示一個(gè)警告標(biāo)記。并妥善處理當(dāng)前的電信號(hào).并具有自動(dòng)標(biāo)定算法庫(kù)。 7.管角設(shè)定如圖 3-2:圖 3-2 管腳設(shè)定 在實(shí)際應(yīng)用中,我將羅盤直接安裝在它本身直帶的調(diào)試電路板上。而在上電狀態(tài)下,調(diào)試電路板將 RTS 腳經(jīng)電阻接高電平。為使 RTS 腳可置低電平,我用光電藕合器將其接地。光電藕合器的通斷決定 RTS 腳的電平:光電藕合器接通時(shí) RTS 腳為低電平;光電藕合器斷開時(shí) RTS 腳為高電平。 RXD 接單片機(jī)的 TX 腳,接收單片機(jī)的通信信號(hào);TX 接單片機(jī)的 RX 腳,向單片機(jī)傳送羅盤所測(cè)得的數(shù)據(jù)。3.2.23.2.2 操作步驟操作步驟當(dāng)設(shè)備上電時(shí),TDCM3 就準(zhǔn)備好了輸出。當(dāng)設(shè)備第一次啟用時(shí)他可能需要標(biāo)定.TDCM3 還為用戶提供 3 個(gè)程序。它們是普通,連續(xù)和標(biāo)定模式。一般情況下,TDCM3 進(jìn)入睡眠模式以節(jié)省能量。1.普通模式長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 15當(dāng)主機(jī)通過 RTS 管腳向設(shè)備發(fā)出請(qǐng)求,設(shè)備就會(huì)輸出。請(qǐng)注意在主機(jī)給設(shè)備發(fā)出脈沖請(qǐng)求前,RX 角必須保持高電平。(請(qǐng)看圖 3-3 普通模式波形表) 圖 3-3 普通模式波形圖主機(jī)接受到的是 3 個(gè)連續(xù)字節(jié)。第一字節(jié)是狀態(tài)字節(jié),狀態(tài)字節(jié)表示TDCM3 的狀態(tài),在正常狀態(tài)下,狀態(tài)字節(jié)等于 80H,當(dāng)查出失真時(shí),狀態(tài)字節(jié)等于81H,這時(shí)必須要標(biāo)定。(請(qǐng)看 P.6 標(biāo)定模式);第二個(gè)是羅盤測(cè)得角度值的高字節(jié);第三個(gè)是羅盤測(cè)得角度值的低字節(jié)。即羅盤傳輸?shù)?3 個(gè)字節(jié)為:LMSMSBnoteStatus)(見計(jì)算公式(3-1): (3-2256LSBMSB1) 2.連續(xù)模式當(dāng)主機(jī)把 RTS 腳設(shè)為低電平時(shí),數(shù)字羅盤將要進(jìn)入連續(xù)模式。他將自動(dòng)輸出數(shù)據(jù)。請(qǐng)注意如果連續(xù)模式一旦開啟就不能返回到睡眠模式。3.標(biāo)定模式當(dāng)狀態(tài)字節(jié)等于 81H 時(shí)扭曲被發(fā)現(xiàn),這時(shí)用戶就需要執(zhí)行標(biāo)定。當(dāng)主機(jī)通過 RTS 腳給羅盤信號(hào)(同時(shí) RX 腳必須置低電平),這時(shí)模塊進(jìn)入標(biāo)定狀態(tài),把模塊旋轉(zhuǎn)兩周。接著讓主機(jī)置 RX 管腳為高電平(模塊將會(huì)回復(fù)RDY)。之后模塊將會(huì)返回到睡眠模式。3.33.3 單片機(jī)電路板單片機(jī)電路板考慮到欲實(shí)現(xiàn)的功能比較復(fù)雜和繁多,我采用單片機(jī)系統(tǒng)來(lái)做主控板。功能要求如下:1.能夠給電機(jī)提供 4 個(gè)方向信號(hào),4 個(gè)脈沖信號(hào);長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 162.能夠通過對(duì)脈沖的個(gè)數(shù)對(duì)電機(jī)進(jìn)行開環(huán)位移控制;3.能夠方便地對(duì)電機(jī)進(jìn)行速度控制;2.能夠與數(shù)字羅盤進(jìn)行通信;3.能夠接收 8 個(gè)限位開關(guān)信號(hào)。為滿足以上要求,我們需要大量的計(jì)數(shù)器和脈沖發(fā)生器,以及擴(kuò)展足夠數(shù)量的 I/O 口,故選擇芯片主要如下表:表 3-1 主要芯片的選擇及選擇理由序 號(hào)芯 片 名 稱選 擇 理 由1 單片機(jī) 89C51技術(shù)非常成熟,性能穩(wěn)定,價(jià)格也非常低廉,其內(nèi)存容量為 4K,考慮到程序不是太長(zhǎng),所以 89C51 是最佳的選擇。2計(jì)數(shù)器/定時(shí)器 8253一片 8253 中有 3 個(gè)計(jì)數(shù)器。每個(gè)計(jì)數(shù)器可以分別設(shè)定工作模式。其工作模式有 6 種之多,且用 8253 是硬件計(jì)數(shù),不占用寶貴的 CPU 的資源。3I/O 擴(kuò)展81558155 能夠擴(kuò)展更多的 I/O 口,并且可以編程定義 I/O 口的輸入/輸出功能。內(nèi)部自帶了鎖存器,而且還提供了 256 個(gè) RAM單元。3.3.13.3.189C5189C51 單片機(jī)單片機(jī) 由 ATMEL 公司生產(chǎn)的 AT89C51 是與 8031 系列完全兼容的單片機(jī),主要區(qū)別是它內(nèi)部有 4KBIT 的 ROM,出廠所配晶振頻率為 11.0592M,每個(gè)機(jī)器周期為1.085s,用戶可更換晶振以提高速度。程序存儲(chǔ)器為 64K,其中前 4K 在 CPU內(nèi)部。 89C51 單片機(jī)組成。(1)、一個(gè) 8 位微處理器 CPU。(2)、數(shù)據(jù)存儲(chǔ)器 RAM 和特殊功能寄存器 SFR。(3)、內(nèi)部程序存儲(chǔ)器 ROM。(4)、兩個(gè)定時(shí)/計(jì)數(shù)器,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可用做定時(shí)器。(5)、四個(gè) 8 位可編程的 I/O(輸入/輸出)并行端口,每個(gè)端口既可作輸入也可做輸出。(6)、一個(gè)串行端口,用于數(shù)據(jù)的串行通信。長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 17(7)、中斷控制系統(tǒng)。(8)、內(nèi)部時(shí)鐘電路。以上各部分由系統(tǒng)內(nèi)部總線連接。該單片機(jī)具備一個(gè)完整的計(jì)算機(jī)所具有的基本組成部分,即 CPU(運(yùn)算器和控制器)、存儲(chǔ)器(ROM 和 RAM)和 I/O 接口等。 因此,89C51 單片機(jī)是一個(gè)功能很強(qiáng)的 8 位微處理器。89C51 的硬件結(jié)構(gòu)有如下一些主要特點(diǎn):(1)、內(nèi)部程序存儲(chǔ)器(ROM)和內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM)。(2)、輸入/輸出(I/O)口。具有 4 個(gè) 8 位可編程的 I/O 并行端口,尤其是有一個(gè)全雙 I 的串行口,該串口由兩根 I/O 位線構(gòu)成,有四種工作方式,可通過編程選定。89C51 最多有32 根 I/O 位線。(3)、外部程序存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器尋址空間。89C51 單片機(jī)可對(duì) 64KB 的外部數(shù)據(jù)存儲(chǔ)器尋址,而對(duì)程序存儲(chǔ)器是內(nèi)外總空間為 64KB,外部程序存儲(chǔ)器的最大尋址空間為 64KB。(4)、中斷與堆棧。89C51 單片機(jī)有 5 個(gè)中斷源,分為 2 個(gè)優(yōu)先級(jí),每個(gè)中斷源的優(yōu)先級(jí)是可編程的,它的堆棧位置也是可編程的,堆棧深度可達(dá) 128 字節(jié)。(5)、定時(shí)/計(jì)數(shù)器與寄存器區(qū)。89C51 有 2 個(gè) 16 位定時(shí)/計(jì)數(shù)器,通過編程可實(shí)現(xiàn)四種工作模式;在內(nèi)部RAM 中設(shè)置了四個(gè)通用工作寄存器區(qū),共 32 個(gè)通用寄存器,以適應(yīng)多種中斷或子程序嵌套的要求。(6)、指令系統(tǒng)。89C51 指令系統(tǒng)功能強(qiáng)大,指令短,執(zhí)行速度快。如外接晶振的頻率為12MHZ 時(shí),大部分指令執(zhí)行時(shí)間為 1s。存儲(chǔ)空間配置和功能89C51 單片機(jī)的存儲(chǔ)器組織結(jié)構(gòu)可以分為三個(gè)不同的存儲(chǔ)空間,分別是:(1)、64KB 程序存儲(chǔ)器(ROM),包括片內(nèi) ROM 和片外 ROM; (2)、64KB 外部數(shù)據(jù)存儲(chǔ)器(外 RAM);(3)、256B(包括特殊功能寄存器)內(nèi)部數(shù)據(jù)存儲(chǔ)器(內(nèi) RAM)。三個(gè)不同的存儲(chǔ)空間用不同的指令和控制信號(hào)實(shí)現(xiàn)讀寫功能操作:(1)、ROM 空間用 MOVC 指令實(shí)現(xiàn)只讀功能操作,用 PSEN 信號(hào)選通讀外ROM。(2)、外 RAM 空間用 MOVX 指令實(shí)現(xiàn)讀寫功能操作,用 RD 信號(hào)選通讀外RAM,用 WR 信號(hào)選通寫外 RAM。長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 18(3)、內(nèi) RAM(包括特殊功能寄存器)用 MOV 指令實(shí)現(xiàn)讀寫和其它功能操作。程序存儲(chǔ)器(ROM):ROM 空間共 64KB 。其中 60KB 在片外。地址范圍 1000HFFFFH,無(wú)論片內(nèi)片外,ROM 地址空間是統(tǒng)一的,不重疊。對(duì)于有內(nèi) ROM 的 89C51,EA 應(yīng)接高電平,復(fù)位后先從內(nèi) ROM0000H 開始執(zhí)行程序,當(dāng) PC 值超出內(nèi) ROM4KB 空間時(shí),會(huì)自動(dòng)轉(zhuǎn)向片外 ROM1000H 依次執(zhí)行程序。讀 ROM 是以程序計(jì)數(shù)器 PC 作為 16 位地址指針,依次讀相應(yīng)地址 ROM 中的指令和數(shù)據(jù),每讀一個(gè)字節(jié),(PC)+1PC,這是 CPU 自動(dòng)形成的。但是有些指令有修改 PC 的功能,例如轉(zhuǎn)移類指令和 MOVC 指令,CPU 將按修改后的 PC16 位地址讀 ROM。讀外 ROM 的過程:CPU 從 PC 中取出當(dāng)前 ROM 的 16 位地址,分別由P0 口(低 8 位)和 P2 口(高 8 位)同時(shí)輸出,ALE 信號(hào)有效時(shí)由地址鎖存器鎖存低8 位地址信號(hào),地址鎖存器輸出的低 8 位地址信號(hào)和 P2 口輸出的高 8 位地址信號(hào)同時(shí)加到外 ROM16 位地址輸入端,當(dāng) PSEN 信號(hào)有效時(shí),外 ROM 將相應(yīng)地址存儲(chǔ)單元中的內(nèi)容送至數(shù)據(jù)總線(P0 口),CPU 讀入后存入指定單元。需要指出的是,64KB 中有一小段范圍是單片機(jī)系統(tǒng)的專用單元,0003H0023H 是五個(gè)中斷源中斷服務(wù)程序入口地址,用戶不能安排其它內(nèi)容。單片機(jī)復(fù)位后,(PC)=0000H,CPU 從地址為 0000H 的 ROM 單元中讀取指令和數(shù)據(jù)。從 0000H 到 0003H只有 3 個(gè)字節(jié),根本不可能安排一個(gè)完整的系統(tǒng)程序,而單片機(jī)又是依次讀ROM 字節(jié)的,因此,這 3 個(gè)字節(jié)只能用來(lái)安排一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到其它合適的地址范圍執(zhí)行真正的主程序。外部數(shù)據(jù)存儲(chǔ)器(外 RAM)外部數(shù)據(jù)存儲(chǔ)器共 64KB,讀寫外 RAM 用 MOVX 指令,控制信號(hào)是 P3 的 WR和 RD。讀寫外 RAM 的過程:外 RAM16 位地址分到由 P0 口(低 8 位)和 P2 口(高 8 位)同時(shí)輸出,ALE 信號(hào)有效時(shí)由地址鎖存器鎖存低 8 位地址信號(hào),地址鎖存器輸出的低 8 位地址信號(hào)和 P2 口輸出的高 8 位地址信號(hào)同時(shí)加到外 RAM16 位地址輸入端,當(dāng)信號(hào)有效時(shí),外 RAM 將相應(yīng)地址單元中的內(nèi)容送至數(shù)據(jù)總線(P0 口),CPU 讀入后存入指定單元?;虍?dāng)信號(hào)有效時(shí),外 RAM 將數(shù)據(jù)總線(P0 口分別傳送)上的內(nèi)容寫入相應(yīng)地址存儲(chǔ)單元中。外部數(shù)據(jù)存儲(chǔ)器主要用于存放數(shù)據(jù)和運(yùn)算結(jié)果。一般情況下,只有在內(nèi)RAM 不能滿足應(yīng)用時(shí),才接外 RAM。其最大容量可達(dá) 64K 字節(jié),外部數(shù)據(jù)存儲(chǔ)器和內(nèi)部數(shù)據(jù)存儲(chǔ)器的功能基本相同,但前者不能用于堆棧操作。必須注意,由于數(shù)據(jù)存儲(chǔ)器與程序存儲(chǔ)器全部 64K 地址重疊,且數(shù)據(jù)存儲(chǔ)器的片內(nèi)外的低字節(jié)地址重疊。所以,對(duì)片內(nèi)、片外數(shù)據(jù)存儲(chǔ)器的操作使用不長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 19同的指令。對(duì)片內(nèi) RAM 讀寫數(shù)據(jù)時(shí),無(wú)讀寫信號(hào)(RD,WR)產(chǎn)生;對(duì)片外 RAM 讀寫數(shù)據(jù)時(shí),有讀寫信號(hào)產(chǎn)生。同樣對(duì)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的操作也是靠不同的控制信號(hào) PSEN、RD、WR 來(lái)區(qū)分的。另外,在片外數(shù)據(jù)存儲(chǔ)器中,數(shù)據(jù)區(qū)和擴(kuò)展的 I/O 口是統(tǒng)一編址的,使用的指令也完全相同。因此,在系統(tǒng)設(shè)計(jì)時(shí),必須合理的進(jìn)行外部 RAM 和 I/O 口的地址分配,并保證譯碼的唯一性。CPU 的時(shí)序及輔助電路計(jì)算機(jī)工作是在時(shí)鐘脈沖的統(tǒng)一控制下,按嚴(yán)格的先后次序有步驟地進(jìn)行工作的。所謂時(shí)序是指 CPU 執(zhí)行指令的各個(gè)微操作所對(duì)應(yīng)的脈沖信號(hào)所遵循的時(shí)間順序。時(shí)序是非常重要的,它指明單片機(jī)內(nèi)部以及內(nèi)部與外部互相聯(lián)系所遵守的規(guī)律。單片機(jī)的時(shí)鐘電路單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)內(nèi)各種微操作的時(shí)間基準(zhǔn),這個(gè)時(shí)鐘信號(hào)可由單片機(jī)內(nèi)時(shí)鐘電路產(chǎn)生,也可以直接使用外部時(shí)鐘信號(hào)。因此,單片機(jī)的時(shí)鐘電路有兩種形式:內(nèi)部振蕩方式和外部振蕩方式。(1)內(nèi)部振蕩方式89C51 單片機(jī)內(nèi)有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳 XTAL1和 XTAL2 分別是此放大器的輸入端和輸出端。把放大器與作為反饋元件的晶體振蕩器(簡(jiǎn)稱晶振)式陶瓷振諧器連接,就構(gòu)成了內(nèi)部自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。這種方式為內(nèi)部振蕩方式。(2 )外部振蕩方式外部振蕩方式就是把外部已有的時(shí)鐘信號(hào)引入單片機(jī),這種方式是用來(lái)使單片機(jī)的時(shí)鐘與外部信號(hào)保持同步。通常外接的時(shí)鐘信號(hào)的頻率不高于12MHZ。振蕩周期是指為單片機(jī)提供時(shí)鐘信號(hào)的振蕩源的周期。CPU 在一個(gè)振蕩周期內(nèi)僅完成一個(gè)基本的操作,振蕩頻率越高,單片機(jī)的工作速度越快。時(shí)鐘周期是指振蕩源信號(hào)經(jīng)五分頻后形成的時(shí)鐘脈沖信號(hào)。因此時(shí)鐘周期是振蕩周期的兩倍,時(shí)鐘周期被分成 2 個(gè)節(jié)拍,即節(jié)拍 P1 和 P2 節(jié)拍。在每個(gè)時(shí)鐘的前半周期,P1 信號(hào)有效,這時(shí) CPU 完成算術(shù)邏輯操作;在每個(gè)時(shí)鐘周期的后半周期,P2 信號(hào)有效,內(nèi)部寄存器與寄存器之間的數(shù)據(jù)傳輸一般在此狀態(tài)發(fā)生。機(jī)器周期:通常完成一個(gè)基本操作所需的時(shí)間稱為機(jī)器周期。一個(gè)機(jī)器周期由 6 個(gè)狀態(tài)(12 個(gè)振蕩脈沖)組成,即 6 個(gè)時(shí)鐘周期,是單片機(jī)完成一個(gè)基本操作所用時(shí)間,如讀操作,寫操作等。長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 20指令周期是指 CPU 完成一條指令所需時(shí)間,一個(gè)指令周期通常含有 14 個(gè)機(jī)器周期,在 89C51 中,除了乘、除兩條四個(gè)機(jī)器周期的指令外,其余都為單周期或雙周期指令。若 89C51 外接晶振為 12MHZ 時(shí),則單片機(jī)的四個(gè)周期的具體值為:振蕩周期=1/12MHZ=1/12s=0.0833s時(shí)鐘周期=1/6s=0.167s機(jī)器周期=1s指令周期=14s3.3.23.3.2 計(jì)數(shù)器計(jì)數(shù)器/ /定時(shí)器定時(shí)器 82538253 簡(jiǎn)介簡(jiǎn)介如果用硬件方法定時(shí),就要用到計(jì)數(shù)器/定時(shí)器。在簡(jiǎn)單的軟件控制下,產(chǎn)生準(zhǔn)確的時(shí)間延遲。這種方法的主要思想是根據(jù)需要的時(shí)間,用指令對(duì)計(jì)數(shù)器/定時(shí)器設(shè)置定時(shí)常數(shù),并用指令啟動(dòng)計(jì)數(shù)器/定時(shí)器,于是開始計(jì)數(shù),計(jì)到確定的值時(shí),便自動(dòng)產(chǎn)生一個(gè)定時(shí)輸出。在計(jì)數(shù)器開始工作以后,CPU 不必去管它,而可以去做別的工作。這種方法最突出的優(yōu)點(diǎn)是計(jì)數(shù)時(shí)不占用 CPU 資源。Intel8253 是 NMOS 工藝制成的可編程計(jì)數(shù)器/定時(shí)器。最高計(jì)數(shù)速率為2.6MHZ1。8253 內(nèi)部有 3 個(gè)計(jì)數(shù)器,分別稱為計(jì)數(shù)器 0、計(jì)數(shù)器 1、計(jì)數(shù)器 2。它們的結(jié)構(gòu)完全相同。每個(gè)計(jì)數(shù)器的輸入和輸出都決定于本身所帶的控制寄存器的控制字,互相之間工作完全獨(dú)立。3 個(gè)引腳分別是時(shí)鐘輸入端 CLK,門控信號(hào)輸入端 GATE,輸出端 OUT。每個(gè)計(jì)數(shù)器的內(nèi)部有 1 個(gè) 8 位的控制寄存器,還有 1 個(gè) 16 位的計(jì)數(shù)初值寄存器 CR。1 個(gè)計(jì)數(shù)執(zhí)行部件 CE 和 1 個(gè)輸出鎖存器 OL1。執(zhí)行部件實(shí)際上是一個(gè) 16 位的減法計(jì)數(shù)器。輸出鎖存器 OL 用來(lái)鎖存計(jì)數(shù)執(zhí)行部件 CE 的內(nèi)容,從而使 CPU 可以對(duì)此進(jìn)行讀操作。 表 3-4 8253 輸入信號(hào)對(duì)應(yīng)功能SDRA1 A0功 能0000001111000000110 00 11 01 10 00 1對(duì)計(jì)數(shù)器 0 設(shè)置計(jì)數(shù)初值對(duì)計(jì)數(shù)器 1 設(shè)置計(jì)數(shù)初值對(duì)計(jì)數(shù)器 2 設(shè)置計(jì)數(shù)初值設(shè)置控制字或者給一個(gè)命令從計(jì)數(shù)器 0 讀出計(jì)數(shù)值從計(jì)數(shù)器 1 讀出計(jì)數(shù)值長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 210011 0從計(jì)數(shù)器 2 讀出計(jì)數(shù)值除了這七組信號(hào)組合外,其他組合下,數(shù)據(jù)總線為高阻狀態(tài)。當(dāng) A1=A0=1時(shí),第一次寫入的一定作為控制字,此后寫入的作為命令。8253 的控制寄存器的格式:D7 D6 D5 D4 D3 D2 D1 D0SC1SC0RW1RW0M2M1M0BCDBCD 位用來(lái)設(shè)置計(jì)數(shù)值格式:0 為二進(jìn)制,1 為 BCD 碼;M2、M1、M0 為模式選擇:其中 000 為計(jì)數(shù)模式,010 為閂鎖模式,011 為脈沖模式;RW1、RW0 是讀/寫指示位;其中 11 表示先讀寫低字節(jié),再先讀寫高字節(jié);SC1、SC0 用來(lái)選擇計(jì)數(shù)器:00 為計(jì)數(shù)器 1;01 為計(jì)數(shù)器 2;10 為計(jì)數(shù)器3;對(duì)計(jì)數(shù)器設(shè)置初值前必須先寫控制字。8253 可以用 6 種模式工作,如下:1、模式 0計(jì)數(shù)結(jié)束產(chǎn)生中斷概括的說,在模式 0 時(shí),寫入控制字之后,輸出端 OUT 為低電平,一直當(dāng)計(jì)數(shù)值為 0 時(shí),OUT 變?yōu)楦唠娖?,并保持。除非寫入新的初值。?dāng)門控 GATE=1 時(shí),計(jì)數(shù)器執(zhí)行部件獲得初始值后便進(jìn)行計(jì)數(shù),此時(shí),如果 GATE 變?yōu)?0,則計(jì)數(shù)停止,但是門控不影響輸出端 OUT 的電平。2、模式 1可重復(fù)觸發(fā)的單穩(wěn)態(tài)觸發(fā)器3、模式 2分頻器 4、模式 3方波發(fā)生器當(dāng)輸入控制字以后,輸出端 OUT 出現(xiàn)高電平,作為初始電平。寫入初值后,下一個(gè)時(shí)鐘脈沖到來(lái)時(shí),計(jì)數(shù)執(zhí)行部件開始減 1 計(jì)數(shù)。計(jì)數(shù)到一半時(shí),輸出變?yōu)榈碗娖?,?jì)數(shù)器繼續(xù)計(jì)數(shù),結(jié)束后,變?yōu)楦唠娖?,從而完成一個(gè)周期1。當(dāng)計(jì)數(shù)值為偶數(shù)時(shí),OUT 的高低電平時(shí)間相等。當(dāng)計(jì)數(shù)值為奇數(shù)時(shí),OUT 的高電平持續(xù)時(shí)間比低電平持續(xù)時(shí)間多一個(gè)時(shí)鐘周期。GATE=1 時(shí),計(jì)數(shù)進(jìn)行,GATE=0 時(shí),計(jì)數(shù)停。當(dāng) OUT 為低時(shí),GATE 變?yōu)?0,則 OUT 會(huì)立即變?yōu)楦唠娖?。如?GATE 一直為高電平,那么,在寫入控制字和計(jì)數(shù)值后,將在下一個(gè)時(shí)鐘脈沖時(shí),開始計(jì)數(shù)。正在計(jì)數(shù)時(shí),如果寫入新的計(jì)數(shù)值,那么,將不影響當(dāng)前輸出周期。但是在輸入新的計(jì)數(shù)值后,又受到門控上升沿的觸發(fā),那么,就會(huì)結(jié)束當(dāng)前輸出周期。在下一個(gè)時(shí)鐘周期時(shí),開始新值長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 22計(jì)數(shù)。5、模式 4軟件觸發(fā)的選通信號(hào)發(fā)生器6、模式 5硬件觸發(fā)的選通信號(hào)發(fā)生器對(duì)于 MCDC2805 型電機(jī)驅(qū)動(dòng)器,在電機(jī)的步進(jìn)模式下。用 8253 的模式 3方波發(fā)生器,可以發(fā)出頻率的方波脈沖。從而可以控制電機(jī)的轉(zhuǎn)速。如果把方波發(fā)生器發(fā)出的脈沖引入計(jì)數(shù)器的時(shí)鐘端,那么,用 8253 的 模式 0計(jì)數(shù)器,就可以設(shè)置初值,檢測(cè)電機(jī)是否轉(zhuǎn)到預(yù)定位置。不論用哪種模式工作,都會(huì)遵守下面幾條基本原則:1、控制字寫入計(jì)數(shù)器時(shí),所有的控制邏輯電路,立即復(fù)位,輸出端 OUT進(jìn)入初始狀態(tài)(高或低電平);2、初始值寫入后,要經(jīng)過一個(gè)時(shí)鐘上升沿和一個(gè)下降沿,才開始計(jì)數(shù);3、通常,在時(shí)鐘脈沖 CLK 的上升沿時(shí),門控信號(hào) GATE 被采樣;4、在時(shí)鐘下降沿,計(jì)數(shù)器作減 1 計(jì)數(shù)。 2. I/O 擴(kuò)展 8155 芯片簡(jiǎn)介8155 具有 3 個(gè)可編程 I/O 口,其中 2 個(gè)口(A 和 B)為 8 位口,1 個(gè)口(C口)為 6 位口2。AD7AD0地址數(shù)據(jù)復(fù)用線ALE地址鎖存信號(hào)。除進(jìn)行 AD7AD0 的地址鎖存控制外,還用于把片選信號(hào) CE 和 IO/M 等信號(hào)鎖存。RD讀選通信號(hào)。WR寫選通信號(hào)。CE片選信號(hào)。IO/MI/O 與 RAM 選擇信號(hào)。8155 內(nèi)部 I/O 與 RAM 是分開編址的。RESET復(fù)位信號(hào)。以 600ns 的正脈沖進(jìn)行復(fù)位,復(fù)位后 A、B、C 口均置為輸入方式2。8155 的 3 個(gè) I/O 口,分別以 PA、PB、PC 稱呼,其中 PA 和 PB 都是 8 位通用輸入/輸出口,主要用于數(shù)據(jù)的 I/O 口,它們都是數(shù)據(jù)口,因此只有輸入輸出兩種工作方式。而 PC 口為 6 位口,它既可以作為數(shù)據(jù)口,用于數(shù)據(jù)的 I/O 傳送,也可以作為控制口,用于傳送控制信號(hào)和狀態(tài)信號(hào),對(duì) PA 和 PB 的 I/O 操作進(jìn)行控制2。8155 有一個(gè)命令/狀態(tài)寄存器,實(shí)際上這是兩個(gè)不同的寄存器,分別存放命令字和狀態(tài)字。但由于對(duì)命令寄存器只需進(jìn)行讀操作,因此把它們編為同一地址,合在一起稱之為命令/狀態(tài)寄存器。命令字共 8 位,用于定義端口及定時(shí)器/計(jì)數(shù)器的工作方式。對(duì)命令寄存長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 23器只能寫不能讀。狀態(tài)字也是 8 位(但實(shí)際只使用 7 位,最高位沒定義)。用于寄存各端口及定時(shí)器/計(jì)數(shù)器的工作狀態(tài)2。圖 3-9 命令/狀態(tài)寄存器3.3.33.3.3 電路板原理電路板原理整個(gè)電路板由 12V 工業(yè)電池供電。經(jīng)穩(wěn)壓管 7808 降為 8V,再經(jīng)穩(wěn)壓管7805 降為 5V。89C52 由 11.059MHz 的晶振驅(qū)動(dòng)(主要考慮到要與數(shù)字羅盤通信),采用上電復(fù)位。要注意的是,用單片機(jī)本身的 I/O 口因功率太小無(wú)法驅(qū)動(dòng)光電藕合器,必須用 8155 的 I/O 口來(lái)驅(qū)動(dòng)。由于要接受行程開關(guān)信號(hào),控制 8253 的 GATE,電機(jī)的方向和繼電器,需要擴(kuò)充一定數(shù)量的 I/O 口。經(jīng)計(jì)算,采用 2 片 8155(分別為 8155A 與 8155B)與 89C52 連接就夠了。其中,8155A 的 I/O 口全為輸出,PA 口控制所有電機(jī)的方向和啟停;8155B 的 I/O 口全為輸入,PA 口接受所有限位開關(guān)的信號(hào)。由于 4 臺(tái)電機(jī)均需要一個(gè)方波發(fā)生器和一個(gè)計(jì)數(shù)器。所以,至少要有 8 個(gè)計(jì)數(shù)器,用 3 片 8253(8253A,8253B,8253C)可以提供 9 個(gè)計(jì)數(shù)器,可滿足要求。8253 采用 20MHz 的晶振,對(duì)其進(jìn)行分頻。所有計(jì)數(shù)器 GATE 都直接接高電平,保持可用的行走機(jī)構(gòu)電機(jī)的方波發(fā)生器的 GATE 由 8155 的輸出口控制;其他機(jī)構(gòu)電機(jī)的方波發(fā)生器的 GATE 由其對(duì)應(yīng)的計(jì)數(shù)器的輸出經(jīng)過反向器控制,這樣計(jì)數(shù)結(jié)束時(shí)無(wú)需經(jīng)過單片機(jī)干預(yù)就可自動(dòng)關(guān)閉 GATE 門,停止發(fā)波。在每一個(gè)芯片的 VCC 與 GND 之間都并聯(lián)一個(gè)電容,降低尖鋒電壓。 為增強(qiáng)電路板的抗干擾性,我采用芯片 SN75174 將電路板與電機(jī)的驅(qū)動(dòng)器隔離,防止電機(jī)的功率波動(dòng)對(duì)電路板產(chǎn)生干擾。電路原理圖見附圖 1。3.3.4 PCB同電路原理圖一樣,PCB 也是在 Protel 99 SE 中進(jìn)行的。在 PCB 中將數(shù)字電路和模擬電路分開:電路板左邊是數(shù)字電路,右邊是模長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 24擬電路,防止對(duì)數(shù)字電路的干擾。并另外在電路板的較空的地方鋪銅,并將前后板的地打孔相通,以增強(qiáng)電路板的抗干擾性。所有的地采用 3mm 寬的銅路。PCB 圖見附圖 2 3.43.4 電氣系統(tǒng)總體說明電氣系統(tǒng)總體說明 電氣系統(tǒng)由內(nèi)部電路和外部電路組成:內(nèi)部電路如圖 3-10;外部電路如圖3-11。內(nèi)部電路與外部電路之間通過幾組插座插頭相連。 數(shù)字羅盤所在的調(diào)試電路板通過 VCC 和 GND 由主電路板供電; 電機(jī)的驅(qū)動(dòng)器的 24V 供電有兩節(jié) 12V 工業(yè)電池串聯(lián)提供;整個(gè)系統(tǒng)的 GND 都相連; 為減少插頭和連線數(shù)量和長(zhǎng)度,每一組空間距離較小的限為開關(guān)之間共用電源線和地線; 由于投籃電機(jī)的光電碼盤已損壞,不能反饋信息,于是只要一上電電機(jī)就開始轉(zhuǎn),故采用繼電器通斷 24V 電源線控制電機(jī)啟停。電機(jī)的行程通過限位開關(guān)和計(jì)時(shí)器配合控制。長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 25 圖 3-10 內(nèi)部電路示意圖長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 26 圖 3-11 外部電路示意圖長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 27第四章第四章 自動(dòng)控制設(shè)計(jì)自動(dòng)控制設(shè)計(jì)控制程序是在 WAVE2.90 的環(huán)境下,用 C 語(yǔ)言編寫的,并利用仿真器調(diào)試。成功后將軟件編譯生成后綴為.HEX 的文件,在 TOP51 程序燒錄器中直接燒寫到單片機(jī)中。4.14.1 編程準(zhǔn)備工作編程準(zhǔn)備工作4.1.14.1.1 設(shè)置電機(jī)驅(qū)動(dòng)器設(shè)置電機(jī)驅(qū)動(dòng)器在驅(qū)動(dòng)器中設(shè)置電機(jī)為步進(jìn)模式,每發(fā) 100 個(gè)方波,電機(jī)轉(zhuǎn)過 1 周。4.1.24.1.2 確定地址確定地址根據(jù)單片機(jī)電路板的接線,確定 8155 和 8253 上各寄存器的地址如表 4-1:表 4-1 寄存器地址表地址變量名稱地址對(duì)應(yīng)寄存器COM8155A0XF7008155A 命令/狀態(tài)寄存器APA0XF7018155A 的 PA 口APB0XF7028155A 的 PB 口APC0XF7038155A 的 PC 口COM8155B0XEF008155B 命令/狀態(tài)寄存器BPA0XEF018155B 的 PA 口BPB0XEF028155B 的 PB 口BPC0XEF038155B 的 PC 口COM8253A0 xFE038253A 控制寄存器A00 xFE008253A 第一個(gè)計(jì)數(shù)器A1DP0 xFE01電機(jī) D 的脈沖發(fā)生器A2DC0 xFE02電機(jī) D 的脈沖計(jì)數(shù)器COM8253B0XFD03825B3 控制寄存器B0BC0XFD00電機(jī) B 的脈沖計(jì)數(shù)器B1CP0XFD01電機(jī) C 的脈沖發(fā)生器B2CC0XFD02電機(jī) C 的脈沖計(jì)數(shù)器COM8253C0XFB038253C 控制寄存器C0AP0XFB00電機(jī) A 的脈沖發(fā)生器C1AC0XFB01電機(jī) A 的脈沖計(jì)數(shù)器長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 28C2BP0XFB02電機(jī) B 的脈沖發(fā)生器4.1.34.1.3 計(jì)算測(cè)量某些參數(shù)計(jì)算測(cè)量某些參數(shù)測(cè)得行走機(jī)構(gòu)的主動(dòng)輪直徑為 120mm,輪距為 735mm。輸入給電機(jī)驅(qū)動(dòng)器的脈沖頻率=8253 基準(zhǔn)脈沖頻率/分頻數(shù)。那么,行走機(jī)構(gòu)前進(jìn)速度為 1cm/s 時(shí)的 8253 分頻數(shù)可用以下公式(4-1)計(jì)算: (4-indffn101) 式中 fn-速度為 1cm/s 時(shí)的 8253 分頻數(shù); f-8253 基準(zhǔn)脈沖頻率(Hz),為 2000000Hz; d-主動(dòng)輪直徑(mm),為 120mm; i-減速箱傳動(dòng)比,為 14:1; n-電機(jī)轉(zhuǎn)過 1 周所需脈沖數(shù),為 100; 則(取整)5382910100141202000000fn同理,行走機(jī)構(gòu)前進(jìn) 1cm 所需的脈沖數(shù),見公式(4-2): (4-2)dinpn101式中 -行走機(jī)構(gòu)前進(jìn) 1cm 所需的脈沖數(shù);1pn則 3712010100141pn行走機(jī)構(gòu)旋轉(zhuǎn) 1 度所需的脈沖數(shù),見公式(4-3): (4-3)dinlpn3602 式中 -行走機(jī)構(gòu)旋轉(zhuǎn) 1 度所需的脈沖數(shù);2pnl-輪距(mm),為 735mm。則 24120360735100142pn4.24.2 子程序的編寫子程序的編寫4.2.14.2.1 羅盤接受程序羅盤接受程序單片機(jī)程序一旦啟動(dòng)后,就需要不停地接受羅盤數(shù)據(jù),故把羅盤設(shè)為連長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 29續(xù)模式,這樣可以給程序控制減少很多麻煩。當(dāng)主機(jī)把 RTS 腳設(shè)為低電平時(shí),同時(shí) RX 一直保持高電平,數(shù)字羅盤就將進(jìn)入連續(xù)模式.他將自動(dòng)輸出數(shù)據(jù). 請(qǐng)看連續(xù)模式波形圖 4-1: 圖 4-1 連續(xù)模式波形圖在啟動(dòng)羅盤之前,必須對(duì)單片機(jī)內(nèi)一些相關(guān)寄存器進(jìn)行設(shè)置,使其滿足通信要求。DELAY(300); /* 延時(shí),給羅盤反應(yīng)時(shí)間 */TMOD=0 x20; /* 設(shè)定計(jì)時(shí)器 1 */ TF1=0;TR1=0; /* 計(jì)時(shí)器標(biāo)志位初始化 */TL1=0 xFD;TH1=0 xFD; /* 設(shè)定計(jì)時(shí)初始值 */SCON=0 x58; /* 設(shè)定串行口以方式 1 通信 */ PCON=0 x00; /* 當(dāng) PCON=0 時(shí),此時(shí)串行口以 9600 波特率通信 */TR1=1; /* 計(jì)時(shí)器開始工作 */經(jīng)過以上設(shè)置,串行口便以 9600 波特率開始通信。此時(shí)將羅盤的 RTS 腳置高電平,羅盤片進(jìn)入連續(xù)模式,開始源源不斷地通過串行口向單片機(jī)傳輸數(shù)據(jù)。以下的 RECEIVE()子程序即是根據(jù)通信協(xié)議接收電子羅盤數(shù)據(jù),并把接收到的數(shù)據(jù)存在全局變量 Qst(狀態(tài)位),QH(角度高位),QL(角度低位)中:void RECEIVE(void) /* 接收電子羅盤數(shù)據(jù),串行口 */ uchar k; k=0;長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 30 RI=0; while (k!=3) /* 每一組接收 3 個(gè)字節(jié)的數(shù)據(jù) */ while(RI=0) /* RI 在中定義,表示單片機(jī)的中斷標(biāo)志位,等待中斷,RI=1 */ ; RI=0; /* 中斷結(jié)束,軟件清零 */ k+; switch(k) case 1: Qst=SBUF;break; /* 接收狀態(tài)位 */ case 2: QH=SBUF;break; /* 接收角度值高字節(jié) */ case 3: QL=SBUF;break; /* 接收角度值低字節(jié) */ 但是接收到的羅盤數(shù)據(jù)并不是我們想要的角度值,必須經(jīng)過處理才能為我們所用。如以下程序,在處理時(shí):第一步我們先檢測(cè) QH 值是否超過 2,因?yàn)檎_的 QH 只能小于 2,如果超過這表明通訊發(fā)生錯(cuò)誤則重新接收,否則很可能導(dǎo)致接受到的角度值太大甚至溢出使機(jī)器人在角度反饋下瘋轉(zhuǎn)。第二步要判斷相對(duì)于上一次接受到的角度,羅盤的讀值是否發(fā)生驟變。因?yàn)榱_盤的讀值只有 0360,一旦大于 360 度又從 0 度開始。為保持讀數(shù)的連續(xù)性必須不斷的對(duì)讀數(shù)值進(jìn)行補(bǔ)償。這里的全局變量 QC 便是補(bǔ)償變量。最后,根據(jù)羅盤提供的變換公式將 QH,QL 的值轉(zhuǎn)化為實(shí)際角度值,加上補(bǔ)償 QC,再減去初始角度 Q0 就得到機(jī)器人相對(duì)參考位置的相對(duì)角度。初始角度 Q0 即是程序剛開始運(yùn)行時(shí)機(jī)器人所在位置的羅盤讀值。int GETQ(void) /* 處理接收數(shù)據(jù) */ RECEIVE(); while(QH2) /* 如果發(fā)現(xiàn)通訊錯(cuò)誤重新接收 */ RECEIVE(); if(QHl=2&QH=0) /* 這表示已順時(shí)針轉(zhuǎn)過一周,角度修正值+360 度*/長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 31 QC=QC+360; if(QHl=0&QH=2) /* 這表示已逆時(shí)針轉(zhuǎn)過一周,角度修正值-360 度*/ QC=QC-360; Q=QH*256+QL; /* 說明書提供的角換算公式,單位:度/2 */ Q=Q/2+QC-Q0; /* 修正角度,并換算為相對(duì)(初始位置)角度 */ QHl=QH; /* 紀(jì)錄上一次角度值高字節(jié) */ return(Q); /* 反饋測(cè)得角度值 */4.2.24.2.2 羅盤標(biāo)定程序羅盤標(biāo)定程序當(dāng)狀態(tài)字節(jié)等于 81H 時(shí)扭曲被發(fā)現(xiàn),這時(shí)就需要執(zhí)行標(biāo)定.執(zhí)行標(biāo)定時(shí),主機(jī)通過 RTS 腳給羅盤信號(hào)(同時(shí) RX 腳必須置低電平),這時(shí)模塊進(jìn)入標(biāo)定狀態(tài),把機(jī)器人旋轉(zhuǎn)兩周.接著讓主機(jī)置 RX 管腳為高電平(模塊將會(huì)回復(fù) RDY).模塊將會(huì)返回到睡眠模式.參考圖 4-2:圖 4-2 標(biāo)定模式波形圖數(shù)字羅盤標(biāo)定程序標(biāo)定程序如下所示,其中 RS()為開環(huán)自轉(zhuǎn)程序:APC=APC&0 x00; /* RTS 置高電平 */ DELAY(3); /* 延時(shí) 3ms */APC=APC|0 xFF; /* RTS 置低電平 */P3=P3&0 xFD; /* P3 即單片機(jī)的 TX 腳,與羅盤的 RXD 腳相連 */DELAY(1); /* 延時(shí) 1ms */APC=APC&0 x00; /* RTS 重置高電平 */RECEIVE(); /* 此時(shí)就可接受到 53H,54H,41H */DELAY(100);for(i=0;i8;i+) RS(103); /* 連續(xù)旋轉(zhuǎn) 8 次,剛好 720 度左右 */ 長(zhǎng)春工業(yè)大學(xué)畢業(yè)設(shè)計(jì) 競(jìng)技型投籃機(jī)器人 32P3=P3|0 x02; /* RX 腳重新置高電平 */DELAY(53); /* 延時(shí) 53ms */RECEIVE(); /* 此時(shí)就可接受到 52H,44H,59H,表示標(biāo)定成功*/4.2.34.2.3 電機(jī)速度控制系列程序電機(jī)速度控制系列程序設(shè)定電機(jī)的方向,如將行走方向設(shè)為向正前:APA=APA|0
收藏
編號(hào):33513922
類型:共享資源
大小:18.92MB
格式:RAR
上傳時(shí)間:2021-10-17
20
積分
- 關(guān) 鍵 詞:
-
投籃
機(jī)器人
- 資源描述:
-
投籃機(jī)器人,投籃,機(jī)器人
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請(qǐng)勿作他用。