电脑鼠-大安高工电子科_第1页
电脑鼠-大安高工电子科_第2页
电脑鼠-大安高工电子科_第3页
电脑鼠-大安高工电子科_第4页
电脑鼠-大安高工电子科_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE22製作動機硬體架構機身的設計(機身的材質選擇、設計原理)電源電路(89C51的電源、±5V、馬達驅動電源、電路圖)感測器電路(感測器的選擇、電路設計原理、感測器的配置、電路圖)馬達電路(馬達的選擇、電路設計原理、電路圖)聲音接收電路(聲音接收器的選擇、電路設計原理、電路圖)主機板(將電源、感測器、馬達、聲音接收電路與單晶片做個整合)軟體架構(流程圖、原始程式的內容及說明)電腦鼠的改進(第一、二代的優缺點、各電路的改進)製作心得未來與展望參考文獻

製作動機有感於機電整合將是未來發展的趨勢,將探討機械、電機、電子如何做相互的結合,是未來一項重要的課題。製作電腦鼠,所橫跨的範圍極為廣泛,舉凡電機(電池、馬達)、電子(各項電路的設計、製作、測量、檢修)、資訊(軟體的編寫)、機械(機殼的製作)、物理(感測器的接收與反射、光反射)…等,都是製作電腦鼠的基礎。硬體架構1.機身的設計設計電腦鼠的機身應注意下列事項:機身重量要輕,以減輕電源的負荷。機身重心要低。機身也必須堅固耐用,經得起碰撞及震動。機身的設計也必須考慮驅動馬達、主輪及輔輪的規格。為了要符合迷宮規格,足部的寬度要小於16.8cm,長寬要小於25cm,感測器的位置要略高於5cm。在機身的製作上,我選擇使用鋁質的機身,是由板金科的同學製作而成,而在輔輪的位置選擇上,我選擇了把輔輪擺在前後的位置上。電腦鼠車底電源電路以一顆穩壓IC7805提供5V電壓給主版(8051)使用,感測器(sensor)之電壓責由另一顆7805提供,以免雜訊干擾。而馬達電源則以未穩壓之電源提供。2.感測器電路感測器在電腦鼠的整體電路設計中佔有相當重要的地位,它的主要目的有兩個,一個是感測到底哪一面有牆、二是感測電腦鼠與牆的距離,以作為加減速的判斷。一般使用在電腦鼠上的感測器有機械式、光感式以及超音波感測式,近來較新的電腦鼠也有使用CCD(chargecoupleddevice、電荷耦合裝置),也就是俗稱的攝影機,下表示感測器的比較。基本感測裝置感測器的動作原理機械式

感測器開關觸角是否有觸及壁面步進馬達將觸角的角度換成電壓檢出光感測器發光元件/感光元件發出光線並檢出穿透光及反射光,以瞭解發光物體或反射物體的存在超音波

