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