電腦鼠設計與制作文檔_第1頁
電腦鼠設計與制作文檔_第2頁
電腦鼠設計與制作文檔_第3頁
電腦鼠設計與制作文檔_第4頁
電腦鼠設計與制作文檔_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

/電腦鼠的設計和制作0.序言0.1電腦鼠電腦鼠是機電一體扮裝置,是運用微限制器、傳感器和機電運動部件構成的一種智能行走裝置,是一種具有人工智能的小型機器人。電腦鼠可以在不同“迷宮”中自動記憶和選擇路徑,接受相應的算法,快速地達到所設定的目的地。集成了計算機、電子和機械、電機、自動化和傳感器等技術,是真正具有獨創(chuàng)性的東西,其制作為學生供應了創(chuàng)意、制作、實現(xiàn)和展示的機會。必要的學問(可以百度):(1)電子部分電路設計微處理器傳感器(2)機械結構(3)算法設計0.2電腦鼠的設計目標本項目要實現(xiàn)的是用電腦鼠找出迷宮中通往終點的最短路徑并以最快速度到達迷宮的終點。電腦鼠從迷宮起點位置前進,由程序推斷通過前視距離探測器探測到的迷宮狀況,限制驅動機構前進或轉向并記錄路徑和距離(限制車輪編碼器可完成),由于起點位置和終點位置是已知的,雖然不知道具體路徑,但通過編寫算法程序即可找到最短路徑,在重新起先時便可以最快速度從最短路徑到達終點。設計的電腦鼠應當具有三種最基本的實力:擁有穩(wěn)定、精確、快速的行走實力能爭取推斷環(huán)境的實力(如有墻、有路)記憶路徑的實力圖18*8迷宮布局圖總之,電腦鼠的設計目標是:在最短的時間內找到一條通往總店的最短路徑,并以最快速度從起點到達終點。如何衡量:迷宮時間(搜尋時間):電腦鼠激活到每次運行起先的時間;注:搜尋結束,從終點返回到起點的時間不算在迷宮時間內;運行時間:電腦鼠從起點走到終點的時間;假如電腦鼠在競賽時須要手動幫助,這個動作就成為“碰觸”。若“碰觸”了,則須要失去10秒的嘉獎時間。競賽運用者三個參數(shù),從速度、求解迷宮的效率和電腦鼠的牢靠性三個方面來進行評分。成果=迷宮時間/30+運行時間-嘉獎時間(非碰觸)例子:一個電腦鼠在迷宮中的搜尋時間為4分鐘,沒有碰觸過,運行時間運用了20秒,這次運行的排障時間就是:20+(240×1/30)-10=18秒1.電腦鼠的構成電腦鼠是指由車身、輪子、和相關軟件構成。車體是電腦鼠最基本的架構,它的設計在電腦鼠的整體規(guī)劃中戰(zhàn)友想到重要的地位,應當遵守整體結構堅實耐用、材質輕、重心低的原則。在設計中,既要考慮到符合各零件的規(guī)格,又要考慮到協(xié)作迷宮的規(guī)格。車體內是由微限制器、前視距離探測器、車輪編碼器和驅動機構等組成的一個綜合的系統(tǒng);其中微限制器加上程序就相當于腦袋,前視距離探測器相當于眼睛,驅動機構(車輪編碼器)相當于腿。電腦鼠主要包括三部分:機械部分(執(zhí)行機構)、電子限制裝置、軟件。圖2電腦鼠總體結構2.材料準備2.1機械部分承載底盤的選擇為了減輕重量,盡可能的削減慣性對電腦鼠行走的影響,可以干脆接受電路板作為電腦鼠底盤。以電路板作為基板,可同時將機械部件和電子部件裝接于上面,簡化電腦鼠硬件結構,減輕電腦鼠重量。由于條件所限,實際制作時接受萬用板做搭載底盤。理論上來說,電腦鼠車體應越小越好,但是實際制作時機械部件不簡潔做得很小,因此車體的大小選擇只要合適即可。參照IEEE電腦鼠走迷宮競賽的規(guī)則,迷宮格大小為18*18cm,選取底盤大小為迷宮格一半8*8cm左右。底盤是搭載機械和電子部件的基板,須要有確定的機械強度,不能選用通常運用的機械強度不高的紙基萬用板,實際制作時接受9*15cm的玻纖萬用板加工成8*8cm大小作為電腦鼠的搭載底盤。如圖1所示,是選用的9*15cm玻纖萬用板實物圖。2.1.2電機的選擇可依據(jù)實際須要選擇直流電機、帶減速的直流電機、步進電機、伺服電機等。不同的電機,其限制是不同的,本次選擇伺服電機。電腦鼠在探究迷宮的過程中須要知道當前所處的位置,記憶每一個迷宮格的通行狀況以及依據(jù)當前所處的位置來進行路徑選擇。由IEEE電腦鼠走迷宮競賽規(guī)則可知每一個迷宮格大小是相同的,因此可以通過計算電腦鼠走的距離和方始終確定相對于起點的迷宮格位置。基于計算距離的考慮,在選擇電腦的驅動電機時不能選用一般的直流電機,可選的電機有步進電機、伺服電機等都可以限制行走距離。相對來說,步進電機的速度沒有伺服電機快,并且簡潔出現(xiàn)失步現(xiàn)象影響電腦鼠對位移距離的計算。因此在實際制作時,選用帶光電碼盤的伺服電機作為電腦鼠的驅動。通過光電碼盤輸出脈沖的反饋,不僅可以計算電腦鼠行走距離,實現(xiàn)對位置坐標的確定,加上PWM調速和PID限制還可以對電腦鼠進行困難的運動限制讓電腦鼠完成困難的動作。如圖3所示,是實際制作時選用的334線AB相伺服電機實物圖。圖3334線AB相伺服電機實物圖移動機構(輪子)的選擇電腦鼠行走輪子分為驅動輪和幫助輪兩類,驅動輪干脆由驅動電機動力帶動,驅動輪轉動通過和地面的摩擦力使得軸心相對于地面產(chǎn)生位移,從而帶動整個底盤的運動。要求驅動輪和地面要有確定的靜摩擦力,盡量接受和地面靜摩擦系數(shù)大的驅動輪,減小打滑對電腦鼠位移計算的影響。為了使設計的電腦鼠具有更好的機械靈敏性,基于降低重心的考慮,驅動輪的直徑大小不能太大,使得難于降低底盤和地面的高度,造成重心過高。實際制作時選用成本較為低廉的直徑30mm的塑料輪外套橡膠圈作為電腦鼠驅動輪。如圖4所示,是選用的電腦鼠驅動輪實物圖。圖4驅動輪實物圖整個車體僅由兩個驅動輪驅動,通過兩個驅動輪的差速比來轉彎,調整電腦鼠行走方向。為了使電腦鼠可以很靈敏原地轉彎,驅動輪在底盤上的安裝位置應靠近中間,將轉彎軸心設計在車體中心。很明顯只通過兩個驅動輪來支撐電腦鼠搭載底盤,是不能讓電腦鼠站穩(wěn)的。因此須要在底盤前后位置增加兩個幫助萬向輪,使車體保持平穩(wěn)。如圖5所示,是選用的幫助輪實物圖,圖6為行走輪安裝圖。圖5幫助輪實物圖驅動輪驅動輪幫助輪底盤圖6行走輪安裝圖傳動部件的選擇電機的動力須要通過傳動部件耦合到驅動輪上,傳動耦合方式有干脆傳動方式、齒輪傳動方式、皮帶傳動方式等。干脆傳動方式就是干脆將電機和驅動輪通過聯(lián)軸器相連接,干脆帶動驅動輪轉動,該方式具有耦合便利,相對于其他方式驅動輪獲得的速度快的特點,但是電機的功率是確定的,速度快就意味著驅動輪的驅動力小,重量略微重一點就會遇到驅動力不足的問題。接受齒輪傳動方式可以減速,提高驅動輪驅動力,但對于實際制作來說,齒輪耦合精度要求過高且不簡潔獲得合適的齒輪,制作難度較大。在實際制作是選用皮帶傳動方式,具有安裝簡潔,噪音低等特點。如圖7所示,是選用的傳動部件實物圖。圖7傳動部件實物圖2.2電子部分電腦鼠的硬件電路結構圖如下。單片機單片機傳感器組5傳感器組4傳感器組3傳感器組2傳感器組138KHz載波發(fā)生器3-8譯碼選擇器顯示器蜂鳴器電機1電機2驅動電路1驅動電路2操作按鍵圖8硬件電路結構框圖(1)微限制器微限制器是電腦鼠的核心,可以選擇單片機,若RAM需求量大或者算法困難或者性能要求高時,須要運用ARM等高性能的微處理器。(2)傳感器傳感器的作用是用來感知環(huán)境,探測電腦鼠的左、前、右是否有路可走。本設計中接受的是紅外線方式,放射和接收分別受微限制器限制。由硬件電路部分結構框圖可知,在電腦鼠的前、左、右、左前、右前方共有5組,其中左、右、前三組傳感器是用于探測電腦鼠在當前迷宮格左、右、前三個方向上是否有支路的,左前、右前兩組傳感器呈45度安裝,用于電腦鼠行進過程中進行姿態(tài)矯正,防止電腦鼠走偏而撞到迷宮墻。(3)顯示器顯示器是用來顯示當前位置等相關信息的,是電腦鼠的可選部分。(4)電源電源用來為單片機供電,選擇哪種電池,這也將影響電路的設計。(5)蜂鳴器當電腦鼠原委終點、或是返回到起點,可以用蜂鳴器來提示,是電腦鼠的可選部分。2.3其它材料清單陶瓷電容,焊的時候沒有正負極之分:晶振,焊的時候同樣沒有正負極之分:電解電容,長腳一端接正極:發(fā)光二極管,長腳一端接正極:開關的焊接:輕觸開關,只需用焊錫將1處兩個腳用焊錫連接到,同理2處也要短接。然后AB對角接線接出去。2.4成品如下圖所示,是實際制作的電腦鼠。迷宮4角中的隨意一個角作為電腦鼠運行的起點(坐標為0,0),起點的對角是電腦鼠要找尋的終點(坐標為7,7)。對于有支路的狀況,電腦鼠通過比較當前坐標和終點坐標來確定選擇走那一條路。從起點到終點的路是不唯一的,要想找到最近的路,就須要盡可能多的對迷宮進行搜尋,探明迷宮布局狀況,選擇一條最佳路徑。圖9實際制作的電腦鼠3.電路設計3.0了解單片機選用AT89S52,低功耗高性能CMOS8位單片機,片內8k

