智能消防機器人_第1頁
智能消防機器人_第2頁
智能消防機器人_第3頁
智能消防機器人_第4頁
智能消防機器人_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

智能消防機器人目錄引言……………………..21.1課題背景……………………21.2IntelligentDesignandmanufactureofelectriccarsFire..21.3實現(xiàn)功能……………………31.4模擬房子介紹………………3系統(tǒng)整體方案設(shè)計……….4系統(tǒng)硬件設(shè)計……………..4系統(tǒng)軟件設(shè)計……………..4第三章硬件設(shè)計…………………...53.1電源管理模塊………………53.11穩(wěn)壓芯片LM7805、7806CV……………53.12電源模塊電路原理圖………………….53.2電機驅(qū)動芯BTS7960……….63.21BTS7960的邏輯功能……………………..63.22外形及封裝……………..63.23BTS7960電路原理圖…………………….73.3地面灰度檢測傳感器ST188……………….73.3.1ST188特點…………….73.3.2檢測原理………………73.3.3應(yīng)用范圍………………73.3.4外形尺寸〔單位mm〕…………………73.3.5ST188原理圖………….83.4火焰?zhèn)鞲衅鳌?83.4.1火焰?zhèn)鞲衅魇褂谩?83.5報警電路…………………….8第四章軟件設(shè)計…………………94.1滅火機器人行進路線分析…………………94.2軟件流程圖…………………114.3軟件開發(fā)平臺介紹………….11第五章調(diào)試記錄及實驗心得……………………125.1調(diào)試記錄…………………....12參考文獻………….13附錄:程序清單………………..13第一章引言1.1課題背景如今國內(nèi)外對消防設(shè)備的研究越來越重視,投入也越來越多。慢慢趨向于自動化、智能化。實現(xiàn)滅火、火場偵查、危險物品泄露探測、破拆等功能。本文設(shè)計主要完成的功能是撲火救人。本設(shè)計是基于STC89C52單片機對電動車進行控制的自動控制系統(tǒng),研究的內(nèi)容有:主要方案論證、硬件設(shè)計、軟件設(shè)計、系統(tǒng)實物調(diào)試。硬件設(shè)計主要有電機驅(qū)動電路、熱光源采集電路、聲音采集電路、電風(fēng)扇驅(qū)動電路、停車信號采集電路、LCD顯示電路、電源電路及單片機最小系統(tǒng)。本系統(tǒng)以STC89C52單片機作為控制核心,通過接受到熱光源采集電路傳送的信號和聲音采集電路傳送的信號,對電動車電機進行控制,從而實現(xiàn)對電動車的轉(zhuǎn)向控制。當(dāng)兩處著火,一處是物品,另一處是人著火;電動車通過聲音識別,優(yōu)先將人身上的火撲滅。其所實現(xiàn)的功能相當(dāng)于簡易消防機器人?!娟P(guān)鍵詞】消防車熱光源STM32單片機LM298ST1781.2IntelligentDesignandmanufactureofelectriccarsFireAbstractToday,fire-fightingequipmentathomeandabroadmoreandmoreemphasisonthestudy,inputmoreandmore.Slowlytendstoautomationandintelligence.Toachievefirefighting,firedetection,hazardousmaterialsleakdetection,ripperandotherfunctions.Thisfunctionisprimarilydesignedtocompletefirefightingtosavepeople.ThedesignisbasedSTC89C52microcontrollertocontrolforelectricvehiclecontrolsystemtostudythecontentsofthefollowing:themainprogramfeasibilitystudies,hardwaredesign,softwaredesign,systemdebugginginkind.Hardwaredesign,mainmotordrivecircuit,thermallightsourceacquisitioncircuit,thesoundcollectioncircuit,fandrivecircuit,stoppingthesignalacquisitioncircuit,LCDdisplaycircuit,powercircuitandmicrocontrollerminimumsystem.ThesystemSTC89C52microcomputerasthecontrolcore,throughtheacquisitioncircuitreceiveslighttransmittedthermalsignalandvoicesignalacquisitioncircuittransmissionofelectricvehiclemotorstobecontrolledinordertoachievesteeringcontrolforelectricvehicles.Whenthetwofire,oneistheitems,anotherisahumanonfire;electricvehiclethroughvoicerecognition,giveprioritytothehumanbodyfire.Theyachievethefunctionalequivalentofsimplefire-fightingrobot.【Keywords】:fireengine、hotlight、STM32MCU、LM298ST1781.3實現(xiàn)功能制造一個自主控制的機器人在一間平面結(jié)構(gòu)房子模型里運動,找到一根蠟燭并盡快將它熄滅,這個工作受地面摩擦、機器人慣性、機器人電機的轉(zhuǎn)數(shù)差、齒輪箱與輪子的摩擦、電壓變化等多個因素影響,它模擬了現(xiàn)實家庭中機器人處理火警的過程,蠟燭代表家里燃起的火源,機器人必須找到并熄滅它。1.4模擬房子介紹模擬房子平面圖單位:mm比賽場地的墻壁22cm高,由KT板做成。墻壁為白色。比賽場地的地板將是貼有導(dǎo)航黑線的KT板。所有的房間和走廊的地板上都是光滑的。場地中所有的門口并沒有門,而是一個適當(dāng)寬度的開口。第二章系統(tǒng)整體方案設(shè)計2.1系統(tǒng)硬件設(shè)計本次設(shè)計的目的是設(shè)計一個在規(guī)定區(qū)域能自主搜索火源并實施滅火的智能機器人小車,本次設(shè)計使用的主控芯片使用了STC89C52單片機,所以設(shè)計重點在傳感器和電機驅(qū)動上。系統(tǒng)總體設(shè)計框圖如圖2.1:MCUMCU小車電機驅(qū)動傳感器模塊傳感器模塊電源局部水槍電機圖2.1系統(tǒng)總體設(shè)計框圖2.2系統(tǒng)軟件設(shè)計轉(zhuǎn)彎子程序軟件設(shè)計方案是以上述硬件電路為根底的,包括電機控制模塊、傳感器模塊的程序設(shè)計與實現(xiàn)。程序設(shè)計采用C語言編寫,編程環(huán)境是集成KeilSTM32編譯器的集成編譯環(huán)境。滅火機器人設(shè)計的軟件設(shè)計結(jié)構(gòu)框圖如圖2.2所示。轉(zhuǎn)彎子程序滅火機器人系統(tǒng)軟件電機控制模塊傳感器模塊前進子程序滅火機器人系統(tǒng)軟件電機控制模塊傳感器模塊前進子程序停止子程序灰度子程序壁障子程序火焰子程序火焰子程序轉(zhuǎn)彎子程序轉(zhuǎn)彎子程序圖2.2系統(tǒng)軟件設(shè)計框圖第三章硬件設(shè)計3.1電源管理模塊電源是任何一個系統(tǒng)穩(wěn)定運行的前提條件,為了使機器人運行穩(wěn)定,單片機和電機的供電系統(tǒng)采用獨立供電的方法。3.1.1穩(wěn)壓芯片LM7805CV、LM7806CVLM7805CV的技術(shù)指標(biāo)如下表:表3-1穩(wěn)壓芯片7805參數(shù)LM7806CV的技術(shù)指標(biāo)如下表:表3-2穩(wěn)壓芯片7806參數(shù)3.1.2電源模塊電路原理圖由于單片機及所有的傳感器系統(tǒng)供電采用的是5V和6V的電源,所以在電源的處理上采用了穩(wěn)壓芯片7805CV和7806CV?;鹧孀映绦蚧鹧孀映绦?.2電機驅(qū)動芯片BTS7960BTS7960是NovalithIC家族三個獨立的芯片的一局部:一是p型通道的高電位場效應(yīng)晶體管,二是一個n型通道的低電位場效應(yīng)晶體管,結(jié)合一個驅(qū)動晶片,形成一個完全整合的高電流半橋。所有三個芯片是安裝在一個共同的引線框,利用芯片對芯片和芯片芯片技術(shù)。電源開關(guān)應(yīng)用垂直場效應(yīng)管技術(shù)來確保最正確的阻態(tài)。由于p型通道的高電位開關(guān),需要一個電荷泵消除電磁干擾。通過驅(qū)動集成技術(shù),邏輯電平輸入、電流取樣診斷、轉(zhuǎn)換速率調(diào)整器,失效發(fā)生時間、防止欠電壓、過電流、短路結(jié)構(gòu)輕易地連接到一個微處理器上。BTS7960可結(jié)合其他的BTS7960形成全橋和三相驅(qū)動結(jié)構(gòu)。3.2.2外形及引腳結(jié)構(gòu):3.2.3BTS7960電路原理圖:3.3地面灰度檢測傳感器ST1783.3.1ST178簡介:ST178H紅外光電傳感器模塊是基于ST178H傳感器設(shè)計的一款紅外反射式光電開關(guān)。傳感器采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成,輸出信號經(jīng)施密特電路整形,穩(wěn)定可靠。3.3.2ST178特點:1、采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成。2、檢測距離可調(diào)整范圍大,4-10mm可用。3、采用非接觸檢測方式。3.3.3檢測原理:傳感器的紅外發(fā)射二極管不斷發(fā)射紅外線,當(dāng)發(fā)射出的紅外線沒有被反射回來或被反射回來但強度不夠大時,光敏三極管一直處于關(guān)斷狀態(tài),此時模塊的輸出端為低電平,指示二極管一直處于熄滅狀態(tài);被檢測物體出現(xiàn)在檢測范圍內(nèi)是,紅外線被反射回來且強度足夠大,光敏三極管飽和,此時模塊的輸出端為高電平,指示二極管被點亮。3.3.4外形尺寸〔單位mm〕:圖3.5ST188實物圖3.3.5ST178與單片機連接原理圖:圖3.4ST178電路圖3.4火焰?zhèn)鞲衅鳎捍藗鞲衅鞅酒房蓮V泛應(yīng)用于滅火機器人比賽中測量火焰值、足球比賽時,用于確定足球的方向。下列圖為火焰?zhèn)鞲衅鲗嵨飯D。圖3.8火焰?zhèn)鞲衅鲗嵨飯D3.5報警電路:當(dāng)單片機的P1.0I/O口輸出一個高電平時,通過非門后使三極管基級為低電平,此時三極管處于截止?fàn)顟B(tài),蜂鳴器不工作;當(dāng)單片機的P1.0I/O口輸出一個低電平,通過非門后使三極管基級變?yōu)楦唠娖?,三極管處于放大工作狀態(tài),驅(qū)動蜂鳴器發(fā)出報警聲音。聲音報警電路如圖3.11所示。第四章軟件設(shè)計4.1滅火機器人行進路線分析結(jié)合我們小車的特點和前面分析,我們選擇3—2—1—4的遍歷順序。開始時,小車處于3號和4號房間中間,由圖可知,沿著右走的方案比擬好,因此我們采用是右手規(guī)那么,首先搜索的是3號房間,如圖。當(dāng)在3號房間發(fā)現(xiàn)火源時,小車進入房間并滅火,滅火后按原路返回;如沒有發(fā)現(xiàn)火源,小車?yán)^續(xù)按右手規(guī)那么搜索房間,直到搜索4號房間,不管有沒有搜索到火源,從4號房間出來都繞著4號房間返回起點,因為回家過程中的時間不記入總時間,而繞行比擬平安,小車比擬好控制。4.2軟件流程圖圖4.2滅火小車軟件設(shè)計流程圖4.3軟件開發(fā)平臺介紹本次設(shè)計軟件的開發(fā)主要采用KeiluVision4軟件編寫。使用KeiluVision4工具時,工程開發(fā)流程和其它軟件開發(fā)工程的流程極其相似:1、創(chuàng)立一個工程,從器件庫中選擇目標(biāo)器件,配置工具設(shè)置;2、用C語言或匯編語言創(chuàng)立源程序;3、用工程管理器生成你的應(yīng)用;4、修改源程序中的錯誤;5、測試,連接應(yīng)用。編程語言選用C語言。它可以作為工作系統(tǒng)設(shè)計語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,并且C語言以其結(jié)構(gòu)化,容易維護,編寫不依賴計算機硬件的應(yīng)用程序,容易移植的優(yōu)勢滿足開發(fā)的需要。而匯編語言作為傳統(tǒng)的嵌入式系統(tǒng)的編程語言,具有執(zhí)行效率高的優(yōu)點,但其本身是低級語言,編程效率較低,可移植性和可讀性差,維護極不方便。而KeilSTM32編譯器完全遵照ANSIC語言標(biāo)準(zhǔn),支持C語言的所有標(biāo)準(zhǔn)特性。另外,直接支持STM32結(jié)構(gòu)的幾個特性被添加到里面。Keil宏匯編器支持STM32及其派生系列的全部指令集。第五章調(diào)試記錄5.1調(diào)試記錄地面灰度傳感器:測試距離2.5cm,黑地面輸出電壓1.3-1.5V;白紙輸出3.8-4.5V;前方火焰?zhèn)鞲衅髯钸h(yuǎn)測試距離2.5m,此次使用有效距離0.8m,輸出電壓0.6V,探測角度+30°。熱光源信號采集電路調(diào)試:熱光源采集電路分為四路,對四個方向的光強進行采集。根據(jù)光強電壓轉(zhuǎn)換原理:光越強,那么電壓越高;光強越弱,電壓越低。將熱光源信號采集模塊中的靈敏度調(diào)節(jié)到最正確狀態(tài)。將蠟燭火焰靠近紅外接收二極管,調(diào)節(jié)對應(yīng)的參考電壓的可調(diào)電位器,使對應(yīng)輸出指示燈變亮〔即接收到了熱光源信號,輸出低電平〕。再不斷改變蠟燭與紅外接收二極管之間的距離,將檢測距離調(diào)節(jié)到最遠(yuǎn)時,達2.1米。此時靈敏度也最正確。但是在外界環(huán)境光比擬強的地方,熱光源信號采集電路常出現(xiàn)錯誤判斷。數(shù)據(jù)記錄如下表1:測量輸出左路中左路中右路右路正確輸出左路中左路中右路右路測量101110111測量210011011測量31011101測量401101110表一根據(jù)分析,外界光也有近紅外,當(dāng)紅外接收二極管暴露在外時,受外界紅外光的影響,產(chǎn)生錯誤判斷。解決的方法是,將紅外接收二極管用直紙筒卷起來,防止外界環(huán)境影響。其它模塊電路出現(xiàn)的小問題比擬容易解決,因為電路相對來說簡單,方便調(diào)試。整體電路連接調(diào)試后,比擬成功,系統(tǒng)工作穩(wěn)定。從實驗調(diào)試結(jié)果分析可得,系統(tǒng)根本實現(xiàn)了熱光源信號的采集和電動車運動方向的控制。參考文獻[1]《國際賽制機器人滅火比賽規(guī)那么》.PDF[2]李全利、遲榮強.單片機原理及接口技術(shù).北京:高等教育出版社,2004.1[3]譚浩強.C程序設(shè)計(第二版).北京:清華大學(xué)出版社,1999.12[4]童詩白、華成英.模擬電子技術(shù)根底(第三版).北京:高等教育出版社,2003.12[5]康華光.電子技術(shù)根底數(shù)字局部(第四版).北京:高等教育出版社,1900.1[6]黃智偉.全國大學(xué)生電子設(shè)計競賽電路設(shè)計.北京:北京航空航天大學(xué)出版社,2006.12[7]黃智偉.全國大學(xué)生電子設(shè)計競賽系統(tǒng)設(shè)計.北京:北京航空航天大學(xué)出版社,2006.12[8]文艷、譚鴻.Protel99SE電子電路設(shè)計.北京:機械工業(yè)出版社,2006.8程序請單附錄1:#include"stm32f10x_lib.h"#include"public.h"u8time_3ms=0;u8depart=0;u8restart=0;u8 room=0;u8gangway=0;u8white=0;u8room0=0;u8room1=0;u8room2=0;u8gangway3=0;u8gangway4=0;u8sensor_temp_ahead=0;u8sensor_temp_ahead0=0;u8sensor_temp_back=0;u8 sensor_temp_back0=0;u8proceed=0;s8memory=0;intmain(void){system_init();while(1){if(time_3ms>=3) { time_3ms=0; // smokecheck();if(depart==0) { Encoder_Total=0; handle(-10); motor_speed(AHEAD_TURN,2); memory=2;while(Encoder_Total<1050); memory=0; Encoder_Total=0; handle(-17); motor_speed(AHEAD_TURN,2); memory=2;while(Encoder_Total<3600); memory=0; room=1; depart=1; } if(room==1) { sensor_temp_ahead=sensor_ahead(); if(sensor_temp_ahead!=sensor_temp_ahead0||proceed==1) { proceed=0; sensor_temp_ahead0=sensor_temp_ahead; switch(sensor_temp_ahead) { case1: handle(-10); motor_speed(AHEAD_TURN,2); break; case2: handle(-5); motor_speed(AHEAD,1); break; case3: handle(0); motor_speed(AHEAD,1); break; case4: handle(5); motor_speed(AHEAD,1); break; case5: handle(10); motor_speed(AHEAD_TURN,2); break; case0: if(white==0) { white=1; Encoder_Total=0; handle(19); motor_speed(AHEAD_TURN,2); memory=2;while(Encoder_Total<3000); memory=0; Encoder_Total=0; handle(20); motor_speed(AHEAD_TURN,2); memory=2;while(Encoder_Total<2500); memory=0; secure=0; dispose(); proceed=1; } else { handle(-18); motor_speed(AHEAD_TURN,2); } break; case6: //全黑 handle(0); motor_speed(0,0); secure=0; dispose(); gangway=1; room=0;break; } } } if(gangway==1) { sensor_temp_back=sensor_back(); if(sensor_temp_back!=sensor_temp_back0||proceed==1) { proceed=0; sensor_temp_back0=sensor_temp_back; switch(sensor_temp_back) { case1: handle(16); motor_speed(BACK,-1); break; case2: handle(13); motor_speed(BACK,-1); break; case3: handle(10); motor_speed(BACK,-1); break; case4: handle(7); motor_speed(BACK,-1); break; case5: handle(0); motor_speed(BACK,-1); break; case6: handle(-5); motor_speed(BACK,-1); break; case7: handle(-10); motor_speed(BACK,-1); break; case8: handle(-15); motor_speed(BACK,-1); break; case9: //全黑 handle(0); motor_speed(0,0); room=2; gangway=0; Encoder_Total=0; break; case0: //全白 handle(17); motor_speed(BACK_TURN,-1); break; } } } if(room==2) { sensor_temp_ahead=sensor_ahead(); if(sensor_temp_ahead!=sensor_temp_ahead0||proceed==1) { proceed=0; sensor_temp_ahead0=sensor_temp_ahead; switch(sensor_temp_ahead) { case1: handle(-15); motor_speed(AHEAD_TURN,2); break; case2: handle(-8); motor_speed(AHEAD,1); break; case3: handle(0); motor_speed(AHEAD,1); break; case4: handle(8); motor_speed(AHEAD,1); break; case5: handle(15); motor_speed(AHEAD_TURN,2); break; case0: //全白 if(room1==0&&Encoder_Total<1400) { handle(15); motor_speed(AHEAD,1); } if(room1==0&&Encoder_Total>=1400) { handle(-1); motor_speed(AHEAD,1); room1=1; } else { handle(18); motor_speed(AHEAD,1); } break;case6: //全黑 secure=0; dispose(); room=0; gangway=2; break; } } } if(gangway==2) { sensor_temp_back=sensor_back(); if(sensor_temp_back!=sensor_temp_back0||proceed==1) { proceed=0; sensor_temp_back0=sensor_temp_back; switch(sensor_temp_back) { case1: handle(18); motor_speed(BACK_TURN,-2); break; case2: handle(15); motor_speed(BACK_TURN,-2); break; case3: handle(10); motor_speed(BACK,-1); break; case4: handle(8); motor_speed(BACK,-1); break; case5: handle(0); motor_speed(BACK,-1); break; case6: handle(-10); motor_speed(BACK,-1); break; case7: handle(-16); motor_speed(BACK_TURN,-1); break; case8: handle(-19); motor_speed(BACK_TURN,-2); break; case9: //全黑 Encoder_Total=0; handle(-2);motor_speed(AHEAD,1); memory=1; while(Encoder_Total<2200); memory=0; gangway=0; room=3;break; case0: //全白 if(room2==0) { Encoder_Total=0; handle(0); motor_speed(BACK,-1); memory=-1; while(Encoder_Total<100); memory=0; Encoder_Total=0; room2=1; } else if(Encoder_Total<=8000) { handle(16); motor_speed(BACK,-1); } if(Encoder_Total>8000&&Encoder_Total<=18000) { handle(-20); motor_speed(BACK_TURN,-2); } else { handle(20); motor_speed(BACK,-1); } break; } } } if(room==3) { sensor_temp_ahead=sensor_ahead();if(sensor_temp_ahead!=sensor_temp_ahead0||proceed==1) { proceed=0; sensor_temp_ahead0=sensor_temp_ahead; switch(sensor_temp_ahead) { case1: handle(-10); motor_speed(AHEAD_TURN,2); break; case2: handle(-3); motor_speed(AHEAD,1); break; case3: handle(0); motor_speed(AHEAD,1); break; case4: handle(3); motor_speed(AHEAD,1); break; case5: handle(10); motor_speed(AHEAD_TURN,2); break; case0: //全白 handle(18); motor_speed(AHEAD_TURN,2); break; case6: room=0; gangway=3; break; } } } if(gangway==3) { if(gangway3==0) { Encoder_Total=0; handle(-2); motor_speed(AHEAD_TURN,2); memory=2; while(Encoder_Total<1800); memory=0; Encoder_Total=0; handle(-20); motor_speed(AHEAD_TURN,2); memory=2; while(Encoder_Total<2200); handle(0); motor_speed(AHEAD_TURN,2); memory=0; gangway3=1; } sensor_temp_ahead=sensor_ahead(); if(sensor_temp_ahead!=6) { handle(0); motor_speed(AHEAD_TURN,2); } else { room=4; gangway=0; } } if(room==4) { sensor_temp_ahead=sensor_ahead(); if(sensor_temp_ahead!=sensor_temp_ahead0||proceed==1) { proceed=0; sensor_temp_ahead0=sensor_temp_ahead; switch(sensor_temp_ahead) { case0: //全白 handle(-19); motor_speed(AHEAD,1); break; case6: secure=0; dispose

溫馨提示

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

評論

0/150

提交評論