歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

尋跡避障小車原理

  • 資源ID:34062306       資源大小:369.01KB        全文頁數(shù):13頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

尋跡避障小車原理

循跡避障小車原理一) 小車功能實現(xiàn)利用光電傳感(紅外對射管,紅外發(fā)射與接收二極管組成)檢測黑白線,實現(xiàn)小車能跟著白線(或黑線)行走,同時也可避開障礙物,即小車尋跡過程中,若遇障礙物可自行繞開,繞開后繼續(xù)尋跡。二) 電路分析1. 光電傳感循跡光電傳感器原理,利用黑白線對紅外線不同的反射能力。然后通過光敏二極管或光敏三極管,接收反射回的不同光強信號,把不同光強轉換為電流信號,最后通過電阻,轉換為單片機可識別的高低電平。光電傳感器實現(xiàn)循跡的基本電路如下圖所示、循跡傳感器基本電路 電路解釋:TC端是傳感器工作控制端,為高電平時,發(fā)光二極管不工作,傳感器休眠,為低電平時,傳感器啟動。Signal端為檢測信號輸出,當遇到黑線,黑線吸收大量的紅外線,反射的紅外線很弱,光敏三極管不導通,signal輸出高電平,當遇到白線,與黑線相反,反射的紅外線很強,使光敏三極管導通,signal輸出低電平。 尋跡部分調(diào)整左右傳感器之間的距離,兩探頭距離約等于白線寬度最合適,一般白線寬度選擇范圍為3 5 厘米比較合適。注意:該傳感器的靈敏度是可調(diào)的,偶爾傳感器遇到白線卻不能送出相應的信號,通過調(diào)節(jié)傳感器上的可調(diào)電阻,適當?shù)脑龃蠡驕p小靈敏度。另外,循跡傳感器的安放也算是比較有講究的,有兩種方法,一種是兩個都是放置在白線內(nèi)側但緊貼白線邊緣,第二種是都放置在白線的外側,同樣緊貼白線邊緣。我們通常采用第二種方法。編寫程序使小車遇白線時,小車跟著白線走。當小車先前前進時,如果向左偏離了白線。那么右邊傳感器會產(chǎn)生一個低電平,單片機判斷這個信號,然后向右拐。回到白線后。兩傳感器輸出信號為高電平。小車前進。如果小車向右偏離白線,左邊傳感器產(chǎn)生一個低電平,單片機判斷這個信號,然后向左拐。如此如此,小車必不偏離白線。若小車的兩對光電傳感器同時輸出的信號為高電平(黑底)或低電平(白底),即單片機判斷的都為高電平或低電平,小車向前直走,在此過程中(直走)小車若遇白線,小車又重復上面動作跟著白線走。 避障部分 當小車在尋跡(沿著白線走或直走)過程中遇障礙物,小車亦可自行轉彎,轉彎動作完成后,又繼續(xù)尋跡。 2. 電機驅(qū)動電路 電機驅(qū)動芯片采用L298N,是一款承受高壓大電流的全橋型直流/步進電壓驅(qū)動器,如下圖電機控制芯片L298N的引腳排列L298N引腳編號與功能引腳編號名稱功能1電流傳感器A在該引腳和地之間接小阻值電阻可用來檢測電流2輸出引腳1內(nèi)置驅(qū)動器A的輸出端1,接至電機A3輸出引腳2內(nèi)置驅(qū)動器A的輸出端2,接至電機A4電機電源端電機供電輸入端,電壓可達46V5輸入引腳1內(nèi)置驅(qū)動器A的邏輯控制輸入端16使能端A內(nèi)置驅(qū)動器A的使能端7輸入引腳2內(nèi)置驅(qū)動器A的邏輯控制輸入端28邏輯地邏輯地9邏輯電源端邏輯控制電路的電源輸入端為5V10輸入引腳3內(nèi)置驅(qū)動器B的邏輯控制輸入端111使能端B內(nèi)置驅(qū)動器B的使能端12輸入引腳4內(nèi)置驅(qū)動器B的邏輯控制輸入端213輸出引腳3內(nèi)置驅(qū)動器B的輸出端1,接至電機B14輸出引腳4內(nèi)置驅(qū)動器B的輸出端2,接至電機B15電流傳感器B在該引腳和地之間接小阻值電阻可用來檢測電流L298N內(nèi)部原理圖電機驅(qū)動A/B的控制邏輯如下表所示輸入信號電機運動方式使能端A/B輸入引腳1/3輸入引腳2/4110前進101后退111緊急停車100緊急停車0XX自由轉動電機驅(qū)動A/B的工作原理電機控制邏輯如下:以電機A為例,當使能端A為高電平是,如果輸入端M1 Direction引腳為高電平,三極管導通,輸入引腳1為低電平而輸入引腳2為高電平,電機A反轉;如果輸入端M1 Direction引腳為底電平,三極管截止,輸入引腳1為高電平而輸入引腳2為低電平,電機A正轉。電機驅(qū)動原理圖3. 中文液晶顯示器128x64 帶中文字庫的128X64是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊。其顯示分辨率為12864, 內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構成全中文人機交互圖形界面??梢燥@示84行1616點陣的漢字,也可完成圖形顯示。具有低電壓低功耗特點。由該模塊構成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結構或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊?;咎匦? 低電源電壓(VDD:+3.0-+5.5V) 顯示分辨率:12864點 內(nèi)置漢字字庫,提供8192個1616點陣漢字(簡繁體可選) 內(nèi)置 128個168點陣字符 2MHZ時鐘頻率 顯示方式:STN、半透、正顯 驅(qū)動方式:1/32DUTY,1/5BIAS 視角方向:6點 背光方式:側部高亮白色LED,功耗僅為普通LED的1/51/10 通訊方式:串行、并口可選 內(nèi)置DC-DC轉換電路,無需外加負壓 無需片選信號,簡化軟件設計 工作溫度: 0 - +55 ,存儲溫度: -20 - +60 模塊接口說明:PIN15LED+ 背光正極,接4.8V-5VPIN116LED- 背光負極,接0V*注:1:如在實際應用中僅使用并口通訊模式,可將PSB接固定高電平,也可以將模塊上的J8和“VCC”用焊錫短接;2:模塊內(nèi)部接有上電復位電路,因此在不需要經(jīng)常復位的場合可將該端懸空;3:如背光和模塊共用一個電源,可以將模塊上的JA、JK用焊錫短接。引腳控制信號應用 D/I,R/W的配合選擇決定控制界面的4種模式:D/IR/W功能說明LLMPU寫指令到指令暫存器(IR)LH讀出忙標志(BF)及地址記數(shù)器(AC)的狀態(tài)HLMPU寫入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)HHMPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)E信號操作:E狀態(tài)執(zhí)行動作結果高>低I/O緩沖>DR配合/W進行寫數(shù)據(jù)或指令高DR>I/O緩沖配合R進行讀數(shù)據(jù)或指令低/低>高無動作內(nèi)部寄存器信號 忙標志:BFBF標志提供內(nèi)部工作情況,BF=1表示模塊在進行內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù)。BF=0時,模塊為準備狀態(tài),隨時可接受外部指令和數(shù)據(jù)。利用STATUS RD 指令,可以將BF讀到DB7總線,從而檢驗模塊之工作狀態(tài)。字型產(chǎn)生ROM(CGROM)字型產(chǎn)生ROM(CGROM)提供8192個此觸發(fā)器是用于模塊屏幕顯示開和關的控制。DFF=1為開顯示(DISPLAY ON),DDRAM的內(nèi)容就顯示在屏幕上,DFF=0為關顯示(DISPLAY OFF)。DFF 的狀態(tài)是指令DISPLAY ON/OFF和D/IT信號控制的。顯示數(shù)據(jù)RAM(DDRAM) 模塊內(nèi)部顯示數(shù)據(jù)RAM提供642個位元組的空間,最多可控制4行16字(64個字)的中文字型顯示,當寫入顯示數(shù)據(jù)RAM時,可分別顯示CGROM與CGRAM的字型;此模塊可顯示三種字型,分別是半角英數(shù)字型(16*8)、CGRAM字型及CGROM的中文字型,三種字型的選擇,由在DDRAM中寫入的編碼選擇,在此階段0000H0006H的編碼中(其代碼分別是0000、0002、0004、0006共4個)將選擇CGRAM的自定義字型,02H7FH的編碼中將選擇半角英數(shù)字的字型,至于A1以上的編碼將自動的結合下一個位元組,組成兩個位元組的編碼形成中文字型的編碼BIG5(A140D75F),GB(A1A0-F7FFH)。 字型產(chǎn)生RAM(CGRAM) 字型產(chǎn)生RAM提供圖象定義(造字)功能,可以提供四組1616點的自定義圖象空間,使用者可以將內(nèi)部字型沒有提供的圖象字型自行定義到CGRAM中,便可和CGROM中的定義一樣地通過DDRAM顯示在屏幕中。 地址計數(shù)器AC 地址計數(shù)器AC地址計數(shù)器是用來貯存DDRAM/CGRAM之一的地址,它可由設定指令暫存器來改變,之后只要讀取或是寫入DDRAM/CGRAM的值時,地址計數(shù)器的值就會自動加一,當D/I為“0”時而R/W為“1”時,地址計數(shù)器的值會被讀取到DB6DB0中。 光標/閃爍控制電路此模塊提供硬體光標及閃爍控制電路,由地址計數(shù)器的值來指定DDRAM中的光標或閃爍位置。指令操作模塊控制芯片提供兩套控制命令,基本指令和擴充指令如下:指令表1:(RE=0:基本指令)指令 指 令 碼功 能D/IR/WD7D6D5D4D3D2D1D0清除顯示0000000001將DDRAM填滿"20H",并且設定DDRAM的地址計數(shù)器(AC)到"00H"地址歸位000000001X設定DDRAM的地址計數(shù)器(AC)到"00H",并且將游標移到開頭原點位置;這個指令不改變DDRAM 的內(nèi)容顯示狀態(tài)開/關0000001DCBD=1: 整體顯示 ONC=1: 游標ONB=1:游標位置反白允許進入點設定00000001I/DS指定在數(shù)據(jù)的讀取與寫入時,設定游標的移動方向及指定顯示的移位游標或顯示移位控制000001S/CR/LXX設定游標的移動與顯示的移位控制位;這個指令不改變DDRAM 的內(nèi)容功能設定00001DLXREXXDL=0/1:4/8位數(shù)據(jù)RE=1: 擴充指令操作RE=0: 基本指令操作設定CGRAM地址0001AC5AC4AC3AC2AC1AC0設定CGRAM 地址設定DDRAM地址0010AC5AC4AC3AC2AC1AC0設定DDRAM 地址(顯示位址)第一行:80H87H第二行:90H97H讀取忙標志和地址01BFAC6AC5AC4AC3AC2AC1AC0讀取忙標志(BF)可以確認內(nèi)部動作是否完成,同時可以讀出地址計數(shù)器(AC)的值寫數(shù)據(jù)到RAM10數(shù)據(jù)將數(shù)據(jù)D7D0寫入到內(nèi)部的RAM (DDRAM/CGRAM/IRAM/GRAM)讀出RAM的值11數(shù)據(jù)從內(nèi)部RAM讀取數(shù)據(jù)D7D0(DDRAM/CGRAM/IRAM/GRAM)指令表2:(RE=1:擴充指令)指令指 令 碼功 能D/IR/WD7D6D5D4D3D2D1D0待命模式0000000001進入待命模式,執(zhí)行其他指令都終止卷動地址開關開啟000000001SRSR=1:允許輸入垂直卷動地址SR=0:允許輸入IRAM和CGRAM地址反白選擇00000001R1R0選擇2行中的任一行作反白顯示,并可決定反白與否。初始值R1R000,第一次設定為反白顯示,再次設定變回正常睡眠模式0000001SLXXSL=0:進入睡眠模式SL=1:脫離睡眠模式擴充功能設定00001CLXREG0CL=0/1:4/8位數(shù)據(jù)RE=1: 擴充指令操作RE=0: 基本指令操作G=1/0:繪圖開關設 定繪圖RAM地 址0010AC60AC50AC4AC3AC3AC2AC2AC1AC1AC0AC0設定繪圖RAM先設定垂直(列)AC6AC5AC0 再設定水平(行)地址AC3AC2AC1AC0將以上16位地址連續(xù)寫入即可注:當IC1在接受指令前,微處理器必須先確認其內(nèi)部處于非忙碌狀態(tài),即讀取BF標志時,BF需為零,方可接受新的指令;如果在送出一個指令前并不檢查BF標志,那么在前一個指令和這個指令中間必須延長一段較長的時間,即是等待前一個指令確實執(zhí)行完成。三、顯示應用1、字符顯示帶中文字庫的128X64-0402B每屏可顯示4行8列共32個1616點陣的漢字,每個顯示RAM可顯示1個中文字符或2個168點陣全高ASCII碼字符,即每屏最多可實現(xiàn)32個中文字符或64個ASCII碼字符的顯示。帶中文字庫的128X64-0402B內(nèi)部提供1282字節(jié)的字符顯示RAM緩沖區(qū)(DDRAM)。字符顯示是通過將字符顯示編碼寫入該字符顯示RAM實現(xiàn)的。根據(jù)寫入內(nèi)容的不同,可分別在液晶屏上顯示CGROM(中文字庫)、HCGROM(ASCII碼字庫)及CGRAM(自定義字形)的內(nèi)容。三種不同字符/字型的選擇編碼范圍為:00000006H(其代碼分別是0000、0002、0004、0006共4個)顯示自定義字型,02H7FH顯示半寬ASCII碼字符,A1A0HF7FFH顯示8192種GB2312中文字庫字形。字符顯示RAM在液晶模塊中的地址80H9FH。字符顯示的RAM的地址與32個字符顯示區(qū)域有著一一對應的關系,其對應關系如下表所示。 80H81H82H83H84H85H86H87H90H91H92H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH其中,C語言編譯器具有直接把中文轉換成ASCII碼字符功能。對照下面原理圖,編譯程序示例,并下載到實驗板上,觀測現(xiàn)象。4. 尋跡避障程序#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit RM1=P00;sbit RM2=P01;/右電機sbit LM1=P02;sbit LM2=P03;/左電機sbit bzh=P26;sbit RAD=P06;/紅外接收右電機轉sbit LBD=P07;/紅外接收左電機轉sbit rs=P35;/LCD的RS sbit rw=P36;/LCD的R/W sbit en=P37;/LCD的E void lcd_string(uchar *strpoint);void delay(uint a) uint b,c; for(b=a;b>0;b-) for(c=120;c>0;c-);uchar i=0;void checkbusy()/檢查LCD忙uchar dat;rs=0;/rs=1為數(shù)據(jù),=0為命令.rw=1;/rw=1為讀,=0為寫. do P1=0x00; en=1; /E信號下降沿鎖存DB7DBO dat=P1; /讀入P1的值 en=0; /鎖存 dat=0x80 & dat; /BUSY:1內(nèi)部在工作,0正常狀態(tài) while(!(dat=0x00);rw=0; void sentcom(uchar com) checkbusy(); /檢查Busy rs=0; en=0; P1=com; delay(5); en=1; delay(5); en=0; void sentdata(uchar date) /寫數(shù)據(jù) checkbusy(); rs=1; en=0; P1=date; delay(5); en=1; delay(5); en=0; /初始化 LCM void lcd_init() sentcom(0x38);/功能設置,一次送8位數(shù)據(jù),基本指令集 sentcom(0x0C);/0000,1100 整體顯示,游標off,游標位置off sentcom(0x01);/0000,0001 清DDRAM sentcom(0x02);/0000,0010 DDRAM地址歸位 sentcom(0x80);/1000,0000 設定DDRAM 7位地址000,0000到地址計數(shù)器AC void lcd_string(char *strpoint)/在當前顯示位置顯示LCD字符串register i=0;while(strpointi!=0)sentdata(strpointi);i+;void stop() lcd_init(); sentcom(0x80); lcd_string("現(xiàn)代創(chuàng)新實訓室 ");/C編譯系統(tǒng)本省也具有轉換功能,所以也可以這樣寫 sentcom(0x90); lcd_string("尋跡避障一體小車"); sentcom(0x88); lcd_string("-指導:文方老師"); sentcom(0x98); lcd_string("-設計:劉志聰 "); void tracing() sentcom(0x80); lcd_string("現(xiàn)代創(chuàng)新實訓室 "); sentcom(0x90); lcd_string("-指導:文方老師"); sentcom(0x88); lcd_string("-設計:劉志聰 "); sentcom(0x98); lcd_string(" 小車尋跡中-"); void bypass() sentcom(0x80); lcd_string("現(xiàn)代創(chuàng)新實訓室 "); sentcom(0x90); lcd_string("-指導:文方老師"); sentcom(0x88); lcd_string("-設計:劉志聰 "); sentcom(0x98); lcd_string(" 小車避障中-"); void find()tracing(); while(bzh=1) if(LBD&&RAD=1) RM1=1;LM1=1;RM2=0;LM2=0; if(RAD=0) RM1=0;LM1=1;RM2=0;LM2=0;if(LBD=0) RM1=1;LM1=1; RM2=0;LM2=0; delay(i); if(LBD=0) RM1=1;LM1=0;RM2=0;LM2=0;if(RAD=0)RM1=1;LM1=1;RM2=0;LM2=0;delay(i); void bizhan() bypass();if(bzh=0)RM1=1;LM1=0;RM2=0;LM2=1;delay(100);void main() stop();delay(2000); while(1) find();bizhan();

注意事項

本文(尋跡避障小車原理)為本站會員(仙***)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!