Bytes

ISP(In-systemprogrammable)的可反復擦寫1000次的FLASH只讀程序存儲器,器件接受ATMEL公司之高密度、非易失性存儲技術制造,兼容標準

MCS-51指令系統(tǒng)及80C51引腳結構,片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。單芯片上,擁有8位CPU及在系統(tǒng)可編程FLASH,使AT89S52為眾多嵌入式限制應用系統(tǒng)供應高靈敏、超有效之解決方案。AT89S52之特點:40個引腳,8k

Bytes

Flash片內程序存儲器,256

bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器。AT89C52及AT89S52之別,在于C及S,C表示需用并行編程器下載(接線多且困難),S表示可支持ISP下載,可在89S52系統(tǒng)板上面預留ISP下載接口。ISP下載線可便利地自制,一74HC373,若干電阻,連接電腦并口就可用軟件將hex文件下載至89S52。相比較AT89C52及AT89S52,以便利計,選用AT89S52。各引腳說明:圖10AT89S52引腳圖DIP封裝51單片機的8個特殊引腳Vcc,GND:40、20電源和接地端XTAL1,XTAL2:片內振蕩電路輸入、輸出端,XTAL1,振蕩器反相放大器及內部時鐘發(fā)生電路之輸入端。XTAL2,振蕩器反相放大器之輸出端。RESET:復位端正脈沖有效(寬度>10mS)復位輸入。振蕩器工作時,RST引腳有兩個機器周期以上高電平將使單片機復位。EA/Vpp:尋址外部ROM限制端。低有效,片內無ROM時必需接地;片內有ROM時應當接高電平。要CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端須保持低電平(接地)。需留意:若加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。若EA端為高電平(接Vcc端),CPU則執(zhí)行內部程序存儲器之指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這須是該器件是運用12V編程電壓Vpp。ALE/PROG:地址鎖存允許限制端/程序寫入輸入引腳。訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般,ALE仍以時鐘振蕩頻率的1/6輸出固定之脈沖信號,故它可對外輸出時鐘或用于定時目的。需留意:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳亦用于輸入編程脈沖(PROG)。若必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX及MOVC指令方能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE禁止位無效。PSEN:是外部程序存儲器之讀選通信號,AT89S52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。51單片機的4個8位的I/O口P0.0—P0.7:8位數(shù)據(jù)口和輸出低8位地址復用口(復用時是雙向口;不復用時也是準雙向口)。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。訪問外部程序和數(shù)據(jù)存儲器時,P0口亦被作為低8位地址/數(shù)據(jù)復用。在這種模式下,P0不具有內部上拉電阻。在FLASH編程時,P0口亦用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需外部上拉電阻。P1.0—P1.7:通用I/O口(準雙向口),有內部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅動4個TTL邏輯電平。對P1端口寫“1”時,內部上拉電阻把端口拉高,此時可作輸入口用。作為輸入運用時,被外部拉低的引腳由于內部電阻的緣由,將輸出電流(IIL)。對P1端口寫“1”時,內部上拉電阻把端口拉高,此時可作輸入口用。作輸入用時,被外部拉低的引腳因內部電阻,將輸出電流(IIL)。此外,P1.0及P1.2分別作定時器/計數(shù)器2之外部計數(shù)輸入(P1.0/T2)剛好器/計數(shù)器2之觸發(fā)輸入(P1.1/T2EX),詳見表1所示。在flash編程及校驗時,P1口接收低8位地址字節(jié)。表1:引腳號其次功能P1.0T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1T2EX(定時器/計數(shù)器T2的捕獲/重載觸發(fā)信號和方向限制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2.0—P2.7:輸出高8位地址(用于尋址時是輸出口;不尋址時是準雙向口),有內部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅動4個TTL邏輯電平。對P2端口寫“1”時,內部上拉電阻把端口拉高,此時可作輸入口。作輸入用時,被外部拉低的引腳因內部電阻,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR)時,P2口送出高八位地址。在這種應用中,P2口用很強的內部上拉發(fā)送1。在用8位地址(如MOVX@RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器之內容。在FLASH編程及校驗時,P2口亦接收高8位地址字節(jié)及一些限制信號。P3.0—P3.7:具有特定的其次功能(準雙向口),有內部上拉電阻的8位雙向I/O口,p3輸出緩沖器能驅動4個TTL邏輯電平。對P3端口寫“1”時,內部上拉電阻把端口拉高,此時可用作輸入口。作輸入用時,被外部拉低的引腳因內部電阻之緣由,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(其次功能)用,如表2所示。在FLASH編程及校驗時,P3口亦接收些限制信號。此外,P3口亦接收些用于FLASH閃存編程及程序校驗的限制信號。表2端口引腳其次功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INTO(外中斷0)P3.3INT1(外中斷1)P3.4TO(定時/計數(shù)器0)P3.5T1(定時/計數(shù)器1)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)留意:(1)在不外擴ROM/RAM時,P0~P3均可作通用I/O口運用,而且都是準雙向I/O口?。?)P0口需外接上拉電阻,P1—P3可接也可不接(3)在用作輸入時都須要先置”1”3.1電源電路向單片機供電。單片機電源:AT89S51單片機的工作電壓范圍:4.0V—5.5V,所以通常給單片機外接5V直流電源。連接方式為:VCC(40腳):接電源+5V端,VSS(20腳):接電源地端。3.2復位電路復位電路的作用是確定單片機工作的起始狀態(tài),完成單片機的啟動過程。單片機接通電源時產(chǎn)生復位信號,完成單片機啟動,確定單片機起始工作狀態(tài)。也可以手動按鍵產(chǎn)生復位信號,完成單片機啟動,確定單片機的初始狀態(tài)。通常在單片機工作出現(xiàn)混亂或“死機”時,運用手動復位可實現(xiàn)單片機“重啟”。圖11單片機的復位電路3.3時鐘電路(振蕩電路)單片機工作的時間基準,確定單片機工作速度。時鐘電路就是振蕩電路,向單片機供應一個正弦波信號作為基準,確定單片機的執(zhí)行速度。AT89S52單片機時鐘頻率范圍:0—33MHz。時鐘電路連接方式為:圖12單片機的振蕩電路CPU都是依據(jù)確定的時鐘節(jié)拍和時序進行工作:時鐘周期:Tc=晶振頻率fosc的倒數(shù)機器周期Tm==12個時鐘周期(Tc)(∵12分頻)指令周期Ti:執(zhí)行一條指令所需的機器周期(Tm)數(shù)例:晶振頻率是24M時一個機器周期須要多長時間?Tc=1/fosc=1/24MhzTm=12XTc=12X1/24Mhz=0.5us3.4單片機外圍電路單片機外圍電路設計如下圖,留意20號腳GND40號腳VCC被隱藏。圖13單片機外圍電路凡是電路圖上標有VCC和都是指接到負極,凡是標有3.7V的都是接到正極。3.4傳感器組本電腦鼠設計有5組傳感器。這5組傳感器分別安裝于電腦鼠的左、左前、前、右前、右5個不同的方向,其中左、右、前三組傳感器是用于探測電腦鼠在當前迷宮格左右前三個方向上是否有支路的,左前、右前兩組傳感器呈45度安裝,用于電腦鼠行進過程中進行姿態(tài)矯正,防止走偏而撞到迷宮墻。3.4.1譯碼器由于單片機引腳有限,為了節(jié)約引腳接口,接受74HC138譯碼器將單片機的三位二進制編碼譯碼為8位限制線,運用其中的5位限制線分別限制5個傳感器組的分時工作(接受分時檢測傳感器,主要為了防止多組傳感器之間的相互干擾)。通過單片機的P37、P13、P14分別為3-8譯碼選擇器的地址輸入A0、A1、A2,通過地址選擇對應的傳感器組。例如A0A1A2地址為000時,74HC138輸出Y0有效,從而使第一組傳感器工作,而其他組傳感器處于沒有工作的狀態(tài)。這樣就可以實現(xiàn)單片機的3個引腳限制5個或者更多的傳感器組。74HC138管腳圖:圖14138譯碼器管腳圖74HC138功能表:由上表可見74HC138譯碼器輸出低電平有效。為增加譯碼器功能,除三個輸入端A0、A1、A2外,還設置了S1、,,使譯碼器具有較強的抗干擾實力且便于擴展。當S1=0時,不管其他輸入如何,電路輸出均為“1”,即無譯碼輸出;只有當S1=1,且==0時,譯碼器才處于允許工作狀態(tài),輸出和輸入二進制碼相對應,如A2A1A0=110時,Y6輸出低電平。如圖15所示,是硬件電路部分3-8譯碼選擇器電路。圖153-8譯碼選擇器電路3.4.2載波發(fā)生器紅外傳感器是由紅外放射管和紅外一體化接收頭構成的障礙檢測器。為了能夠讓傳感器組正常工作,紅外放射管須要一個38KHz的方波來驅動,使紅外放射管放射出調制頻率和接收頭接收頻率匹配的紅外光。如圖16所示,是產(chǎn)生38KHz方波的載波發(fā)生器電路。圖1638KHz載波發(fā)生器電路3.4.3傳感器電路傳感器電路由紅外放射LED和紅外一體化接收頭HS0038構成,紅外LED由載波發(fā)生器產(chǎn)生的CLOCK信號驅動產(chǎn)生38KHz紅外調制光。RP1為可調電阻,通過調整RP1來調整紅外LED發(fā)光強度,從而調整傳感器組檢測迷宮墻障礙物的距離,RP1電阻越大,檢測距離越近,電阻越小,檢測距離越遠。irT1用于限制該組傳感器是否工作,連接到3-8譯碼選擇電路。紅外調制光經(jīng)障礙物反射由HS0038紅外一體化接收頭接收,進行放大濾波、解調等處理后由irR1輸出,單片機通過識別irR1位的凹凸電平來推斷傳感器前面是否有障礙物。圖17所示是傳感器1的電路,用于電腦鼠的環(huán)境感知,另外四組傳感器也和該組傳感器相同的。電腦鼠通過對這五組傳感器信息的融合,實現(xiàn)環(huán)境感知功能。圖17傳感器組電路3.5電機驅動電路由于單片機I/O口電流輸出實力有限,不能干脆驅動電機轉動。為了能讓單片機限制電機運轉,須要運用電機驅動電路,將單片機I/O口弱電流放大到足以驅動電機的電流。依據(jù)電機的型號,選用L9110電機驅動芯片。L9110是為限制和驅動電機設計的兩通道推挽式功率放大專用集成電路器件,將分立電路集成在單片IC之中,使外圍器件成本降低,整機牢靠性提高。該芯片有兩個TTL/CMOS兼容電平的輸入,具有良好的抗干擾性;兩個輸出端能干脆驅動電機的正反向運動,它具有較大的電流驅動實力,每通道能通過750~800mA的持續(xù)電流,峰值電流實力可達1.5~2.0A;同時它具有較低的輸出飽和壓降;內置的鉗位二極管能釋放感性負載的反向沖擊電流,使它在驅動繼電器、直流電機、步進電機或開關功率管的運用上平安牢靠。L9110被廣泛應用于玩具汽車電機驅動、步進電機驅動和開關功率管等電路上。器件的管腳圖為:圖18L9110管腳圖管腳定義如下:L9110的邏輯關系表如表1所示。表1L9110邏輯關系表IAIBOAOBHLHL正轉LHLH反轉LLLL停止HHLL停止應用電路圖如下:圖19L9110連接方式通過L9110驅動芯片IA、IB輸入的邏輯值的組合,可以限制電機正轉、反轉、停轉。單片機輸出P2.0、P2.1、P2.2、P2.3是電動機驅動器限制輸入,ML1、MR1、ML2、MR2是左右兩個電機驅動電路限制引腳,為提高電流驅動實力,分別接入2K的上拉電阻。如圖20所示,是用來驅動電腦鼠的左電機驅動電路,右電機驅動電路和這個也是一樣的。ML為左電機,1、2腳是電機組繞,和驅動芯片L9110輸出相連。3腳是電機光電碼盤A相脈沖輸出,連接到單片機的T1定時/計數(shù)器1外部計數(shù)引腳,通過脈沖計數(shù),計算電機角位移和速度。圖20驅動電路如圖21所示,是選用的伺服電機接口圖,其引腳和驅動電路中的引腳編號一一對應。圖21左電機接口圖(ML,PH2.0-6P)3.6顯示器(可選)電腦鼠可以通過液晶顯示屏來顯示相關信息。設計時運用SMC1602A型號的字符型液晶顯示器SMC1602A可以顯示2行字符,每行16個字符,顯示容量為16×2個字符。(1)SMC1602A的引腳及功能圖22SMC1602A管腳圖D0~D7:I/O數(shù)據(jù)傳輸線;RS:數(shù)據(jù)(1)/指令(0)寄存器選擇端;R/W:讀(1)/寫(0)選擇端;E:使能信號,下降沿觸發(fā);VSS、VDD:電源地、電源正;VL:液晶顯示偏壓信號;BLA、BLK:背光源正極、負極;本電腦鼠的顯示連接方式如下,通過單片機P0口傳送數(shù)據(jù)。圖23SMC1602A連接圖可以查閱1602液晶顯示器相關資料,顯示字符。3.7蜂鳴器(可選)要求電腦鼠通過循跡到達終點后,蜂鳴器發(fā)出提示音,說明找到終點,當返回到起點后,也發(fā)出提示音,最終再一次沖刺到終點后發(fā)出提示音后停止。提示音可以通過蜂鳴器來實現(xiàn)。須要通過三極管8550驅動放大。三極管8550是電子電路中常用到的小功率PNP型硅晶體三極管。很多放大電路中都要用到。三極管的基本作用是放大電信號。圖24三極管8550管腳圖圖25貼片smt封裝的8550三極管引腳圖三極管工作在放大狀態(tài)的外部條件是:放射結加正向電壓,集電結加反向電壓。三極管的連接方法:圖26三極管的連接方法本電腦鼠設計中有源蜂鳴器通過單片機的P2.4引腳限制(SPEAK引腳),靠三極管8550驅動放大。放射極接蜂鳴器,集電極接地,基極接單片機的speak信號輸出。圖27蜂鳴器的連接3.8電腦鼠的整體電路圖圖28電腦鼠的整體電路圖4.軟件設計4.1迷宮形態(tài)參照IEEE電腦鼠走迷宮競賽的規(guī)則,迷宮為8*8,迷宮格大小為18*18cm,選取電腦鼠底盤大小為迷宮格一半8*8cm左右。圖29迷宮形態(tài)4.2算法流程如圖30所示,是電腦鼠主程序流程圖。啟動按鍵按下后,電腦鼠啟動,然后依據(jù)設定的終點坐標,探究迷宮,通過到達終點子程序找到終點后,蜂鳴器發(fā)出提示音,說明找到終點。之后電腦鼠依據(jù)記憶通過返回起點子程序按原路返回起點,不再去走走不通的路。電腦鼠到達起點后,調用沖刺子程序立刻掉頭,依據(jù)從前探究階段記憶下的路徑?jīng)_刺到終點后停止,完成電腦鼠走迷宮。起先起先初始化按下啟動?設定終點坐標到達終點蜂鳴器提示返回起點沖刺結束YN圖30主程序流程圖4.1.1到達終點子程序如圖31所示,是電腦鼠到達終點子程序流程圖。電腦鼠到達終點子程序就是依據(jù)設定的終點坐標,接受確定的規(guī)則不斷的去搜尋迷宮,直到找到一條通往終點的路為止。如下流程圖所示,電腦鼠每走一格就將當前坐標和終點坐標進行比對,假如比對相同說明找到終點子程序退出返回,不相同則接著探究迷宮,推斷當前坐標格是否走過,對于沒有走過的迷宮格接受向心法則選路。對于走過的迷宮格,選一個未走過的方向進行探究或返回上一個路口探究。假如全部路都走不通,使電腦鼠返回到了起點,則電腦鼠蜂鳴器提示目的坐標不行到達。起先起先當前坐標是終點?返回當前坐標走過?向心法則選路返回上一個路口有未走過方向?走未走過的方向當前坐標是起點?報告目標不行達返回NYNYNYNY圖31到達終點子程序流程圖4.1.2返回起點子程序如圖32所示,是電腦鼠到達終點后,返回起點的子程序流程圖。電腦鼠依據(jù)當前迷宮格所在的坐標查找探究迷宮時記憶下的當前坐標第一次的進入方向,用電腦鼠的當前方向和進入方向進行方向運算,得到轉向進入方向的動作,電腦鼠執(zhí)行這個動作就可以轉向第一次進入該坐標格的方向,再走一格后就返回了一步,依據(jù)電腦鼠移動方向每走一格更新一次坐標,一步一步的返回,直到回到坐標原點,子程序返回退出。起先起先查當前坐標進入方向當前坐標是起點?轉向進入方向走一格返回YN更新坐標圖32返回起點子程序流程圖4.1.3沖刺子程序如圖33所示,是電腦鼠回到起點后,從起點到終點的沖刺子程序流程圖。其流程和返回到起點子程序流程差不多,只不過在沖刺時是依據(jù)當前坐標最終一次出去方始終進行轉向的。首先電腦鼠依據(jù)當前迷宮格坐標在迷宮搜尋階段記憶下的最終一次出去方始終確定通往終點的路怎么走,然后向前走一格并更新坐標,反復的執(zhí)行查詢方向、轉向、走一格、更新坐標、直到電腦鼠沖刺到終點為止。對于最終一次出去方向,假如電腦鼠探究路口某一個方向走不通,返回走另外一條路時,則會將最終一次出去方向更新為另外這條路的方向。因此只要電腦鼠找到終點,則最終一次出去方向就是通往終點的方向。這樣電腦鼠按最終一次出去方向走,在沖刺的時候就不會再去走那些走不通的死胡同了,自己走通往終點的路,到達終點,完成沖刺。起先起先查當前坐標最終一次出去方向當前坐標是終點?轉向出去方向走一格返回YN更新坐標圖33沖刺子程序流程圖4.3怎樣推斷電腦鼠的位置迷宮隔墻構成的通道寬度為18厘米,通常所制作的電腦鼠的寬度為8厘米左右。在這種狀況下,假如電腦鼠行進在通道中心,其邊緣和迷宮隔墻間的距離在3~4厘米左右;假如偏離了,那么一邊的距離會增加,另一邊的距離會削減。通過安裝在電腦鼠上的傳感器能夠快速﹑精確地測量這些距離信息,以便不斷地調整電腦鼠的行進方向。運用紅外LED管測距時,放射管和接收管平行安裝在電腦鼠的前方或左﹑右方。當發(fā)送管放射的紅外光線遇到迷宮隔墻后,紅外光線發(fā)生反射并被接收管所接收。接收管收到的信號轉換為電壓,它和電腦鼠和迷宮隔墻之間的距離有精確的對應關系。檢測該輸出電壓的大小就可以測定電腦鼠和迷宮隔墻之間的距離。

