紅外避障小車課程設計報告.doc
《紅外避障小車課程設計報告.doc》由會員分享,可在線閱讀,更多相關《紅外避障小車課程設計報告.doc(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。
前 言 --------------------------------------------------- 隨著生產(chǎn)自動化的發(fā)展需要,機器人已經(jīng)越來越廣泛地應用到生產(chǎn)自動化上,隨著科學技術的發(fā)展,機器人的傳感器種類也越來越多,其中紅外傳感器已經(jīng)成為自動行走和駕駛的重要部件。 紅外的典型應用領域為自主式智能導航系統(tǒng),機器人要實現(xiàn)自動避障功能就必須要感知障礙物,感知障礙物相當給機器人一個視覺功能。智能避障是基于紅外傳感系統(tǒng),采用紅外傳感器實現(xiàn)前方障礙物檢測,并判斷障礙物遠近。 由于時間和水平有限,我們暫選最基本的避障功能作為此次設計的目標。 本設計通過小車這個載體再結合由AT89S51為核心的控制板可以達到其基本功能,再輔加由漫反射式光電開關組成的避障電路、555組成的轉速控制電路、電源電路、差分驅動電路就可以完善整個設計。 目錄 前言 ------------------------------------------------------------------------------1 目錄 ------------------------------------------------------------------------------2 摘要 ------------------------------------------------------------------------------3 功能概述 ------------------------------------------------------------------------3 硬件設計 ------------------------------------------------------------------------3 避障電路 ------------------------------------------------------------------------4 單片機電路 ---------------------------------------------------------------------7 電機轉速控制電路 ------------------------------------------------------------7 電源電路 ------------------------------------------------------------------------8 電機驅動電路 ---------------------------------------------------------------9 主程序設計 --------------------------------------------------------------------12 小結 -----------------------------------------------------------------------------23 參考文獻 -----------------------------------------------------------------------23 1.【摘 要】: 本文提出一種智能避障小車的設計方法,利用紅外技術檢測障礙物信息,采用AT89S51單片機進行實時控制,實現(xiàn)智能避障,智能小車采用后輪驅動,兩輪各用一個直流電機控制,避障用的傳感器采用紅外漫反射式傳感器。 【關鍵詞】: 避障 光電開關 差分控制 LCD 2. 功能概述 智能小車采用前輪驅動,前輪左右兩邊各用一個電機驅動,分別控制兩個輪子的轉動從而達到轉向的目的,后輪是萬向輪,起支撐的作用。將三個紅外線光電傳感器分別裝在車體的左中右,當車的左邊的傳感器檢測到障礙物時,主控芯片控制右輪電機停止左輪轉動,車向右方轉向,當車的右邊傳感器檢測到障礙物時,主控芯片控制左輪電機停止轉動,車向左方轉向,當前面有障礙物時規(guī)定車右轉。于此同時測定速度并顯示,在避障小車前進的同時從LCD點陣液晶顯示器上顯示小車當時速度。在小車左轉或右轉時在顯示器上顯示出左或右。 3.硬件設計 如下圖所示,是本次設計智能小車的電路框圖。以AT89S51為電路的中央處理器,來處理傳感器采集來的數(shù)據(jù),處理完畢之后以便去控制電機驅動電路來驅動電機。電源部分是為整個電路模塊提供電源,以便能正常工作。 4. 避障電路 (1)障礙物探測方案的選擇 方案一:脈沖調制的反射式紅外線發(fā)射接受器。由于采用該有交流分量的調制信號,則可大幅度減少外界干擾;另外紅外線接受官的最大工作電流取決于平均電流。如果采用占空比小的調制信號,再品均電流不變的情況下,順勢電流很大(50—100mA),則大大提高了信噪比。并且其反應靈敏,外圍電路也很簡單。它的優(yōu)點是消除了外界光線的干擾提高了靈敏度。 方案二:采用超聲波傳感器,如果傳感器接收到反射的超聲波,則通知單片機前方有障礙物,如則通知單片機可以向前行駛。市場上很多紅外光電探頭也都是基于這個原理。這樣不但能準確完成測量,而且能避免電路的復雜性 由以上兩種方案比較可知。方案二要比方案一優(yōu)勢大,市場上很多紅外觀點探頭也都基于這個原理。其電路簡單,工作可靠,性能比較穩(wěn)定。從而避免了電路的復雜性,因此我先用方案二作為小車的監(jiān)測系統(tǒng)。 避障電路采用漫反射式光電開關進行避障。光電開關是集發(fā)射頭和接收頭于一體的檢測開關,其工作原理是根據(jù)發(fā)射頭發(fā)出的光束,被障礙物反射,接收頭據(jù)此做出判斷是否有障礙物。當有光線反射回來時,輸出低電平;當沒有光線反射回來時,輸出高電平。單片機根據(jù)接收頭電平的高低做出相應控制,避免小車碰到障礙物,由于接收管輸出TTL電平,有利于單片機對信號的處理。 光電開關工作原理: 光電開關是通過把光強度的變化轉換成電信號的變化來實現(xiàn)控制的。 光電開關在一般情況下,有三部分構成,它們分為:發(fā)送器、接收器和檢 測電路。 避障電路如下: 避障電路功能表: 傳感器 避障電路輸出(上升沿動作) 待執(zhí)行命令 左 中 右 左轉信號(P2.1) 右轉信號(P2.0) 0 0 0 √ 右轉 0 0 1 √ 右轉 0 1 0 √ 右轉 0 1 1 √ 右轉 1 0 0 √ 左轉 1 0 1 √ 右轉 1 1 0 √ 左轉 1 1 1 前進 注解(“0”表示有障礙物; “1”表示無障礙物) 4. 單片機電路 本設計的主控芯片選擇AT89S51,負責檢測傳感器的狀態(tài)并向電機驅動電路發(fā)出動作命令。復位電路采用手動復位。 單片機電路如下: 5. 電機轉速控制電路 由555時基電路構成多諧振蕩器提供一個 PWM信號,通過控制該信號的占空比來實現(xiàn)電機調速。 阻容元件的取值初步定為圖中所示。 多諧振蕩器如下: 其中占空比: q=(R1+Rx1)/(R1+R2+Rx) 周期:T=(R1+R2+Rx)Cln2 6. 電源電路 本系統(tǒng)所有芯片都需要+5V的工作電壓,而干電池只能提供的電壓為1.5V的倍數(shù)的電壓,并且隨著使用時間的延長,其電壓會逐漸下降,則需要LM7805穩(wěn)壓芯片。L7805能提供300至500mA的電流,足以滿足芯片供電的要求。雖然微處理器和微控制器不需要支持電路,功耗也很低,但必須要加以考慮。 電源電路擬定為: 7.電機驅動電路 市場上用很多種類的小電壓直流電動機,很方便的選擇到。主要有普通電動機、和步進電動機。 方案一:采用步進電機,步進電動機的一個顯著的特點就是具有快速啟動和停止能力,能夠達到我們所要求的標準。如果負荷不超過步進電機所能提供的動態(tài)轉矩值,就能夠立即是步進電機啟動或反轉。其轉換靈敏度比較高。正轉、反轉控制靈活。但是步進電機的價格比較昂貴,對于我們的現(xiàn)狀相差太遠。 方案二:采用普通的直流電機。直流電機具有優(yōu)良的調速特性,調速平滑、方便。調整范圍廣;過載能力強,能承受頻繁的沖擊負載,可實現(xiàn)頻繁的無極快速啟動、制動和反轉。能滿足各種不容的特殊運行要求。 由于普通直流電機價格適宜,更易于購買,并且電路相對簡單,因此采用直流電機作為動力源 本設計采用差分放大驅動使電機正反轉從而做到前進,左轉右轉。采用四個大功率晶體管組成H橋式電路,四個大功率晶體管分為兩組,交替導通和截止,用單片機控制使之工作在開關狀態(tài),進而控制電機的運行。該控制電路由于四個大功率晶體管只工作在飽和與截止狀態(tài)下,效率非常高,并且大功率晶體管開關的速度很快,穩(wěn)定性也極強,是一種廣泛采用的電路。 采用與門對兩電機進行選擇控制,從而實現(xiàn)前進、左轉、右轉。 驅動電路原路框圖如下: 電路圖如下: 注釋:將圓盤12等分 半徑2CM,周長4*pi .用程序設定1S內(nèi)采集到的脈沖數(shù)可以轉化為速度。 單位時間內(nèi)前進距離 為S ,則:速度V大小為S 。 驅動狀態(tài)表: 注解:(“0”代表低電平 “1”代表高電平) 電機驅動電路功能表 輸入 小車狀態(tài) P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 1 1 1 1 1 0 前進 1 1 1 1 0 0 停止 1 0 0 0 1 1 左轉 0 1 0 0 1 1 右轉 8. 主程序流程圖 源程序: RS BIT P2.2 RW BIT P2.3 E BIT P2.4 ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV P2,#0FFH MOV P1,#1FH ;前進 MOV TMOD,#10H MOV R1,#0C8H SETB TR1 TIME:MOV TH1,#0D8H MOV TL1,#0F0H JNB TF1,$ DJNZ R1,TIME CLR TR1 MOV R7, #00H ;脈沖個數(shù) MOV R1, #64H MOV TMOD, #10H SETB TR1 LOOP6: MOV TH1, #08H MOV TL0, #0F0H NEXT: MOV C, 0 JB TF1, LOOP7 ;判斷TF1是否溢出 ORL C, P3.4 JNC LOOP6 ;判斷C是否為1 INC R7 ;1S內(nèi)出現(xiàn)的脈沖個數(shù) JB TF1, LOOP7 SJMP NEXT LOOP7: DJNZ R1, LOOP6 CLR TR1 CLR C MOV A,R7 ;脈沖個數(shù)乘以2 ADDC A,R7 MOV R7,A MOV A, #01H ;一個碼格的弧長 MOV B, R7 MUL AB ;計算總弧長 DA A ;十進制調整 MOV R5, A MOV A, B ;B的值給A JNC LOOP8 ;判斷十進制調整是CY有沒有被置1 INC A CLR C LOOP8: DA A ;十進制調整 MOV R6, A JNC LOOP9 INC 70H ;十進制調整如果CY被置1,70H賦值1 CLR C LOOP9: MOV A, R6 ;解釋R6,R5分別表示總長的高位和低位 ANL A, #0F0H ;取R6的高四位,賦給71H SWAP A MOV 71H, A MOV A, R6 ANL A, #0FH ;取R6的低四位,賦給72H MOV 72H, A MOV A, R5 ANL A, #0F0H ;取R5的高四位,賦給73H SWAP A MOV 73H, A MOV A, R5 ANL A, #0FH ;取R5的低四位,賦給74H MOV 73H, A /******顯示前進******/ MOV SP, #50H ACALL INIT MOV A, 10000000B ACALL WC51R MOV A, "G" ACALL WC51DDR MOV A, "0" ACALL WC51DDR MOV A, " " ACALL WC51DDR MOV A, "A" ACALL WC51DDR MOV A, "H" ACALL WC51DDR MOV A, "E" ACALL WC51DDR MOV A, "A" ACALL WC51DDR MOV A, "D" ACALL WC51DDR MOV A, 11000101B ACALL WC51R MOV A, 70H ACALL WC51DDR MOV A, 71H ACALL WC51DDR MOV A, 72H ACALL WC51DDR MOV A, "." ACALL WC51DDR MOV A, 73H ACALL WC51DDR MOV A, 74H ACALL WC51DDR MOV C,P2.0 JC LOOP1 ;判斷P2.0 MOV P1,#0FH ;停車 LCALL LOOP2 MOV P1,#32H ;右轉 LCALL RIGHT LJMP LOOP4 LOOP1:MOV C,P2.1 JC NEXT1 ;判斷P2.1 MOV P1,#0FH ;停車 LCALL LOOP2 MOV P1,#31H ;左轉 LCALL LEFT LJMP LOOP4 NEXT1:LJMP MAIN /*****停車定時*****/ LOOP2:MOV TMOD,#10H MOV R0,#64H SETB TR1 LOOP3:MOV TH1,#0D8H MOV TL1,#0F0H JNB TF1,$ DJNZ R0,LOOP3 CLR TR1 RET /*****轉向定時*****/ LOOP4:MOV TMOD,#10H MOV R1,#0C8H SETB TR1 LOOP5:MOV TH1,#0D8H MOV TL1,#0F0H JNB TF1,$ DJNZ R1,LOOP5 CLR TR1 MOV P1,#1FH ;前進 LJMP MAIN /*****顯示左轉*****/ LEFT: MOV SP, #50H ACALL INIT MOV A, 10000000B ACALL WC51R MOV A, "L" ACALL WC51DDR MOV A, "E" ACALL WC51DDR MOV A, "F" ACALL WC51DDR MOV A, "T" ACALL WC51DDR RET /*****顯示右轉*****/ RIGHT: MOV SP, #50H ACALL INIT MOV A, 10000000B ACALL WC51R MOV A, "R" ACALL WC51DDR MOV A, "I" ACALL WC51DDR MOV A, "G" ACALL WC51DDR MOV A, "H" ACALL WC51DDR MOV A, "T" ACALL WC51DDR RET /***********初始化子程序***********/ INIT: MOV A, #00000001H ;清屏 ACALL WC51R MOV A, #00111000B ;使用8位數(shù)據(jù) LCALL WC51R MOV A, #00000110B ;字符不動,光標自動右移一格 LCALL WC51R /*****檢查忙子程序*****/ F_BUSY:PUSH ACC ;保護現(xiàn)場 PUSH DPH PUSH DPL PUSH PSW WAIT: CLR RS SETB RW CLR E SETB E MOV A, P1 CLR E JB ACC.7,WAIT ;忙,等待 POP PSW ;不忙,恢復現(xiàn)場 POP DPL POP DPH POP ACC ACALL DELAY RET /*****寫入命令子程序*****/ WC51R: ACALL F_BUSY CLR E CLR RS CLR RW SETB E MOV P1, ACC CLR E ACALL DELAY RET /*****寫入數(shù)據(jù)子程序*****/ WC51DDR:ACALL F_BUSY CLR E SETB RS CLR RW SETB E MOV P1, ACC CLR E ACALL DELAY RET /*****延時子程序*****/ DELAY: MOV R6, #5 D1: MOV R7, #248 DJNZ R7, $ DJNZ R6, D1 RET END 9. 小結 本文提出了一種經(jīng)濟實用的智能小車設計方法,給出了從硬件電路設計到軟件設計的一系列步驟。采用了直流電機作為執(zhí)行元件,E3F系列光電開關作為檢測元件,AT89S51單片機作為主控芯片,完成了小車避障功能的實現(xiàn)。與此同時應用LCD顯示狀態(tài),本設計不僅對于了解單片機的結構、電路設計及控制功能有一定的幫助,還有益于誘發(fā)學習單片機的興趣。 參考文獻 【1】 李朝青.單片微機原理及接口技術(第三版)。 [M]北京航空航天大學出版社 【2】 閻 石. 數(shù)字電子技術基礎(清華大學電子學教研組編 第五版) 高等教育出版社 【3】 康華光. 電子技術基礎(第五版) 高等教育出版社 【4】 《無線電》2009年第2期 宋澤清 關于靈活避障 快速循跡 【5】 楊加國 單片機原理與應用及C51程序設計 清華大學出版社- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 紅外 小車 課程設計 報告
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.jqnhouse.com/p-6525303.html