基于單片機(jī)巡檢機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于單片機(jī)巡檢機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于單片機(jī)巡檢機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于單片機(jī)巡檢機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于單片機(jī)巡檢機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

V摘要配電房巡檢機(jī)器人是移動(dòng)機(jī)器人的一種,是多種傳感器負(fù)責(zé)不同部分的融合、在加上無線通信方式一起使用、多種控制方法的智能體現(xiàn)、能夠自主識(shí)別軌道、檢測(cè)火情及環(huán)境溫度,巡檢機(jī)器人的應(yīng)用前景是非常廣闊的。它能在無工作人員情況下,對(duì)配電房中的設(shè)備進(jìn)行實(shí)時(shí)的監(jiān)測(cè),及時(shí)發(fā)現(xiàn)配電房中的異常情況,提高了設(shè)備的安全性,工作的準(zhǔn)確性、實(shí)時(shí)性。在本文設(shè)計(jì)配電房巡檢機(jī)器人的系統(tǒng),主控制器芯片為STM32單片機(jī),實(shí)現(xiàn)對(duì)機(jī)器人運(yùn)動(dòng)加速減速的控制,對(duì)機(jī)器人的轉(zhuǎn)彎利用PWM調(diào)速來實(shí)行控制。電機(jī)驅(qū)動(dòng)模塊采用意法半導(dǎo)體的L298N專門供電機(jī)驅(qū)動(dòng)的模塊,心選用STM32與傳統(tǒng)分立元件設(shè)計(jì)電路相比使整個(gè)系統(tǒng)的穩(wěn)定性有很好的提高,對(duì)電路的調(diào)試安裝都極其方便,也不會(huì)受到外界環(huán)境的干擾。路徑檢測(cè)模塊是把檢測(cè)到的信號(hào)送給STM32單片機(jī),經(jīng)過單片機(jī)處理后單片機(jī)對(duì)L298N電機(jī)驅(qū)動(dòng)發(fā)出指令控制機(jī)器人進(jìn)行相應(yīng)的調(diào)整,避障采用超聲波模塊實(shí)現(xiàn),在配電房中的火情,利用MQ-2煙霧傳感器以及溫度傳感器來檢測(cè)。采用模塊化設(shè)計(jì)的思路,對(duì)各個(gè)模塊進(jìn)行設(shè)計(jì),主要包括系統(tǒng)運(yùn)動(dòng)控制功能軟件、煙霧機(jī)溫度模塊、避障模塊、串口通信軟件設(shè)計(jì)。關(guān)鍵詞:STM32;超聲波;MQ-2煙霧;串口通信AbstractTheinspectionrobotofpowerdistributionroomisakindofmobilerobot.Itistheintegrationofvarioussensors,theuseofwirelesscommunication,theintelligentembodimentofvariouscontrolmethods,theabilitytoindependentlyidentifythetrack,detectthefireandenvironmentaltemperature.Theapplicationprospectofinspectionrobotisverybroad.Itcanmonitortheequipmentinthedistributionroominrealtimewithoutstaff,findouttheabnormalsituationinthedistributionroomintime,andgreatlyimprovetheaccuracy,real-timeandsafetyoftheequipment.Inthispaper,arobotcontrolsystemforinspectionindistributionroomisdesigned.ThemaincontrollerchipisSTM32singlechipmicrocomputer,whichrealizestheaccelerationanddecelerationalgorithm,andusesPWMspeedregulationtocontroltheturningoftherobot.ThemotordrivemoduleadoptstheL298NspecialpowersupplymoduleofItalianFrenchsemiconductor,thecoreofwhichisSTM32.Comparedwiththetraditionaldiscretecomponentdesigncircuit,thestabilityofthewholesystemisimprovedgreatly,whichisveryconvenientforthedebuggingandinstallationofthecircuitandwillnotbeinterferedbytheexternalenvironment.ThepathdetectionmoduleistosendthedetectedsignaltoSTM32single-chipmicrocomputer.Afterbeingprocessedbysingle-chipmicrocomputer,thesingle-chipmicrocomputeradjuststheL298Nmotordriveandsendsoutinstructionstocontroltherobot.Theobstacleavoidanceisrealizedbytheultrasonicmodule.Themq-2smokesensorandtemperaturesensorareusedtodetectthefireinthepowerdistributionroom.Usingtheideaofmodulardesign,eachmoduleisdesigned,mainlyincludingsystemmotioncontrolfunctionsoftware,smokemachinetemperaturemodule,obstacleavoidancemodule,serialcommunicationsoftwaredesign.Keywords:STM32;ultrasonic;mq-2smoke;serialcommunication

目錄摘要 IAbstract II第1章緒論 11.1課題背景 11.2目的意義 11.3設(shè)計(jì)任務(wù)與技術(shù)要求 2第2章方案的論證與設(shè)計(jì) 32.1系統(tǒng)方案論證32.1.1主控制器方案設(shè)計(jì) 32.1.2避障方案設(shè)計(jì) 32.1.3電機(jī)驅(qū)動(dòng)設(shè)計(jì) 42.2方案的確定及方框圖的設(shè)計(jì) 5本章小結(jié) 7第3章單元電路設(shè)計(jì) 83.1STM32單片機(jī)系統(tǒng) 83.1.1單片機(jī)時(shí)鐘電路 93.1.2單片機(jī)復(fù)位電路 93.2電源電路設(shè)計(jì) 103.3報(bào)警電路設(shè)計(jì) 103.4電機(jī)驅(qū)動(dòng)電路設(shè)計(jì) 113.5路線識(shí)別電路設(shè)計(jì) 123.6溫度檢測(cè)模塊 133.7避障電路模塊 143.8MQ-2氣體檢測(cè) 153.9無線模塊 15本章小結(jié) 17第4章軟件程序設(shè)計(jì) 184.1程序設(shè)計(jì) 184.2超聲波避障程序設(shè)計(jì) 184.3串口通信 194.4循跡程序設(shè)計(jì) 214.5子程序設(shè)計(jì) 22本章小結(jié) 23第5章整機(jī)電路原理及調(diào)試 245.1整機(jī)工作原理 245.2遇到的問題及解決方法 245.3電路安裝 255.4電路調(diào)試 25結(jié)論 28致謝 29參考文獻(xiàn) 30附錄1譯文 31附錄2英文參考資料 33附錄3整機(jī)原理圖 36附錄4程序流程圖 37附錄5程序代碼 38附錄6元器件表 48PAGE18第1章緒論1.1課題背景到目前,電力的設(shè)備正在向提高功率、可靠性、智能化方向發(fā)展,大大增加了維護(hù)與檢測(cè)的難度。配電房無人值守的情況下,傳統(tǒng)的巡檢方式及問題故障的診斷已經(jīng)很難以滿足復(fù)雜設(shè)備排查的需求。建立大范圍的監(jiān)測(cè)設(shè)備狀態(tài)以及遠(yuǎn)程操作系統(tǒng),是對(duì)所有設(shè)備正常運(yùn)行、提高生產(chǎn)效率,節(jié)約維修費(fèi)用有著重大意義。普通的配電房設(shè)備巡檢工作主要以維護(hù)人員定期檢查及紅外測(cè)溫為主,由于工作人員的經(jīng)驗(yàn)、技術(shù)水平的影響,往往會(huì)出現(xiàn)漏測(cè)現(xiàn)象。同時(shí),利用現(xiàn)有檢測(cè)儀器,檢測(cè)人員難以對(duì)數(shù)據(jù)進(jìn)行集中管理,浪費(fèi)很多人力,在很大程度上限制了配電房檢測(cè)技術(shù)的發(fā)展。配電房智能巡檢機(jī)器人的研究以上問題解決了一些現(xiàn)有的問題,為設(shè)備提供及時(shí)、有效、全面、智能的異常判斷。國(guó)內(nèi)外有很多的研究學(xué)者已經(jīng)對(duì)智能巡檢機(jī)器人這一方面就有研究。國(guó)外研究巡檢機(jī)器人的典型代表是加拿大魁北克水電站和巴西圣保羅大學(xué)。前者研制的配電房巡檢機(jī)器人加入了遙控功能,能夠?qū)崿F(xiàn)遠(yuǎn)程操控巡檢機(jī)器人。后者視通過架起的高空軌道,研制出適用配電房?jī)?nèi)異常情況監(jiān)測(cè)的移動(dòng)機(jī)器人。國(guó)內(nèi)的配電房巡檢機(jī)器人的研究也有了很大的進(jìn)展,比如山東電科院研發(fā)出輪式機(jī)器人能夠在平路上穩(wěn)定行駛,對(duì)設(shè)備進(jìn)行巡檢。中科院沈陽自動(dòng)化研究所研發(fā)的軌道式變電站巡檢機(jī)器人采用固定軌道方式行進(jìn),但受限于攝像頭視角和固定軌道鋪設(shè),很難對(duì)變電站設(shè)備進(jìn)行全方位監(jiān)控。1.2目的意義1.選題目的目前,各種智能設(shè)備向高功率、高可靠性、高智能化方向發(fā)展,增加了日常運(yùn)維與檢測(cè)的難度。設(shè)備在無人值守的趨勢(shì)下,傳統(tǒng)的巡檢方式及故障診斷技術(shù)越來越難以滿足復(fù)雜設(shè)備診斷的需求。具有巡檢效率高、雨雪等惡劣環(huán)境下可開展巡檢需求,如何采用新形勢(shì)下的新技術(shù)、新手段實(shí)現(xiàn)運(yùn)維檢等優(yōu)點(diǎn),有效提高了設(shè)備運(yùn)行可靠性。2.課題研究意義研究機(jī)器人是一項(xiàng)很有遠(yuǎn)大前景的技術(shù),在軍事、工業(yè)、科學(xué)、生活領(lǐng)域越來越重要,同時(shí)智能機(jī)器人在生活中應(yīng)用很多越來越普遍。全國(guó)機(jī)器人大賽中,主要包括足球機(jī)器人比賽和籃球機(jī)器人比賽,通過這些機(jī)器人比賽就能夠說明了國(guó)家對(duì)這方面發(fā)展的重視。巡線功能當(dāng)然是行走機(jī)器人中非常重要的功能,也是最最基本的。本次設(shè)計(jì)就是在巡線的基礎(chǔ)上發(fā)現(xiàn)的功能,對(duì)此的研究不僅能實(shí)現(xiàn)巡線功能,同時(shí)也能在各種惡劣環(huán)境中進(jìn)行檢測(cè)。近幾年,隨著市場(chǎng)上對(duì)機(jī)器人的應(yīng)用越來越廣泛,越來越多制造商也早已經(jīng)對(duì)巡檢機(jī)器人的研發(fā)設(shè)計(jì)作為主業(yè)。據(jù)統(tǒng)計(jì),目前國(guó)內(nèi)就已經(jīng)有25家有大規(guī)模對(duì)機(jī)器人的生產(chǎn),并已研制出在不同環(huán)境條件的巡檢機(jī)器人,促進(jìn)了智能機(jī)器人的應(yīng)用。1.3設(shè)計(jì)任務(wù)與技術(shù)要求通過巡檢機(jī)器人裝配的傳感器設(shè)備檢測(cè)配電房、開關(guān)室內(nèi)部異常煙霧情況,溫度傳感器對(duì)配電房、開關(guān)室設(shè)備內(nèi)部異常溫度進(jìn)行檢測(cè),及時(shí)識(shí)別疑似火災(zāi)位置,進(jìn)行溫度報(bào)警。確認(rèn)著火點(diǎn)后,切換到遙控模式,將巡檢機(jī)器人移動(dòng)到遠(yuǎn)離危險(xiǎn)處(機(jī)器人能承受的最高溫度)以外安全位置觀察。機(jī)器人設(shè)備上有氣體檢測(cè)傳感器,對(duì)配電房、開關(guān)室內(nèi)部有害氣體進(jìn)行判斷,為人員進(jìn)入配電房中內(nèi)部進(jìn)行消防或其他作業(yè)提供參考。技術(shù)指標(biāo):1.巡檢機(jī)器人可以按照預(yù)定巡查線路行駛,響應(yīng)時(shí)間在3s以內(nèi);2.機(jī)器人可以檢測(cè)煙霧,并語音提示報(bào)警;3.可以實(shí)現(xiàn)溫度的檢測(cè),設(shè)備溫度高于50℃報(bào)警;4.智能避障,前方遇到障礙物則自動(dòng)避開,響應(yīng)時(shí)間不少于5s;

