畢業(yè)設計全自動消防小車_第1頁
畢業(yè)設計全自動消防小車_第2頁
畢業(yè)設計全自動消防小車_第3頁
畢業(yè)設計全自動消防小車_第4頁
畢業(yè)設計全自動消防小車_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄TOC\o"1-5"\h\z\o"CurrentDocument"緒論1\o"CurrentDocument"1系統(tǒng)方案選擇2\o"CurrentDocument"1.1任務要求21.1.1設計任務21.1.2設計要求2\o"CurrentDocument"1.2總體設計方案2\o"CurrentDocument"1.3方案選擇與分析3\o"CurrentDocument"1.3.1控制器分析與比較3\o"CurrentDocument"1.3.2電動車車體的選擇3\o"CurrentDocument"1.3.3電機的選擇與分析4\o"CurrentDocument"1.3.4電機驅動電路方案選擇4\o"CurrentDocument"1.3.5軌跡探測模塊設計與比較4\o"CurrentDocument"1.3.6火源檢測設計與比較5\o"CurrentDocument"1.3.7電源模塊5\o"CurrentDocument"1.3.8避障模塊設計與分析5\o"CurrentDocument"1.3.9滅火模塊6\o"CurrentDocument"1.4最終方案6\o"CurrentDocument"2硬件實現(xiàn)及單元電路設計62.1STC89C52單片機系統(tǒng)概述及其引腳功能介紹6STC89C52單片機系統(tǒng)概述6\o"CurrentDocument"2.1.2單片機引腳功能7\o"CurrentDocument"2.2光電對管電路的設計9\o"CurrentDocument"2.3火焰?zhèn)鞲衅骷皯?0\o"CurrentDocument"2.4電機驅動電路的設計11\o"CurrentDocument"2.5滅火模塊設計13\o"CurrentDocument"2.6避障功能的實現(xiàn)方法13\o"CurrentDocument"3軟件系統(tǒng)設計13\o"CurrentDocument"3.1編譯語言及編譯環(huán)境13\o"CurrentDocument"匯編語言的概述13C語言概述13\o"CurrentDocument"3.1.3編譯語言及編譯環(huán)境綜述14\o"CurrentDocument"3.2程序解析14\o"CurrentDocument"3.2.1各函數(shù)功能14\o"CurrentDocument"3.2.2程序流程圖18\o"CurrentDocument"4測試結果19\o"CurrentDocument"結束語20\o"CurrentDocument"致謝21\o"CurrentDocument"參考文獻22\o"CurrentDocument"附錄A:程序清單23緒論現(xiàn)在,隨著科技的快速發(fā)展,國內(nèi)外對小型智能系統(tǒng)的應用越來越廣泛,種類也越來越多。本題目就是結合有關科研項目而確定的設計類課題,所設計的智能尋跡滅火小車應能夠實現(xiàn)自動發(fā)現(xiàn)火源、自動尋跡、自動前進接近火源并完成滅火任務的功能。根據(jù)題目的要求,智能尋跡滅火小車控制系統(tǒng)采用一片STC89C52單片機作為本控制系統(tǒng)的主控芯片,硬件包括以下幾個模塊:驅動電機模塊、尋跡傳感器模塊、單片機控制模塊、火源傳感器模塊、風扇模塊、電源模塊。本設計采用了STC89C52單片機為智能小車核心控制部分,通過查詢方式實現(xiàn)對小車的智能控制。小車由主控制板、傳感系統(tǒng)、風扇系統(tǒng)和車身四部分組成。主控制系統(tǒng)由主控CPU電路、傳感器接口電路、直流電機驅動電路等組成;傳感系統(tǒng)采用紅外傳感器檢測黑白線,火源傳感器檢測火源;行進直流電機驅動采^WM調制技術,可靈活方便地對車速、行進方向進行控制。本設計通過采用STC89C52單片機為控制核心,實現(xiàn)對小車的智能控制。該控制系統(tǒng)不僅在智能小車中有很強的實用價值,在汽車應用、智能機器人等方面都有很強的實用價值,尤其是在機器人研究方面具有很好的發(fā)展前景。所以本設計與實際相聯(lián)系,具有重要的現(xiàn)實意義。1系統(tǒng)方案選擇1.1任務要求1.1.1設計任務設計制作一個智能滅火小車模型,能到指定區(qū)域進行搶險滅火工作。以蠟燭模擬火源,隨機分布在場地中,模擬滅火場地如圖1-1所示。圖1-1模擬火場示意圖1.1.2設計要求智能滅火小車手動啟動后,自動尋找到火源的位置。智能滅火小車必須按照固定的路線行進(黑白線)。撲滅火源后自動檢測周圍環(huán)境是否還有其他火源。若有則繼續(xù)滅火,若無則停止工作。1.2總體設計方案總體方案為:整個電路分為驅動電機模塊、尋跡傳感器模塊、避障模塊、單片機控制模塊、火源傳感器模塊、風扇模塊、電源模塊七個模塊。首先利用紅外對路面信號進行探測,利用火源傳感器檢測火源信號,兩種信號經(jīng)過處理之后,送給單片機控制模塊進行實時運算,輸出相應的信號給驅動電機模塊驅動電機轉動,從而控制整個小車的運動。系統(tǒng)方案框圖如圖1-2所示。1.3方案選擇與分析1.3.1控制器分析與比較方案一:采用凌陽公司的16位單片機,它是16位控制器,具有體積小、驅動能力高、集成度高、易擴展、可靠性高、功耗低、結構簡單、中斷處理能力強等特點。處理速度高,尤其適用于語音處理和識別等領域。但是當凌陽單片機應用語音處理和辨識時,由于其占用的CPU資源較多而使得凌陽單片機同時處理其它任務的速度和能力降低。方案二:采用STC89C52單片機作為主控制器。STC89C52是一個低功耗,高性能的51內(nèi)核的CMOS8位單片機,片內(nèi)含8k空間的可反復擦寫1000次以上的Flash只讀存儲器,具有256bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個IO口,2個16位可編程定時計數(shù)器。且該系列的51單片機可以不用燒寫器而直接用串口或并口就可以向單片機中下載程序。從方便使用和綜合性能的角度考慮,選擇了方案二。1.3.2電動車車體的選擇方案一:購買玩具電動車。購買的玩具電動車具有組裝完整的車架車輪、電機及其驅動電路。但是一般的說來,玩具電動車具有如下缺點:首先,這種玩具電動車由于裝配緊湊,使得各種所需傳感器的安裝十分不方便。其次,這種電動車一般都是前輪轉向后輪驅動,不能適應該題目的方格地圖,不能方便迅速的實現(xiàn)原地保持坐標轉90度甚至180度的彎角。而且這種電動車一般都價格不扉。因此放棄了此方案。方案二:自己制作電動車。經(jīng)過反復考慮論證,我們制定了左右兩輪分別驅動,后方萬向輪轉向的方案。即左右輪分別用兩個直流電機進行驅動,后面裝一個萬向輪。這樣,當兩個電機轉向相反同時轉速相同時就可以實現(xiàn)電動車的原地旋轉,由此可以輕松的實現(xiàn)小車坐標不變的90度和180度的轉彎。對于車架材料的選擇,經(jīng)過比較選擇了硬塑板。用硬塑板做的車架比塑料車架更加牢固,比鐵制小車更輕便,美觀。故選擇了方案二。1.3.3電機的選擇與分析方案一:采用直流電機直流電機速度快,價格便宜,通過調節(jié)電流來改變速度,驅動電路簡單,調速范圍廣,調速特性平滑。方案二:采用步進電機步進電機是一種能將電脈沖轉化為角位移的機構,通過控制脈沖個數(shù)來控制角位移量,通過控制脈沖頻率來控制電機轉動的速度和加速度,其精確度高,但控制相對較繁瑣。由于本系統(tǒng)對電機速度控制要求不高,采用方案一。1.3.4電機驅動電路方案選擇方案一:采用專用芯片L298N作為電機驅動芯片。L298N是一個具有高電壓大電流的全橋驅動芯片,它相應頻率高,L298N芯片可以驅動兩個二相電機,也可以驅動一個四相電機,輸出電壓最高可達50V,可以直接通過電源來調節(jié)輸出電壓;可以直接用單片機的IO口提供信號;電路簡單,使用比較方便。方案二:對于直流電機用分立元件構成驅動電路。由分立元件構成電機驅動電路,結構簡單,價格低廉,在實際應用中應用廣泛。但是這種電路工作性能不夠穩(wěn)定。通過比較,使用L298N芯片充分發(fā)揮了它的功能,能穩(wěn)定地驅動步進電機,且價格不高,采用方案一。1.3.5軌跡探測模塊設計與比較方案一:用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當光線照射到白線上面時,光線發(fā)射強烈,光線照射到黑線上面時,光線發(fā)射較弱。因此光敏電阻在白線和黑線上方時,阻值會發(fā)生明顯的變化。將阻值的變化值經(jīng)過比較器就可以輸出高低電平。但是這種方案受光照影響很大,不能夠穩(wěn)定的工作。因此要考慮其他更加穩(wěn)定的方案。方案二:用紅外發(fā)射管和接收管自己制作光電對管尋跡傳感器。紅外發(fā)射管發(fā)出紅外線,當發(fā)出的紅外線照射到白色的平面后反射,若紅外接收管能接收到反射回的光線則檢測出白線繼而輸出低電平,若接收不到發(fā)射管發(fā)出的光線則檢測出黑線繼而輸出高電平。這樣自己制作組裝的尋跡傳感器基本能夠滿足要求,但是工作不夠穩(wěn)定,且容易受外界光線的影響,所以也放棄了這個方案。方案三:用RPR220型光電對管。RPR220是一種一體化反射型光電探測器,其發(fā)射器是一個砷化鎵紅外發(fā)光二極管,而接收器是一個高靈敏度,硅平面光電三極管°RPR220采用DIP4封裝,塑料透鏡可以提高靈敏度,內(nèi)置可見光過濾器能減小離散光的影響,體積小,結構緊湊。當發(fā)光二極管發(fā)出的光反射回來時,三極管導通輸出低電平。此光電對管調理電路簡單,工作性能穩(wěn)定。因此本設計采用了方案三。1.3.6火源檢測設計與比較火焰檢測有溫度傳感器、煙霧傳感器、紅外傳感器、紫外傳感器以及CCD圖像傳感器。綜合論證了這幾種傳感器,制定了如下幾種方案。方案一:用溫度傳感器如熱電偶,熱電偶在工業(yè)應用上十分廣泛。但是熱電偶感應的范圍太廣,而且由于火焰只是周圍溫度稍高且范圍較窄。實驗驗證用熱電偶檢測火焰精度不高,故放棄了此方案。方案二:用煙霧傳感器。煙霧傳感器廣泛應用與火警檢測。但是由于此題目的火源是用蠟燭模擬的,沒有太大的煙霧,因此用煙霧傳感器作為此小型電動車的火焰?zhèn)鞲衅饕膊粔驅嵱?,因此放棄了此方案。方案三:用紫外傳感器檢測火焰。紫外火焰?zhèn)鞲衅髦饕獞糜诨馂南老到y(tǒng),尤其是一些易燃易爆場所,用來監(jiān)測火焰的產(chǎn)生。紫外線火焰?zhèn)鞲衅鞯撵`敏度高,相應速度快,抗干擾能力強,對明火特別敏感,能對火災立即作出反應。但是紫外傳感器檢測的范圍太大,不適用于本系統(tǒng)。方案四:用CCD圖像傳感器。用CCD圖像傳感器可以檢測各種被檢測量,適用于各種量的檢測。但是用CCD圖像傳感器需要處理的信號量太大,且體積較大,不使用與本系統(tǒng)。方案五:用遠紅外傳感器。經(jīng)試驗驗證,遠紅外火焰?zhèn)鞲衅鳈z測距離遠,線性度好,檢測準確,且體積較小。很適用于本題目的要求。因此本設計采用了方案五。1.3.7電源模塊由于本系統(tǒng)需要電池供電,我們考慮了如下集中方案為系統(tǒng)供電。方案一:采用12V蓄電池為系統(tǒng)供電。蓄電池具有較強的電流驅動能力以及穩(wěn)定的電壓輸出性能。方案二:采用6節(jié)1.5V鋰電池分別3節(jié)串聯(lián),分別供單片機和電機驅動使用,單片機和傳感器工作穩(wěn)定,電機工作互不影響,且電池體積較小,能夠滿足系統(tǒng)要求。綜上考慮,采用了方案二。1.3.8避障模塊設計與分析方案一:用超聲波傳感器進行避障。超聲波傳感器的原理是:超聲波由壓電陶瓷超聲波傳感器發(fā)出后,遇到障礙物便反射回來,再被超聲波傳感器接收。然后將這信號放大后送入單片機。超聲波傳感器在避障的設計中被廣泛應用。但是超聲波傳感器需要40KHz的方波信號來工作,因為超聲波傳感器對工作頻率要求較高,偏差在1%內(nèi),所以用模擬電路來做方波發(fā)生器比較難以實現(xiàn)。而用單片機來作方波發(fā)生器未免有些浪費資源。因此考慮其他的方案二:用紅外光電開關進行避障。光電開關的工作原理是根據(jù)投光器發(fā)出的光束,被物體阻斷或部分反射,受光器最終據(jù)此作出判斷反應,是利用被檢測物體對紅外光束的遮光或反射,由同步回路選通而檢測物體的有無,其物體不限于金屬,對所有能反射光線的物體均能檢測。光電開關E3F-DS10C4操作簡單,使用方便。當有光線反射回來時,輸出低電平。當沒有光線反射回來時,輸出高電平??紤]到本系統(tǒng)只需要檢測簡單障礙物,沒有十分復雜的環(huán)境。為了使用方便,便于操作和調試,最終選擇了方案二。1.3.9滅火模塊方案一:用風扇將蠟燭吹滅,檢測并確定火源在課吹滅的范圍內(nèi)后由單片機控制風扇開啟,吹滅蠟燭。經(jīng)實驗確定當采用5V電源給風扇電機供電時,火源在20cm以內(nèi)都可被吹滅。能達到要求,并且簡單方便各方面的實現(xiàn)都比較簡單,工作也比較穩(wěn)定,調試快捷。適合應用。方案二:用水管噴滅,由于整個系統(tǒng)是電子系統(tǒng),如用水則有可能發(fā)生斷路或出現(xiàn)危險,并且小車還要承載水的重量,對小車電機驅動要求比較高,故排除這種方案,選擇方案一。1.4最終方案經(jīng)過反復論證,最終確定了如下方案:(1)手工制作車體。(2)采用STC89C52單片機作為主控制器。(3)用直流電機實現(xiàn)小車行駛與滅火。(4)用6節(jié)鋰電池分別給單片機和電機供電。(5)用RPR220型光電對管進行尋跡。(6)遠紅外火焰?zhèn)鞲衅髯鳛楸鞠到y(tǒng)的火焰?zhèn)鞲衅?。?)L298N作為直流電機的驅動芯片。(7)用紅外光電開關進行避障。2硬件實現(xiàn)及單元電路設計STC89C52單片機系統(tǒng)概述及其引腳功能介紹STC89C52單片機系統(tǒng)概述STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標準功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時器,內(nèi)置4KBEEPROM,MAX810復位電路,三個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口。另外STC89X52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。最高運作頻率35MHz,6T/12T可選。參數(shù):增強型8051單片機,6時鐘/機器周期和12時鐘/機器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051.[1]工作電壓:5.5V?3.3V(5V單片機)/3.8V?2.0V(3V單片機)工作頻率范圍:0?40MHz,相當于普通8051的0?80MHz,實際工作頻率可達48MHz用戶應用程序空間為8K字節(jié)片上集成512字節(jié)RAM通用I/O口(32個),復位后為:P0/P1/P2/P3是準雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻。ISP(在系統(tǒng)可編程)/IAP(在應用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片具有EEPROM功能具有看門狗功能共3個16位定時器/計數(shù)器。即定時器T0、T1、T2外部中斷4路,下降沿中斷或低電平觸發(fā)電路,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個UART工作溫度范圍:-40?+85°C(工業(yè)級)/0?75°C(商業(yè)級)PDIP封裝2.1.2單片機引腳功能STC89C52是一個有40個引腳的芯片,引腳配置如圖2-1所示:T2/P1.0I2EX/P1.1P1.2PL3Pl.1P1.5P1.6P1.7T2/P1.0I2EX/P1.1P1.2PL3Pl.1P1.5P1.6P1.7RSTRXD/P3.0TXD/P3.1IM0/P3.27xT1/P3.3T0/P3.4n/P3.5WR/P3.6R[j/P3.1XTAL2XTAL1VSS01234-.06-789flQJ4X-6「jDOQJtltl11IL-1tl1±+1flflPMP0987654-321098765432143333333333222222222vccPO.O/ADOPO.1/AD1PO.2./AD2PO,3/AD3PO.4/AD1PO.5/AD5PO.6/AD6PO,7./AD7EAALE/PROGPSE\P上7/A15P2;6/A14P2.5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A8STC89C52單片機各個引腳功能如表2-2所示。表2-2STC89C51RC/RD+引腳示意圖管腳管腳端計說明LQFP+4P5P邨PLCC44PO.OJP0.737-3039-3243-36PO:P(J口既可作為輸氏..喘出口?也可作為地址/Mft用總坡使用“當PET作為輸氏F輸出口時.P0是-竹世作取向口,I.電殳位后此于開漏模式.四口內(nèi)部無上住電阻,所以作口節(jié)口必蒙外接IOK-<7K的上拉電阻“當PG作為地址,'數(shù)楮M用總統(tǒng)使用時,是蛔位地址^[AU-A7],敷據(jù)峰的[tXKD7|.此時無需外接匕拉電阻*P10T24D]2P1.0標準1.?口JJPORT1|OJT2定時器F講數(shù)壽0的外部推入Pl.LFEK4123P].]標準l/DJJPORTHLIT2EX定旬聯(lián),訂?數(shù)罌0捕折晅裝方宣的觸坂控制Pl.24234標準[心口PORT1[2]Pl.34345標準[心口PORTL[3]Pl.44456標準[心1-1PORTL[4]Pl.5167標準[心1-1PORTL[5]Pl.87S材;準[<J1-1FORTL[6]Pl.73呂標準EQ口PORTI[7J2.2光電對管電路的設計實驗中設計并論證了兩種光電對管檢測及調理電路,電路原理圖分別如圖2-3和圖2-4所示。圖2-3所示電路中,R1起限流電阻的作用,當有光反射回來時,光電對管中的三極管導通,R2的上端變?yōu)楦唠娖?,此時VT1飽和導通,三極管集電極輸出低電平。當沒有光反射回來時,光電對管中的三極管不導通,VT1截至,其集電極輸出高電平。VT1在該電路中起到濾波整形的作用。經(jīng)實驗和示波器驗證,該電路工作性能一般,輸出還有雜散干擾波的成分。如果輸出加施密特觸發(fā)器就可以實現(xiàn)良好的輸出波形。但是這種電路用電量比較大,給此種傳感器調理電路供電的電池壓降較快。究其原因,是因為光敏三極管和三極管VT1導通時的導通電流較大。因此考慮用比較器的方案。圖2-4采用電壓比較器檢測電路原理圖在圖2-4中,可調電阻R3可以調節(jié)比較器的門限電壓,經(jīng)示波器觀察,輸出波形相當規(guī)則,可以直接夠單片機查詢使用。而且經(jīng)實驗驗證給此電路供電的電池的壓降較小。因此我們選擇此電路作為我們的傳感器檢測與調理電路。在尋跡傳感器的設計中,我們在車體底盤的前端裝有四個傳感器,用來起到尋跡的作用。安裝在前端的四個傳感器直接將信號送給單片機,當中間兩個傳感器中一個傳回低電平,則為踩線,既調整車頭方向,當四個傳感器均為高點平時認定為一個交點,并且2個交點間距離約為25cm。因為地圖為方格,所當小車轉向時會出現(xiàn)四個傳感器中不定時離開黑線,為保證能準確轉彎。再因RPR220檢測到黑線返回高電平,否則為低電平,利用這一原理。當小車右轉時,位于小車最右端傳感器會由黑線轉到白色區(qū)域,這時會產(chǎn)生一個下降沿,將下降沿接至單片機外部中斷用于判斷是否已經(jīng)完成轉向,左轉原理同上。經(jīng)實驗證實此方法能使小車穩(wěn)定轉向。2.3火焰?zhèn)鞲衅骷皯没鹧鎮(zhèn)鞲衅鞯暮脡膶τ谠撓到y(tǒng)的功能能否實現(xiàn)十分重要,火焰?zhèn)鞲衅骷捌湔{理電路如圖2-3-1所示。圖2-5火焰?zhèn)鞲衅髟韴D圖2-5中,可調電阻RV1可以調節(jié)比較器的門限電壓,本電路還能輸出模擬和數(shù)字兩種信號,非常適合本次系統(tǒng)的條件?;鹧?zhèn)鞲衅髂軌蛱綔y到波長在700納米?1000納米范圍內(nèi)的紅外光,探測角度為60,其中紅外光波長在880納米附近時候的靈敏度達到最大。遠紅外火焰探頭將外界紅外光的強弱變化轉化為電流的變化,通過A/D轉換器反映為0?255范圍內(nèi)數(shù)值的變化。外界紅外光越強,數(shù)值越??;反之則越大。利用四個火焰?zhèn)鞲衅鳎{節(jié)其中兩個傳感器門限電壓,使得傳感器能檢測到整張地圖距離的火焰,再調節(jié)另兩個傳感器使得只能檢測一個方格距離的火焰。這四個傳感器分別兩兩置于小車兩側距離地面約10cm(相當于火焰的高度),一遠一近配合使用。我們將能檢測整張地圖的傳感器稱為“遠視”,只能檢測一格的稱為“近視”。當遠視傳感器檢測到火焰信號,執(zhí)行滅火程序,小車向檢測到火源的方向前行。當'近視”傳感器檢測到信號,說明火焰處于當前所在方格,觸發(fā)轉向開啟風扇。2.4電機驅動電路的設計直流電機里邊固定有環(huán)狀永磁體,電流通過轉子上的線圈產(chǎn)生安培力,當轉子上的線圈與磁場平行時,再繼續(xù)轉受到的磁場方向將改變,因此此時轉子末端的電刷跟轉換片交替接觸,從而線圈上的電流方向也改變,產(chǎn)生的洛倫茲力方向不變,所以電機能保持一個方向轉動。采用電機驅動芯片L298N作為電機驅動,管腳圖如圖2-6所示,原理圖如圖2-7所示。L298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅動電路。是一種二相和四相電機的專用驅動器,即內(nèi)含二個H橋的高電壓大電流雙全橋式驅動器,接收標準TTL邏輯電平信號,可驅動46V、2A以下的電機。

3CURRENTSENSINGBOUTPUT4AOUTPUTS二^INPUT4'ENABLEQ二3INPUT33LOGICSUPPLYVOLTAGEVssgnd=INPUT2=iENABLEA3INPUT17^3SUPPLYVOLTAGEVS3OUTPUT2二3OUTPUT1二ICURRENTSENSINGA圖2-6L298N管腳圖2-7電機驅動原理圖L298有兩路電源分別為邏輯電源和動力電源,上圖中6V為邏輯電源,12V為動力電源?!?接入邏輯電源,J6接入動力電源,J1與J2分別為單片機控制兩個電機的輸入端,J3與J5分別與兩個電極的正負極相連。ENA與ENB直接接入6V邏輯電源也就是說兩個電機時刻都工作在使能狀態(tài),控制電機的運行狀態(tài)只有通過J1與J2兩個接口。由于我們使用的電機是線圈式的,在從運行狀態(tài)突然轉換到停止狀態(tài)和從順時針狀態(tài)突然轉換到逆時針狀態(tài)時會形成很大的反向電流,在電路中加入二極管的作用就是在產(chǎn)生反向電流的時候進行泄流,保護芯片的安全。2.5滅火模塊設計如圖2-8所示,滅火風扇的驅動由5v電源供電。利用三級管的開關應用,實現(xiàn)單片機控制風扇轉停。當單片機給低電平時,風扇開始轉動吹滅火焰,否則不轉。圖2-8滅火風扇原理圖2.6避障功能的實現(xiàn)方法由于火源為不確定位置,所以小車還屬于前進并還未檢測到火焰而遇到障礙物,首先讓小車先后退,在遇到黑線交點時先右轉,因為地圖是有限的,所以如果轉的方向不是正確的火焰方向,則當小車行駛到地圖邊緣時就180度轉,就能正確的判斷出火源的具體位置。3軟件系統(tǒng)設計3.1編譯語言及編譯環(huán)境3.1.1匯編語言的概述為了克服機器語言的缺點,用英文字條來代替機器語言,這些英文字符被稱為助記符,用助記符表示的指令稱為符號語言或匯編語言。匯編語言是面向機器的語言,程序設計人員必須對單片機的硬件有相當深入的了解。助記符指令和機器指令一一對應,所以用匯編語言編寫的程序效率高,占用的存儲空間小,運行速度快,因此用匯編語言能編寫出最優(yōu)化的程序。匯編語言程序能直接管理和控制硬件設備(功能部件),它能處理中斷,也能直接訪問存儲器及I/O接口電路。但是,匯編語言和機器語言一樣,都脫離不開具體機器的硬件,因此,這兩種語言均是面向機器的語言,缺乏通用性。3.1.2C語言概述C語言是國際上廣泛流行的計算機高級語言,既可用來寫系統(tǒng)軟件,也可用來寫應用軟件。C語言功能豐富,表達能力強,使用靈活方便,應用面廣,目標程序效率高,可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的許多特點。因此,C語言特別適合于編寫系統(tǒng)軟件。它的特點如下:語言簡潔、緊湊,使用方便、靈活。運算符豐富,數(shù)據(jù)結構豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結構。具有結構化的控制語句用函數(shù)作為程序的模塊單位,便于實現(xiàn)程序的模塊化。語法限制不大嚴格,程序設計自由度大。C語言允許直接訪問物理地址。生成目標代碼質量高,程序執(zhí)行效率高,用C語言寫的程序可移植性好。3.1.3編譯語言及編譯環(huán)境綜述兼于以上兩種編譯語言的優(yōu)缺點,我選擇了Keil軟件。Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。如果使用C語言編程,那么Keil幾乎就是不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調試工具也會令事情變得事半功倍。3.2程序解析3.2.1各函數(shù)功能電機的正反轉:voidDC_LEFT(void){DC1_1=1;DC1_2=0;}voidDC_RIGHT(void){DC2_1=1;DC2_2=0;}voidDC_CLOSE_LEFT(void){DC1_1=DC1_2=0;}voidDC_CLOSE_RIGHT(void){DC2_1=DC2_2=0;}voidDC_LEFT_BACK(void){DC1_1=0;DC1_2=1;}voidDC_RIGHT_BACK(void){DC2_1=0;DC2_2=1;}其中DC1為左輪,DC2為右輪。此函數(shù)分別控制兩個電機正反轉,通過左右兩輪正反轉的配合能實現(xiàn)各個方向的轉彎。尋跡功能:if(!NEAR_LEFT_F&&!STOP&&!NEAR_RIGHT_F){if(!Back_Flag&&!BACK){if(left!=0&&right!=0){DC_LEFT();DC_RIGHT();}if(left==0&&right!=0){DC_LEFT();DC_CLOSE_RIGHT();}if(right==0&&left!=0){DC_RIGHT();DC_CLOSE_LEFT();}}elseif(!NEAR_LEFT_F&&!NEAR_RIGHT_F)BACK=1;根據(jù)尋跡模塊傳回的信號,判斷小車是否超出黑線,左右都沒有超出,則執(zhí)行前進函數(shù);當左輪超出,執(zhí)行右轉函數(shù);當右輪超出,執(zhí)行左轉函數(shù);當小車回到黑線上,繼續(xù)前進。通過不斷的查詢實現(xiàn)尋跡功能?;鹧嫖恢门袛啵篿f(first&&last){if(!IR_RIGHT)CORNER_RIGHT=1;elseCORNER_RIGHT=0;if(!IR_LEFT)CORNER_LEFT=1;elseCORNER_LEFT=0;if(!IR_RIGHT||!IR_LEFT)BACK=0;}if(CORNER_RIGHT){DC_CLOSE_RIGHT();DC_LEFT();if(BACK)PASS=last;elsePASS=left;}if(CORNER_LEFT){DC_RIGHT();DC_CLOSE_LEFT();if(BACK)PASS=first;elsePASS=right;}voidEX1_ISR(void)interrupt0{CORNER_RIGHT=0;CORNER_LEFT=0;if(!IR_RIGHT||!IR_LEFT){if(first&&last)BACK=0;}}根據(jù)小車兩側火焰?zhèn)鞲衅餍盘柵袛嗷鹧嫖恢茫敾鹧娉霈F(xiàn)在小車右側,將右轉變量置1,當火焰出現(xiàn)在小車左側,將左轉變量置1;再通過判斷兩個變量的值來實現(xiàn)不同的轉向。因為這里為90度轉彎,所以配合尋跡模塊的黑線傳回高電平,超出黑線低電平特點,當小車轉過90度后,尋跡模塊邊緣兩側的傳感器必將由黑線到白色區(qū)域。利用這個下降沿觸發(fā)外部中斷,在中斷中將轉向信號清零,使其能繼續(xù)前進。其中PASS為外部中斷端口。滅火功能:if(!NEAR_LEFT)NEAR_LEFT_F=1;if(NEAR_LEFT_F){DC_LEFT_BACK();DC_RIGHT();}if(!NEAR_RIGHT)NEAR_RIGHT_F=1;if(NEAR_RIGHT_F){DC_RIGHT_BACK();DC_LEFT();}if(!IR_S){NEAR_RIGHT_F=0;NEAR_LEFT_F=0;STOP=1;DC_S=1;DC_CLOSE_RIGHT();DC_CLOSE_LEFT();}elseDC_S=0;

當小車兩側的近火焰?zhèn)鞲衅鱾骰氐碗娖剑瑒t說明火焰處于小車當前所在的方格內(nèi)。當火焰在小車左側,則讓小車左輪反轉右輪正轉,實現(xiàn)小車原地左方向打轉;右側則讓左輪正轉右輪反轉,讓小車右方向打轉。再當置于小車前端的火焰?zhèn)鞲衅鱾骰氐碗娖?,說明小車車頭正對著火焰,開啟風扇,當火焰吹滅后,風扇停止轉動。完整程序見附錄Ao3.2.2程序流程圖向右偏則左轉回歸黑線?7E向右偏則左轉回歸黑線?7E圖3-1程序流程圖4測試結果測試儀器模擬跑道、計算機、開關電源、示波器、數(shù)字萬用表等。測試方法完全按照要求模擬實驗環(huán)境,用地板革(150cmX150cm)制作模擬場地,在地板革上用黑膠帶做成網(wǎng)格,黑膠帶寬1.5cm,跑道長度寬度均為150cm,反復使小車在模擬環(huán)境中進行實驗,并記錄各項數(shù)據(jù)。測試數(shù)據(jù)及測試結果分析測試顯示,當蠟燭位置不是位于方格中間時,小車不能穩(wěn)定的實現(xiàn)轉向。問題分析:由于轉向的觸發(fā)必須是在小車在黑線交點的同時檢測到火焰,由于傳感器位置不合理,使當小車到黑色交點的時候不能準確的檢測到火焰,而不能穩(wěn)定的發(fā)出轉向信號。問題解決:調整火焰?zhèn)鞲衅鞯奈恢?。結束語小車的特點能實現(xiàn)自動尋路找到火源,但由于火焰?zhèn)鞲衅鞯臋z測角度為60度,并不能在安全區(qū)檢測到整張地圖,所以對于火源的位置有一定的局限。解決這一問題可以使用多個遠紅外火焰?zhèn)鞲衅髋帕谐梢欢ń嵌?,實現(xiàn)對全地圖的檢測。滅火全程均為自動,不需要人員干擾、遙控。出現(xiàn)的一些問題,由于尋跡模塊安裝位置不是很合理,所以偶爾會出現(xiàn)在黑線交點處越出軌道的現(xiàn)象,后經(jīng)過對模塊的調整和程序上配合這一現(xiàn)象有所好轉。這一問題給了我一個深刻的教訓,在設計系統(tǒng)前就應考慮到可能會出現(xiàn)的問題,而不能只一味的追求美觀。通過這幾天的設計,我們不但增強了實踐能力和協(xié)作精神,而且懂得了聯(lián)系實際的重要性,這對我們以后的學習和工作不無裨益。當然,我們的設計還存在著一些缺陷,有待于在將來的設計中進一步提高,在此懇請各位老師批評指正。致謝在此,我首先要衷心地感謝我的指導老師,在這次設計中遇到的每個問題都是老師給予解答,詳細設計等整個過程中都給予了我悉心的指導,給我提出了許多極具價值的建議。在生活上兩位老師同樣給予了我極大的支持和關心,在為人處世上也對我進行諄諄的教導,這些都將對我今后的學習和工作產(chǎn)生深刻的影響,使我獲益匪淺。除了敬佩老師的專業(yè)水平和綜合素養(yǎng)外,嚴謹?shù)闹螌W態(tài)度和科學的研究精神也是我永遠學習的榜樣,必將對我今后的學習和工作產(chǎn)生深遠的影響,老師傳授給我的知識也必然會在我人生的學習階段乃至各個階段發(fā)揮重要的作用。參考文獻何玲.蔡莉莎.曾維鵬.單片機最小系統(tǒng)的設計與制作.北京:電子工業(yè)出版社,2012.1譚浩強.C程序設計.北京:清華大學初版社,2005.翟玉文.梁偉.艾學忠.電子設計與實踐[M].北京:中國電力出版社,2005.256-257.張景元.基于單片機的多用途定時器的設計與實現(xiàn)[J].電子工程師,2000年第8期22-31.張專成.趙懷勛.單片機測控系統(tǒng)中的監(jiān)視定時器[J].武警技術學院學報,Mar1997.馮成龍.傳感器應用技術項目化教程.北京:清華大學出版社;北京交通大學出版社,2009.7附錄A:程序清單#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintvoidDC_LEFT(void);voidDC_RIGHT(void);voidDC_CLOSE_LEFT(void);voidDC_CLOSE_RIGHT(void);voidDC_LEFT_BACK(void);voidDC_RIGHT_BACK(void);voidEX0init(void);voidRUN_DC(void);voidIR_Rev(void);sbitDC1_1=P1A4;sbitDC1_2=P1A5;sbitDC2_1=P1A6;sbitDC2_2=P1A7;sbitIR=P1A2;sbitfirst=P2A3;sbitleft=P2A2;sbitright=P2A1;sbitlast=P2A0;sbitPASS=P3A2;sbitIR_RIGHT=P1A1;sbitIR_LEFT=P1A0;sbitNEAR_LEFT=P3A0;sbitNEAR_RIGHT=P3A1;sbitIR_S=P1A3;s

溫馨提示

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

評論

0/150

提交評論