感測器超音波發射器/接收器發射超音波然後接收從牆壁反射回來的反射波CCD攝影機經由CCD感應之影像,經由影像處理後辨識出壁面的有無及相對距離光感測器因為具有體積小,價格低,控制容易,且解析度不錯的特性,因此,一般的電腦鼠都使用此元件當作感測元件。但是由於它容易受到其他光源的影響,而產誤動作,因此造成了此種元件在使用上的一大致命傷;關於此點缺憾,若使用編號為CNY70的光感測元件則可以得到一些改善。CNY70是一個附有濾光透鏡的紅外線光反射偵測器,它只接收紅外線,所以對於其他外界干擾的光線可以濾除掉,但對於太陽光或其他含有紅外線的光源它就沒辦法了。CNY70感測器基本感測電路動作原理+5V經由R1180Ω(限流電阻)供給紅外線光LED穩定的電壓,以使LED穩定而持續地發出紅外線。當光電晶體接收到紅外線時(碰到亮面時,紅外線會反射;碰到暗面時,紅外線會被吸收),則光電晶體會依靈敏度的大小而飽和,使VE接近5V,再經由4584(史密特反向觸發器),使輸出為0V,再將資料輸出端接至89C51做出判斷及處理。其中SVR500K的目的在於調整感測器的靈敏度。SVR500K之阻值IE光電晶體飽和程度零敏度調小較大容易飽和高調大較小不易飽和低IC4584是一個史密特反向觸發器,它兼有史密特觸發器以及反向閘的功能。在這裡使用史密特觸發器,其目的在於過濾外界光源的干擾,以避免干擾光源的小變動,就使輸出的狀態改變,造成誤動作。第一代感測器電路:第二代感測器電路(脈衝點亮):第二代感測器電路照片:馬達電路其中4584是一個緩衝器,在電路尚可隔離電流,以免大電流流入CPU而使CPU受損,並且有放大電流的效果,SLA4061是將電流再放大,以至能驅動步進馬達,它是一顆NPN結構的驅動IC,此外,SLA4061通過的電流部小,所以使用時需加裝散熱片。(如果機身式鋁製的材質,可考慮直接將SLA4061鎖在機身上,一來可達散熱效果,二來也不會有需另加散熱片、加重機身重量的苦惱)。馬達驅動電路聲音接收電路選擇使用電容式麥克風(如圖3-E-1)做為聲音接收器。選擇原因有:價格便宜、特性良好、大眾化且容易取得、應用此元件的技術已經純熟。哨音接收電路主機板主機板包括了電源電路、馬達驅動電路、聲音接收電路與單晶片(89C51)的組合,如下圖。其中89C51單晶片是主機板電路中的靈魂人物,它負責整個電路中各個週邊IC的協調。6264是外部的資料記憶體(RAM)。8255是可程式週邊介面IC,提供三個可規劃的輸出/輸入埠,以做為I/O控制。就整個系統的規劃,8255與6264都規劃為資料記憶體,且為了要區別哪一記憶區段由哪一個IC動作,使用了74138這顆解碼IC來致能各個IC,其中位址線的第16、15、14位元(及A15、A14、A13)分別接至74LS138的選擇輸入腳C、B、A,且74LS138的輸出腳Y0接至6264、Y1腳接至8255,因此當位址選擇在$0000H~$1FFFFH之間時,Y0腳會變低太,使6264致能,而存取出6264的資料;相同的道理,當位址選擇在$2000H~$3FFFH之間時,Y1腳會變低態,使8255致能,而能控制8255的埠A、埠B、埠C,存取想要的資訊。第二代主機板電路圖:第二代主機板照片軟體架構右手法則程式開始程式開始右邊是否有路右邊是否有路?NoYesNoYes前面是否有路前面是否有路?NoYesNoYes右轉90°右轉90°直走直走左邊是否有路左邊是否有路?YesYes左轉左轉90°NoNo左轉左轉180°程式碼:;=======================;MOTOR:;RIGHTMOTOR:HIGH4BITS\; >P0RLFOWARD;LEFTMOTOR:LOW4BITS../;;SENSOR:P3;;3;;4;012567;=======================LMREG20HRMREG21HRBACKEQU201RRIGHTEQU100RLEFTEQU100MDEQU170 ORG00H JMPRESET ORG50HRESET: MOVA,#11001100B MOVLM,A MOVRM,A MOVP0,A;;RHRIGHTHANDLAW;LHLEFTHANDLAW;CRCENTERRIGHTLAW;CLCENTERLEFTLAW;;RIGHTHANDLAWRH:CALLGETSENSORANLA,#11100000BCJNEA,#00H,RH2CALLTURNRIGHT JMPRHRH2:; CALLGETSENSOR;ANLA,#00001000B;CJNEA,#00001000B,RH3;CALLTURNLEFT;JMPRH;RH3:;CALLGETSENSOR;ANLA,#01100110B;CJNEA,#01000010B,RH4;JMPRHFOWARD;RH4:;CJNEA,#00000010B,RH5;JMPRHFOWARD;RH5:RHFOWARD: CALLFIX JMPRH;=========================;FIX;=========================FIX: CALLRIGHT CALLLEFT RET;;RIGHTFIX;RIGHT: CALLGETSENSOR ANLA,#10000100B CJNEA,#10000100B,RIGHT2 JMPFIXRRIGHT2: CJNEA,#00000100B,FFFIXR: CALLLMF CALLDELAYRRET:RET;;LEFTFIX;LEFT: CALLGETSENSOR ANLA,#00100001B CJNEA,#00100001B,LEFT2 JMPFIXLLEFT2:CJNEA,#00100000B,FFFIXL:CALLRMF MOVR2,#110 CALLDELAYLRET:RET;;FIXFOWARD;FF: CALLMF CALLDELAY RET;;TurnRightFix;TURNRIGHTFIX: CALLGETSENSOR ANLA,#00000111B CJNEA,#00000010B,TURNRIGHTFIX2 CALLMF JMPTURNRIGHTFIX4TURNRIGHTFIX2: ANLA,#00000001B CJNEA,#00H,TURNRIGHTFIX3CALLLMF JMPTURNRIGHTFIX4TURNRIGHTFIX3: CALLGETSENSOR ANLA,#00000100B CJNEA,00H,TURNRIGHTFIX4 CALLRMFTURNRIGHTFIX4: CALLDELAY CALLGETSENSOR;ANLA,#11100111B;CJNEA,#00H,TURNRIGHTFIX5;CALLTEN;TURNRIGHTFIX5: ANLA,#11100000B CJNEA,#00H,TRFR JMPTURNRIGHTFIXTRFR: RETTURNLEFTFIX: CALLGETSENSOR ANLA,#11100000B CJNEA,#01000000B,TURNLEFTFIX2 CALLMF JMPTURNLEFTFIX4TURNLEFTFIX2: ANLA,#10000000B CJNEA,#00H,TURNLEFTFIX3 CALLLMF JMPTURNLEFTFIX4TURNLEFTFIX3: CALLGETSENSOR ANLA,#00100000B CJNEA,00H,TURNLEFTFIX4 CALLRMFTURNLEFTFIX4: CALLDELAY CALLGETSENSOR ANLA,#11100111B CJNEA,#00H,TURNLEFTFIX5 CALLTENTURNLEFTFIX5: CALLGETSENSOR ANLA,#00000111B CJNEA,#00H,TRFR JMPTURNLEFTTLFR:RET;;TURNBACK;TURNBACK: MOVR4,#MDTURNBACK2: CALLGETSENSOR ANLA,#00010000B CJNEA,#00H,TURNBACK3 CALLMF CALLDELAY DJNZR4,TURNBACK2TURNBACK3: MOVR4,#RBACKTURNBACK4: CALLROL MOVR2,#110 CALLDELAY DJNZR4,TURNBACK4 RET;;TURNLEFT;TURNLEFT: CALLTURNLEFTFIXTURNLEFT4: MOVR4,#RLEFTTURNLEFT5: CALLROL MOVR2,#180 CALLDELAY DJNZR4,TURNLEFT5TURNLEFT6: CALLMF MOVR2,#110 CALLDELAY CALLGETSENSOR ANLA,#00000111B CJNEA,#00H,TURNLRET JMPTURNLEFT6TURNLRET: RET;;TURNRIGHT;TURNRIGHT: MOVR4,#MDTURNRIGHT2: CALLMF CALLDELAY DJNZR4,TURNRIGHT2 MOVR4,#RRIGHTTURNRIGHT3: CALLROR CALLDELAY DJNZR4,TURNRIGHT3 JMPRHTURNRIGHT4: CALLGETSENSOR ANLA,#01000000B CJNEA,#00H,TURNRIGHT5 CALLLEFTFIX JMPTURNRIGHT4TURNRIGHT5: CALLLONGDELAY MOVR4,#RRIGHTTURNRIGHT6: CALLROR CALLDELAY DJNZR4,TURNRIGHT6 JMP$TURNRIGHT7: CALLMF CALLDELAY CALLGETSENSOR ANLA,#11100000B CJNEA,#00H,TURNRRET JMPTURNRIGHT7TURNRRET: RET;TEN: CALLGETSENSOR ANLA,#11100111B CJNEA,#00H,TEN2 CALLMF CALLDELAY JMPTENTEN2: ANLA,#11100000B CJNEA,#00H,TEN3 CALLRMF CALLDELAY JMPTURNRIGHTTEN3: CALLGETSENSOR ANLA,#00000111B CJNEA,#00H,TEN4 CALLLMF CALLDELAY JMPTENTEN4:RET;*******************;;*GETSENSORDATA*;;*******************;GETSENSOR: MOVA,P2 CPLA RET;*******************;;*MOTORSUBPROGRAM*;;*******************;LMF:;LEFTMOTORFOWARD MOVA,LM RLA MOVLM,A ANLA,#0FH MOVR0,A MOVA,RM ANLA,#F0H ORLA,R0 MOVP0,A RETLMR:;LEFTMOTORRXXXXXXXX MOVA,LM RRA MOVLM,A ANLA,#0FH MOVR0,A MOVA,RM ANLA,#F0H ORLA,R0 MOVP0,A RETRMF:;RIGHTMOTORFOWARD MOVA,RM RLA MOVRM,A ANLA,#F0H MOVR0,A MOVA,LM ANLA,#0FH ORLA,R0 MOVP0,A RETRMR:;RIGHTMOTORRXXXXXXXX MOVA,RM RRA MOVRM,A ANLA,#F0H MOVR0,A MOVA,LM ANLA,#0FH ORLA,R0 MOVP0,A RETMF:;MOTORFOWARD MOVA,LM RLA MOVLM,A ANLA,#0FH MOVR0,A MOVA,RM RLA MOVRM,A ANLA,#F0H ORLA,R0 MOVP0,A RETMR:;MOTORRXXXX MOVA,RM RRA MOVRM,A ANLA,#F0H MOVR0,A MOVA,LM RRA MOVLM,A ANLA,#0FH ORLA,R0 MOVP0,A RETROR:;ROTATERIGHT MOVA,RM RRA MOVRM,A ANLA,#F0H MOVR0,A MOVA,LM RLA MOVLM,A ANLA,#0FH ORLA,R0 MOVP0,A RETROL:;ROTATELEFT MOVA,RM RLA MOVRM,A ANLA,#F0H MOVR0,A MOVA,LM RRA MOVLM,A ANLA,#0FH ORLA,R0 MOVP0,A RET;==============DELAY: MOVR5,#5D1:MOVR6,#150D2:MOVR7,#5 DJNZR7,$ DJNZR6,D2 DJNZR5,D1 RETLONGDELAY: MOVR5,#5D3:MOVR6,#150D4:MOVR7,#30 DJNZR7,$DJNZ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论