第2章方案的論證與設(shè)計(jì)2.1系統(tǒng)方案論證2.1.1主控制器方案設(shè)計(jì)方案一:采用ARM7微處理器作為控制器。此處理器是英國(guó)的ARM公司設(shè)計(jì)的一款微處理器。它滿足通過ARM內(nèi)核的要求。內(nèi)部依然用的是馮諾伊曼結(jié)構(gòu)來設(shè)計(jì)的微處理器。ARM7的升級(jí)版本ARM9是在ARM7的基礎(chǔ)上升級(jí)而來的,功能更強(qiáng)大、速度更快、內(nèi)部資源也更加豐富了。ARM7僅僅是一個(gè)芯片,需要做產(chǎn)品還需要設(shè)計(jì)外圍電路進(jìn)行外圍電路設(shè)計(jì)。但ARM7比較老舊了,已經(jīng)落后了時(shí)代,芯片也很難買到。方案二:采用STC89C52單片機(jī)作為控制器。STC89C52單片機(jī)是普通51單片機(jī)的增強(qiáng)型。相比傳統(tǒng)51單片機(jī)而言就有:速度更快、內(nèi)存更大、內(nèi)部自帶AD、PWM波形發(fā)生器等功能。在實(shí)際的項(xiàng)目開發(fā)中可以極大的節(jié)約成本,和減小電路板大小。51單片機(jī)是入門級(jí)的8位單片機(jī),以為是電子愛好者應(yīng)用最廣泛的一種。不過需要注意的是51系列單片機(jī)都不具自動(dòng)編程的能力。方案三:本次設(shè)計(jì)的所有功能的實(shí)現(xiàn)都是靠開發(fā)板進(jìn)行處理和發(fā)出指令讓智能小車作出動(dòng)作。選用的開發(fā)板是常用的STM32。STM32運(yùn)算速度大概是51單片機(jī)幾十倍,外圍接口的功能也要比51系列強(qiáng)大很多。通過多方面考慮和實(shí)用性,精確度,STM32單片機(jī)進(jìn)行處理,具有低功耗、高性能、抗干擾能力強(qiáng)等優(yōu)點(diǎn),故選擇方案三。2.1.2避障方案設(shè)計(jì)測(cè)距傳感器是本次課題的核心傳感器,測(cè)距傳感器的選用關(guān)乎到巡檢機(jī)器人的實(shí)際避障和測(cè)距情況,因此傳感器的選型也是至關(guān)重要。障礙物檢測(cè)傳感器有很多不同的種類,其中應(yīng)用場(chǎng)合要求不高的紅外傳感器較多,要求高一點(diǎn)就用測(cè)距傳感器。常見的測(cè)距傳感器有:超聲波測(cè)距傳感器、雷達(dá)測(cè)距、激光測(cè)距傳感器、光電管。通過查閱相關(guān)資論文中給出兩種測(cè)距方案進(jìn)行論述。方案一:超聲波測(cè)距避障,超聲波測(cè)距的原理是利用聲反射的原理通過聲速傳播的時(shí)間來計(jì)算距離。而超聲波傳感器并不能直接進(jìn)行測(cè)量距離,它只是測(cè)量超聲波傳播的時(shí)間,距離就是根據(jù)聲速傳播的公式來計(jì)算。聲波抗干擾能力強(qiáng),不易受到可見光,外界溫度的干擾,但是超聲波檢測(cè)存在盲區(qū),其檢測(cè)盲區(qū)為小于2CM。方案二:紅外對(duì)管,紅外對(duì)管是一種十分常用的傳感器其集發(fā)射與接收于一體的光電傳感器20檢測(cè)范圍:3-80CM。因其安裝方便,價(jià)格低廉,操作方便,因此被各行各業(yè)應(yīng)用。紅外對(duì)管的主要用來測(cè)距,測(cè)距的原理也很簡(jiǎn)單,主要是用光反射的原理,這跟超聲波測(cè)距差不多。光具有穿透性,因此紅外對(duì)管對(duì)透明物體不能檢測(cè),這也是紅外對(duì)管存在的缺點(diǎn)。通過分析和對(duì)比優(yōu)良最終選方案一,超聲波傳感器為測(cè)距傳感器,主要原因如下。(1)超聲波傳感器的靈敏度高,抗干擾能力比紅外對(duì)管的強(qiáng),機(jī)器人在所處的環(huán)境中有可見光的干擾,降低了傳感器的精度。紅外對(duì)管是光電傳感器,其在檢測(cè)自身發(fā)出的紅外線時(shí)易受外界光線的影響。(2)紅外對(duì)管在檢測(cè)障礙物的時(shí)候有一個(gè)缺點(diǎn),因光線是具有一定的穿透性的,當(dāng)前方的障礙物是透明物體時(shí),紅外線則是無法檢測(cè)出來的,這給巡檢機(jī)器人的自動(dòng)避障功能帶來了局限性。2.1.3電機(jī)驅(qū)動(dòng)方案設(shè)計(jì)電動(dòng)機(jī),就是一種將電力轉(zhuǎn)換為動(dòng)力的機(jī)器裝置,在單片機(jī)控制行走的設(shè)計(jì)中,核心就是電動(dòng)機(jī)驅(qū)動(dòng)控制模塊,如果驅(qū)動(dòng)設(shè)計(jì)的不合理那么此次設(shè)計(jì)也將不能達(dá)到很好的效果。為了達(dá)到這一目的就需要一個(gè)靈活性能比較好,編程容易,接線簡(jiǎn)單的電機(jī)控制電路,目前在簡(jiǎn)單的智能控制小車的設(shè)計(jì)中,大多采用小型的直流減速電機(jī)馬達(dá)DC7V-13V。其優(yōu)點(diǎn)主要是它調(diào)速性能比較好、啟動(dòng)轉(zhuǎn)矩大、運(yùn)行效率較高、控制簡(jiǎn)單等,是現(xiàn)在最常用的動(dòng)力來源。一般是通過調(diào)節(jié)電壓的大小使直流電機(jī)的速度發(fā)生改變,通過大小齒輪組減速比調(diào)節(jié)輸出轉(zhuǎn)速。直流電機(jī)的兩個(gè)電源引出端焊接到電機(jī)驅(qū)動(dòng)模塊上就可以,驅(qū)動(dòng)方案的選擇,如下:方案一:電路設(shè)計(jì)驅(qū)動(dòng)。電路設(shè)計(jì)驅(qū)動(dòng),分為單向和H橋式驅(qū)動(dòng)兩種。大多數(shù)情況下都是考慮H橋式驅(qū)動(dòng)電路。其中并聯(lián)在晶體管發(fā)射極和集電極的二極管被稱為續(xù)流二極管,用于克服電機(jī)轉(zhuǎn)動(dòng)過程中產(chǎn)生的反電動(dòng)勢(shì)。一般情況下續(xù)流二極管選用1N4001或者1N4007。電路的工作原理:方向端輸入高電平時(shí),當(dāng)PWM波為高電平時(shí)T1和T4導(dǎo)通,當(dāng)PWM波為低電平時(shí)T1和T4截止,在此過程中,T2和T3一直截止,電流從電機(jī)A端流向B端,電動(dòng)機(jī)正轉(zhuǎn)。方向端輸入低電平時(shí),當(dāng)PWM波為1時(shí)T2和T3導(dǎo)通,當(dāng)PWM波為0時(shí)T2和T3截止(1代表高電平,0代表低電平),在此過程中,T1和T4一直截止,電流從電機(jī)B端流向A端,電動(dòng)機(jī)反轉(zhuǎn)。方案二:專用芯片驅(qū)動(dòng)。就是采用專用的驅(qū)動(dòng)芯片來通過外部電路的搭建來控制直流電機(jī)。目前市面上專用的驅(qū)動(dòng)芯片很多,最常用的就是L298芯片,它屬于恒壓恒流橋式2A驅(qū)動(dòng)芯片。由于其內(nèi)部包含兩個(gè)H橋驅(qū)動(dòng)電路,所以可同時(shí)帶動(dòng)兩部直流電動(dòng)機(jī)。其每個(gè)橋最高的工作電壓可以達(dá)到50V,驅(qū)動(dòng)電流為2A左右。L298是SGS公司的產(chǎn)品,市面比較常見的是15引腳Multiwatt封裝的L298N,用單片機(jī)的I/O口就可以直接驅(qū)動(dòng),控制電機(jī)要通過外圍電路的設(shè)計(jì),由于其內(nèi)部就是H橋,所以其內(nèi)部原理和方案一類似,其引腳圖、每個(gè)引腳的作用以及應(yīng)用電路將在下一章電路設(shè)計(jì)部分介紹。第一個(gè)方案在搭建電路的時(shí)候較為復(fù)雜,而且不便于調(diào)試,所以采用方案二,利用集成好的H橋電路,即專用驅(qū)動(dòng)芯片來設(shè)計(jì)電路。在綜合考慮后,后面的調(diào)試中可能要加入正反轉(zhuǎn)或者緊急剎車系統(tǒng),為此選用性能更加穩(wěn)定,但是價(jià)格相對(duì)貴的L298N驅(qū)動(dòng)模塊。2.2方案的確定及方框圖的設(shè)計(jì)本次設(shè)計(jì)的所有功能的實(shí)現(xiàn)都是靠開發(fā)板進(jìn)行處理和發(fā)出指令讓智能小車作出動(dòng)作。選用的是STM32開發(fā)板。STM32處理速度比51單片機(jī)快,并且接口功能強(qiáng)大。通過多方面考慮和實(shí)用性,精確度,STM32單片機(jī)進(jìn)行處理,具有低功耗、高性能、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。采用MQ-2煙霧傳感器,它可以檢測(cè)煙霧,還可以檢測(cè)其他有害氣體,不過就是檢測(cè)到的是模擬量,要使用AD轉(zhuǎn)換后送給單片機(jī)。而溫度傳感器就是數(shù)字式的,就不需要AD轉(zhuǎn)換芯片了直接就可以給單片機(jī)進(jìn)行處理,使用上是非常方便的。語音報(bào)警:主要負(fù)責(zé)當(dāng)檢測(cè)的煙霧濃度和溫度,即通過單片機(jī)IO口輸出控制語音芯片經(jīng)過功放模塊控制揚(yáng)聲器報(bào)警。避障部分是常用的超聲波模塊,它的抗環(huán)境干擾較強(qiáng),精度高,響應(yīng)快,在本設(shè)計(jì)上能夠精準(zhǔn)檢測(cè),最主要的還是巡檢機(jī)器人的動(dòng)力上,采用LN298驅(qū)動(dòng)模塊,驅(qū)動(dòng)電流大,足夠滿足本次設(shè)計(jì)的要求。電路方框圖如圖2-1所示,采用單片機(jī)作為整機(jī)的控制單元,通過計(jì)算接收到的數(shù)字量來控制。首先是巡檢機(jī)器人自動(dòng)檢測(cè)配件房中的氣體,對(duì)前方障礙的檢測(cè)并避開障礙繞行,檢測(cè)到異常情況是,通過手動(dòng)無線控制機(jī)器人退到安全的位置。采用軟件編程的方法來解決數(shù)據(jù)的預(yù)置以及電壓的步進(jìn)控制,使電路硬件更加簡(jiǎn)潔。避障堅(jiān)持模塊避障堅(jiān)持模塊氣體檢測(cè)模塊無線接收模塊無線發(fā)射模塊單片機(jī)最小系統(tǒng)顯示模塊電機(jī)驅(qū)動(dòng)模塊直流電機(jī)圖2-1整機(jī)方框圖