4.4怎樣推斷電腦鼠偏離了直線前進方向首先設定電腦鼠離左右墻的平安距離,由于各電腦鼠在硬件方面有確定的差異,所得到的檢測數(shù)據(jù)也有確定的差異,那么平安距離的設定大家可以依據(jù)自己的電腦鼠進行相應的調整。當然左右的平安距離也可以設定為不一樣的值,只要能保證電腦鼠前進的時候能走直線,而不撞到墻就可以了。如圖所示:讀出左前方LED的數(shù)據(jù)之后用來跟左邊平安距離比較,當偏向左邊的時就要修正電腦鼠的位置了,我們可以通過減慢右邊輪子的速度來調整電腦鼠的位置。接著就讀出右前方LED的數(shù)據(jù)之后用來跟右邊平安距離比較,當偏向右邊的時就要修正電腦鼠的位置了,我們可以通過減慢左邊輪子的速度來調整電腦鼠的位置。4.5怎樣推斷電腦鼠前面有無障礙物和怎樣推斷左右轉當電腦鼠前面障礙物已經(jīng)在平安距離之內時,電腦鼠必需要減速,并找尋左右是否有出口,推斷的方法:當電腦鼠離墻的距離小于平安距離(設為5CM)時,即L1<5CM,那么說明電腦鼠前面有墻,此時電腦鼠要轉彎或掉頭返回。推斷左右是否有出口:如圖所示假設電腦鼠右邊有墻(用綠色線表示),距離為L4,電腦鼠右邊沒墻時距離為L3(用紅色線表示);很明顯L3>L4.推斷的依據(jù)我想大家也很明白了吧。我們只要設定一個轉彎距離值,超過這個距離值,我們就可以推斷有出口。前面的平安距離可以依據(jù)你自己設定的電腦鼠的速度來確定,速度越快那么所設定的平安距離越遠,反之越近。推斷左右轉彎的距離當然要比你所設定的左右平安距離要大。這個大家可以通過試驗來慢慢體會。4.6怎樣來限制速度4.7轉彎原則轉彎方法有很多種,下面筆者將為大家講解并描述轉彎的幾種常用方法。圖示1:圖示1解說:電腦鼠到轉彎的時候,停下來作90度原地轉前進。向左轉的話左邊輪子反轉,右邊輪子正轉。向右轉的話右邊輪子反轉,左邊輪子正轉。左右輪子速度一樣。流程圖為:怎樣推斷是否已經(jīng)轉過90度:電腦鼠轉90度,就相當于車輪轉半圈。車輪編碼器平均分為26等份,車輪轉一圈就是13個正弦周期,轉半圈就是6.5個正弦周期。通過車輪左右兩邊的紅外檢測管就可以獲得車輪的轉動狀況。檢測到左右輪已經(jīng)有6.5個正弦周期了的話就說明已經(jīng)轉彎成功了。缺點:轉彎速度太慢。圖示2:圖示2解說:一邊轉彎一邊前進。向右轉的話就把右邊輪子的速度調慢,左邊的輪子速度快。向左轉的話就把左邊輪子的速度調慢,右邊的輪子速度快。流程圖為(以左轉為例):怎樣推斷是否已經(jīng)轉彎成功:左轉的話可以通過對左前方墻壁到電腦鼠的距離來推斷是否已轉彎成功

溫馨提示

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

最新文檔

評論

0/150

提交評論