




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、循跡避障小車原理一) 小車功能實現利用光電傳感(紅外對射管,紅外發射與接收二極管組成)檢測黑白線,實現小車能跟著白線(或黑線)行走,同時也可避開障礙物,即小車尋跡過程中,若遇障礙物可自行繞開,繞開后繼續尋跡。二) 電路分析1. 光電傳感循跡光電傳感器原理,利用黑白線對紅外線不同的反射能力。然后通過光敏二極管或光敏三極管,接收反射回的不同光強信號,把不同光強轉換為電流信號,最后通過電阻,轉換為單片機可識別的高低電平。光電傳感器實現循跡的基本電路如下圖所示、循跡傳感器基本電路 電路解釋:tc端是傳感器工作控制端,為高電平時,發光二極管不工作,傳感器休眠,為低電平時,傳感器啟動。signal端為檢測
2、信號輸出,當遇到黑線,黑線吸收大量的紅外線,反射的紅外線很弱,光敏三極管不導通,signal輸出高電平,當遇到白線,與黑線相反,反射的紅外線很強,使光敏三極管導通,signal輸出低電平。 尋跡部分調整左右傳感器之間的距離,兩探頭距離約等于白線寬度最合適,一般白線寬度選擇范圍為3 5 厘米比較合適。注意:該傳感器的靈敏度是可調的,偶爾傳感器遇到白線卻不能送出相應的信號,通過調節傳感器上的可調電阻,適當的增大或減小靈敏度。另外,循跡傳感器的安放也算是比較有講究的,有兩種方法,一種是兩個都是放置在白線內側但緊貼白線邊緣,第二種是都放置在白線的外側,同樣緊貼白線邊緣。我們通常采用第二種方法。編寫程序
3、使小車遇白線時,小車跟著白線走。當小車先前前進時,如果向左偏離了白線。那么右邊傳感器會產生一個低電平,單片機判斷這個信號,然后向右拐。回到白線后。兩傳感器輸出信號為高電平。小車前進。如果小車向右偏離白線,左邊傳感器產生一個低電平,單片機判斷這個信號,然后向左拐。如此如此,小車必不偏離白線。若小車的兩對光電傳感器同時輸出的信號為高電平(黑底)或低電平(白底),即單片機判斷的都為高電平或低電平,小車向前直走,在此過程中(直走)小車若遇白線,小車又重復上面動作跟著白線走。 避障部分 當小車在尋跡(沿著白線走或直走)過程中遇障礙物,小車亦可自行轉彎,轉彎動作完成后,又繼續尋跡。 2. 電機驅動電路 電
4、機驅動芯片采用l298n,是一款承受高壓大電流的全橋型直流/步進電壓驅動器,如下圖電機控制芯片l298n的引腳排列l298n引腳編號與功能引腳編號名稱功能1電流傳感器a在該引腳和地之間接小阻值電阻可用來檢測電流2輸出引腳1內置驅動器a的輸出端1,接至電機a3輸出引腳2內置驅動器a的輸出端2,接至電機a4電機電源端電機供電輸入端,電壓可達46v5輸入引腳1內置驅動器a的邏輯控制輸入端16使能端a內置驅動器a的使能端7輸入引腳2內置驅動器a的邏輯控制輸入端28邏輯地邏輯地9邏輯電源端邏輯控制電路的電源輸入端為5v10輸入引腳3內置驅動器b的邏輯控制輸入端111使能端b內置驅動器b的使能端12輸入引
5、腳4內置驅動器b的邏輯控制輸入端213輸出引腳3內置驅動器b的輸出端1,接至電機b14輸出引腳4內置驅動器b的輸出端2,接至電機b15電流傳感器b在該引腳和地之間接小阻值電阻可用來檢測電流l298n內部原理圖電機驅動a/b的控制邏輯如下表所示輸入信號電機運動方式使能端a/b輸入引腳1/3輸入引腳2/4110前進101后退111緊急停車100緊急停車0xx自由轉動電機驅動a/b的工作原理電機控制邏輯如下:以電機a為例,當使能端a為高電平是,如果輸入端m1 direction引腳為高電平,三極管導通,輸入引腳1為低電平而輸入引腳2為高電平,電機a反轉;如果輸入端m1 direction引腳為底電平
6、,三極管截止,輸入引腳1為高電平而輸入引腳2為低電平,電機a正轉。電機驅動原理圖3. 中文液晶顯示器128x64 帶中文字庫的128x64是一種具有4位/8位并行、2線或3線串行多種接口方式,內部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊。其顯示分辨率為12864, 內置8192個16*16點漢字,和128個16*8點ascii字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構成全中文人機交互圖形界面。可以顯示84行1616點陣的漢字,也可完成圖形顯示。具有低電壓低功耗特點。由該模塊構成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結構或顯示程序都要簡潔得多
7、,且該模塊的價格也略低于相同點陣的圖形液晶模塊。基本特性: 低電源電壓(vdd:+3.0-+5.5v) 顯示分辨率:12864點 內置漢字字庫,提供8192個1616點陣漢字(簡繁體可選) 內置 128個168點陣字符 2mhz時鐘頻率 顯示方式:stn、半透、正顯 驅動方式:1/32duty,1/5bias 視角方向:6點 背光方式:側部高亮白色led,功耗僅為普通led的1/51/10 通訊方式:串行、并口可選 內置dc-dc轉換電路,無需外加負壓 無需片選信號,簡化軟件設計 工作溫度: 0 - +55 ,存儲溫度: -20 - +60 模塊接口說明:pin15led+ 背光正極,接4.8
8、v-5vpin116led- 背光負極,接0v*注:1:如在實際應用中僅使用并口通訊模式,可將psb接固定高電平,也可以將模塊上的j8和“vcc”用焊錫短接;2:模塊內部接有上電復位電路,因此在不需要經常復位的場合可將該端懸空;3:如背光和模塊共用一個電源,可以將模塊上的ja、jk用焊錫短接。引腳控制信號應用 d/i,r/w的配合選擇決定控制界面的4種模式:d/ir/w功能說明llmpu寫指令到指令暫存器(ir)lh讀出忙標志(bf)及地址記數器(ac)的狀態hlmpu寫入數據到數據暫存器(dr)hhmpu從數據暫存器(dr)中讀出數據e信號操作:e狀態執行動作結果高低i/o緩沖dr配合/w進
9、行寫數據或指令高dri/o緩沖配合r進行讀數據或指令低/低高無動作內部寄存器信號 忙標志:bfbf標志提供內部工作情況,bf=1表示模塊在進行內部操作,此時模塊不接受外部指令和數據。bf=0時,模塊為準備狀態,隨時可接受外部指令和數據。利用status rd 指令,可以將bf讀到db7總線,從而檢驗模塊之工作狀態。字型產生rom(cgrom)字型產生rom(cgrom)提供8192個此觸發器是用于模塊屏幕顯示開和關的控制。dff=1為開顯示(display on),ddram的內容就顯示在屏幕上,dff=0為關顯示(display off)。dff 的狀態是指令display on/off和d
10、/it信號控制的。顯示數據ram(ddram) 模塊內部顯示數據ram提供642個位元組的空間,最多可控制4行16字(64個字)的中文字型顯示,當寫入顯示數據ram時,可分別顯示cgrom與cgram的字型;此模塊可顯示三種字型,分別是半角英數字型(16*8)、cgram字型及cgrom的中文字型,三種字型的選擇,由在ddram中寫入的編碼選擇,在此階段0000h0006h的編碼中(其代碼分別是0000、0002、0004、0006共4個)將選擇cgram的自定義字型,02h7fh的編碼中將選擇半角英數字的字型,至于a1以上的編碼將自動的結合下一個位元組,組成兩個位元組的編碼形成中文字型的編碼
11、big5(a140d75f),gb(a1a0-f7ffh)。 字型產生ram(cgram) 字型產生ram提供圖象定義(造字)功能,可以提供四組1616點的自定義圖象空間,使用者可以將內部字型沒有提供的圖象字型自行定義到cgram中,便可和cgrom中的定義一樣地通過ddram顯示在屏幕中。 地址計數器ac 地址計數器ac地址計數器是用來貯存ddram/cgram之一的地址,它可由設定指令暫存器來改變,之后只要讀取或是寫入ddram/cgram的值時,地址計數器的值就會自動加一,當d/i為“0”時而r/w為“1”時,地址計數器的值會被讀取到db6db0中。 光標/閃爍控制電路此模塊提供硬體光標
12、及閃爍控制電路,由地址計數器的值來指定ddram中的光標或閃爍位置。指令操作模塊控制芯片提供兩套控制命令,基本指令和擴充指令如下:指令表1:(re=0:基本指令)指令 指 令 碼功 能d/ir/wd7d6d5d4d3d2d1d0清除顯示0000000001將ddram填滿20h,并且設定ddram的地址計數器(ac)到00h地址歸位000000001x設定ddram的地址計數器(ac)到00h,并且將游標移到開頭原點位置;這個指令不改變ddram 的內容顯示狀態開/關0000001dcbd=1: 整體顯示 onc=1: 游標onb=1:游標位置反白允許進入點設定00000001i/ds指定在數
13、據的讀取與寫入時,設定游標的移動方向及指定顯示的移位游標或顯示移位控制000001s/cr/lxx設定游標的移動與顯示的移位控制位;這個指令不改變ddram 的內容功能設定00001dlxrexxdl=0/1:4/8位數據re=1: 擴充指令操作re=0: 基本指令操作設定cgram地址0001ac5ac4ac3ac2ac1ac0設定cgram 地址設定ddram地址0010ac5ac4ac3ac2ac1ac0設定ddram 地址(顯示位址)第一行:80h87h第二行:90h97h讀取忙標志和地址01bfac6ac5ac4ac3ac2ac1ac0讀取忙標志(bf)可以確認內部動作是否完成,同時
14、可以讀出地址計數器(ac)的值寫數據到ram10數據將數據d7d0寫入到內部的ram (ddram/cgram/iram/gram)讀出ram的值11數據從內部ram讀取數據d7d0(ddram/cgram/iram/gram)指令表2:(re=1:擴充指令)指令指 令 碼功 能d/ir/wd7d6d5d4d3d2d1d0待命模式0000000001進入待命模式,執行其他指令都終止卷動地址開關開啟000000001srsr=1:允許輸入垂直卷動地址sr=0:允許輸入iram和cgram地址反白選擇00000001r1r0選擇2行中的任一行作反白顯示,并可決定反白與否。初始值r1r000,第一次
15、設定為反白顯示,再次設定變回正常睡眠模式0000001slxxsl=0:進入睡眠模式sl=1:脫離睡眠模式擴充功能設定00001clxreg0cl=0/1:4/8位數據re=1: 擴充指令操作re=0: 基本指令操作g=1/0:繪圖開關設 定繪圖ram地 址0010ac60ac50ac4ac3ac3ac2ac2ac1ac1ac0ac0設定繪圖ram先設定垂直(列)ac6ac5ac0 再設定水平(行)地址ac3ac2ac1ac0將以上16位地址連續寫入即可注:當ic1在接受指令前,微處理器必須先確認其內部處于非忙碌狀態,即讀取bf標志時,bf需為零,方可接受新的指令;如果在送出一個指令前并不檢查
16、bf標志,那么在前一個指令和這個指令中間必須延長一段較長的時間,即是等待前一個指令確實執行完成。三、顯示應用1、字符顯示帶中文字庫的128x64-0402b每屏可顯示4行8列共32個1616點陣的漢字,每個顯示ram可顯示1個中文字符或2個168點陣全高ascii碼字符,即每屏最多可實現32個中文字符或64個ascii碼字符的顯示。帶中文字庫的128x64-0402b內部提供1282字節的字符顯示ram緩沖區(ddram)。字符顯示是通過將字符顯示編碼寫入該字符顯示ram實現的。根據寫入內容的不同,可分別在液晶屏上顯示cgrom(中文字庫)、hcgrom(ascii碼字庫)及cgram(自定義
17、字形)的內容。三種不同字符/字型的選擇編碼范圍為:00000006h(其代碼分別是0000、0002、0004、0006共4個)顯示自定義字型,02h7fh顯示半寬ascii碼字符,a1a0hf7ffh顯示8192種gb2312中文字庫字形。字符顯示ram在液晶模塊中的地址80h9fh。字符顯示的ram的地址與32個字符顯示區域有著一一對應的關系,其對應關系如下表所示。 80h81h82h83h84h85h86h87h90h91h92h93h94h95h96h97h88h89h8ah8bh8ch8dh8eh8fh98h99h9ah9bh9ch9dh9eh9fh其中,c語言編譯器具有直接把中文轉
18、換成ascii碼字符功能。對照下面原理圖,編譯程序示例,并下載到實驗板上,觀測現象。4. 尋跡避障程序#include#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_str
19、ing(uchar *strpoint);void delay(uint a) uint b,c; for(b=a;b0;b-) for(c=120;c0;c-);uchar i=0;void checkbusy()/檢查lcd忙uchar dat;rs=0;/rs=1為數據,=0為命令.rw=1;/rw=1為讀,=0為寫. do p1=0x00; en=1; /e信號下降沿鎖存db7dbo dat=p1; /讀入p1的值 en=0; /鎖存 dat=0x80 & dat; /busy:1內部在工作,0正常狀態 while(!(dat=0x00);rw=0; void sentcom(ucha
20、r com) checkbusy(); /檢查busy rs=0; en=0; p1=com; delay(5); en=1; delay(5); en=0; void sentdata(uchar date) /寫數據 checkbusy(); rs=1; en=0; p1=date; delay(5); en=1; delay(5); en=0; /初始化 lcm void lcd_init() sentcom(0x38);/功能設置,一次送8位數據,基本指令集 sentcom(0x0c);/0000,1100 整體顯示,游標off,游標位置off sentcom(0x01);/0000,
21、0001 清ddram sentcom(0x02);/0000,0010 ddram地址歸位 sentcom(0x80);/1000,0000 設定ddram 7位地址000,0000到地址計數器ac void lcd_string(char *strpoint)/在當前顯示位置顯示lcd字符串register i=0;while(strpointi!=0)sentdata(strpointi);i+;void stop() lcd_init(); sentcom(0x80); lcd_string(現代創新實訓室 );/c編譯系統本省也具有轉換功能,所以也可以這樣寫 sentcom(0x90); lcd_string(尋跡避障一體小車); sentcom(0x88); lcd_string(-指導:文方老師); sentcom(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025餐館的門面租賃合同示范文本
- 2025四川省農村土地承包合同
- 2025企業聘請軟件開發合同模板
- 2025年質子交換膜燃料電池(REMFC)發電裝置項目合作計劃書
- 2025中級社會工作者職業資格筆試模擬測試完美版帶解析
- 律師審核離婚協議書3篇
- 安全網交易須知3篇
- 工程建設貸款的合同范本版3篇
- 建筑施工合同保證金有哪些規定3篇
- 公證處委托書的有效性3篇
- 急救知識培訓課件下載
- 酒店培訓技巧
- 鍋爐安裝安全管理制度
- 液壓安全知識培訓課件
- 工貿企業綜合應急預案
- 中國安全生產中介服務市場深度調研分析及投資前景研究預測報告
- 運輸考試試題及答案
- 2025年交通事故經濟賠償協議書模板
- 履帶高空作業車施工方案
- 兒童心理學常識題單選題100道及答案
- DB32/T 3278-2017 油菜耐鹽性鑒定及評價技術規程
評論
0/150
提交評論