本章小結(jié)本章節(jié)對(duì)系統(tǒng)的方案選擇進(jìn)行了說明,為了接下來更好地設(shè)計(jì)思路,對(duì)各部分模塊的方案選擇分析,雖然都是用單片機(jī)為核心設(shè)計(jì)巡檢機(jī)器人,但是最終所選用的模塊及傳感器比較易于控制,成本低廉。在下面的幾個(gè)章節(jié)中,將會(huì)把該課題中各部分電路的硬件及軟件設(shè)計(jì)、元器件的應(yīng)用作進(jìn)一步敘述。

第3章單元電路設(shè)計(jì)3.1STM32單片機(jī)系統(tǒng)系統(tǒng)采用STM32主控芯片作為巡檢機(jī)器人的控制,對(duì)煙霧傳感器、溫度傳感器采集到的的信息進(jìn)行處理、對(duì)機(jī)器人的動(dòng)作指令控制、外圍擴(kuò)展電路等關(guān)鍵功能。STM32單片機(jī)在運(yùn)算速度上比普通單片機(jī)要快得多,性能也很好、功耗低等優(yōu)點(diǎn)。第一種增強(qiáng)型的晶振頻率可達(dá)72MHz,與同類單片機(jī)產(chǎn)品相比性能也很高的;還有一種就是時(shí)鐘頻率為36MHz,以16位產(chǎn)品的價(jià)格得到比16位產(chǎn)品大幅提升的性能,是16位產(chǎn)品用戶的最佳選擇。這兩種單片機(jī)內(nèi)部都有32K到128K的隨機(jī)存儲(chǔ)器。時(shí)鐘的頻率在72MHz時(shí),執(zhí)行存儲(chǔ)器中的代碼,功耗有36mA,是32位單片機(jī)中功耗最低的,相當(dāng)于0.5mA/MHz。本設(shè)計(jì)的核心控制板是STM32F103最小系統(tǒng),主要是供電電路、外接時(shí)鐘電路、內(nèi)部時(shí)鐘電路、接口電路、兩種復(fù)位電路、按鍵電路、串口通信電路等組成。STM32如下圖所示:圖3-1STM32單片機(jī)管腳圖3.1.1單片機(jī)時(shí)鐘電路STM32最小系統(tǒng)內(nèi)部自帶精度并不是特別高的高速8MHz的RC振蕩電路,所以需要在單片機(jī)的外圍外接25MHz的晶振電路,這樣才能使主控制系統(tǒng)的穩(wěn)定的運(yùn)行,減少故障的發(fā)生。內(nèi)部還自帶40KHZ低速的振蕩電路,它的精度依然不是很高,為此需要在外接32.768KHZ的時(shí)鐘震蕩電路,用來驅(qū)動(dòng)看門狗和通過程序選擇驅(qū)動(dòng)RTC實(shí)時(shí)時(shí)鐘。時(shí)鐘電路設(shè)計(jì)如圖3-2所示。圖3-2時(shí)鐘電路設(shè)計(jì)3.1.2單片機(jī)復(fù)位電路開發(fā)板自帶一個(gè)的復(fù)位按鍵(RESET),用于使STM32系統(tǒng)異常時(shí)的復(fù)位,還具有復(fù)位系統(tǒng)的功能,因?yàn)楫?dāng)系統(tǒng)出現(xiàn)功能不正常,并且不知道具體哪里有問題,最好的辦法就是利用復(fù)位按鍵,使整個(gè)系統(tǒng)初始化,各個(gè)模塊初始化,重新開始運(yùn)行并發(fā)揮各自功能。STM32單片機(jī)是一個(gè)低電平復(fù)位系統(tǒng),所以這次也是用低電平復(fù)位的方式制作,這里的10K電阻R和104電容C組成一個(gè)手動(dòng)復(fù)位電路。如圖3-3所示。圖3-3復(fù)位電路設(shè)計(jì)3.2電源電路設(shè)計(jì)本系統(tǒng)采用的是18650充電鋰電池供電,由于單片機(jī)的供電電壓是直流5V,而鋰電池2節(jié)串上以后是7.2V電壓,所以需要在電路中進(jìn)行穩(wěn)壓轉(zhuǎn)換,在硬件中加入一個(gè)7805穩(wěn)壓芯片,穩(wěn)壓成5V后給單片機(jī)及煙霧檢測(cè)模塊,溫度傳感器,報(bào)警電路,電機(jī)驅(qū)動(dòng)模塊提供電源。如圖3-4所示。圖3-4電源電路3.3報(bào)警電路設(shè)計(jì)有源蜂鳴器作為報(bào)警電路的核心,因?yàn)橛性捶澍Q器可以直接高低電平延時(shí)即可發(fā)出提示聲音,有源蜂鳴器也可以通過改變頻率發(fā)出別的效果,無源蜂鳴器就比較麻煩了。設(shè)計(jì)報(bào)警電路的原因就是在巡檢機(jī)器人行駛的過程中遇到前方有障礙了,機(jī)器人自動(dòng)識(shí)別,然后停下來并用蜂鳴器發(fā)出聲音向人們提示前方有障礙物需要清除,以免機(jī)器人撞到東西,雖然電路設(shè)計(jì)簡(jiǎn)單但是比較有實(shí)用性。報(bào)警電路如圖3-5所示。圖3-5報(bào)警電路3.4電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)電機(jī)驅(qū)動(dòng)電路選擇的是L298N驅(qū)動(dòng)模塊控制。L298驅(qū)動(dòng)電流有2A芯片。由于其內(nèi)部包含兩個(gè)H橋驅(qū)動(dòng)電路,所以可同時(shí)帶動(dòng)兩部直流電動(dòng)機(jī)。其每個(gè)橋最高的工作電壓可以達(dá)到50V,驅(qū)動(dòng)電流為2A左右。可直接由軟件編程控制芯片,芯片的控制引腳會(huì)根據(jù)軟件的信號(hào)來控制小車的運(yùn)動(dòng),前進(jìn)后退等。L298的引腳號(hào)與名稱的對(duì)照如表3-1所示。表3-1L298引腳名稱引腳號(hào)引腳名稱英文名稱中文名稱1CURRENTSENSINGA電流采樣端A2OUTPUT1輸出端13OUTPUT2輸出端24SUPPLYVOLTAGEVs驅(qū)動(dòng)部分輸入電壓5INPUT1輸入端16ENABLEA使能接線A7INPUT2輸入端28GND接地端9LOGICSUPPLYVOLTAGEVss邏輯供應(yīng)電壓10INPUT3輸入端311ENABLEB使能接線B12INPUT4輸入端413OUTPUT3輸出端314OUTPUT4輸出端415CURRENTSENSINGB電流采樣端B其作用介紹如下,電流采樣端為1、15腳,電流采樣端與GND連接一個(gè)電流檢測(cè)電阻,構(gòu)成電流傳感信號(hào),向驅(qū)動(dòng)芯片反饋檢測(cè)的信號(hào)。有四個(gè)端口是輸出控制電機(jī)的轉(zhuǎn)動(dòng),控制端分別為2腳和3腳,13腳和14腳。4腳為驅(qū)動(dòng)芯片的電源輸入端,其電壓范圍為2.5V~46V。四個(gè)信號(hào)輸入端口,輸入電平信號(hào)驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。驅(qū)動(dòng)使能端為5、7、10和12腳。使能端則是6和11腳,控制電機(jī)的動(dòng)作。接地端為8腳,散熱片的安裝與此腳相連。邏輯控制部分的電源輸入端口為9腳,電壓范圍為4.5V~7V。此模塊與降壓模塊組合在一起,因?yàn)長(zhǎng)298驅(qū)動(dòng)需要兩個(gè)電源,圖中的D1到D8使用的是肖特基二極管,其作用是消除反向電壓,反向電壓的產(chǎn)生是因?yàn)殡姍C(jī)分為定子和轉(zhuǎn)子,轉(zhuǎn)子由線圈和鐵心組成,線圈就相當(dāng)于電感,在電機(jī)停轉(zhuǎn)的一瞬間會(huì)產(chǎn)生反向電動(dòng)勢(shì),反向電壓在通過D1到D8時(shí),會(huì)將某個(gè)二極管導(dǎo)通使反向電動(dòng)勢(shì)接地,從而保護(hù)芯片。L298驅(qū)動(dòng)電路原理圖如圖3-6所示。圖3-6電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)3.5路線識(shí)別電路設(shè)計(jì)配電房巡檢機(jī)器人的行走路徑主要是通過尋跡,有人員設(shè)計(jì)好路線,巡檢機(jī)器人在白色地板上沿著黑膠帶自動(dòng)行走,普遍選取的方法是紅外感應(yīng)檢測(cè)法。紅外感應(yīng)檢測(cè)法,是利用紅外線在較深顏色的軌跡地面具有不相同的反射信號(hào)的特點(diǎn),在機(jī)器人行駛過程中不斷的向路面發(fā)射紅外線,即肉眼看不到的光,當(dāng)紅外線光路過到淺色的地板時(shí)發(fā)生信號(hào),然后返回來的信號(hào)光被接收端接收;如果遇到黑線則紅外光信號(hào)就不會(huì)反射回來,也就接收不到(因?yàn)楹谏瓷涔獗容^差),機(jī)器人上的接收電路接收不到紅外信號(hào)。單片機(jī)因?yàn)槭遣皇墙邮盏椒瓷浠貋淼募t外信號(hào)為依據(jù)來確定黑線的具體路徑和智能叉車的行走軌跡。以一個(gè)模塊原理說明如圖3-7所示。優(yōu)點(diǎn):電路設(shè)計(jì)比較容易簡(jiǎn)單。檢測(cè)信號(hào)信息速度非常快。成本很低,非常適用于電子愛好者的制作。缺點(diǎn):路徑識(shí)別數(shù)值檢測(cè)程度比較低、類別非常少。檢測(cè)黑色路徑距離很短。消耗電量比較大。也容易被其他光線干擾。紅外模塊電路原理圖如圖3-7所示。圖3-7紅外模塊原理圖3.6溫度檢測(cè)模塊DHT11溫濕度傳感器是數(shù)字式,不需要外接模數(shù)轉(zhuǎn)換,數(shù)字模塊采集技術(shù)和溫濕度傳感器技術(shù)組合而來,這款溫濕度傳感器具有很好的可靠性與性能穩(wěn)定性。是由感濕元件和測(cè)溫元件集成,由2口語單片機(jī)連接,接收檢測(cè)到的信息。DHT11靈敏度高,抗干擾強(qiáng),實(shí)用性強(qiáng)。在精確超高的校驗(yàn)室中校準(zhǔn)傳感器。單線制的串行接口,使模塊集成方便簡(jiǎn)單。同時(shí)該傳感器體積小巧、功耗低,傳輸距離可達(dá)到20m以上,使此傳感器能夠承受交叉的環(huán)境中,應(yīng)用場(chǎng)合中較多。傳感器四單排的4針引腳。連接控制方便。在此設(shè)計(jì)中引腳3空著不接。DHT11傳感器的工作電壓可以是3V-5.5V。上電后,要等待1s,讓其初始化,在1s內(nèi)不會(huì)發(fā)送指令。VCC為電源正極,GND即為負(fù)極。由于本設(shè)計(jì)檢測(cè)距離在20m范圍,所以在信號(hào)端接一個(gè)4.K上拉電,當(dāng)然大于20米時(shí)可根據(jù)實(shí)際使用選擇其他阻值的電阻。引腳圖如圖3-8所示。圖3-8溫度檢測(cè)模塊圖3-9封裝圖3.7避障電路模塊巡檢機(jī)器人在前進(jìn)的過程中,可能會(huì)遇到障礙物因此無法通過,就此利用超聲波傳感器模塊對(duì)障礙物的檢測(cè)判斷,采用軟件編程避障子程序來實(shí)現(xiàn)避障的功能,其模塊為HC-SR04,用來檢測(cè)巡檢機(jī)器人前方的障礙物,避免撞壞機(jī)器人或者撞壞設(shè)備等,工作原理通過發(fā)射端發(fā)出的超聲波信號(hào),當(dāng)前方有障礙物時(shí)會(huì)經(jīng)發(fā)射出的超聲信號(hào)反射回來由接收端接收,最后送給單片機(jī)計(jì)算處理數(shù)據(jù),判斷障礙物。當(dāng)巡檢機(jī)器人的超聲波模塊檢測(cè)到障礙物時(shí)候,會(huì)自動(dòng)停止并角度,繞開障礙物并繼續(xù)行駛。電路如圖3-10所示。圖3-10超聲波模塊3.8MQ-2氣體檢測(cè)本次設(shè)計(jì)采用的是半導(dǎo)體煙霧傳感器作為煙霧濃度采集部分的主要核心,它具有靈敏度高、響應(yīng)速度快、體積小、結(jié)構(gòu)簡(jiǎn)單、方便實(shí)用、成本低等突出的優(yōu)點(diǎn)。并且不會(huì)是在使用中發(fā)生探頭阻緩及中毒現(xiàn)象,對(duì)它的維護(hù)也比較容易。如圖3-11所示,主要是兩個(gè)模塊進(jìn)行檢測(cè),使檢測(cè)范圍增加,主通過傳感器檢測(cè)配電房中的氣體、煙霧,將電信號(hào)傳給A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換電路將檢測(cè)到的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)送給單片機(jī)判斷處理,單片機(jī)再讀取相應(yīng)的數(shù)值,并對(duì)其處理。需要注意的是,通電后要等傳感器穩(wěn)定一會(huì)才可以測(cè)量。圖3-11MQ-2模塊3.9無線模塊ESP8266串口WIFI模塊是用來接收手機(jī)端發(fā)出的控制信號(hào),有機(jī)器人帶有的無線接收端接收控制指令,使單片機(jī)向電機(jī)驅(qū)動(dòng)模塊發(fā)送移動(dòng)指令,控制巡檢機(jī)器人。WiFi模塊可創(chuàng)建多個(gè)連接,來實(shí)現(xiàn)手機(jī)通過無線控制與機(jī)器人之間的通信;STM32單片機(jī)最小系統(tǒng)是巡檢機(jī)器人的核心系統(tǒng),用來控制和協(xié)調(diào)巡檢機(jī)器人的運(yùn)動(dòng);電機(jī)驅(qū)動(dòng)模塊用來驅(qū)動(dòng)巡檢機(jī)器人電機(jī)的運(yùn)作;5V和3.3V串口電平轉(zhuǎn)換是用來分別給單片機(jī)和WIFI模塊供電的,轉(zhuǎn)換成適用于各自的工作電壓;主要給單片機(jī)和WIFI模塊的提供可正常工作的電源;3.3v穩(wěn)壓模塊用來給WIFI模塊提供穩(wěn)定的工作電壓;蜂鳴器電路作用是用來給單片機(jī)一個(gè)提示音;電機(jī)作用就是讓巡檢機(jī)器人的輪子轉(zhuǎn)動(dòng),來使巡檢機(jī)器人動(dòng)起來。本次設(shè)計(jì)利用無線模塊來控制巡檢機(jī)器人在檢測(cè)到異常情況后,使機(jī)器人遠(yuǎn)離著火點(diǎn),保障機(jī)器人設(shè)備的完好。模塊如圖3-12所示。ESP8266模塊的功耗低,應(yīng)用很廣泛,封裝尺寸和超低功耗很受歡迎,為互聯(lián)網(wǎng)的應(yīng)用和移動(dòng)設(shè)備而設(shè)計(jì),可將用戶的設(shè)備連接到WIFI無線網(wǎng)絡(luò)上,進(jìn)行無線通信,也就是所說的聯(lián)網(wǎng)功能。引腳如表3-所示。表3-2ESP8266無線模塊PINFunctionDescription1URXDUART_RXD,接收;GeneralPurposeInput/Output:GPIO3;2UTXDUART_TXD,發(fā)送;2)GeneralPurposeInput/Output:GPIO1;3)開機(jī)禁下拉;3RESET(GPIO16)外部Rest信號(hào),低電平復(fù)位,高電平工作(默認(rèn)高電平);4GNDGND5VCC3.3V,模塊供電;6GPIO0默認(rèn)WIFIStatus:WIFI工作狀態(tài)指示燈控制信號(hào);工作模式選擇:懸空:FlashBoot,工作模式;下拉:UARTDownload,下載模式;7CH_PD高電平工作;低電平模塊供電關(guān)掉;8GPIO2開機(jī)上電必須為高電平,禁止硬件下拉;內(nèi)部默認(rèn)已拉高圖3-12ESP8266無線模塊本章小結(jié)本章主要介紹巡檢機(jī)器人系統(tǒng)的硬件電路并將整個(gè)系統(tǒng)進(jìn)行模塊化設(shè)計(jì),將整個(gè)硬件電路單元化后。主要包括總控制芯片單片機(jī)的介紹,復(fù)位電路、時(shí)鐘電路等一些外圍電路的設(shè)計(jì)。包括電源電路的設(shè)計(jì),電機(jī)驅(qū)動(dòng)電路的設(shè)計(jì),各傳感器電路設(shè)計(jì),聲音報(bào)警電路的介紹。在本章中主要是對(duì)于每一個(gè)單元電路部分中使用的控制芯片和電路逐一分析以及每一部分電路的工作原理和正常工作狀態(tài)進(jìn)行分析說明。第4章軟件程序設(shè)計(jì)4.1程序設(shè)計(jì)首先,程序的運(yùn)行情況是先運(yùn)行初始化的內(nèi)容,初始化就是要把所用到的子程序、變量返回到最初的狀態(tài)。定時(shí)器/計(jì)數(shù)器如果用到了就要設(shè)置定時(shí)器/計(jì)數(shù)器工作方式,以及根據(jù)系統(tǒng)的使用通過計(jì)算設(shè)置初值。如果用到了中斷需要對(duì)于中斷的標(biāo)志位進(jìn)行設(shè)置,進(jìn)行中斷的觸發(fā)方式進(jìn)行選擇,STM32單片機(jī)的觸發(fā)方式有兩種,下降沿觸發(fā)(IT0=1),下降沿和上升沿均可觸發(fā)(IT0=0),可根據(jù)自己的設(shè)計(jì)自己定義其觸發(fā)的方式。打開對(duì)應(yīng)的的中斷源,包括總中斷和用到的中斷的開關(guān)。以及中斷的優(yōu)先級(jí)的設(shè)置,此部分也可不定義,利用單片機(jī)內(nèi)部的默認(rèn)優(yōu)先級(jí)。設(shè)計(jì)程序中必須要有且僅有一個(gè)名為main()的函數(shù),也稱主函數(shù),是特殊的函數(shù),程序執(zhí)行的時(shí)候都是從主函數(shù)開始執(zhí)行的。然后依據(jù)函數(shù)的程序指令執(zhí)行相應(yīng)的程序段。以及其它的外圍芯片可能需要用到的初始化設(shè)置,內(nèi)部需要預(yù)先設(shè)置的數(shù)據(jù)變量和命令。此次設(shè)計(jì)的初始化主要包括在預(yù)處理定義和函數(shù)初始化。預(yù)處理定義包括頭文件的添加,宏定義數(shù)據(jù)類型,以及引腳的定義分配。函數(shù)初始化包括外部中斷的初始化。如果將所有需要執(zhí)行的程序都寫在主函數(shù)里,則顯得太過臃腫,所以一般情況下,將各個(gè)功能函數(shù)單獨(dú)列出來,采用在主函數(shù)調(diào)用各個(gè)功能函數(shù)的方法,從而減輕主函數(shù)的負(fù)擔(dān)。由于采用了程序調(diào)用的方式編寫程序,所以主函數(shù)的內(nèi)容比較簡(jiǎn)單。根據(jù)此次設(shè)計(jì)的要求,主函數(shù)主要執(zhí)行的是隨機(jī)行走行為。所以主函數(shù)的內(nèi)容包括初始化以及無限循環(huán)的避障行為。主程序流程圖見附錄4。4.2超聲波避障程序設(shè)計(jì)對(duì)于障礙檢測(cè),就是當(dāng)超聲波模塊發(fā)射器發(fā)出的信號(hào)被接收器接收到以后,傳送給單片機(jī)一個(gè)信號(hào),進(jìn)行分析再進(jìn)行對(duì)電機(jī)給出停止的信號(hào),同時(shí)判斷從左或右繞行,檢測(cè)障礙后機(jī)器人停下的子程序。程序上主要采用if(判斷)語句,變量定義為A6、A7的I/O口為障礙檢測(cè)輸出,進(jìn)行超聲波傳感器發(fā)出的信號(hào)來判斷是什么樣的動(dòng)作,由于前一章節(jié)的設(shè)計(jì)電路當(dāng)發(fā)出的超聲波被障礙物反射回來的時(shí)候,證明前方是有障礙物。4.3串口通信單片機(jī)首先要初始化串口,為后面的通信做準(zhǔn)備,比如要提前設(shè)置好波特率。然后向WIFI模塊發(fā)送相應(yīng)指令,讓無線WIFI模塊與路由器來匹配上,創(chuàng)建好服務(wù)。手機(jī)也連接到路由器,在同一網(wǎng)絡(luò)下即可通過手機(jī)向車載WIFI模塊發(fā)送控制指令,使單片機(jī)接收WIFI模塊從串口傳來的指令后,馬上進(jìn)入中斷函數(shù)來執(zhí)行接收到的指令控制。接收到的控制指令存儲(chǔ)在單片機(jī)的寄存器中,單片機(jī)再從寄存器中讀取接收到的控制指令,然后根據(jù)接收到命令的不同,執(zhí)行巡檢機(jī)器人不同的動(dòng)作。使巡檢機(jī)器人能夠前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)和停止等動(dòng)作。下圖是單片機(jī)與串口的程序流程圖,如圖4-1所示。初始化串口初始化串口打開串口開始接收數(shù)據(jù)根據(jù)協(xié)議格式進(jìn)行數(shù)據(jù)處理關(guān)閉串口?結(jié)束YN圖4-1串口通信程序流程圖首先單片機(jī)能夠和無線模塊正常的數(shù)據(jù)通信,就要把接收端和發(fā)射端的波特率設(shè)置一樣,只有這樣才能進(jìn)行互相通信傳輸數(shù)據(jù)指令。如上圖,首先給T1(TMOD)選工作模式,然后給TH1和TL1賦初值,然后啟動(dòng)T1和T2(TR2位)定時(shí)器,確定串口的工作方式(編寫SCON寄存器)。以下流程圖為單片機(jī)在接收到信號(hào)后輸出給電機(jī)驅(qū)動(dòng)模塊來驅(qū)動(dòng)電機(jī),從而使機(jī)器人動(dòng)作的程序流程圖圖,如圖4-2所示。YYNWiFi模塊初始化創(chuàng)建WiFi接收進(jìn)程判斷WiFi指令標(biāo)志執(zhí)行相應(yīng)動(dòng)作是否接收到指令操作圖4-2無線WiFi模塊程序流程圖圖4-3單片機(jī)驅(qū)使小車前進(jìn)的程序圖 單片機(jī)收到WIFI模塊傳來的數(shù)據(jù),通過switch語句來選擇機(jī)器人的運(yùn)動(dòng)模式,上圖只選擇前進(jìn)的簡(jiǎn)單程序。單片機(jī)在接到前進(jìn)的信號(hào)時(shí),就進(jìn)入選擇巡檢機(jī)器人運(yùn)行的模式這個(gè)程序中,判斷接收到的信號(hào)和預(yù)先設(shè)置的值是否一致,若一致,則機(jī)器人進(jìn)入那種模式,直到等待下次接收到的數(shù)據(jù)再來判斷。4.4循跡程序設(shè)計(jì)開始紅外傳感器采集信號(hào)調(diào)前進(jìn)調(diào)左轉(zhuǎn)開始紅外傳感器采集信號(hào)調(diào)前進(jìn)調(diào)左轉(zhuǎn)調(diào)右轉(zhuǎn)Y調(diào)停止左右傳感器無信號(hào)?左邊有信號(hào)?右邊有信號(hào)?左右都有信號(hào)?YYYNNNN圖4-4尋線子程序流程圖4.5子程序設(shè)計(jì)此次設(shè)計(jì)的功能函數(shù)主要包括巡檢機(jī)器人的電機(jī)調(diào)速,障礙物體檢測(cè),自動(dòng)尋線功能,火情檢測(cè)、環(huán)境溫度檢測(cè)及報(bào)警函數(shù),機(jī)器人的行走(前、后、左、右、停)還有延時(shí)函數(shù)。主要采用分段式的子程序模塊來設(shè)計(jì),還出就是讓程序看起來簡(jiǎn)明,自己看著方便,容易調(diào)試?yán)斫?,編寫子程序時(shí),可以將其放在主程序的前面,也可以在主程序的后面,在調(diào)用子程序時(shí),被調(diào)用的子程序必須在此函數(shù)的上方,否則不會(huì)識(shí)別到為了避免發(fā)生函數(shù)調(diào)用這種不易察覺的語法錯(cuò)誤,都在預(yù)處理命令后將程序中所使用的函數(shù)進(jìn)行函數(shù)原型的聲明,聲明此程序所用到的函數(shù),除了防止出現(xiàn)掉用錯(cuò)誤之外還更便于閱讀,通過函數(shù)的注釋便于了解此函數(shù)主要講了什么,而不必閱讀整個(gè)程序就可以了解程序的主要內(nèi)容,便于讀者閱讀。

