版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
佟鳴軒:智能小車控制系統(tǒng)的設(shè)計(jì)遼寧工程技術(shù)大學(xué)(論文)前言無人駕駛大可以應(yīng)用再生活的個(gè)個(gè)方面,比如無人送餐小車,無人駕駛公交車,無人快遞車等等。因此研究尋跡小車,對(duì)現(xiàn)實(shí)有著巨大的幫助,有很高的應(yīng)用價(jià)值。在如今的日常生活中,隨著人們生活節(jié)奏的變快,人工勞動(dòng)的成本的提高,更多的工作似乎或者是有必要通過機(jī)器而不是人工來完成。這樣人們就能在不遠(yuǎn)的未來一小斷時(shí)間里將人工勞動(dòng)力節(jié)約,并把他應(yīng)用在人類更擅長(zhǎng)的領(lǐng)域當(dāng)中去,這就是現(xiàn)代化生活的藍(lán)圖。作為最貼近人們?nèi)粘I畹慕煌ǎ绻茉诮煌I(lǐng)域的某些方面做到無人化就會(huì)節(jié)省很大一部分人力。智能交通管理完成了交通管理的無人化,從大家耳熟能祥的智能可調(diào)時(shí)間紅綠燈到違章監(jiān)控系統(tǒng),然而如果能在駕駛領(lǐng)域完成無人化,就會(huì)節(jié)省更大一部分人力,為人們的日常生活帶來極大方便。1智能尋跡小車自動(dòng)尋跡作為無人駕駛的一種方式能夠,在較低的成本較低的研發(fā)付出條件下完成各種復(fù)雜且人工易感到疲勞或乏味的任務(wù),比如無人尋跡送信送餐小車,工廠無人尋跡叉車,無人尋跡電車。并且對(duì)其的研究已經(jīng)較為成熟,技術(shù)也較為推廣。人工智能和電氣化是我們這個(gè)時(shí)代不可回避的話題,畢竟是一種大勢(shì)所趨,智能小車做為人工智能和電氣化結(jié)合的最新產(chǎn)物,畢竟是這個(gè)新時(shí)代的寵兒。智能循跡小車作為智能小車的一種,可以按照一定的軌跡在復(fù)雜的道路上行駛,這不僅節(jié)省了人工駕駛的勞動(dòng)力,同時(shí)也更好的完成了駕駛?cè)蝿?wù)。因此可以應(yīng)用到極端條件下的參數(shù)勘探作業(yè)或月球表面結(jié)構(gòu)探索等人類無法親自到達(dá)現(xiàn)場(chǎng)作業(yè)的領(lǐng)域。1.1選題的目的、意義要設(shè)計(jì)一款尋跡小車,不僅需要一定的硬件支持,其中包括硬件控制電路和小車實(shí)體,還需要向單片機(jī)內(nèi)下載調(diào)試好的程序,讓小車按照一定的規(guī)則在地面運(yùn)行。而設(shè)計(jì)一款智能尋跡小車,可以在普通尋跡小車單片機(jī)和車架的硬件基礎(chǔ)上添加各種硬件并在單片機(jī)上下載相應(yīng)硬件的控制程序,從而實(shí)現(xiàn)更多的功能。設(shè)計(jì)這樣一款小車,通過查閱資料及運(yùn)用相關(guān)專業(yè)知識(shí)可以配養(yǎng)專業(yè)素質(zhì),鍛煉相關(guān)專業(yè)能力。智能小車目前已經(jīng)在國(guó)內(nèi)各大高校本科以及研究生階段進(jìn)行了普及,并且國(guó)家還舉辦了電賽以及飛思卡爾智能小車比賽,其中充分涉及了各種功能的智能小車,可見智能小車有著很大的研究?jī)r(jià)值和實(shí)用意義。實(shí)際的應(yīng)用背景決定了所有科研成果的有效性和實(shí)際性,科技結(jié)合實(shí)際才能發(fā)揮出它自己最大的作用。智能尋跡車可作為餐廳機(jī)器人需要能避開餐廳復(fù)雜的障礙物,自動(dòng)規(guī)劃路徑,將食物送至客人桌上,也可作為AGV搬運(yùn)機(jī)器人需要有避開其他AGV搬運(yùn)機(jī)器人的功能,也可作為自動(dòng)駕駛的汽車需要有自主規(guī)劃路徑以及快速安全的避障功能。汽車時(shí)代背景下,汽車事故也在日益不斷地上升,如何有效的減少甚至是消除其的發(fā)生,有著非常大的現(xiàn)實(shí)意義。將我們所學(xué)的科學(xué)技術(shù)擴(kuò)大,使其升華,就能更好地為人類服務(wù)。1.2國(guó)內(nèi)國(guó)外研究現(xiàn)狀1.2.1國(guó)內(nèi)研究現(xiàn)狀國(guó)內(nèi)智能小車的研究起步相比于國(guó)外而言,時(shí)間更靠后且發(fā)展較慢,但隨著追趕的腳步不斷逼近,國(guó)內(nèi)也漸漸在智能車的研究上取得了一些成績(jī)。在1980年前后中國(guó)成功研制了可以無人駕駛的汽車,這不僅代表了中國(guó)無人駕駛車輛研究的最新成果,也打開了無人駕駛車輛技術(shù)的大門。二十一世紀(jì)10年代我國(guó)對(duì)智能車研究產(chǎn)生了新的突破,科學(xué)家為我們帶來了新的成果。其中一輛具有無人駕駛功能的汽車是由軍事交通學(xué)院研發(fā)的“猛獅3號(hào)”,它可以實(shí)現(xiàn)在全部行進(jìn)過程中的無人操作,可以通過內(nèi)部程序邏輯在電腦的監(jiān)控下完成全部行程。并且可以獨(dú)立自主進(jìn)行彎道駕駛,這次實(shí)現(xiàn)無人化駕駛是相關(guān)技術(shù)的逐步成熟為我們帶來的一大科技創(chuàng)舉。談到當(dāng)今國(guó)內(nèi)的大部分大學(xué)均自主研制出帶有各種功能的智能小車,如上海交通大學(xué)研發(fā)的”Cyber3”項(xiàng)目車,主要可以用來搭載人員和進(jìn)行對(duì)貨物的運(yùn)送,不僅可以實(shí)現(xiàn)自主行進(jìn)并且還具有很高的速度。在例如清華大學(xué)的THMR-V智能車,是一種先進(jìn)的具有避障功能的尋跡小車,能夠處理非常復(fù)雜的道路狀況,并且能夠按特定軌道行進(jìn)。又例如武漢大學(xué)測(cè)”smartV”充分利用了三維掃描儀,并能通過計(jì)算機(jī)對(duì)各種路線進(jìn)行比較與選擇。雖然現(xiàn)階段我國(guó)在智能車的研究上獲得了喜人的成果,在各方面均取得一定突破但是美中不足的是與國(guó)外相比實(shí)力仍具有一定差距,想要彌補(bǔ)這一差距還需花研究者花費(fèi)更加寶貴的經(jīng)歷,以及國(guó)家在這一方面提供更多的重視和投入更多的資金。1.2.2國(guó)外研究現(xiàn)狀國(guó)外的研究開始比較早在19世紀(jì)50年代,國(guó)外已經(jīng)著手了智能車方面的研究,歷史上最新的一臺(tái)自動(dòng)引導(dǎo)車輛是著名的美國(guó)BarettElectronics公司研制的,這次自主研究的產(chǎn)物能跟隨一條鋼絲索指引的方向進(jìn)行自動(dòng)尋跡,這輛智能車最引人注目的亮點(diǎn)是完成了無人駕駛,這是也是智能車最基礎(chǔ)的共有特征。早期的研發(fā)結(jié)果代表有NavLab-5智能車,德國(guó)的VaMP智能駕駛系統(tǒng),意大利帕爾馬大學(xué)的TheARGOvehicle等。近年來,世界上智能車研究的熱度獲得了很高的提升,法國(guó)INRIA公司在無人駕駛汽車的研究上花費(fèi)了大量人力以及財(cái)力,最終獲得了突破性的研究成果。一輛先進(jìn)的無人駕駛汽車“塞卡博”(CyCab)向世人展示了科學(xué)的魅力。這輛車需要使用者提前設(shè)置好行進(jìn)的軌跡,它能夠在無人操作情況下的把你帶到目的地。除此之外,它還融合了最新的科技,能夠用使用者的手機(jī)來進(jìn)行控制,功能具備更好的操作性。德國(guó)的智能車“shelley”能通過內(nèi)部芯片識(shí)別各種交通標(biāo)志,可以實(shí)現(xiàn)在復(fù)雜交通條件下進(jìn)行無人駕駛在。在國(guó)內(nèi)大公司組成的行業(yè)界,Google公司的研發(fā)走在行業(yè)的尖端,發(fā)明出了高科技的智能車。并與速度飛快的賽車進(jìn)行競(jìng)賽。2013年9月,微軟全球首個(gè)“汽車卓越中心”在上海正式面向世人開放。在中國(guó)業(yè)內(nèi)不僅谷歌有豐碩的成就,豐田和奧迪也在智能車領(lǐng)域大有作為,研制的成果頗多,比如豐田的雷克薩斯AASRV??偟膩碚f,在未來的10-20年智能車的研究依舊是一個(gè)熱門,相信在不久的未來國(guó)內(nèi)能夠研發(fā)出更多出色的智能車新產(chǎn)品。1.3智能小車的應(yīng)用前景智能小車的研發(fā)和應(yīng)用涉及了多方面的技術(shù),主要應(yīng)用的學(xué)科包括傳感器技術(shù)及應(yīng)用,模擬電子技術(shù)基礎(chǔ),數(shù)字電子技術(shù)基礎(chǔ),檢測(cè)技術(shù)與測(cè)試信號(hào)處理,微機(jī)原理與接口技術(shù)。智能控制技術(shù)是一門包含多學(xué)科的綜合性學(xué)科,在如今發(fā)展十分廣泛,應(yīng)用在生活中的高科技中。電氣化與智能化作為現(xiàn)代社會(huì)的趨勢(shì),將會(huì)應(yīng)用到以后日常生活的方方面面。它可以設(shè)想在一個(gè)特定的場(chǎng)合通過單片機(jī)及其它硬件的支撐在內(nèi)部程序的控制下自主工作,可以應(yīng)用于特殊場(chǎng)合完成人類無法完成的工作,不需要人的參與,便可以通過程序完成預(yù)期目標(biāo),在結(jié)果上甚至比人類完成的更加完美。智能機(jī)器人有自主移動(dòng)的功能,可以看成智能小車的延伸。在各行各業(yè)智能車都在替人類完成這任務(wù),但凡有會(huì)危及到人類自身安全的情況,以及遇到人類勞動(dòng)力消耗比較大的崗位,智能機(jī)器人均可出戰(zhàn),可以在人類無法生存的極端條件下工作,比如高溫,高壓,真空等??梢蕴崛祟愅瓿杀緛聿豢赡芡瓿傻娜蝿?wù),使人類的科技進(jìn)一步發(fā)展,智能小車可以看作智能機(jī)器人的同一類科技。它雖然沒有擬人的形狀但是,在功能上可以實(shí)現(xiàn)許多智能機(jī)器人所具有的功能,甚至在某些方面超越了簡(jiǎn)單的機(jī)器人。智能小車是一個(gè)由傳感器、智能算法、單片機(jī)等科技組成的科技產(chǎn)品。隨著科學(xué)技術(shù)本身以及經(jīng)濟(jì)的迅速發(fā)展,這些科技產(chǎn)品已經(jīng)在逐步走入我們?nèi)粘I畹姆椒矫婷妗J刮覀兊纳钭兊酶痈咝П憬?。除了?yīng)用在的軍用設(shè)備的研發(fā)上外,還可以應(yīng)用于宇宙探索、地質(zhì)勘探、礦物勘測(cè)、危險(xiǎn)營(yíng)救、智能家具等方面,其在交通運(yùn)輸中的應(yīng)用潛力也受到全世界的普遍關(guān)注。2智能尋跡小車的實(shí)現(xiàn)2.1想要實(shí)現(xiàn)的功能本畢業(yè)設(shè)計(jì)所設(shè)計(jì)的智能循跡小車不僅擁有普通循跡小車的功能,能根據(jù)傳感器收集地面軌跡的信息然后通過單片機(jī)控制小車按照地面上的軌跡行進(jìn),還具有其它智能。配備有溫濕度傳感器,可以完成工業(yè)現(xiàn)場(chǎng)溫濕度的采集,并且配有OLED顯示屏,通過OLED顯示屏在檢修測(cè)試的有人操作情況下顯示溫濕度,還配有藍(lán)牙模塊可以在無人的極端條件下通過藍(lán)牙把溫度濕度參數(shù)傳送給上位機(jī)手機(jī)來提供數(shù)據(jù)顯示工業(yè)現(xiàn)場(chǎng)的溫濕度。為了使其便于人的操作在工作現(xiàn)場(chǎng)和其他地點(diǎn)轉(zhuǎn)移還有遙控駕駛功能。這臺(tái)智能循跡小車擁有遙控駕駛的功能,可以完成對(duì)工業(yè)現(xiàn)場(chǎng)實(shí)時(shí)的溫度濕度檢測(cè),并且與上位機(jī)共享信息??梢詰?yīng)用到煤礦,鐵礦,等井下現(xiàn)場(chǎng),還可以應(yīng)用到深林火災(zāi)的監(jiān)測(cè)的現(xiàn)場(chǎng),或沿著煤氣管道行駛完成管道附近的監(jiān)測(cè)。2.2設(shè)計(jì)方案的選則本次畢業(yè)設(shè)計(jì)設(shè)計(jì)的智能小車控制系統(tǒng),實(shí)物主要由小車車架以及上面搭載的控制系統(tǒng)組成。所以完成本次畢業(yè)設(shè)計(jì)任務(wù)主要分為兩部分,一部分是完成小車的設(shè)計(jì),另一部分是完成智能控制系統(tǒng)的設(shè)計(jì)。本人上網(wǎng)查閱多方面資料發(fā)現(xiàn),完成本次畢業(yè)設(shè)計(jì)根據(jù)小車以及控制系統(tǒng)硬件的選則以及可以有多種方案。2.2.1智能尋跡小車車架設(shè)計(jì)方案的選則小車方面可以有兩個(gè)方案。方案一:自己動(dòng)手制作電動(dòng)車,一方面材料缺少,另一方面制作過程要花費(fèi)大量的時(shí)間,而且同學(xué)中手藝也不好,制作出來的小車還可能機(jī)械性能不好??紤]到時(shí)間與性能這兩方面,我們放棄了這一方案。
方案二:購(gòu)買小車,購(gòu)買的小車具有組裝完整的車架車輪、電機(jī)及其驅(qū)動(dòng)電路。易改裝,好控制。機(jī)械性能有保障。2.2.2智能小車電路板設(shè)計(jì)方案的選則電路板的選擇,電路板的選擇有兩個(gè)方案。方案一:選擇成品stm32板,優(yōu)點(diǎn)在于設(shè)計(jì)成方便且同樣能完成設(shè)計(jì)功能,成品的stm32板有不僅完整的最小系統(tǒng)包括晶振電路提供系統(tǒng)時(shí)鐘和復(fù)位電路給扳子重新上電,還融合了其它外設(shè),比如串口,ADC,DAC,按鍵,LED燈,板子的功能齊全,對(duì)于本次畢業(yè)設(shè)計(jì)設(shè)計(jì)的智能循跡小車控制系統(tǒng)來說有許多富余,但是考慮到經(jīng)濟(jì)原因我放棄了這一方案,而選擇了更簡(jiǎn)單直接的方法,自己用AD制板。方案二:自己用AD制作PCB板,這一方案可以為小車量身制作出本次畢業(yè)設(shè)計(jì)設(shè)計(jì)所需的電路板,并且節(jié)省資源。我們需要自己學(xué)習(xí)并操作ad軟件,并交給廠家制作。美中不足的是如果以后需要對(duì)小車進(jìn)行改裝需要從新設(shè)計(jì)板,并添加其他功能,單獨(dú)就這一點(diǎn)來說使用方案二沒有使用方案一可行。但是多方面來講還是方案二可靠。2.2.3智能尋跡小車尋跡模塊的選則板子上搭載智能控制系統(tǒng)完成控制任務(wù)的關(guān)鍵尋跡模塊有兩個(gè)設(shè)計(jì)方案方案一;循跡小車是指根據(jù)單片機(jī)內(nèi)部編程在其內(nèi)部程序邏輯的控制下通過一系列硬件使小車按照之前預(yù)訂好的軌跡進(jìn)行行走。我們第一個(gè)方案的軌道使一種黑色的線,運(yùn)用了光線的反射原理,以及紅外線與其它光線的區(qū)別,通過選取四路循跡光電傳感器,設(shè)計(jì)了一種抗干擾能力很強(qiáng)的黑白線識(shí)別智能循跡小車。光線的反射原理是指物體的表面會(huì)對(duì)照射到上面的光吸收一部分,然后反射一部分,根據(jù)不同的表面材質(zhì)或物體不同的顏色會(huì)使吸收和反射的光不同。黑色是吸收光能力最強(qiáng)的一種顏色,而與其相反白色吸收光的能力最弱。因此采用黑色的軌跡以及白色的地面非常有利于小車進(jìn)行循跡。對(duì)于抗干擾的設(shè)計(jì)是因?yàn)?,所采用的是紅外線傳感器,紅外線相對(duì)于其它光線信號(hào)在自然界比較微弱,因此如果不是人類發(fā)射就很難進(jìn)行干擾。因此方案一具體采用四個(gè)紅外光電管依次按照從左到右的方向分別放置于小車的前端底部,左側(cè)兩個(gè)右側(cè)兩個(gè)。紅外光電管分別置于移動(dòng)智能小車前板底座的兩側(cè),確保沿著黑線行駛。紅外光電管由一個(gè)發(fā)射管和一個(gè)接收管組成,安裝在同一面上。如圖2-1為紅外光電管的硬件原理圖,紅外光電管的工作原理是由發(fā)射管發(fā)射出的紅外線,經(jīng)檢測(cè)面反射后被接收管吸收,由于檢測(cè)面顏色的不同,對(duì)紅外線的吸收程度也不同,從而反映在接收管的阻值變化上。這種阻值變化通過外接通路就能轉(zhuǎn)換成單片機(jī)能夠識(shí)別的信號(hào)。由于紅外光電管發(fā)出的是紅外線,日光對(duì)小車的檢測(cè)不會(huì)產(chǎn)生影響,因而其抗干擾性能好,從而實(shí)現(xiàn)小車的循跡功能。方案一所使用的方法簡(jiǎn)單可行,且其對(duì)單片機(jī)的功能要求比較低,并且光電管接收器的輸入作為簡(jiǎn)單的數(shù)字信號(hào)可以直接送入單片機(jī)通過簡(jiǎn)單的邏輯編程轉(zhuǎn)化為輸出信號(hào)并通過驅(qū)動(dòng)帶動(dòng)電機(jī)從而完成控制任務(wù)。這里考慮到工程的復(fù)雜程度以及價(jià)格的低廉,我們選擇了方案一。圖2-1紅外光電管原理圖Figure2-1PrincipleofInfraredPhototube方案二;在設(shè)計(jì)時(shí)自主運(yùn)用應(yīng)用互感原理由電感器件組成的傳感器,在本次畢業(yè)設(shè)計(jì)我們考慮使用LDC1000電感數(shù)字變換器,通過給它的線圈交流電產(chǎn)生交流磁場(chǎng),根據(jù)互感原理我們可知當(dāng)線圈接接近到感性原件時(shí),會(huì)在金屬原件上產(chǎn)生電渦流,金屬器件上的渦流使其外側(cè)產(chǎn)生一個(gè)與線圈磁場(chǎng)方向反向的磁場(chǎng)。在電流的作用下,根據(jù)電生磁的原理,傳感器線圈和金屬器件如同變壓器的兩級(jí)線圈。由于互感作用,線圈上就會(huì)產(chǎn)生相應(yīng)的互感電阻R(d)和互感電感L(d),如圖2-2為L(zhǎng)DC1000電感數(shù)字變換器的工作原理圖,其中Rs為變換器的電阻,Ls為變換器的電感。在線圈的兩端并聯(lián)一個(gè)電容構(gòu)成LC并聯(lián)諧振電路可以大大減少線圈感抗消耗的能量從LDC1000電感數(shù)字變換器串聯(lián)工作等效電路圖如圖2-3可以看出,LDC1000電感數(shù)字變換器工作過程中能量損耗基本都集中在Rs(d)上,其中Rs(d)為Rs和R(d)的等效電阻。因此只需檢測(cè)Rs(d)的能量損耗就可以間接測(cè)量到金屬與線圈的距離d。圖2-2電感數(shù)字變換器圖2-3電感數(shù)字變換器串聯(lián)工作電路圖Figure2-2InductanceDigitalConverterFigure2-3SeriesWorkingCircuitDiagramofInductanceDigitalConverter方案二的傳感器功能實(shí)現(xiàn),只能識(shí)別鐵制鋼制或類似由感性金屬做成的軌跡,并具有一定的抗干擾能力,單顯然不適用周圍有鋼鐵物品的現(xiàn)場(chǎng),因此在本次畢業(yè)設(shè)計(jì)中不予采用。3實(shí)現(xiàn)智能尋跡小車的硬件3.1小車穩(wěn)壓電源及小車驅(qū)動(dòng)電源模塊的設(shè)計(jì)本次畢業(yè)設(shè)計(jì)設(shè)計(jì)的課題是智能小車這就需要小車有獨(dú)立的電源,小車為了跑起來需要有單獨(dú)的直流電源供電而不能像程序調(diào)試時(shí)一樣使用電腦USB來給單片機(jī)供電,并下載程序。具體的電源分為兩類第一類是指小車上面控制系統(tǒng)的供電,主要包括為單片機(jī)供電,為BLUE4.2藍(lán)牙模塊供電,為MPU6050陀螺儀供電這些都是一些基本的控制單元器件,但是需要供電的還有藍(lán)牙電平轉(zhuǎn)換電路。第二類是指小車電源的供電,在選則小車電源供電的預(yù)想方案是上網(wǎng)購(gòu)買電壓電流適合的干電池,并采用電平轉(zhuǎn)換電路將電流轉(zhuǎn)換成小車電機(jī)驅(qū)動(dòng)原件需要的一定伏特的電壓。本次畢業(yè)設(shè)計(jì)設(shè)計(jì)時(shí)所采用的小車電機(jī)驅(qū)動(dòng)l298n所需要的電壓是12伏特。對(duì)于小車上面控制系統(tǒng)來說需要穩(wěn)定且一定伏特和安培的電流,因此普通的鋰電池供電并不能夠直接完成任務(wù)因此需要根據(jù)不同的元器件輸入電壓要求自主設(shè)計(jì)降壓穩(wěn)壓電路。Stm32芯片,MPU6050陀螺儀以及復(fù)位電路及電源全是3.3v供電,因此根據(jù)設(shè)計(jì)需要通過AMS1117-3.3設(shè)計(jì)輸入為5v輸出為3.3v的電源穩(wěn)壓輸出電路。而BLUE4.2藍(lán)牙模塊以及藍(lán)牙電平轉(zhuǎn)換電路全是1.8v的供電因此根據(jù)設(shè)計(jì)需要通過AMS117-3.3設(shè)計(jì)輸入為3.3v輸出為1.8v的電源穩(wěn)壓輸出電路。在原本接線電路圖如圖2-4的設(shè)計(jì)中遇到了一個(gè)問題,在網(wǎng)絡(luò)標(biāo)號(hào)VDD3.3和VCC3.3之間的電感位置的元器件一開始一直沒有確定下來,因?yàn)槲覀儾檎伊撕芏郃SM1117-3.3的電路,有使用電感的,也有使用電阻的,后來經(jīng)過仔細(xì)閱讀芯片手冊(cè)以及詢問有相關(guān)知識(shí)的老師后,知道這個(gè)位置的元件可接可不接,對(duì)電路不會(huì)有太大的影響。
下面是對(duì)電路的解析:
1、D1作用是防止電源反接。
2、C01、C02是電源輸入濾波。
3、VDD3.3是3.3V電源,供數(shù)字電路使用,
4、L1、L2是隔離濾波電感。
5、VCC3.3是3.3V電源,供模擬電路使用。圖3-1AMS117-3.3接線電路圖Figure3-1AMS117-3.3wiringdiagram關(guān)于ASM1117-3.3的設(shè)計(jì)方法我們采用了簡(jiǎn)化的電路電路圖如圖2-5和圖2-6,原本的電路比較復(fù)雜,但是特性比較好設(shè)計(jì)。圖3-2ASM1117-3.3簡(jiǎn)化電路圖圖3-3ASM1117-3.3簡(jiǎn)化電路圖Figure3-2SimplifiedcircuitdiagramofFigure3-2SimplifiedcircuitdiagramofASM1117-3.3ASM1117-3.3在確定小車驅(qū)動(dòng)電源模塊時(shí)首先在上網(wǎng)絡(luò)搜索相應(yīng)的降壓模塊然后后發(fā)現(xiàn)有這幾種規(guī)格的降壓模塊。第一種規(guī)格是輸入電壓為5.3v-26v,而制在1.1A以內(nèi)。也就是說網(wǎng)上店鋪里并沒有輸出電壓相同的為12伏的電壓降壓模塊。于是很自然輸出電壓為3.3v,輸出電流為3A并且長(zhǎng)時(shí)間工作電流應(yīng)控制在1.8A以內(nèi)。第二種規(guī)格是輸入電壓為7v-26v,而輸出電壓為5v,輸出電流為3A并且長(zhǎng)時(shí)間工作電流控制在1.6A以內(nèi)。第三種規(guī)格是輸入電壓為11v-26v,而輸出電壓為9v,輸出電流為3A并且長(zhǎng)時(shí)間工作電流控的想到了兩種方案,第一種方案是像控制系統(tǒng)供電一樣采用自己設(shè)計(jì)的降壓模塊并配合一定規(guī)格的鋰電池充當(dāng)電源供電,但是本次設(shè)計(jì)非常巧妙的采用了第二種方案及直接使用12v的鋰電池供電,這樣做既能滿足l298n的供電要求,還比較簡(jiǎn)單減小了工程的難度。3.2小車驅(qū)動(dòng)與電機(jī)模塊的設(shè)置作為智能小車顯然不僅僅只能向前行駛,然而由于功能的設(shè)計(jì)要求也不能由人來進(jìn)行駕駛操作。這就要求小車的設(shè)計(jì)者設(shè)計(jì)出一套控制小車能按照一定規(guī)則進(jìn)行行進(jìn)的方法。作為硬件的設(shè)計(jì)先不考慮單片機(jī)控制以及程序的事,因?yàn)橄胍剐≤嚢凑找欢ǖ囊?guī)則進(jìn)行行進(jìn)單片機(jī)的控制電路以及后期的程序編程是必不可少的,但是問題在于如何使電機(jī)帶動(dòng)車輪按照一定的方向與速度進(jìn)行轉(zhuǎn)動(dòng),這是因?yàn)閱纹瑱C(jī)的控制信號(hào)是弱電一般來說是在標(biāo)準(zhǔn)的控制電量(0~5v,4~20mA)而這種微小的電量因?yàn)楣β什粔虿荒苤苯訋?dòng)電機(jī)。所以設(shè)計(jì)智能小車控制系統(tǒng)首先需要設(shè)計(jì)或者選用一種驅(qū)動(dòng)。3.3小車驅(qū)動(dòng)模塊L298N小車的驅(qū)動(dòng)模塊我在設(shè)計(jì)時(shí)選擇了使用現(xiàn)成的模塊L298N,作為一款驅(qū)動(dòng)模塊它首先不僅能帶電機(jī)并且還有邏輯控制功能,所謂的邏輯控制功能就是指在單片機(jī)的輸出信號(hào)控制下改變對(duì)電機(jī)輸出的電流對(duì)L298N的控制邏輯會(huì)在介紹完小車以及差速轉(zhuǎn)向原理以后進(jìn)行介紹。要想了解本次畢業(yè)設(shè)計(jì)所設(shè)計(jì)的智能小車控制系統(tǒng)的小車電機(jī)驅(qū)動(dòng)模塊是如何工作完成小車行進(jìn)方向控制的,首先要了解本次畢業(yè)設(shè)計(jì)所使用的電機(jī)的具體工作方式和小車的大體結(jié)構(gòu),以及電機(jī)驅(qū)動(dòng)的輪子轉(zhuǎn)向的原理,齊次涉及了L298N的內(nèi)部結(jié)構(gòu)。L298N可驅(qū)動(dòng)直流電機(jī),本次畢業(yè)設(shè)計(jì)所使用的一款電機(jī),有兩個(gè)引線端如果按把電機(jī)線接好電機(jī)正轉(zhuǎn),那么把接線調(diào)換過來接電機(jī)反轉(zhuǎn)。這就為L(zhǎng)298N控制電機(jī)從而改變車輪轉(zhuǎn)向提供了方便,雖然我們?cè)谛≤囖D(zhuǎn)向時(shí)不能把先對(duì)調(diào)過來重新接好,但是我們可以改變電機(jī)及兩端引線和L298N內(nèi)部電路所組成電路中電流的轉(zhuǎn)向,這樣做與改變接法在效果上是等同的。L298N可以根據(jù)單片機(jī)的輸入控制輸出的電流方向,這得益于H橋的設(shè)計(jì),關(guān)于H橋會(huì)在L298N的內(nèi)部結(jié)構(gòu)中介紹。本次畢業(yè)設(shè)計(jì)智能小車控系統(tǒng)說選用的小車是一款四輪的小車模型圖如圖3-4,本小車有四個(gè)輪子每個(gè)輪子各有一個(gè)電機(jī)驅(qū)動(dòng),因此共有四個(gè)電機(jī)驅(qū)動(dòng)以及四個(gè)輪子,并且小車由于是模型車并且由于負(fù)重小動(dòng)力小的特點(diǎn)使本小車并無車軸,這也為小車的轉(zhuǎn)向提供了全新的不同于日常生活中汽車轉(zhuǎn)向所用的方式。圖3-4小車模型圖Figure3-4CarModel本小車的前輪和后輪的每個(gè)電機(jī)都相同并且各驅(qū)動(dòng)一個(gè)軸,在小車安裝時(shí),由于小車的車架是完全鏡像對(duì)稱的,所以不用考慮前輪后輪的問題,但是在接L298N驅(qū)動(dòng)控制模塊時(shí)需要注意到前后電機(jī)是頭對(duì)頭擺放的我們?yōu)榱耸剐≤嚹軌蛘P旭傂枰亚昂髢蓚€(gè)輪子的轉(zhuǎn)向控制的正好相反。講到小車的模型后我們來介紹一下L298N的具體模塊和邏輯功能,L298N的實(shí)體圖如圖3-5。一塊L298N上集合了實(shí)際上兩個(gè)電機(jī)控制模塊,擁有兩個(gè)輸出分別為輸出A與輸出B,對(duì)應(yīng)的使能端分別為通道A使能和通道B使能,當(dāng)使能端接高電平時(shí)可以使能該通道,我們?cè)诒敬萎厴I(yè)設(shè)計(jì)所設(shè)計(jì)的小車中由于有四個(gè)電機(jī),所以需要兩個(gè)L298N模塊并且使用全部通道,也就是說使能通道在小車開始行進(jìn)時(shí)由單片機(jī)控制全部接高電平。一塊L298N分別有控制兩個(gè)輸出的邏輯輸入。在實(shí)際接線時(shí)可以用杜邦線由模塊上引出的排針接入單片機(jī)。此外L298N在實(shí)際工作時(shí)像很多模塊一樣需要供電為12V供電或5V供電,還有一樣有供電GND。L298N在工作時(shí)每一組輸出分別有兩個(gè)控制輸入,即輸出通道A和輸出通道B分別有兩個(gè)邏輯輸入,在板子上可以清楚的看到OUT1,OUT2,OUT3,OUT4,四個(gè)輸出端口的絲印,它的控制邏輯是這樣的如果IN1輸入高電平,那么OUT1輸出高電平,如果IN1輸入低電平,那么OUT1也是低電平,其它端口同理,因此根據(jù)上面對(duì)上面小車電機(jī)擺放以及電機(jī)輸入的分析,我們需要按照前輪和后輪不同的擺放對(duì)應(yīng)使相應(yīng)的兩組通道A和B的邏輯控制段各自一個(gè)接高一個(gè)接低。圖3-5L298N實(shí)體圖Figure3-5L298NEntityDiagram本次畢業(yè)設(shè)計(jì)所設(shè)計(jì)的小車轉(zhuǎn)向時(shí)采用差速轉(zhuǎn)向的方法。所謂差速轉(zhuǎn)向顧明思意即通過左側(cè)和右側(cè)車輪在行進(jìn)時(shí)相對(duì)于地面的純轉(zhuǎn)速不同而,向左側(cè)或右側(cè)轉(zhuǎn)向,當(dāng)左側(cè)輪轉(zhuǎn)速快時(shí)向右轉(zhuǎn),當(dāng)右側(cè)輪轉(zhuǎn)速快時(shí)向左轉(zhuǎn)。本小車的轉(zhuǎn)彎設(shè)計(jì)有兩種,當(dāng)前兩個(gè)輪子的電機(jī)一個(gè)正轉(zhuǎn)一個(gè)反轉(zhuǎn)時(shí)小車可以轉(zhuǎn)一個(gè)小彎,這是第一種轉(zhuǎn)向方式這種轉(zhuǎn)向方式用來實(shí)現(xiàn)普通的轉(zhuǎn)彎。左側(cè)的所有輪子與右側(cè)的所有輪子全部一個(gè)正轉(zhuǎn)一個(gè)反轉(zhuǎn)時(shí)小車可以轉(zhuǎn)一個(gè)大彎,這是第二種轉(zhuǎn)向方式這種轉(zhuǎn)向方式轉(zhuǎn)彎用來實(shí)現(xiàn)小車的急轉(zhuǎn)彎。根據(jù)上文可知改變L298N的邏輯輸入即可改變電機(jī)的轉(zhuǎn)向從而改變輪子轉(zhuǎn)向完成轉(zhuǎn)彎。那么為什么L298N可以完成這種控制功能呢?這就需要介紹L298N的內(nèi)部門電路H橋。3.4小車L298N的H橋電路L298N的H橋電路簡(jiǎn)化圖如圖3-6所示,顧名思義在實(shí)際的連線中電機(jī)與三級(jí)功放管組成如圖所示的類似字母H形的形狀,電機(jī)部分理論上處于H橋的中心位置。H橋可以帶動(dòng)如圖位于中間部位的直流電機(jī),通過觀察H橋電路的簡(jiǎn)化電路圖我們可以了解到,在H橋的兩側(cè)有四個(gè)三極管,這四個(gè)三極管能通過Q1,Q4導(dǎo)通或Q2,Q3導(dǎo)通,改變通過電機(jī)的電流方向。當(dāng)單片機(jī)上的邏輯輸入控制L298N使H橋上的Q2,Q3導(dǎo)通時(shí)大功率電流驅(qū)動(dòng)直流電機(jī)向一個(gè)方向轉(zhuǎn),我們假設(shè)這是輪子向前轉(zhuǎn),小車向前行駛。那么當(dāng)小車需要向后行駛,或者轉(zhuǎn)彎。需要改變輪子轉(zhuǎn)向時(shí),改變單片機(jī)的邏輯輸入這時(shí)H橋的二極管Q1,Q4導(dǎo)通,于是大功率電流驅(qū)動(dòng)直流電機(jī)向另一個(gè)方向轉(zhuǎn),于是輪子向后轉(zhuǎn),小車向后行駛或完成轉(zhuǎn)彎。圖3-6H橋電路簡(jiǎn)化圖Figure3-6HBridgeCircuitSimplifiedDiagram3.5電源濾波電路的設(shè)計(jì)對(duì)于單片機(jī)來說其輸入電源需要嚴(yán)格的直流電源其中不允許有交流電的成分,也不允許有脈動(dòng),因此單片機(jī)需要設(shè)置濾波電路如圖3-7。圖3-7單片機(jī)濾波電路Figure3-7SingleChipMicrocomputerFilteringCircuit圖中的單片機(jī)的濾波電路實(shí)際上是由一個(gè)簡(jiǎn)單的低通電路組成,低通電路運(yùn)用了電容通交隔直的器件特性,將電流中交流的成分通過接地引走,從而留下直流成分。之所以其中有那么多的電容是利用了電容容抗的計(jì)算原理以及電容并聯(lián)的特性。電容的容抗體現(xiàn)了對(duì)電流的阻擋作用為Xc,Xc=1/jwc這個(gè)等式表示了電容的容抗與電流頻率w成反比與電容容值也成反比,即同樣的電路如果通過電流的頻率越高那么其通過電容的能力越強(qiáng)即體現(xiàn)了低容抗的特點(diǎn),因此高通電路組成的電容希望對(duì)電流有低容抗有濾波作用。電容的并聯(lián)相當(dāng)于電阻的串連,因此并聯(lián)電容越多,電路中的等效容值c越高,因此容抗Xc=1/jwc越低,高頻電流的阻擋作用越高。3.6四線下載器本次畢業(yè)設(shè)計(jì)所設(shè)計(jì)的智能小車控制系統(tǒng)所用的下載器是JLINK。單片機(jī)為了完成控制任務(wù)需要一定的軟件程序,這些軟件程序往往需要由電腦編程然后進(jìn)行編譯并生成.hex文件,最后的.hex文件由單片機(jī)下載器下載到單片機(jī)上。這就是下載器的作用。J-Link是SEDDER公司為支持仿真AEM內(nèi)核芯片推出的JTAG仿真器。配合IAREWAR,ADS,KEIL,WINARM,RealVIEW等集成開發(fā)環(huán)境支持所有ARM7/ARM9/ARM11,CortexA5/A8/A9等內(nèi)核芯片的仿真與IAR,Keil等編譯環(huán)境無縫連接,操作方便,連接方便,簡(jiǎn)單易學(xué),是學(xué)習(xí)開發(fā)ARM最好最實(shí)用的開發(fā)工具。本次畢業(yè)設(shè)計(jì)購(gòu)買并使用了JLINKV9調(diào)試器的升級(jí)版本。JLINKV9的產(chǎn)品功能與特征如下:*支持SerialWireDebug(SWD);*支持SerialWireViewer(SWV);*下載速度可達(dá)720kb/S;*DCC模式可達(dá)800kb/s;*可與IARWorkbench,KEIL,ADS,RVDS無縫集成;*無需外接電源,通過USB取電;*JTAG速度為12MHZ;*自動(dòng)內(nèi)核識(shí)別;*速度自動(dòng)識(shí)別;*支持自適應(yīng)時(shí)鐘;*能監(jiān)控所有JTAG信號(hào),自動(dòng)適應(yīng)目標(biāo)板電壓;*支持多核調(diào)試;*完全即查即用; *包括20-pin標(biāo)準(zhǔn)JTAG連接器;*支持1.2v-目標(biāo)板電壓;*對(duì)外供電提供5V300mA(通過命令控制是否輸出);*對(duì)外提供3.3V300mA(通過J3跳線實(shí)現(xiàn));*包括USB和20-pin扁平電纜;*隨機(jī)配送支持觀察與修改內(nèi)存的軟件J-Mem;*支持嵌入緩存追蹤EmbeddedTraceBuffer(ETB);*可以選配在線編程,燒寫FLASH軟件:J-FLASH;*RDI插件使J-link適合任何RDI兼容的調(diào)試器如ADS,Relview,IAR等;*配RDIFLASHDLL可以實(shí)現(xiàn)在RDI下的對(duì)FLASH進(jìn)行編程,燒寫;*配GDBServe,可以實(shí)現(xiàn)在GDB環(huán)境下的調(diào)試。之所以選則JLINKV9是他相比于JLINKV8有以下優(yōu)點(diǎn)。它們兩者的速度不同:JLINKV8支持到10M(JTAG調(diào)試模式)/4M(SDW調(diào)試模式),而JLINKV9支持到20M(JATG調(diào)試模式)/15M(SDW調(diào)試模式)。它們兩者的穩(wěn)定性不同:JLINKV9的驅(qū)動(dòng)IC具有電壓自適應(yīng)能力,再接線正確的情況下,自動(dòng)適應(yīng)目標(biāo)板的cpu電壓。1.8-5.5v的cpu都可調(diào)試,而JLINKV8版本只能調(diào)試3.3v版本的cpu,而調(diào)試5vcpu穩(wěn)定性很差。在支持的cpu型號(hào)上,新的一些cpuJLINKV8不再支持,而JLINKV9支持98%以上的ARMcpu。JLINKV9有自己的特點(diǎn),這些特點(diǎn)如下:1.主控芯片采用STM32F205不掉固件,硬件升級(jí)到了V9.4新版本固件全自動(dòng)升級(jí)。2.可以為開發(fā)板提供3.3V電壓0.8A的電流(第二腳)。3.支持標(biāo)準(zhǔn)JTAG接口和2線SWD調(diào)試接口。速度可達(dá)每秒20M(JTAG)/15M(SWD)。4..支持ARM絕大部分ARM芯片的調(diào)試,支持MDK或者IAR,以及其它標(biāo)準(zhǔn)JLINK支持的編譯環(huán)境IDE。最新的J-LINK仿真器目前已經(jīng)升級(jí)到V9.40版本,其仿真速度和功能遠(yuǎn)非簡(jiǎn)易的并口WIGGLE調(diào)試器可比。J-LINK支持ARM7/ARM9/ARM11,Cortex
M0/M1/M3/M4,
Cortex
A4/A8/A9等內(nèi)核芯片,支持ADS、IAR、KEIL開發(fā)環(huán)境。V9.3版本較V8.0版本進(jìn)一步提升了下載速度,最大下載速度提升到1
MByte/s。JLINK主要有兩種調(diào)試方式皆為四線稱為JTAG和SWD。第一種調(diào)試方式JTAG,JTAG的全稱是JointTestActionGroup(測(cè)試行動(dòng)聯(lián)合組織),它是由幾家主要電子制造商發(fā)起制訂的PCB和IC測(cè)試標(biāo)準(zhǔn),主要應(yīng)用于電路的邊界掃描測(cè)試和可編程芯片的在線系統(tǒng)編程。2標(biāo)準(zhǔn)的JTAG接口是4線:JTAGTMS--模式選擇、TCK--時(shí)鐘、TDI--數(shù)據(jù)輸入、TDO--數(shù)據(jù)輸出,在設(shè)計(jì)PCB時(shí),還要考慮到是否需要利用JTAG接口給MCU供電。第二種調(diào)試方式SWD,全稱是SerialWireDebug(串行調(diào)試),它的接線方式較JTAG簡(jiǎn)單,2線式:SWDIO--串行數(shù)據(jù)線、SWDCLK--串行時(shí)鐘線,一般在設(shè)計(jì)PCB時(shí),會(huì)預(yù)留4個(gè)2.54mm的排座,這種接線方式適合引腳少的芯片,充分利用芯片資源。以上兩種調(diào)試方法比較,各自有優(yōu)勢(shì)。SWD模式比JTAG在高速模式下更加可靠,在大數(shù)據(jù)量的情況下JTAG下載程序會(huì)失敗,但是SWD發(fā)生的幾率會(huì)小很多,基本使用JTAG的模式下可以直接使用SWD模式的,前提是仿真器支持。2)在GPIO口剛好缺一個(gè)的時(shí)候,可使用SWD仿真,這種模式支持更少的引腳;3)在PCB設(shè)計(jì)體積有限的時(shí)候推薦使用SWD模式。3.7pcb硬件原理圖的繪制過程在畫pcb硬件原理圖時(shí)遇到很多問題,其中在畫ASM1117-3.3時(shí)遇到了關(guān)于管教和封裝的問題。在畫由ASM1117-3.3所組成的降壓穩(wěn)壓電路的時(shí)候遇到了點(diǎn)問題,我們?cè)谠韴D庫(kù)里找到了兩種ASM1117-3.3V芯片的原理圖,第一種為四腳的,第二種為三腳的,但是查看了一下封裝,兩種原理圖的封裝都是SOT-223,但是SOT-223的封裝是四腳的,困擾我的問題就是為什么三腳的原理圖可以對(duì)應(yīng)四腳的封裝,后來看了芯片手冊(cè)才解決了這個(gè)疑惑。原來芯片的2腳和4腳是相連的,所以即使三腳的原理圖對(duì)應(yīng)四腳的封裝也是沒有關(guān)系的。
在畫原理圖時(shí)將穩(wěn)壓芯片單獨(dú)化成一個(gè)模塊的好處是,所有的外設(shè)在需要電平轉(zhuǎn)換的時(shí)候可以直接通過網(wǎng)絡(luò)標(biāo)號(hào)接進(jìn)來,而不需要再畫一遍電路,這樣既可以節(jié)省畫圖的時(shí)間,還可以節(jié)省元器件的成本。4軟件及程序設(shè)計(jì)首先先從本次畢業(yè)設(shè)計(jì)所實(shí)現(xiàn)的所有功能來談?wù)剬?duì)于單片機(jī)軟件設(shè)計(jì)編程的要求,本次畢業(yè)設(shè)計(jì)實(shí)現(xiàn)了DHT11溫濕度傳感器對(duì)于溫濕度的采集,藍(lán)牙模塊與上位機(jī)手機(jī)的通信(主要用來傳遞傳感器的數(shù)據(jù)),紅外線光電管對(duì)黑色軌跡的感知,單片機(jī)輸出邏輯對(duì)L298N的控制。這些功能雖然有著各自硬件的支持,但是對(duì)于任何電子產(chǎn)品其功能的實(shí)現(xiàn)不僅都要有硬件作為支持還必須有軟件作為支持。4.1DHT11模塊程序?qū)崿F(xiàn)首先DHT11溫濕度傳感器,它把溫度以及濕度的信號(hào)通過傳感器進(jìn)行變送,然后變化為一定的可變大小的電流,并接在單片機(jī)引腳上,需要單片機(jī)對(duì)這個(gè)電流進(jìn)行識(shí)別,單兵機(jī)會(huì)根據(jù)電流的大小不同在內(nèi)部讀出溫濕度的值。單片機(jī)內(nèi)部對(duì)傳感器的讀取類似與adc的工作,也就是模擬電量轉(zhuǎn)數(shù)字電量。從程序的角度來講,我們需要先通過調(diào)用底層寄存器或通過調(diào)用庫(kù)函數(shù)對(duì)單片機(jī)的引腳進(jìn)行設(shè)置,stm32的引腳有八個(gè)模式分別為浮空輸入,上拉輸入,下拉輸入,模擬輸入,通用開漏輸出,復(fù)用開漏輸出,通用推挽輸出,復(fù)用推挽輸出。對(duì)傳感器輸入來說需要選用模擬輸入,這就需要我們使用者對(duì)選定的引腳從程序上進(jìn)行相關(guān)的定義,也就是在初始化程序中初始化串口時(shí)對(duì)相應(yīng)串口設(shè)置成模擬輸入。并且為了讀取相關(guān)的電量需要在程序里設(shè)置相關(guān)的變量,在本次畢業(yè)設(shè)計(jì)中定義了兩個(gè)八位的整形變量u8temperature和u8humidity如圖4-1,然后需要利用相關(guān)庫(kù)函數(shù)讀取這個(gè)變量的數(shù)值,并用賦值語句把讀取的數(shù)值賦給這個(gè)變量。這是單單從變量獲方面講程序,然而根據(jù)實(shí)際的設(shè)計(jì)要求,我們需要把環(huán)境的溫度以及濕度通過傳感器捕捉然后顯示在LED顯示屏上。一般對(duì)于STM32來說需要將數(shù)據(jù)顯示在LED顯示屏上時(shí)調(diào)用庫(kù)函數(shù)LCD-ShowingString就可以了如圖4-2所示。說道庫(kù)函數(shù)LCD-圖4-1兩個(gè)八位的整形變量Figure4-1Integraldeformationoftwooctets圖4-2庫(kù)函數(shù)LCD-ShowingStringFigure4-2LibraryFunctionLCD-ShowingStringShowing的調(diào)用。我們可以通過圖片看出在括號(hào)里有四個(gè)數(shù)字和一個(gè)變量前兩個(gè)數(shù)字是所顯示數(shù)據(jù)在LED顯示屏上的坐標(biāo),兩個(gè)數(shù)字分別為分別x坐標(biāo)和y坐標(biāo)。后兩個(gè)數(shù)字是顯示字體的寬度和高度。藍(lán)牙模塊程序?qū)崿F(xiàn)藍(lán)牙模塊需要結(jié)合stm32的LED顯示屏使用如圖4-3,藍(lán)牙模塊HC05可以切換主從機(jī)模式,為了解當(dāng)下是主機(jī)模式還是從機(jī)模式需要將相應(yīng)的文字顯示在LED上面。并且為了保證藍(lán)牙模塊的正常運(yùn)行需要在LED上顯示當(dāng)前主機(jī)與從機(jī)連接的狀態(tài)是連接的還是斷開的。這些都需要調(diào)用LCD-ShowingString。如圖4-4藍(lán)牙模塊函數(shù)為了顯示HC05的連接狀態(tài)需要根據(jù)庫(kù)函數(shù)的標(biāo)志位HC05_LED結(jié)合ifelse語句進(jìn)行判斷,即在if后面的括號(hào)里寫入標(biāo)志位HC05_LED,緊接著在后面加入LED的顯示庫(kù)函數(shù)語句LCD-ShowSstring顯示Connect,然后在緊接著的else語句后面加入LED的顯示庫(kù)函數(shù)語句LCD-ShowSstring顯示Disconnect。這個(gè)程序的邏輯是這樣的,當(dāng)藍(lán)牙連接成功時(shí)標(biāo)志位HC05_LED為一那么if語句的判斷為真,執(zhí)行下一條語句,相反執(zhí)行另一條語句。如圖4-4藍(lán)牙模塊函數(shù)為了顯示HC05的連接狀態(tài)需要根據(jù)庫(kù)函數(shù)的標(biāo)志位HC05_LED結(jié)合ifelse語句進(jìn)行判斷,即在if后面的括號(hào)里寫入標(biāo)志位HC05_LED,緊接著在后面加入LED的顯示庫(kù)函數(shù)語句LCD-ShowSstring顯示Connect,然后在緊接著的else語句后面加入LED的顯示庫(kù)函數(shù)語句LCD-ShowSstring顯示Disconnect。這個(gè)程序的邏輯是這樣的,當(dāng)藍(lán)牙連接成功時(shí)標(biāo)志位HC05_LED為一那么if語句的判斷為真,執(zhí)行下一條語句,相反執(zhí)行另一條語句。圖4-3LED顯示屏Figure4-3LEDdisplay如圖4-4藍(lán)牙模塊函數(shù)Figure4-4Bluetoothmodulefunction4.2小車循跡程序的實(shí)現(xiàn)小車的循跡程序先從小車與軌跡的循跡邏輯談起小車循跡模塊程序框圖如圖4-5,本次畢業(yè)設(shè)計(jì)的智能小車前方放了四個(gè)光電管作為對(duì)黑線軌跡的探測(cè),首先根據(jù)光電管的原理當(dāng)小車行駛時(shí)光電管下面如果沒有黑線光電管通過一個(gè)電路板上的電路向單片機(jī)發(fā)送低電平,如果光電管下面有黑線那么光電管通過同一個(gè)電路板上的電路向單片機(jī)發(fā)送高點(diǎn)平。小車循跡部分編程就是要利用串口對(duì)這些單片機(jī)讀取的電平內(nèi)部程序一定的邏輯來決定單片機(jī)對(duì)L298N的控制輸出,從而使小車沿軌跡行走。這次畢業(yè)設(shè)計(jì)所設(shè)計(jì)的小車所遵循的軌跡一條具有寬度的平行線,而四個(gè)光電管傳感器的擺放是,從左到右依次排列,每?jī)蓚€(gè)光電管之間的距離與兩條平行線的距離相等。這里我們用1號(hào)2號(hào)3號(hào)4號(hào)來對(duì)四個(gè)傳感器進(jìn)行編號(hào)。當(dāng)2號(hào)管和3號(hào)管檢測(cè)到線的顏色為黑色,而1號(hào)和4號(hào)管檢測(cè)到線的顏色為白色時(shí)說明小車 圖4-5小車循跡模塊程序框圖Figure4-5CarTrackingModuleProgramBlockDiagram此時(shí)完全對(duì)準(zhǔn)跑道,所以小車應(yīng)該直走為了方便對(duì)接下來程序的描述,把這種情況稱為情況一。當(dāng)只有小車1號(hào)傳感器檢測(cè)到的軌跡為黑色時(shí),說明小車此時(shí)偏離軌道并且在軌道的右側(cè),并且偏離的很遠(yuǎn),此時(shí)應(yīng)該進(jìn)行大幅度右轉(zhuǎn)同樣為了方便把這種情況稱為情況二。當(dāng)小車的1號(hào)傳感器和2號(hào)傳感器檢車到的軌跡為黑色時(shí),說明小車此時(shí)偏離軌道并且在軌道的右側(cè)并且偏離的不遠(yuǎn),此時(shí)應(yīng)該進(jìn)行小幅度右轉(zhuǎn)同樣為了方便把這種情況稱為情況三。當(dāng)只有小車4號(hào)傳感器檢測(cè)到的軌跡為黑色時(shí),說明小車此時(shí)偏離軌道并且在軌道的左側(cè),并且偏離的很遠(yuǎn),此時(shí)應(yīng)該進(jìn)行大幅度左轉(zhuǎn)同樣為了方便把這種情況稱為情況四。當(dāng)小車的3號(hào)傳感器和4號(hào)傳感器檢車到的軌跡為黑色時(shí),說明小車此時(shí)偏離軌道并且在軌道的左側(cè)并且偏離的不遠(yuǎn),此時(shí)應(yīng)該進(jìn)行小幅度左轉(zhuǎn)同樣為了方便把這種情況稱為情況五。畢業(yè)設(shè)計(jì)單片機(jī)對(duì)循跡部分的編程與溫濕度傳感器及藍(lán)牙模塊同樣要用到對(duì)串口的讀取,所以我們?cè)谠O(shè)置程序初始化時(shí)需要首先利用庫(kù)函數(shù)調(diào)用底層寄存器設(shè)置特定串口相應(yīng)的輸入,輸出狀模式設(shè)定函數(shù)。對(duì)于圖中第一行程序的解釋是這樣的,根據(jù)stm32芯片的結(jié)構(gòu),內(nèi)部有兩條內(nèi)部總線APB1和APB2,其中APB1總線的操作速度比較慢僅限于36MHZ,APB2總線的操作速度比較快為全速72MHZ,而總線APB1和APB2分別負(fù)責(zé)了不同的傳輸功能,并且STM32的IO口功能正好在總線APB2下,所以使能IO口功能的函數(shù)里需要提到APB2。我們知道要使用串口就是說對(duì)串口進(jìn)行輸出或輸入的檢測(cè)這首先需要單片機(jī)來記錄時(shí)序,也就是說需要單片機(jī)的內(nèi)部時(shí)鐘,如圖4-6單片機(jī)串口時(shí)鐘使能,即第一行程序中的ENABLE是使能的意思,它使能了GPIOA的時(shí)鐘。從兩圖中的第一行程序可以看出使能的GPIO引腳標(biāo)號(hào),從兩圖的第二行程序可以看出GPIO引腳輸出輸入模式的設(shè)置,GPIOA被設(shè)置為浮空輸入,GPIOG被設(shè)置為推挽輸出,如圖4-7GPIOA的使能和圖4-8GPIOG的使能,兩圖中的第三條語句是對(duì)設(shè)置的GPIO進(jìn)行初始化??芍敬萎厴I(yè)設(shè)計(jì)使用了GPIOA和GPIOG兩組GPIO其中GPIOA包括四個(gè)IO口,GPIOG包括八個(gè)IO口,其中四個(gè)輸入IO口在硬件上對(duì)應(yīng)四個(gè)紅外光電管的輸入,八個(gè)IO口在硬件上對(duì)應(yīng)輸出八個(gè)電機(jī)的控制端口。圖4-6單片機(jī)串口時(shí)鐘使能Figure4-6ClockEnablationofSerialPortofSingleChipMicrocomputer圖4-7GPIOA的使能Figure4-7EnablationofGPIOA圖4-8GPIOG的使能Figure4-8EnablationofGPIOG從程序來說本次畢業(yè)設(shè)計(jì)需要把小車四對(duì)紅外光電管傳感器的經(jīng)過電路的輸出所對(duì)應(yīng)的串口在程序內(nèi)對(duì)應(yīng)相應(yīng)的整形變量(0或1)。當(dāng)紅外光電管傳感器向單片機(jī)的引腳輸出高電平時(shí)對(duì)應(yīng)變量為1,當(dāng)紅外光電管傳感器向單片機(jī)的引腳輸出低電平時(shí)對(duì)應(yīng)變量為0。那么如圖程序一開始的初始化里先用state1=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_11);state2=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_14);state3=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12);state4=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_7);這四條語句完成了這一設(shè)置。程序中ReadInputDataBit是數(shù)據(jù)讀的意思。這樣就玩成了讀取部分程序的設(shè)置,于是可以把四個(gè)光電傳感器硬件與程序建立起來了聯(lián)系。下面我們來談及電機(jī)的控制程序部分邏輯。如圖4-9電機(jī)模塊函數(shù)設(shè)置了八個(gè)GPIOG的引腳為推挽輸出模式,他們就對(duì)應(yīng)電機(jī)模塊相應(yīng)的輸出引腳我們根據(jù)上文對(duì)電機(jī)驅(qū)動(dòng)邏輯部分的介紹,可以知道每一個(gè)電機(jī)有兩個(gè)邏輯輸入,而一共有四個(gè)電機(jī),有八個(gè)引腳輸入,因此程序中有相應(yīng)八個(gè)GPIO口的設(shè)置。其中它們的邏輯輸入一個(gè)為高一個(gè)為低時(shí)電機(jī)朝一個(gè)方向轉(zhuǎn)動(dòng),當(dāng)它們的邏輯輸入高變成低,低變成高時(shí)電機(jī)向相反方向轉(zhuǎn)動(dòng)。因此我們需要做的就是操縱庫(kù)函數(shù)來根據(jù)不同的行駛狀態(tài),對(duì)輸出引腳進(jìn)行不同的定義。如圖4-9電機(jī)模塊函數(shù)本次畢業(yè)設(shè)計(jì)的小車循跡程序部分分別用到了兩個(gè)函數(shù)分別為GPIO_SetBits(GPIOG,GPIO_Pin_10);和GPIO_ResetBits(GPIOG,GPIO_Pin_12);其中的第一個(gè)語句為把相應(yīng)的引腳設(shè)置成高電平,第二個(gè)語句為把程序的引腳設(shè)置成低電平。SetBits是設(shè)置引腳的意思引申為把相應(yīng)引腳設(shè)置為高電平,ResetBits是重新設(shè)置引腳或取消引腳設(shè)置的意思引申為把引腳設(shè)置為低電平。顯然我們需要利用ifelse語句的嵌套根據(jù)不同的循跡程序模塊,比如左轉(zhuǎn),右轉(zhuǎn),前進(jìn),停車,把引腳的輸入標(biāo)志位和引腳的輸出設(shè)置語句按一定邏輯來配合,從而完成小車循跡模塊的編程。如圖4-9電機(jī)模塊函數(shù)程序?yàn)樾≤囇E模塊中的前進(jìn)模塊,在檢測(cè)到傳感器傳來的信號(hào)后,通過state1,state4為0,是state2,state3為1,可以了解到當(dāng)前小車正前方的兩個(gè)傳感器壓在黑線上,而兩側(cè)的傳感器檢測(cè)到了白色的地面。然后調(diào)用SetBit和RsetBit函數(shù)實(shí)現(xiàn)功能,首先令pin3,pin5,pin7,pin10為一,然后令品pin12,pin14,pin15,pin13,為零,因此前輪正放的兩個(gè)電機(jī)正轉(zhuǎn),后輪反放的兩個(gè)電機(jī)反轉(zhuǎn),小車向前行駛,但是這并不能很好的控制小車的速度,光靠這些函數(shù)也不能完成小車的彎道循跡。因此根據(jù)智能小車對(duì)速度和行駛穩(wěn)定性的要求我們還需要加入一個(gè)設(shè)計(jì)延遲函數(shù)。在定義好相應(yīng)端口的整形變量后,根據(jù)需要我們定義一個(gè)延遲函數(shù),用于控制電機(jī)的轉(zhuǎn)速。延遲函數(shù)的定義我在本次畢業(yè)設(shè)計(jì)中借鑒了STM32的毫秒級(jí)的延遲。接下來進(jìn)入主函數(shù)其中防誤觸和電機(jī)的調(diào)速都用到了延遲函數(shù),用ifelse和elseif語句進(jìn)行嵌套。首先用if(s1==bai&&s4==bai&&s2==hei&&s3==hei)判斷是否符合情況一,然后調(diào)用延時(shí)函數(shù)。然后在次用if(s1==bai&&s4==bai&&s2==hei&&s3==hei)判斷是否符合情況,這種邏輯的設(shè)計(jì)的理由是因?yàn)?,我們把小車行駛狀態(tài)的開始階段確定為在直線賽道上,然后為了保險(xiǎn)我們需要間隔一定時(shí)間來檢測(cè)兩次賽道的狀態(tài)是否符合情況一,這樣做能避免紅外光電管傳感器因?yàn)檎`觸而使其輸入情況正好與情況一相同。這與本科階段學(xué)習(xí)51單片機(jī)時(shí)學(xué)習(xí)的按鍵防抖功能有異曲同工之妙。按鍵防抖是為了防止誤觸的一種軟件設(shè)計(jì),在一定的時(shí)間間隔里單片機(jī)對(duì)按鍵的輸出做了兩次的檢測(cè),其中兩次檢測(cè)的間隔時(shí)間應(yīng)該相對(duì)于高速的單片機(jī)內(nèi)部時(shí)鐘而言較長(zhǎng)而遠(yuǎn)短于人手指按下按鍵的時(shí)間。這是因?yàn)槌巳耸种笇?duì)按鍵的按下,暫時(shí)的抖動(dòng)也會(huì)使按鍵的電路接通,而相對(duì)于人手指按下的時(shí)間而言抖動(dòng)的時(shí)間比較短。間隔一定的時(shí)間間隔檢測(cè)兩次如果兩次的檢測(cè)結(jié)果皆為有按鍵按下,那么判斷結(jié)果為人為按下,而非抖動(dòng)。這樣做自然根據(jù)適當(dāng)延遲函數(shù)的延遲時(shí)間使單片機(jī)對(duì)按鍵的第二次檢測(cè)結(jié)果跳過抖動(dòng)的按下輸入,從而確保了是人為的按下。在調(diào)用完電平的設(shè)置函數(shù)后,即使用了SetBit和ResetBit兩個(gè)函數(shù)之后,我們需要調(diào)用延時(shí)函數(shù),從而完成電機(jī)的調(diào)速。電機(jī)調(diào)速的方法是先讓電機(jī)進(jìn)行旋轉(zhuǎn)然后,調(diào)用延時(shí)并使電機(jī)停轉(zhuǎn)。這就需要在程序上調(diào)用延時(shí)然后在次使用ResetBit。把電機(jī)所有的邏輯引腳都拉低。然后為了判斷相應(yīng)的情況二,情況三,情況四,情況五,也應(yīng)用到了ifelse語句的判斷與情況一的判斷十分類似。如圖4-9電機(jī)模塊函數(shù)Figure4-9MotorModuleFunction5經(jīng)濟(jì)技術(shù)分析本次畢業(yè)設(shè)計(jì)所設(shè)計(jì)的智能循跡小車在硬件上分別使用了一個(gè)STM32成品精英板,一個(gè)OLED顯示屏,一個(gè)藍(lán)牙HC05模塊,一個(gè)DHT11溫濕度傳感器,一個(gè)四路循跡光電傳感器,兩個(gè)L298N電機(jī)驅(qū)動(dòng)模塊,12V1A電池三塊。之所以在控制的芯片選型上選擇STM32是考慮了整體工程的工程量與經(jīng)濟(jì)因素結(jié)合的原因。STM32芯片作為一款功能強(qiáng)大的芯片,對(duì)其的開發(fā)與工程實(shí)際問題中的利用比較成熟與普遍。并且購(gòu)買成品的板子省去了焊板與設(shè)計(jì)及完成最小系統(tǒng)的過程。減小了工程的工程量。雖然其在價(jià)格上比較昂貴但是STM32成品板確實(shí)是一款功能強(qiáng)大的板子,其中芯片為STM32f10xZET6的一款更是集合了A-G多路IO口,便于工程的設(shè)計(jì)與改進(jìn)。STM32板加ST-LINK仿真器的價(jià)格是226元,單獨(dú)買板218元但是為了下載程序方便需買仿真器,如果加一個(gè)4.3寸電容屏需要另加184元,另加一個(gè)藍(lán)牙模塊需要92元,另加一個(gè)DHT11溫濕度傳感器5.3元。其中DHT11溫濕度傳感器在使用時(shí)又被燒壞的可能,因此需要購(gòu)買兩個(gè)一共10.6元。四路光電傳感器是完成循跡小車循跡功能所必須的硬件,盡管其功能十分重要其價(jià)格相比于STM32板子以及OLED顯示屏要便宜的很多,一共四路紅外光電傳感器加一個(gè)輸入輸出模塊5.39元。
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市立體綠化建設(shè)及養(yǎng)護(hù)管理制度
- 2026北京順義區(qū)石園社區(qū)衛(wèi)生服務(wù)中心第一批招聘編外23人備考題庫(kù)及完整答案詳解1套
- 2026四川西南醫(yī)科大學(xué)附屬醫(yī)院招聘康復(fù)醫(yī)學(xué)科醫(yī)師崗2人備考題庫(kù)及完整答案詳解
- 2026廣東廣州市華南理工大學(xué)醫(yī)院合同制人員招聘2人備考題庫(kù)及答案詳解1套
- 2026河北省科學(xué)院事業(yè)單位選聘8人備考題庫(kù)及答案詳解(考點(diǎn)梳理)
- 2026中電科金倉(cāng)(北京)科技股份有限公司校園招聘?jìng)淇碱}庫(kù)有完整答案詳解
- 2026云南玉溪元江縣消防救援大隊(duì)招聘政府專職消防隊(duì)員10人備考題庫(kù)及答案詳解1套
- 2026中國(guó)醫(yī)學(xué)科學(xué)院醫(yī)藥生物技術(shù)研究所社會(huì)招聘18人備考題庫(kù)及答案詳解(易錯(cuò)題)
- 2026北京海淀區(qū)實(shí)驗(yàn)學(xué)校招聘?jìng)淇碱}庫(kù)及答案詳解參考
- 2026江西贛州市會(huì)昌昌興酒店管理有限責(zé)任公司招聘勞務(wù)派遣工作人員1人備考題庫(kù)有答案詳解
- 光化學(xué)和光催化反應(yīng)的應(yīng)用
- 中日友好醫(yī)院公開招聘工作人員3人筆試參考題庫(kù)(共500題)答案詳解版
- VDA6.3-2016過程審核主要證據(jù)清單
- 辦公耗材采購(gòu) 投標(biāo)方案(技術(shù)方案)
- 2020公務(wù)船技術(shù)規(guī)則
- 三片罐空罐檢驗(yàn)作業(yè)指導(dǎo)書
- 四川峨勝水泥集團(tuán)股份有限公司環(huán)保搬遷3000td熟料新型干法大壩水泥生產(chǎn)線環(huán)境影響評(píng)價(jià)報(bào)告書
- 開庭陳述事實(shí)舉證范文(4篇)
- 管道焊接工藝和熱處理課件
- 2023深圳工務(wù)署品牌名單
- 二年級(jí)下冊(cè)課文快樂讀書吧-神筆馬良
評(píng)論
0/150
提交評(píng)論