本章小結(jié)本章介紹了在設(shè)計(jì)中使用的keil編譯軟件,程序的設(shè)計(jì),按模塊化編寫更容易理解修改,調(diào)試也方便。還有模塊的使用方法以及單片機(jī)程序設(shè)計(jì)詳細(xì)的說明。程序編寫的注意事項(xiàng),方法等。

第5章整機(jī)電路原理及調(diào)試5.1整機(jī)工作原理本文設(shè)計(jì)并實(shí)現(xiàn)了一種配電房自動(dòng)巡檢機(jī)器人控制系統(tǒng),該控制系統(tǒng)主要運(yùn)用于控制機(jī)器人本體沿預(yù)先設(shè)定好的軌跡運(yùn)行,檢測(cè)模塊實(shí)現(xiàn)對(duì)配電房?jī)?nèi)環(huán)境的自動(dòng)巡檢。系統(tǒng)上電運(yùn)行后,巡檢機(jī)器人按照工作人員設(shè)定好的軌跡行走并對(duì)設(shè)備巡檢,行駛過程中如果遇到前方有障礙物時(shí),利用超聲波發(fā)射器實(shí)時(shí)發(fā)射,當(dāng)發(fā)射出的超聲波被接收器接收到,證明前方有障礙物,機(jī)器人做出判斷并繞開障礙物繼續(xù)前進(jìn)。通過氣體傳感器MQ-2檢測(cè)火情,溫度傳感器檢測(cè)配電房環(huán)境溫度,以保障配電房設(shè)備的安全,當(dāng)檢測(cè)到煙霧時(shí)給單片機(jī)一個(gè)信號(hào),再由單片機(jī)輸出控制機(jī)器人做出報(bào)警處理,同時(shí)溫度超過50度也會(huì)有報(bào)警,此時(shí)工作人員發(fā)現(xiàn)報(bào)警后并對(duì)巡檢機(jī)器人實(shí)施無線遙控,將機(jī)器人駛離安全位置。原理圖見附件3所示。5.2遇到的問題及解決方法在電路的調(diào)試過程中也遇到了很多問題。比如,供電電源選擇,電壓檢測(cè)電路,在任何情況下都會(huì)輸出低電平,但是在軟件仿真的時(shí)候就沒有這種情況,最后通過與老師討論,然后查找資料,發(fā)現(xiàn)比較器的供電電源不能比輸入的電源低,不然會(huì)引起比較器的不正常工作。還有就是蜂鳴器電路有時(shí)候會(huì)一直響,這個(gè)問題出現(xiàn)了好多次都沒有解決,還是琢磨透了,反復(fù)測(cè)試調(diào)試。第一次是因?yàn)閱纹瑱C(jī)執(zhí)行完程序后引腳為高電平,而蜂鳴器電路設(shè)計(jì)的恰巧就是高電平觸發(fā)的蜂鳴器,這才導(dǎo)致了蜂鳴器一直響的問題。第二次是因?yàn)橹袛喑绦虺霈F(xiàn)了錯(cuò)誤,后面的程序語句都沒有執(zhí)行,因?yàn)闆]有收到傳感器信號(hào),因?qū)幊滩皇呛苁煜ぃ瑳]有多少經(jīng)驗(yàn),但還是在經(jīng)過多次測(cè)試調(diào)整測(cè)試后,程序就按預(yù)定的方式運(yùn)行了,這過程中真是艱難的。當(dāng)然,電子設(shè)計(jì)這東西在設(shè)計(jì)和調(diào)試的過程中往往會(huì)遇到很多問題,然后相應(yīng)的去解決問題,才能使設(shè)計(jì)的準(zhǔn)確性更高。在開題之前對(duì)于課題的研究方案進(jìn)行確定,主要的問題就是如何檢測(cè)障礙物的位置,,尋線的方法,是騎著黑膠帶走還是順著走。最后通過老師的指導(dǎo)和討論以及查找相關(guān)的資料最終決定利用騎著線的方式來確定是否尋得到線。5.3電路安裝電路安裝和調(diào)試是關(guān)鍵步驟,俗話說的好“編筐編簍重在收口”通過調(diào)試可以發(fā)現(xiàn)電路的問題然后解決,從而使設(shè)計(jì)更合理。首先是檢查元件的好壞按電路圖購買元件后首先檢查元件的好壞,按各元件的檢測(cè)方法分別進(jìn)行檢測(cè)。接著放置各元件,以主要原件單片機(jī)最小系統(tǒng)為核心進(jìn)行布局逐漸向外擴(kuò)展,一遍焊接一遍布局,切勿盲目焊接。最后電路接線,洞洞板/萬能板,電路接線方法一般是走錫和跳線?!白咤a”顧名思義就是用焊錫將焊盤逐個(gè)連接在一起,此種方法電路美觀清晰、性能穩(wěn)定,但要求焊接工藝較高,在焊接時(shí)拉一段銅絲或原件管腳會(huì)方便很多。跳線則沒有太多技巧,盡量垂直或者水平走線整齊美觀,減少跨線。電路的布局原則:要讓互相影響的原件如電感盡量分看放置,發(fā)熱原件一定要遠(yuǎn)離電容。顯示電路要放在便于觀測(cè)的位置。元件布局要注意中心平衡高度落差不要太大,像變壓器,大容量電解電容一定要合理布局,穩(wěn)定美觀。5.4電路調(diào)試最難調(diào)的就是本次用到的無線模塊,其次實(shí)物的制作和論文編寫,進(jìn)一步的認(rèn)識(shí)到了自身存在的不足。特別是自己在WIFI模塊方面知識(shí)的欠缺,這使得我在小車起步制作時(shí)WIFI模塊部分,花費(fèi)了大量的時(shí)間。但我通過在網(wǎng)上不斷的查詢相關(guān)的資料,在網(wǎng)上請(qǐng)教這方面的高手,最終我還是完成了WIFI模塊部分的處理。但是我還是不知道其中具體的一些細(xì)節(jié)的原理,如WIFI模塊為什么不能和單片機(jī)進(jìn)行通信。還有在整機(jī)裝配的時(shí)候我沒有注意到一些細(xì)節(jié)的地方,這使得我把小車拆裝了多次。想要把事情做好提高效率,這就需要注意學(xué)習(xí)生活工作中做事的細(xì)節(jié),以及對(duì)自己知識(shí)的擴(kuò)充。單片程序無法下載,常見的成程序無法下載的情況有以下機(jī)種,單片機(jī)型號(hào)選擇錯(cuò)誤、下載器故障或下載器驅(qū)動(dòng)文件未安裝、最小系統(tǒng)故障。使用一個(gè)成品可以正常工作的最小系統(tǒng)下載相同程序,可以正常下載,說明軟件部分和下載器沒有問題,可能是最小系統(tǒng)故障,檢測(cè)單片機(jī)18和19管教是否有波形。用示波器檢測(cè)時(shí)鐘管腳可輸出一個(gè)穩(wěn)定的周期是所用的頻率的正弦波,這說明時(shí)鐘電路沒有問題。查看上電復(fù)位電路,電容電阻連接位置均無誤。查看原件參數(shù)值發(fā)現(xiàn)電阻型號(hào)錯(cuò)誤,該電路需要選用10uF電解電容和10K電阻,這樣在上電時(shí)才可以為單片提供一個(gè)大于2us的高電平使單片機(jī)復(fù)位。更換電阻后程序順利下載最小系統(tǒng)正常工作。

本章小結(jié)本章主要說明了系統(tǒng)的整機(jī)工作原理,在系統(tǒng)硬件的安裝上需要注意的事項(xiàng),軟件設(shè)計(jì)方面也通過不斷調(diào)試更改程序。制作的過程中遇到的問題,以及解決問題,對(duì)其多次調(diào)試,使得設(shè)計(jì)最終能夠正常工作。

結(jié)論通過搜集資料,購買元器件,編程單片機(jī)源程序,設(shè)計(jì)各個(gè)電路模塊,到最后對(duì)每個(gè)模塊進(jìn)行軟件和硬件的調(diào)試,到最后整個(gè)硬件系統(tǒng)的組裝,通過自己的努力和同學(xué)老師們的幫助,最后完成了這套軟件和硬件相結(jié)合的實(shí)物系統(tǒng),從我自身的觀點(diǎn)去看,還是覺得挺成功的,包括編寫單片機(jī)的程序到畫電路圖,焊接板子,調(diào)試板子,查找問題,歷經(jīng)幾個(gè)月的時(shí)間,還是有收獲的,但是作為這樣的一個(gè)設(shè)計(jì),本身存在的問題也是很多的,在調(diào)試的過程中也確實(shí)遇到了不少的麻煩,比如一開始程序無法下載,運(yùn)行軌跡不能夠按照預(yù)定的路線,以及焊接過程中燒壞LED等等,而在本次的設(shè)計(jì)過程中,對(duì)于機(jī)器人循跡的基本算法了解的還是比較少,沒有具體的深入去研究這個(gè)方面的理論知識(shí),而是直接從和單片機(jī)如何進(jìn)行通信,如果對(duì)機(jī)器人的控制進(jìn)行編程實(shí)現(xiàn)的這一方面去著手,第一個(gè)是時(shí)間周期不是很足,第二個(gè)是自身能力有限,在短時(shí)間內(nèi)去深入了解關(guān)于循跡這塊的知識(shí)點(diǎn),顯然還是有待提高的,所以也希望在日后進(jìn)入社會(huì),在工作其他的時(shí)間可以去更好的細(xì)細(xì)研究。通過此次畢業(yè)設(shè)計(jì),鍛煉我的動(dòng)手能力,深切體會(huì)到了理論和實(shí)際的差距,在通過寫程序,還有對(duì)程序的編譯調(diào)試過程中,能夠檢查差好多錯(cuò)誤,通過分析這些錯(cuò)誤產(chǎn)生的原因,讓編程能力得到很大的提高,在解答這些問題之中,可以體會(huì)到問題解決的成就感,讓我對(duì)單片機(jī)智能控制這一方面產(chǎn)生了濃厚的興趣,以后我會(huì)繼續(xù)在這方面學(xué)習(xí),下苦功夫,爭(zhēng)取在這個(gè)方面更上一個(gè)臺(tái)階。致謝在大學(xué)最后的畢業(yè)設(shè)計(jì)論文完成之際,首先我要感謝我的指導(dǎo)老師王妍瑋老師。四年的緊張又充實(shí)的學(xué)習(xí)時(shí)光結(jié)束了,系統(tǒng)的學(xué)習(xí)了電子方面的很多知識(shí),從中我不僅僅學(xué)習(xí)到這些,而且還學(xué)到很多做人、做事、做學(xué)問的道理,在此表示真摯的謝意。在論文撰寫的整個(gè)過程中,從論文選題、到撰寫開題報(bào)告、最后到正文撰寫,王老師都提出了很多寶貴意見,指出的每一個(gè)問題,指導(dǎo)的每一個(gè)思路,都使我有醍醐灌頂之感。無論從格式規(guī)范、論文要點(diǎn)、還是文章結(jié)構(gòu),王老師都不厭其煩,給予我及時(shí)的幫忙,使我能夠最后順利完成畢業(yè)設(shè)計(jì)論文工作。最后也感謝所有批閱論文的老師,你們無私奉獻(xiàn)的精神和愛崗敬業(yè)的態(tài)度,不僅是我所學(xué)的知識(shí)更加通透,更能將理論和時(shí)間相互驗(yàn)證,受益匪淺,遇到問題解決問題,提高了自己的水平。在此感謝我的大學(xué)校園給我?guī)砹诉@么好的學(xué)習(xí)時(shí)光,使我開始新的平臺(tái)新的人生。參考文獻(xiàn)楊同杰;基于DSP的直流伺服電機(jī)控制器設(shè)計(jì)與實(shí)現(xiàn)[D];南京理工大學(xué);2013盧杉;基于單片機(jī)的差速驅(qū)動(dòng)導(dǎo)引小車運(yùn)動(dòng)控制[D];西安理工大學(xué);2014曹建樹.單片機(jī)原理與應(yīng)用實(shí)例[M].北京:機(jī)械工業(yè)出版社,2014鄒偉.編程技術(shù)[M].北京:機(jī)械工業(yè)出版社,2015何賓.STC單片機(jī)原理及應(yīng)用[M].北京:清華大學(xué)出版社,2015周明.智能小車機(jī)器人[M].北京:人民郵電出版社,2015安冬.機(jī)器人系統(tǒng)設(shè)計(jì)及應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2015吳斌,劉宗行,青舟;用C語言實(shí)現(xiàn)高效嵌入式編程[J];傳感器世界;2002年03期王炎,周大威;移動(dòng)式服務(wù)機(jī)器人的發(fā)展現(xiàn)狀及我們的研究[J];電氣傳動(dòng);2000年04期勾慧蘭;劉光超;基于STM32的最小系統(tǒng)及串口通信的實(shí)現(xiàn)[J];工業(yè)控制計(jì)算機(jī);2012年09期王健;現(xiàn)代交流伺服系統(tǒng)技術(shù)和市場(chǎng)發(fā)展綜述[J];伺服控制;2007年01期王志強(qiáng);步進(jìn)電機(jī)和交流伺服電機(jī)性能綜合比較[J];天津職業(yè)院校聯(lián)合學(xué)報(bào);2006年05期Kanniah.PracticalRobotDesign:GamePlayingRobots[M]C.RCPress.2013:11-11Chen,Yao.DesignandDevelopmentofintelligentRobot[M]LAPLAMBERTAcademicPublishing.2011:06-06附錄1譯文STM32互連型系列產(chǎn)品分為兩個(gè)型號(hào):STM32F105和STM32F107。STM32F105具有USBOTG和CAN2.0B接口。STM32F107在USBOTG和CAN2.0B接口基礎(chǔ)上增加了以太網(wǎng)10/100MAC模塊。片上集成的以太網(wǎng)MAC支持MII和RMII,因此,實(shí)現(xiàn)一個(gè)完整的以太網(wǎng)收發(fā)器只需一個(gè)外部PHY芯片。只使用一個(gè)25MHz晶振即可給整個(gè)微控制器提供時(shí)鐘頻率,包括以太網(wǎng)和USBOTG外設(shè)接口。微控制器還能產(chǎn)生一個(gè)25MHz或50MHz的時(shí)鐘輸出,驅(qū)動(dòng)外部以太網(wǎng)PHY層芯片,從而為客戶節(jié)省了一個(gè)附加晶振。除新增的功能強(qiáng)化型外設(shè)接口外,STM32互連系列還提供與其它STM32微控制器相同的標(biāo)準(zhǔn)接口,這種外設(shè)共用性提升了整個(gè)產(chǎn)品家族的應(yīng)用靈活性,使開發(fā)人員可以在多個(gè)設(shè)計(jì)中重復(fù)使用同一個(gè)軟件。新STM32的標(biāo)準(zhǔn)外設(shè)包括10個(gè)定時(shí)器、兩個(gè)12位1-Msample/s模數(shù)轉(zhuǎn)換器(交錯(cuò)模式下2-Msample/s)、兩個(gè)12位數(shù)模轉(zhuǎn)換器、兩個(gè)I2C接口、五個(gè)USART接口和三個(gè)SPI端口。新產(chǎn)品外設(shè)共有12條DMA通道,還有一個(gè)CRC計(jì)算單元,像其它STM32微控制器一樣,支持96位唯一標(biāo)識(shí)碼。新系列微控制器還沿續(xù)了STM32產(chǎn)品家族的低電壓和節(jié)能兩大優(yōu)點(diǎn)。2.0V到3.6V的工作電壓范圍兼容主流的電池技術(shù),如鋰電池和鎳氫電池,封裝還設(shè)有一個(gè)電池工作模式專用引腳Vbat。以72MHz頻率從閃存執(zhí)行代碼,僅消耗27mA電流。低功耗模式共有四種,可將電流消耗降至兩微安。從低功耗模式快速啟動(dòng)也同樣節(jié)省電能;啟動(dòng)電路使用STM32內(nèi)部生成的8MHz信號(hào),將微控制器從停止模式喚醒用時(shí)小于6微秒。意法半導(dǎo)體的EnergyLite?超低功耗技術(shù)平臺(tái)是STM32L取得業(yè)內(nèi)領(lǐng)先的能效性能的關(guān)鍵。這個(gè)技術(shù)平臺(tái)也被廣泛用于意法半導(dǎo)體的8位微控制器STM8L系列產(chǎn)品。EnergyLite?超低功耗技術(shù)平臺(tái)基于意法半導(dǎo)體獨(dú)有的130nm制造工藝,為實(shí)現(xiàn)超低的泄漏電流特性,意法半導(dǎo)體對(duì)該平臺(tái)進(jìn)行了深度優(yōu)化。在工作和睡眠模式下,EnergyLite?超低功耗技術(shù)平臺(tái)可以最大限度提升能效。此外,該平臺(tái)的內(nèi)嵌閃存采用意法半導(dǎo)體獨(dú)有的低功耗閃存技術(shù)。這個(gè)平臺(tái)還集成了直接訪存(DMA)支持功能,在應(yīng)用系統(tǒng)運(yùn)行過程中關(guān)閉閃存和CPU,外設(shè)仍然保持工作狀態(tài),從而可為開發(fā)人員節(jié)省大量的時(shí)間。除最為突出的與制程有關(guān)的節(jié)能特色外,STM32L系列還提供更多其它的功能,開發(fā)人員能夠優(yōu)化應(yīng)用設(shè)計(jì)的功耗特性。通過六個(gè)超低功耗模式,STM32L系列產(chǎn)品能夠在任何設(shè)定時(shí)間以最低的功耗完成任務(wù)。這些可用模式包括:(在1.8V/25°C環(huán)境的初步數(shù)據(jù))·10.4μA低功耗運(yùn)行模式,32kHz運(yùn)行頻率·6.1μA低功耗睡眠模式,一個(gè)計(jì)時(shí)器工作·1.3μA停機(jī)模式:實(shí)時(shí)時(shí)鐘(RTC)運(yùn)行,保存上下文,保留RAM內(nèi)容·0.5μA停機(jī)模式:無實(shí)時(shí)時(shí)鐘運(yùn)行,保存上下文,保留RAM內(nèi)容·1.0μA待機(jī)模式:實(shí)時(shí)時(shí)鐘運(yùn)行,保存后備寄存器·270nA待機(jī)模式:無實(shí)時(shí)時(shí)鐘運(yùn)行,保存后備寄存器STM32L系列新增低功耗運(yùn)行和低功耗睡眠兩個(gè)低功耗模式,通過利用超低功耗的穩(wěn)壓器和振蕩器,微控制器可大幅度降低在低頻下的工作功耗。穩(wěn)壓器不依賴電源電壓即可滿足電流要求。STM32L還提供動(dòng)態(tài)電壓升降功能,這是一項(xiàng)成功應(yīng)用多年的節(jié)能技術(shù),可進(jìn)一步降低芯片在中低頻下運(yùn)行時(shí)的內(nèi)部工作電壓。在正常運(yùn)行模式下,閃存的電流消耗最低230μA/MHz,STM32L的功耗/性能比最低185μA/DMIPS。此外,STM32L電路的設(shè)計(jì)目的是以低電壓實(shí)現(xiàn)高性能,有效延長(zhǎng)電池供電設(shè)備的充電間隔。片上模擬功能的最低工作電源電壓為1.8V。數(shù)字功能的最低工作電源電壓為1.65V,在電池電壓降低時(shí),可以延長(zhǎng)電池供電設(shè)備的工作時(shí)間。附錄2英文參考資料STM32interconnectionseriesproductsaredividedintotwomodels:stm32f105andstm32f107.Stm32f105hasUSBOTGandCAN2.0Binterfaces.Stm32f107addsEthernet10/100MACmodulebasedonUSBOTGandCAN2.0Binterface.TheintegratedEthernetMAConchipsupportsMIIandRMII,soonlyoneexternalPHYchipisneededtorealizeacompleteEthernettransceiver.Usingonlyone25MHzcrystaloscillatorcanprovideclockfrequencyforthewholemicrocontroller,includingEthernetandUSBOTGperipheralinterface.Themicrocontrollercanalsogeneratea25MHzor50MHzclockoutput,whichdrivestheexternalEthernetPHYlayerchip,thussavingcustomersanadditionalcrystaloscillator.Inadditiontothenewlyaddedfunctionenhancedperipheralinterface,STM32interconnectseriesalsoprovidesthesamestandardinterfaceasotherSTM32microcontrollers,whichimprovestheapplicationflexibilityofthewholeproductfamilyandenablesdeveloperstoreusethesamesoftwareinmultipledesigns.ThestandardperipheralsofthenewSTM32include10timers,two12bit1-msample/sanalog-to-digitalconverters(2-msample/sininterleavedmode),two12bitanalog-to-digitalconverters,twoI2Cinterfaces,fiveUSARTinterfacesandthreeSPIports.Thenewproducthas12DMAchannelsandaCRCcomputingunit.LikeotherSTM32microcontrollers,itsupports96bituniqueidentificationcode.ThenewseriesofmicrocontrollersalsofollowtheadvantagesofSTM32productfamilyoflowvoltageandenergysaving.Theworkingvoltagerangeof2.0Vto3.6Viscompatiblewithmainstreambatterytechnologies,suchaslithiumbatteryandNiMHbattery.ThepackagealsohasaspecialpinVbatforbatteryworkingmode.Thecodeisexecutedfromflashmemoryat72mhzandonly27macurrentisconsumed.Therearefourlowpowerconsumptionmodes,whichcanreducethecurrentconsumptiontotwomicroamps.Faststartfromlowpowerconsumptionmodealsosavespower;thestartcircuituses8MHzsignalgeneratedinsideSTM32towakeupthemicrocontrollerfromstopmode,whichtakeslessthan6microseconds.Stm32l'senergylite?Ultralowpowertechnologyplatformisthekeytostm32l'sindustry-leadingenergyefficiencyperformance.Thistechnologyplatformisalsowidelyusedinstm8lseriesof8-bitmicrocontrollersofSTMsemiconductor.Theenergylite?Ultra-lowpowertechnologyplatformisbasedontheunique130nmmanufacturingprocessofItaliansemiconductor.Inordertoachieveultra-lowleakagecurrentcharacteristics,Italiansemiconductorhasmadeadeepoptimizationoftheplatform.Inbothworkandsleepmodes,theenergylite?ultralowpowertechnologyplatformmaximizesenergyefficiency.Inaddition,theembeddedflashmemoryoftheplatformadoptstheuniquelow-powerflashmemorytechnologyofSTMsemiconductor.TheplatformalsointegratesDMAsupportfunction,whichcanshutdownflashmemoryandCPUduringtheoperationoftheapplicationsystem,whiletheperipheralsremaininworkingstate,thussavingalotoftimefordevelopers.Inadditiontothemostprominentprocessrelatedenergy-savingfeatures,stm32lseriesalsoprovidesmorefunctions,anddeveloperscanoptimizethepowerconsumptioncharacteristicsofapplicationdesign.Throughsixultra-lowpowerconsumptionmodes,stm32lseriesproductscancompletetaskswiththelowestpowerconsumptionatanysettime.Theseavailablemodesinclude:(preliminarydataat1.8v/25°C)?10.4μalowpoweroperationmode,32kHzoperationfrequency6.1μalowpowersleepmode,onetimerworks?1.3μashutdownmode:realtimeclock(RTC)operation,savecontext,andretainramcontent?0.5μashutdownmode:noreal-timeclockoperation,savecontext,andretainramcontent?1.0μastandbymode:realtimeclockoperation,savebackupregister270nastandbymode:noreal-timeclockoperation,savebackupregisterStm32lseriesaddstwonewlow-powermodes,low-poweroperationandlow-powersleep.Byusingultra-low-powerregulatorsandoscillators,themicrocontrollercangreatlyreducethepowerconsumptionatlowfrequency.Thevoltageregulatorcanmeetthecurrentrequirementswithoutrelyingonthesupplyvoltage.Stm32lalsoprovidesdynamicvoltageriseandfallfunction,whichisasuccessfulenergy-savingtechnologyformanyyears,whichcanfurtherreducetheinternalworkingvoltageofthechipwhenitoperatesinthemediumandlowfrequency.Innormaloperationmode,thecurrentconsumptionofflashmemoryisatleast230μA/MHz,andthepower/performanceratioofstm32lisatleast185μA/DMIPS.Inaddition,stm32lcircuitisdesignedtoachievehighperformancewithlowvoltageandeffectivelyextendthechargingintervalofbatterypoweredequipment.Theminimumoperatingpowersupplyvoltageofon-chipanalogfunctionis1.8V.Theminimumworkingvoltageofthedigitalfunctionis1.65v.Whenthebatteryvoltageisreduced,theworkingtimeofthebatterypoweredequipmentcanbeprolonged.附錄3整機(jī)原理圖附錄4程序流程圖附錄5程序代碼#include"led.h"#include"delay.h"#include"sys.h"#include"usart.h"#include"dht11.h" #include"key.h"#include"timer.h"#include"adc.h"#include"UltrasonicWave.h" #include"PWM_OUT.h"externu16UltrasonicWave_Distance;//計(jì)算出的距離externu16ulVal;volatileintNowState,FNowState,MNowState;//傳感器狀態(tài)傳感器反狀態(tài)u8idata_BT[8]={0};//接收保存數(shù)組u8BT_data;//接收數(shù)據(jù)長(zhǎng)度u8Selections_Bluetooth;//標(biāo)志位u8Setting_Temperature[8]={0XC9,0XE8,0XD6,0XC3,0XCE,0XC2,0XB6,0XC8};//設(shè)置溫度u8Humidity_Setting[8]={0XC9,0XE8,0XD6,0XC3,0XCA,0XAA,0XB6,0XC8};//設(shè)置濕度u8Get_Data[8]={0XBF,0XAA,0XCA,0XBC,0XB9,0XA4,0XD7,0XF7};//開始工作u8Get_Data2[8]={0XCD,0XA3,0XD6,0XB9,0XB9,0XA4,0XD7,0XF7};//停止工作u8temperature; u8humidity;u8danci,danci1,zhandian;voidcanshucaiji(void){ UltrasonicWave_StartMeasure(); DHT11_Read_Data(&temperature,&humidity); //讀取溫濕度值 Smog_Trans_Concentration(); printf("溫度:%d℃濕度:%d%%空氣質(zhì)量:%d%%",temperature,humidity,ulVal); if(temperature>=50) { printf("溫度:%d℃濕度:%d%%空氣質(zhì)量:%d%%",temperature,humidity,ulVal); printf("當(dāng)前站點(diǎn):%d",zhandian); printf("警告,當(dāng)前溫度過高!"); BEEP=!BEEP;LED=!LED; delay_ms(600); if(danci==0) { A0=0; delay_ms(400);A0=1; danci=1; } } else danci=0;if(UltrasonicWave_Distance<30) FNowState=1;elseFNowState=0; if(MQ2==0) { printf("溫度:%d℃濕度:%d%%空氣質(zhì)量:%d%%",temperature,humidity,ulVal); printf("當(dāng)前站點(diǎn):%d",zhandian);BEEP=!BEEP;LED=!LED; delay_ms(600); printf("警告,發(fā)現(xiàn)火災(zāi)煙霧!"); if(danci1==0) { A1=0; delay_ms(400);A1=1; danci1=1; } } else danci1=0;}intmain(void){ delay_init(); //延時(shí)函數(shù)初始化 uart_init(115200); //串口初始化為115200 KEY_Init();//IO初始化 LED_Init(); //初始化與LED連接的硬件接口 Adc_Init(); //ADC初始化 TIM3_GPIO_Config();//PWM舵機(jī)IO初始化 TIM3_PWM_Init(700,500);//(B0左,B1右)歸中 while(DHT11_Init()) //DHT11初始化 { printf("DHT11!!!"); LED=!LED; delay_ms(900); } LED=1; delay_ms(800); delay_ms(800); Timerx_Init(); Timer4_Init(); UltrasonicWave_Configuration();//對(duì)超聲波模塊初始化 IN1=0; IN2=0; IN3=0; IN4=0; danci=0; danci1=0; while(1) { canshucaiji(); NowState=(KEY0*16)+(KEY1*8)+(KEY2*4)+(KEY3*2)+KEY4; if((FNowState==0)&&(MNowState==1)) { NowState=(KEY0*16)+(KEY1*8)+(KEY2*4)+(KEY3*2)+KEY4; canshucaiji(); switch(NowState) { case0://11111 TIM3_PWM_Init(700,500);//(B0左,B1右)歸中 IN1=0; IN2=0; IN3=0; IN4=0; break; case1://10000 TIM3_PWM_Init(700,800)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論