




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
編號(hào):畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)題目:智能超聲波避障小車(chē)系別:電子工程系專業(yè):電子信息工程摘要隨著當(dāng)今社會(huì)智能化越來(lái)越高,智能性交通工具的改善是必不可確少的,由于交通工具的普及,由于駕駛員的長(zhǎng)時(shí)間駕駛引起精神注意力不集中而發(fā)生許多嚴(yán)重的交通事故比比皆是,所以智能車(chē)的誕生是必然的,它致力于提高汽車(chē)的安全性、適應(yīng)性、舒適性、和提升良好的人車(chē)交互界面。自主智能尋跡避障小車(chē)是通過(guò)單片機(jī)、傳感器、信號(hào)處理器、電機(jī)驅(qū)動(dòng)以及自動(dòng)控制等技術(shù)來(lái)實(shí)現(xiàn)環(huán)境感知和自動(dòng)行駛相結(jié)合的高新技術(shù)綜合體,隨著不斷提高企業(yè)生產(chǎn)技術(shù)以及不斷加深對(duì)自動(dòng)化技術(shù)的要求,智能車(chē)已廣泛的應(yīng)用于許多工業(yè)部門(mén)??梢哉f(shuō)它已日益深入到社會(huì)和工業(yè)的各個(gè)方面,例如:智能車(chē)在物流運(yùn)輸方面的應(yīng)用;智能車(chē)在軍事領(lǐng)域的應(yīng)用;智能車(chē)在社會(huì)生活中的應(yīng)用;智能車(chē)在智能運(yùn)輸系統(tǒng)上的應(yīng)用等等。這些應(yīng)用可以使社會(huì)上正在面臨各種各樣的問(wèn)題得以有效解決,對(duì)于城市公共交通服務(wù)質(zhì)量的提高,緩解各地交通擁堵,減輕交通管理,道路建設(shè)壓力起到積極的推動(dòng)作用。在我國(guó)高科技水平的日益提高的同時(shí),工業(yè)自動(dòng)化進(jìn)程也在不斷地推進(jìn),智能小車(chē)能夠通過(guò)自動(dòng)采取一些躲避障礙物的措施,有效避免交通事故的發(fā)生,同時(shí)也被廣泛應(yīng)用于各種玩具和其他產(chǎn)品的設(shè)計(jì)中,極大地豐富了人們的生活。本次設(shè)計(jì)主要是利用ATmega16單片機(jī),超聲波傳感器、紅外線傳感器和L298N完成避障小車(chē)的制作。以ATmega16為主控芯片,利用超聲波傳感器對(duì)距離的檢測(cè),將前方障礙探測(cè)出,并且通過(guò)超聲波的傳回?cái)?shù)據(jù)以及紅外線傳感器對(duì)小車(chē)兩側(cè)的障礙物位置的確定,進(jìn)行判斷,1602液晶顯示所測(cè)距離,然后由ATmega16單片機(jī)發(fā)出指令,控制電機(jī)轉(zhuǎn)動(dòng),電機(jī)驅(qū)動(dòng)采用常用的PWM方式進(jìn)行電機(jī)的調(diào)速控制。關(guān)鍵詞:智能小車(chē);單片機(jī);超聲波;避障
AbstractAsintelligentintoday'ssocietymoreandmorehigh,theimprovementoftheintelligenttransportationiswillnotdoless,duetothepopularityoftraffictools,becausethedriverfromdrivingforalongtimeofthespiritofinattentionandmanyserioustrafficaccidents,sothebirthofsmartcarsisinevitable,itaimstoimprovevehiclesafety,adaptability,comfort,andpromotegoodinteractiveinterface,autonomousintelligenttracingcarobstacleavoidanceisbysingle-chipcomputer,sensor,signalprocessors,motordriveandautomaticcontroltechnologytorealizeenvironmentalawarenessandthecombinationofautonomousdrivingtechnology,alongwiththecontinuouslyimproveenterpriseproductiontechnologyaswellasthegrowingdemandforautomationtechnology,intelligentvehiclehasbeenwidelyusedinmanyindustrialsectors.Ithasincreasinglydeepintothesocialandindustrialaspects,suchas:intelligentcarapplicationsinlogistics;Smartcarinthefieldofmilitaryapplication;Smartcarintheapplicationofsociallife.High-techlevelrisinginourcountryatthesametime,industrialprocessautomationisinconstantpropulsion,smartcarcanautomaticallytakesomemeasurestoavoidobstacles,effectivelyavoidthehappeningoftrafficaccident,butalsoarewidelyusedinthedesignofallkindsoftoysandotherproducts,greatlyenrichedpeople'slife.ThisdesignmainlyuseATmega16singlechipmicrocomputer,ultrasonicsensors,infraredsensorsandL298Ncompleteobstacleavoidancecarproduction.ATmega16asmaincontrolchip,usingultrasonicsensorstothedetectionofthedistance,willbeinfrontoftheobstacledetection,andreturnedbyultrasonicandinfraredsensorsdatafordeterminingobstaclesoneithersideofthecarposition,judge,1602liquidcrystaldisplaymeasureddistance,andinstructionsissuedbytheATmega16singlechipmicrocomputertocontrolmotorrotation,themotordriverusesthecommonlyusedPWMmotorspeedcontrolintheformofcontrol.Keywords:intelligentcar;Singlechipmicrocomputer;Ultrasound;Obstacleavoidance
目錄引言 頁(yè)共47頁(yè)引言智能,是指在非結(jié)構(gòu)環(huán)境下運(yùn)作并能夠自動(dòng)預(yù)先設(shè)定模式,不需要人為的操作就能達(dá)到預(yù)期或是更高的目標(biāo),為人類提供必要服務(wù)的集成智能化裝備。作為當(dāng)今社會(huì)的新產(chǎn)物,智能對(duì)我們的實(shí)際工作生活具有很大的實(shí)用性。超聲波避障的研究對(duì)于我國(guó)智能車(chē)的普及有一定的指導(dǎo)作用并且有著深遠(yuǎn)的意義,同時(shí)小車(chē)也成為現(xiàn)代智能玩具的一種良好的發(fā)展對(duì)象,為中國(guó)玩具市場(chǎng)技術(shù)含量的缺乏進(jìn)行一定的彌補(bǔ),實(shí)現(xiàn)經(jīng)濟(jì)收益,形成商業(yè)價(jià)值。本題目設(shè)計(jì)的是具有自動(dòng)避障功能的智能小車(chē)。主要開(kāi)發(fā)一個(gè)能根據(jù)紅外線和超聲波檢測(cè)結(jié)果,自動(dòng)避開(kāi)障礙物的智能小車(chē)控制系統(tǒng)。設(shè)計(jì)選擇通用、價(jià)廉的ATmega16單片機(jī)作為主控芯片,選擇通用的電機(jī)模型車(chē)為機(jī)械平臺(tái),系統(tǒng)通過(guò)采集超聲波傳感器和光電傳感器的數(shù)據(jù),通過(guò)相應(yīng)的比較計(jì)算來(lái)對(duì)PWM波的輸出進(jìn)行控制操作,對(duì)電機(jī)的轉(zhuǎn)速實(shí)現(xiàn)實(shí)時(shí)調(diào)節(jié);通過(guò)超聲波傳感器接收回的數(shù)據(jù)來(lái)計(jì)算小車(chē)與障礙物之間的距離,從而實(shí)現(xiàn)小車(chē)的避障功能。通過(guò)細(xì)化要求,本系統(tǒng)以ATmega16為核心控制器,主要由電源模塊、電機(jī)驅(qū)動(dòng)模塊、顯示模塊、避障模塊構(gòu)成。通過(guò)電機(jī)控制技術(shù)和傳感器技術(shù)相關(guān)知識(shí)的結(jié)合,設(shè)計(jì)完成以由超聲波前方測(cè)距、避障與紅外線左右自動(dòng)避障組成的硬件模塊,結(jié)合軟件程序設(shè)計(jì)組成智能避障小車(chē),共同實(shí)現(xiàn)了小車(chē)的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn),通過(guò)超聲波自動(dòng)根據(jù)前方距離范圍內(nèi)障礙物測(cè)距,檢測(cè)障礙物停止再繞行,達(dá)到設(shè)計(jì)目標(biāo)。智能小車(chē)系統(tǒng)的設(shè)計(jì)思路采用了模塊化的方法,電路結(jié)構(gòu)簡(jiǎn)單,系統(tǒng)成本低,調(diào)試方便,系統(tǒng)反應(yīng)快速、靈活,小車(chē)調(diào)速平滑,功耗低,設(shè)計(jì)方案正確、實(shí)施性強(qiáng),各項(xiàng)指標(biāo)可靠、穩(wěn)定,基本滿足設(shè)計(jì)要求。稍加改動(dòng)便可應(yīng)用于簡(jiǎn)單的實(shí)際生產(chǎn)生活中,也可作為高校學(xué)生以及廣大機(jī)器人愛(ài)好者學(xué)習(xí)研究使用。系統(tǒng)設(shè)計(jì)任務(wù)要求(1)檢測(cè)障礙物并且避障:由超聲波和紅外探頭共同實(shí)現(xiàn);(2)小車(chē)電機(jī)由L298N驅(qū)動(dòng);(3)速度由單片機(jī)輸出的PWM波控制;(4)超聲波能實(shí)現(xiàn)對(duì)障礙物的測(cè)距,LCD屏顯示了超聲波檢測(cè)到前方的距離??傮w設(shè)計(jì)硬件電路系統(tǒng)的設(shè)計(jì)通過(guò)采用模塊化的設(shè)計(jì)方法,由單片機(jī)最小系統(tǒng)模塊,超聲波避障、紅外線避障模塊,電機(jī)驅(qū)動(dòng),電源模塊,顯示模塊以及光報(bào)警模塊七部分組成。其中小車(chē)使用AVR單片機(jī)為主控芯片,它通過(guò)小車(chē)前端超聲波返回的數(shù)據(jù)來(lái)獲取小車(chē)距離障礙物的距離,并且用LCD1602顯示出來(lái),當(dāng)小車(chē)與障礙物的距離大于某設(shè)定的距離時(shí),小車(chē)會(huì)沿直線前進(jìn),當(dāng)小車(chē)與障礙物的距離小于某設(shè)定的距離時(shí),小車(chē)左轉(zhuǎn)或者右轉(zhuǎn)以避開(kāi)障礙物;車(chē)頭兩側(cè)由紅外線對(duì)管自動(dòng)避障組成的硬件模塊組成,實(shí)現(xiàn)小車(chē)左轉(zhuǎn)和右轉(zhuǎn)功能;并且此時(shí)LED閃爍。在避開(kāi)障礙物后,小車(chē)會(huì)沿直線前進(jìn)。系統(tǒng)硬件構(gòu)成框圖如圖1-1所示。圖1-1系統(tǒng)硬件構(gòu)成框圖方案論證系統(tǒng)控制模塊設(shè)計(jì)方案論證AT89S52單片機(jī)與ATmega16單片機(jī)的選擇。方案一:AT89S52單片機(jī)具有十分完備的功能,不僅能夠?qū)ζ瑑?nèi)某些特殊功能寄存器的某位進(jìn)行傳送、置位、清零、測(cè)試等處理,還能進(jìn)行位的邏輯運(yùn)算,使用起來(lái)得心應(yīng)手。特點(diǎn)是控制簡(jiǎn)單、價(jià)格便宜,具有完整的輸出輸入、端口控制、以及內(nèi)部程序的存儲(chǔ)空間,程序燒寫(xiě)方便,支持USB口或者是串口兩種下載程序方式,并且是我們平時(shí)上課學(xué)習(xí)與使用的。能夠使用外接A/D,D/A轉(zhuǎn)換電路與運(yùn)放芯片來(lái)實(shí)現(xiàn)采集傳感器傳送信息的功能,且能夠通過(guò)以點(diǎn)陣或LCD液晶以及外接按鍵實(shí)現(xiàn)人機(jī)交互[1],能通過(guò)內(nèi)部眾多I/O端口與步進(jìn)電機(jī)連接來(lái)對(duì)外圍設(shè)備進(jìn)行精確操控。方案二:ATmega16單片機(jī),特點(diǎn)是取指周期短,有可預(yù)取指令,實(shí)現(xiàn)于流水作業(yè),故可高速執(zhí)行指令。采用精簡(jiǎn)指令集,克服了瓶頸現(xiàn)象,指令執(zhí)行速度(1Mips/MHz)得以提高,功能增強(qiáng);由于硬件結(jié)構(gòu)得到了簡(jiǎn)化了,降低了對(duì)外設(shè)管理的開(kāi)銷(xiāo)和成本。ATmega16單片機(jī)的I/O口功能強(qiáng)大,因?yàn)樗哂心軌騿为?dú)設(shè)定為輸入或輸出的功能,設(shè)置上拉電阻,并且有高阻輸入、驅(qū)動(dòng)能力強(qiáng)等特性,這使的得I/O口得到充分的利用。片內(nèi)集成多種頻率的RC振蕩器,能夠自動(dòng)上電復(fù)位、并且有看門(mén)狗和啟動(dòng)延時(shí)等功能,所以ATmega16單片機(jī)外圍電路相對(duì)AT89S52簡(jiǎn)單,系統(tǒng)更加穩(wěn)定可靠。經(jīng)過(guò)比較,因?yàn)锳T89S52單片機(jī),具有位運(yùn)算,能較方便的應(yīng)用I/O口。但PWM利用定時(shí)器中斷函數(shù),模擬產(chǎn)生PWM脈沖,由于PWM頻率較高,勢(shì)必導(dǎo)致定時(shí)器中斷被頻繁觸發(fā)。此時(shí),如果有其他對(duì)時(shí)序要求較高的模塊被同一單片機(jī)控制的話,有可能導(dǎo)致時(shí)序紊亂,無(wú)法控制。對(duì)于超聲波模塊,頻繁的中斷觸發(fā),會(huì)導(dǎo)致計(jì)時(shí)不準(zhǔn),使得換算出來(lái)的距離具有一定的誤差。而AVR單片機(jī),由于采用的是精簡(jiǎn)指令集,其不支持位操作,但具有較高的效率,抗干擾性和可靠性。它的4通道PWM,具有硬PWM時(shí)序功能,使用時(shí)只需設(shè)置相關(guān)寄存器即可實(shí)現(xiàn)PWM的產(chǎn)生。其PWM的產(chǎn)生為硬件生成,不會(huì)占用CPU的資源。即不會(huì)對(duì)其他驅(qū)動(dòng)程序產(chǎn)生影響。但缺點(diǎn)是PWM必須使用一個(gè)定時(shí)器,對(duì)于一般三輪車(chē),要消耗兩個(gè)定時(shí)器。ATmega16單片機(jī)不用考慮定時(shí)器做PWM引起的資源分配問(wèn)題。因此選擇方案二。電機(jī)的選擇方案論證直流電機(jī)與步進(jìn)電機(jī)的選擇:電機(jī)是系統(tǒng)的動(dòng)力來(lái)源,電機(jī)有著不同的類型,其中步進(jìn)電機(jī)和直流電機(jī)最為常用。直流電機(jī)的特點(diǎn)是加上合適的電壓通過(guò)電機(jī)驅(qū)動(dòng)即可進(jìn)行轉(zhuǎn)動(dòng),但轉(zhuǎn)圈精度不高;步進(jìn)電機(jī)的工作方式與直流電機(jī)不同,通過(guò)脈沖控制電機(jī)按照節(jié)拍進(jìn)行轉(zhuǎn)動(dòng),根據(jù)電機(jī)不同轉(zhuǎn)動(dòng)的角度也各有差異,精確度高,但速度慢。電機(jī)的驅(qū)動(dòng)方式各有不同,一般小型步進(jìn)電機(jī)可以通過(guò)ULN2003進(jìn)行驅(qū)動(dòng),直流電機(jī)需要的工作電流與步進(jìn)電機(jī)相比較大,需要使用L298N這類專用的驅(qū)動(dòng)芯片控制,控制時(shí)單片機(jī)通過(guò)輸出PWM波調(diào)節(jié)轉(zhuǎn)動(dòng)速度。直流電機(jī)和步進(jìn)電機(jī)都可以用于小車(chē)驅(qū)動(dòng)。故有兩種方案。方案一:直流電機(jī)。直流電機(jī)由于加上了適當(dāng)減速比的減速器,具有良好的調(diào)速性能[2],通上電源即可連續(xù)不停的轉(zhuǎn)動(dòng),所以控制起來(lái)也相對(duì)簡(jiǎn)單。調(diào)節(jié)電壓的大小可以改變電機(jī)的速度。L298N模塊做成的驅(qū)動(dòng)電路可實(shí)現(xiàn)直流電機(jī)的控制,可配合PWM調(diào)速機(jī)制(即脈沖寬度調(diào)制方式)調(diào)速。此方案電路和控制都相對(duì)容易,相對(duì)性能比較好。方案二:步進(jìn)電機(jī)。步進(jìn)電機(jī)之所以可以精確的實(shí)現(xiàn)位置控制,是因?yàn)樗峭ㄟ^(guò)輸入一個(gè)電脈沖信號(hào)就能使電機(jī)的輸出軸轉(zhuǎn)動(dòng)一定的角度,通過(guò)連續(xù)不斷的輸入點(diǎn)脈沖信號(hào),步進(jìn)電機(jī)連續(xù)的轉(zhuǎn)動(dòng),外加的脈沖頻率的不同,轉(zhuǎn)速的大小也不一樣[2]。步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)并不受電壓波動(dòng)和負(fù)載變化以及溫度、氣壓等環(huán)境因素的影響,僅與控制脈沖有關(guān),但步進(jìn)電機(jī)的速度十分緩慢,且消耗I/O資源過(guò)多,不適合本作品。具體差別見(jiàn)表2-1。表2-1電機(jī)控制方式對(duì)比直流電機(jī)步進(jìn)電機(jī)調(diào)速性能較好較差位置控制精度較差好驅(qū)動(dòng)簡(jiǎn)單簡(jiǎn)單穩(wěn)定性較好好,僅與控制脈沖有關(guān)速度較快緩慢單片機(jī)資源消耗小大如表2-1所示,步進(jìn)電機(jī)和直流電機(jī)都有各自的特點(diǎn)。步進(jìn)電機(jī)雖然能夠進(jìn)行精確的位置控制,但行動(dòng)緩慢;鑒于直流電機(jī)易于控制、驅(qū)動(dòng)電路相對(duì)簡(jiǎn)單,足以滿足本設(shè)計(jì)位置控制的精度。故本設(shè)計(jì)選擇使用直流電機(jī)。避障模塊設(shè)計(jì)方案論證超聲波傳感器與光電傳感器的選擇。方案一:使用一個(gè)超聲波探頭。超聲波傳感器價(jià)格便宜,不容易受到粉塵、光線、電磁類的干擾,并且自帶溫度補(bǔ)償。但由于時(shí)間關(guān)系沒(méi)有添加溫度補(bǔ)償措施所以易受到環(huán)境中溫度的影響。但它不受光照強(qiáng)弱和能見(jiàn)度的影響,能耗低、靈敏度高,即使在較復(fù)雜的環(huán)境內(nèi)也可以工作。超聲波的發(fā)射器能夠不斷發(fā)射聲脈沖,由于頻率越高反射能力越強(qiáng),接收換能器接收到遇到障礙物就反射回來(lái)的超聲波信號(hào),根據(jù)回聲探測(cè)法,通過(guò)對(duì)聲速以及時(shí)間的計(jì)算,實(shí)現(xiàn)超聲波的測(cè)距及避障功能[3]。使用一個(gè)紅外線探頭。紅外線具有可見(jiàn)光直線傳播、反射、折射等特性。紅外傳感器發(fā)光管發(fā)出具有可見(jiàn)光直線傳播、反射、折射等特性的紅外光,通常閾值的設(shè)定及判定模塊是由電壓比較器與可調(diào)電位器構(gòu)成的[1],由于接收管接收的光強(qiáng)根據(jù)反射物體的距離而變化,接收管的電壓與障礙物的距離成反比,通過(guò)判斷發(fā)射光的強(qiáng)弱,實(shí)現(xiàn)紅外線測(cè)距以及避障的功能。方案二:使用舵機(jī)帶動(dòng)一對(duì)超聲波探頭進(jìn)行180度旋轉(zhuǎn)。由于方案一單個(gè)探頭會(huì)有檢測(cè)不到車(chē)頭兩側(cè)的障礙物,當(dāng)障礙物多時(shí),會(huì)導(dǎo)致前方避障之后撞到兩側(cè)的障礙物。而當(dāng)使用舵機(jī)帶動(dòng)探頭的方案時(shí),通過(guò)掃描檢測(cè)到各個(gè)方向的障礙物,過(guò)單片機(jī)對(duì)各方向返回的數(shù)據(jù)通對(duì)比,可以很好的分析出障礙物方向,通過(guò)調(diào)節(jié)小車(chē)兩側(cè)左右電機(jī)轉(zhuǎn)速差控制行駛方向?qū)崿F(xiàn)小車(chē)避障功能。舵機(jī)是以周期為20ms、寬度從0.5ms~2.5ms的脈寬調(diào)制信號(hào)作為控制信號(hào)的,相對(duì)對(duì)應(yīng)舵盤(pán)的位置是0~180度,呈連續(xù)線性變化。也就是說(shuō),給它提供特定寬度的脈沖信號(hào),它的輸出軸就會(huì)轉(zhuǎn)動(dòng)到一個(gè)與之相對(duì)應(yīng)的角度上,無(wú)論外界轉(zhuǎn)矩怎樣改變,直到給它提供一個(gè)另外寬度的脈沖信號(hào),它才會(huì)將輸出角度轉(zhuǎn)動(dòng)到新的對(duì)應(yīng)的位置上。舵機(jī)有一個(gè)內(nèi)置的基準(zhǔn)電路,其不斷產(chǎn)生周期的20ms,寬度1.5ms的基準(zhǔn)信號(hào);另有一個(gè)比較器,將外加信號(hào)與基準(zhǔn)信號(hào)進(jìn)行比較,判斷出轉(zhuǎn)動(dòng)方向和轉(zhuǎn)動(dòng)角度大小,進(jìn)而產(chǎn)生電機(jī)的轉(zhuǎn)動(dòng)信號(hào)。由此可見(jiàn),舵機(jī)是一種精度很高的位置伺服的驅(qū)動(dòng)器,轉(zhuǎn)動(dòng)最大角度不能超過(guò)180度,適用于那些需要角度不斷變化并可以停滯的驅(qū)動(dòng)當(dāng)中。但此方案具有編程復(fù)雜,占用資源多,判別速度慢等缺點(diǎn)。方案三:采用多方向超聲波測(cè)距分析來(lái)實(shí)現(xiàn)避障。由于方案二的舵機(jī)在避障過(guò)程中不能及時(shí)的轉(zhuǎn)會(huì)前方繼續(xù)探測(cè),同樣也會(huì)有撞到障礙物的情況發(fā)生[3]。因此,在小車(chē)的車(chē)身前端左、中、右三方向放置超聲波探頭,單片機(jī)通過(guò)對(duì)三個(gè)方向超聲波返回的測(cè)距數(shù)據(jù)進(jìn)行對(duì)比分析,確定障礙物位置,再通過(guò)調(diào)節(jié)小車(chē)左右電機(jī)轉(zhuǎn)速差控制小車(chē)行駛方向?qū)崿F(xiàn)避障。但是考慮到可能會(huì)有一發(fā)射端發(fā)射的超聲波會(huì)被另外一端的接收端接收的問(wèn)題,為了防止3對(duì)超聲波探頭信號(hào)的相互干擾,所以各個(gè)超聲波發(fā)送信號(hào)都要相互間隔,為了消除上一次發(fā)出的超聲波影響,兩次測(cè)量時(shí)間應(yīng)為20ms,這就使小車(chē)的反應(yīng)變得非常遲鈍。綜上所述,超聲波傳感器測(cè)距范圍一般在30~300cm之間,設(shè)定測(cè)量的周期為20ms一次才能防止相互干擾;而紅外測(cè)距傳感器的測(cè)量速度十分快,可以在一定程度上彌補(bǔ)超聲波傳感器的缺點(diǎn),大大增加了小車(chē)的反應(yīng)速度。因而,本設(shè)計(jì)采用多路紅外和超聲波傳感器進(jìn)行距離信息的測(cè)量和采集。顯示模塊設(shè)計(jì)方案論證方案一:采用七段LED數(shù)碼管顯示相關(guān)數(shù)據(jù)。數(shù)碼管簡(jiǎn)易且常用,顯示具有高亮、光衰弱少、可視距離遠(yuǎn)、壽命長(zhǎng)的優(yōu)點(diǎn)。但數(shù)碼管一般只適合數(shù)字顯示,一位數(shù)碼管能顯示一位數(shù)據(jù),且占用的I/O多,編程相對(duì)復(fù)雜。由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上四位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示而不會(huì)有閃爍感[4]。方案二:采用LCD1602液晶顯示。液晶顯示界面較為友好,成本較低,具有耗能少、可同時(shí)顯示數(shù)據(jù)多、電路簡(jiǎn)單、占用I/O口少、PCB布線簡(jiǎn)單、控制指令簡(jiǎn)單、編程簡(jiǎn)單等優(yōu)點(diǎn)[4]。經(jīng)過(guò)對(duì)兩種顯示方案優(yōu)缺點(diǎn)的衡量,本設(shè)計(jì)決定采用方案二。直流調(diào)速方案設(shè)計(jì)在智能避障小汽車(chē)的研制開(kāi)發(fā)過(guò)程中,智能小車(chē)要能夠根據(jù)周?chē)系K物的具體位置情況自動(dòng)控制行駛方向是非常關(guān)鍵的。主要功能是單片機(jī)當(dāng)接收到避障模塊返回的數(shù)據(jù)時(shí),通過(guò)驅(qū)動(dòng)兩個(gè)車(chē)輪調(diào)節(jié)小車(chē)的行駛速度,然后改變兩個(gè)車(chē)輪的轉(zhuǎn)速差,利用萬(wàn)向輪,調(diào)節(jié)行駛方向。本設(shè)計(jì)根據(jù)PWM脈寬調(diào)制原理,電機(jī)速度的改變是通過(guò)改變輸出方波的占空比使負(fù)載上的平均電流功率從零到百分之百變化而實(shí)現(xiàn)的,它的優(yōu)點(diǎn)是電源的輸出電壓在工作條件變化時(shí)能夠保持恒定,能量功率、能得到充分利用,電路的效率高。電機(jī)控制采用的脈沖寬度調(diào)制(PWM)技術(shù),單片機(jī)輸出的方波的頻率是恒定的,該脈沖寬度調(diào)制,用于改變電機(jī)的旋轉(zhuǎn)速度,輸出電壓的平均值的方波,當(dāng)輸出低電平時(shí),電機(jī)停止時(shí),輸出電平高,電機(jī)最高速。在軟件實(shí)現(xiàn)上,采用定時(shí)器中斷來(lái)實(shí)現(xiàn)方波的產(chǎn)生,使電機(jī)速度的控制不受其他影響。當(dāng)定時(shí)器定時(shí)到固定的時(shí)間便產(chǎn)生中斷,將輸出電平取反,不斷循環(huán)計(jì)時(shí)便能產(chǎn)生穩(wěn)定的方波,不會(huì)因?yàn)槠渌绦虻难訒r(shí)而改變輸出頻率。電源模塊設(shè)計(jì)方案論證第一種方案可以用雙電源,7.5V和5V單獨(dú)供電,這樣具有很好的抗干擾能力,但是,成本很高,做出來(lái)的東西比較笨重。第二種方案是使用7.5V電池,首先輸出給電機(jī)供電,然后通過(guò)7805穩(wěn)壓管穩(wěn)壓出5V的電壓給傳感器和單片機(jī)供電??紤]的就是小車(chē)的帶負(fù)載能力,通過(guò)試驗(yàn)得知,小車(chē)在運(yùn)行時(shí)質(zhì)量越大,避障的可靠性越差。通過(guò)電容進(jìn)行濾波,并且安置撥碼開(kāi)關(guān),使小車(chē)運(yùn)行的開(kāi)關(guān)更加方便、穩(wěn)定。通過(guò)對(duì)比兩種顯示方案的優(yōu)缺點(diǎn),本次設(shè)計(jì)決定采用方案二。3元器件介紹3.1AVR單片機(jī)主控芯片介紹ATmega16是全靜態(tài)的基于增強(qiáng)的AVRRISC結(jié)構(gòu)的高性能、低功耗8位CMOS微控制器。由于其大多數(shù)指令執(zhí)行時(shí)間為單個(gè)時(shí)鐘周期,ATmega16的數(shù)據(jù)吞吐率高達(dá)1MIPS/MHz,擁有只需兩個(gè)時(shí)鐘周期的硬件乘法器、非易失性程序和數(shù)據(jù)存儲(chǔ)器。16K字節(jié)的系統(tǒng)內(nèi)可編Flash,擦寫(xiě)壽命為一萬(wàn)次,同步進(jìn)行讀與寫(xiě)的操作,擦寫(xiě)壽命為十萬(wàn)次。同時(shí)Flash、EEPROM、熔絲位和鎖定位的編程是由SPI接口實(shí)現(xiàn)的。從而可以減緩系統(tǒng)在功耗和處理速度之間的矛盾以及通過(guò)鎖定位的編程來(lái)加密用戶程序[5]。ATmega16微控制器的特點(diǎn)是:掉電檢測(cè)上可電復(fù)位并可編程,片內(nèi)經(jīng)過(guò)標(biāo)定的RC振蕩器,片內(nèi)或片外有中斷源,有32個(gè)可編程的I/O口,PDIP封裝的40引腳,TQFP封裝的44引腳和MLF封裝的44引腳。ATmega16的工作電壓為4.5~5.5V,速度等級(jí)是0~16MHz,在1MHz,3V,25℃時(shí)的功耗:在正常模式下是1.1mA,空閑模式下為0.35mA,掉電模式則小于1μA。3.2L298N驅(qū)動(dòng)芯片3.2.1L298N驅(qū)動(dòng)芯片介紹L298N是ST公司開(kāi)發(fā)的一種尺寸為8cm×4.5cm的采用15腳封裝、高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。L298N有可達(dá)46V最高工作電壓以及可達(dá)3A瞬間峰值電流,2A的持續(xù)工作電流,最大工作電流為2.5A,25W的額定功率。L298N信號(hào)控制采用的是邏輯電平標(biāo)準(zhǔn),控制信號(hào)直流工作電壓是5V,電機(jī)的直流電壓是3V~46V,一般建議使用小于36V。L298N內(nèi)有兩個(gè)H橋的高電壓大電流全橋式驅(qū)動(dòng)器,能夠用來(lái)驅(qū)動(dòng)步進(jìn)電動(dòng)機(jī)和直流電動(dòng)機(jī)、繼電器線圈等感性負(fù)載[2]。3.2.2L298N驅(qū)動(dòng)芯片特點(diǎn)L298N驅(qū)動(dòng)芯片具有信號(hào)指示、轉(zhuǎn)速可調(diào)抗干擾能力強(qiáng)、PWM平滑調(diào)速,可實(shí)現(xiàn)正反轉(zhuǎn)等特點(diǎn),由于過(guò)電壓和過(guò)電流的保護(hù),L298N芯片驅(qū)動(dòng)電機(jī)可以單獨(dú)控制兩臺(tái)直流電機(jī),因此,對(duì)于本設(shè)計(jì)起到了至關(guān)重要的作用。3.3直流電機(jī)我們通常將可以把直流電能與幾點(diǎn)能相互轉(zhuǎn)換的電機(jī)稱為直流電機(jī),當(dāng)它將電能轉(zhuǎn)換為機(jī)械能時(shí)是直流電動(dòng)機(jī),而將機(jī)械能轉(zhuǎn)換為電能的時(shí)候稱為直流發(fā)電機(jī)。由于直流/步進(jìn)兩用驅(qū)動(dòng)器L298N可以直接控制兩臺(tái)直流電機(jī)。分別為M1和M2,引腳A,B用于控制電機(jī)的速度通過(guò)PWM脈寬調(diào)制信號(hào)的輸入。當(dāng)不需要改變速度時(shí),將兩引腳接5V電壓,使電機(jī)工作在最高速狀態(tài),即可通過(guò)短接帽短接來(lái)實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)。輸入信號(hào)端IN1接高電平輸入端IN2接低電平,電機(jī)M1正轉(zhuǎn),反之IN1接低電平輸入端IN2接高電平,則反轉(zhuǎn)。而另一臺(tái)電機(jī)的控制方法同樣是輸入信號(hào)端IN3接高電平,輸入端IN4接低電平,電機(jī)M2正轉(zhuǎn),反之則反轉(zhuǎn)。PWM信號(hào)端A控制M1調(diào)速,PWM信號(hào)端B控制M2調(diào)速。驅(qū)動(dòng)器驅(qū)動(dòng)直流電機(jī)方式見(jiàn)表3-1。表3-1驅(qū)動(dòng)器驅(qū)動(dòng)直流電機(jī)方式3.4超聲波傳感器3.4.1超聲波傳感器概述超聲波測(cè)距模塊具有GPIO、串口等多種通信方式,寬電壓輸入的范圍是2.4~5.5V,在穩(wěn)定可靠的工作環(huán)境下,可以實(shí)現(xiàn)0m~4.5m的測(cè)距,靜態(tài)功耗低于2mA,在測(cè)距的過(guò)程中,傳感器并不用接觸到物體,在-20到+70度的工作環(huán)境下,能夠通過(guò)自帶溫度傳感器對(duì)超聲波模塊的測(cè)距結(jié)果進(jìn)行校正。有兩種輸出方式,分別是電平方式和UART(跳線帽選擇)方式,無(wú)奇偶校驗(yàn)的UART模式下串口配置的波特率為9600,起始位為1位,停止位為1位,數(shù)據(jù)位為8位[8]。低于15度的感應(yīng)角度,探測(cè)距離為0.02m到4.5m,探測(cè)精度保持在0.3cm+1%。本模塊實(shí)物圖的正面圖與背面圖如圖3-1、3-2所示:圖3-1US-100正面圖圖3-2US-100背面圖3.4.2接口說(shuō)明本模塊共有兩個(gè)接口,一個(gè)是模式選擇跳線接口,如圖3-1所示,他的間距是2.54mm,當(dāng)插上跳線帽時(shí)為UART(串口)模式,拔掉時(shí)為電平觸發(fā)模式。另一個(gè)是2.54mm間距彎排針的5Pin接口,如圖3-4所示。從左到右排針依次的編號(hào)為1,2,3,4,5。1號(hào)Pin接VCC電源(供電范圍2.4V~5.5V)。2號(hào)Pin腳當(dāng)為UART模式時(shí),接外部電路UART的TX端;當(dāng)為電平觸發(fā)模式時(shí),接外部電路的Trig端。3號(hào)Pin當(dāng)為UART模式時(shí),接外部電路UART的RX端;當(dāng)為電平觸發(fā)模式時(shí),接外部電路的Echo端。4號(hào)Pin與5號(hào)Pin接外部電路的GND。3.4.3超聲波測(cè)距原理超聲波測(cè)距的實(shí)現(xiàn)是通過(guò)發(fā)射器發(fā)射出長(zhǎng)約6mm、頻率為40KHZ的超聲波信號(hào),接收頭接收到被物體反射回來(lái)的超聲波,并且產(chǎn)生毫伏級(jí)的微弱電壓信號(hào),計(jì)算出時(shí)間差來(lái)實(shí)現(xiàn)的。設(shè)t是通過(guò)傳感器發(fā)出超聲波到接收到超聲波脈沖所經(jīng)歷的時(shí)間,v是超聲波在空氣中的傳播速度,則從傳感器到目標(biāo)物體的距離S=vt/2。3.5光電傳感器光電傳感器是光源、光學(xué)通路和光電元件組成的對(duì)環(huán)境進(jìn)行檢測(cè)的傳感器,他能夠?qū)z測(cè)到的環(huán)境中的變化轉(zhuǎn)化成光信號(hào)的變化,再通過(guò)光電元件將光信號(hào)轉(zhuǎn)化為電信號(hào)。它由三部分構(gòu)成:用于鎖定目標(biāo)發(fā)送光束的發(fā)送器,光束來(lái)源于半導(dǎo)體光源,發(fā)光二極管(LED)、激光二極管及紅外發(fā)射二極管;過(guò)透鏡和光圈等來(lái)接收信號(hào)的接收器,由光電二極管、光電三極管、光電池組成;能夠?yàn)V出有效信號(hào)并應(yīng)用信號(hào)到目標(biāo)位置的檢測(cè)電路。光電檢測(cè)方法的優(yōu)點(diǎn)有精度高、反應(yīng)快、傳感器的結(jié)構(gòu)簡(jiǎn)單、非接觸可測(cè)參數(shù)多、形式靈活多樣等。光電傳感器可以檢測(cè)的方面有很多,非電量如光強(qiáng)度、光照度、輻射、測(cè)溫、氣體成分等直接引起光量的變化,還有通過(guò)轉(zhuǎn)化而成光量變化的,如表面粗糙度、零件直徑、速度、位移、加速度、振動(dòng)、應(yīng)變,以及物體的形狀、工作狀態(tài)的識(shí)別等非電量。3.6LCD1602液晶顯示3.6.1液晶顯示LCD實(shí)物圖見(jiàn)圖3-5。圖3-3液晶顯示LCD實(shí)物圖3.6.2液晶顯示原理LCD1602指的是顯示的內(nèi)容為16×2,即可以顯示兩行,每行16個(gè)字符的液晶模塊。4.5~5.5V的芯片工作電壓,2.0mA(5.0V)工作電流,模塊最佳工作電壓是5.0V。采用標(biāo)準(zhǔn)的16腳接口,專門(mén)用來(lái)顯示數(shù)字、符號(hào)、字母等的點(diǎn)陣型液晶模塊。它由若干個(gè)5×7或者5×11等點(diǎn)陣字符位組成,一個(gè)點(diǎn)距作為每位之間的間隔,字符尺寸為2.95×4.35(W×H)mm每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每行之間也有間隔,所以在LCD1602顯示中也是有字符間距和行間距的。通過(guò)電壓對(duì)液晶顯示進(jìn)行區(qū)域控制,有電即可以顯示出圖形。具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動(dòng)的特點(diǎn)[4]。3.6.3管腳功能圖3-4LCD1602管腳圖LCD1602采用16腳接口,其中1腳VSS為電源地,2腳VCC接5V的正極電源。3腳液晶顯示器對(duì)比度的調(diào)整端V0,對(duì)比度最弱是當(dāng)接正電源時(shí),對(duì)比度最高時(shí)是當(dāng)接地電源由于對(duì)比度過(guò)高即可能產(chǎn)生“鬼影”,可使用一個(gè)1K的電位器來(lái)調(diào)整對(duì)比度。4腳為寄存器選擇RS,選擇數(shù)據(jù)寄存器時(shí)為高電平1、低電平0時(shí)選擇指令寄存器;5腳為讀寫(xiě)信號(hào)線RW,1為高電平,用于進(jìn)行讀操作,0為低電平,用于進(jìn)行寫(xiě)的操作;6腳為使能端E(EN)端,1為高電平,用于讀取信息,負(fù)跳變時(shí)執(zhí)行指令。7~14腳為8位雙向數(shù)據(jù)端D0~D7;15~16腳為背燈電源或空腳:15腳為背光正極,16腳為背光負(fù)極。4系統(tǒng)單元電路的設(shè)計(jì)4.1超聲波收發(fā)電路要驅(qū)動(dòng)超聲波模塊,首先利用單片機(jī)輸出一個(gè)40kHz觸發(fā)信號(hào),把觸發(fā)信號(hào)通過(guò)TRIG管腳輸入到超聲波模塊作為超聲波模塊的啟動(dòng)信號(hào),然后由超聲波測(cè)發(fā)射器將向所對(duì)應(yīng)的方向發(fā)射超聲波,在發(fā)射超聲波的同時(shí)單片機(jī)清零定時(shí)器計(jì)數(shù)寄存器,并開(kāi)始計(jì)時(shí)。超聲波由空氣進(jìn)行傳播,途中如果遇到障礙物則被彈回,當(dāng)超聲波模塊接收器接收到超聲波的反射波后,將會(huì)產(chǎn)生一個(gè)提示信號(hào)并由Echo腳反饋給單片機(jī),此時(shí)單片機(jī)將立即停止計(jì)時(shí)器的計(jì)時(shí),并取出計(jì)數(shù)寄存器中的值進(jìn)行換算。由于聲波在空氣中的傳播速度大約為340m/s,根據(jù)單片機(jī)計(jì)時(shí)寄存器的值可換算所出聲音傳播的時(shí)間t,繼而就可以換算出障礙物與超聲波模塊的距離,其公式為:S=VT/2。超聲波接口電路見(jiàn)圖4-1。圖4-1超聲波接口電路4.2紅外線收發(fā)電路紅外線收發(fā)電路如圖4-2所示,R2、R6為上拉電阻,起到限流的作用。圖4-2紅外線收發(fā)電路4.3單片機(jī)主控電路此模塊是小車(chē)的單片機(jī)驅(qū)動(dòng)部分,它負(fù)責(zé)控制超聲波模塊、紅外線測(cè)距模塊、液晶顯示模塊、L298N控制模塊及警示燈模塊的工作。單片機(jī)主控電路如圖4-3所示。單片機(jī)利用計(jì)時(shí)器統(tǒng)計(jì)超聲波發(fā)射和接受的時(shí)間再經(jīng)過(guò)換算,得出小車(chē)距離障礙物的距離,通過(guò)LCD顯示當(dāng)前距離值。通過(guò)輸出不同脈寬的脈沖來(lái)控制直流電機(jī)的速度。圖4-3單片機(jī)主控電路4.4電源電路使用7.5V電池,首先輸出給電機(jī)供電,然后通過(guò)7805穩(wěn)壓管穩(wěn)壓出5V的電壓給傳感器和單片機(jī)供電。如圖4-4電源電路所示,因?yàn)殡娙輧啥瞬粫?huì)有電壓突變,C1與C2為濾波電容,其中C2是用來(lái)消除紋波的;前級(jí)之所以不加濾波,是因?yàn)殡姵氐碾妷罕容^穩(wěn)定,沒(méi)有太大必要濾波;R1為限流電阻。在本模塊中,還增加了一個(gè)撥碼開(kāi)關(guān),這樣可以隨時(shí)關(guān)閉電源,以便調(diào)試。本模塊之所以采用單電源,考慮的就是小車(chē)的帶負(fù)載能力,通過(guò)試驗(yàn)得知,小車(chē)運(yùn)行時(shí)質(zhì)量越大,避障的可靠性越差,故不采用較可靠的雙電源電路[12]。圖4-4電源電路本模塊只需要一組電源7.5V即可滿足智能小車(chē)的電機(jī)驅(qū)動(dòng)、單片機(jī)控制、傳感器等所有單元的供電,需求設(shè)計(jì)非常合理。也可接直流穩(wěn)壓電源作為外部電壓輸入,進(jìn)行調(diào)試,節(jié)約成本。4.5LCD1602顯示電路本設(shè)計(jì)利用LCD1602顯示電路。利用LCD1602液晶屏,用于顯示測(cè)量出來(lái)的距離。在單片機(jī)電路中利用一組I/O口進(jìn)行數(shù)據(jù)的傳輸,再?gòu)牧硪唤MI/O口分配三個(gè)I/O口作為指令與數(shù)據(jù)選擇和控制。具體的顯示是利用單片機(jī)來(lái)控制LCD1602的數(shù)據(jù)顯示,把單片機(jī)計(jì)算出來(lái)的數(shù)據(jù)距離實(shí)時(shí)顯示出來(lái)。如圖4-5LCD1602顯示電路所示,電阻R8用于設(shè)置一個(gè)偏壓,也就是液晶字顏色深度;R9設(shè)置一個(gè)偏壓,設(shè)置液晶的背光亮度。圖4-5LCD1602顯示電路4.6電機(jī)驅(qū)動(dòng)電路圖4-6電機(jī)驅(qū)動(dòng)電路本設(shè)計(jì)使用直流電機(jī)。由于從單片機(jī)中輸出的信號(hào)功率很弱,即使在沒(méi)有任何外在負(fù)載的情況下也無(wú)法正常帶動(dòng)電機(jī),為了解決這一點(diǎn)我在實(shí)際電路中加入了電機(jī)的驅(qū)動(dòng)芯片以提高輸入電機(jī)信號(hào)的功率,從而能夠根據(jù)需要控制電機(jī)轉(zhuǎn)動(dòng)。利用直流電機(jī)常用的PWM,即脈寬調(diào)制方式調(diào)節(jié)電機(jī)速度。在本設(shè)計(jì)中我利用電機(jī)驅(qū)動(dòng)芯片L298N,一款集成的H橋芯片。L298N中有兩套H橋電路,有效地控制兩個(gè)電機(jī)運(yùn)行。它的具有幾個(gè)時(shí)能端子可以外接高低電平進(jìn)行控制,本設(shè)計(jì)利用單片機(jī)進(jìn)行軟件控制,極大地滿足本設(shè)計(jì)的功能需求。電機(jī)驅(qū)動(dòng)電路如圖4-6所示,L298N的二極管,叫做續(xù)流二極管,這是為了防止反向擊穿的。因?yàn)殡姍C(jī)有很大的電感,而根據(jù)電感的原理,在斷電瞬間會(huì)有和電源一樣的電勢(shì)。也就是說(shuō)相當(dāng)于會(huì)給L298N內(nèi)的MOS管一個(gè)反向電壓,有可能擊穿,加了續(xù)流二極管的話會(huì)組成一個(gè)回路,就能消耗掉電感的能量,其他腳的則是根據(jù)L298N的引腳定義連的[12]。L298N芯片具有較大的驅(qū)動(dòng)功率,可在6~46V的直流電壓下,提供最大2A的額定電流,并且具有過(guò)熱自動(dòng)關(guān)斷及電流反饋檢測(cè)的強(qiáng)大功能,十分安全可靠;但為了能保證L298N的正常工作,我另外安裝了幾個(gè)續(xù)流二極管。可根據(jù)輸入電壓的大小輸出不同的電壓及功率,解決了負(fù)載能力不夠這個(gè)問(wèn)題。利用單片機(jī)調(diào)整出PWM脈沖和高低電平對(duì)直流電機(jī)進(jìn)行驅(qū)動(dòng)和控制。L298集成H橋芯片。其外形、管腳分布如圖4-7所示。圖4-7L298N管腳分布圖4.6.1直流電機(jī)H橋驅(qū)動(dòng)方案的選擇H橋驅(qū)動(dòng)電路是為了更好驅(qū)動(dòng)直流電機(jī)而專門(mén)設(shè)計(jì)的一種較為常見(jiàn)的電路,它可以實(shí)現(xiàn)直流電機(jī)的正及反向轉(zhuǎn)動(dòng),其典型電路如H橋驅(qū)動(dòng)電路圖4-8所示:圖4-8H橋驅(qū)動(dòng)電路由圖4-8可以看出,之所以叫H橋驅(qū)動(dòng)電路其形狀類似于字母“H”,而作為其負(fù)載的直流電機(jī)位于“橋”的上方,所以我們稱之為“H橋驅(qū)動(dòng)電路”。其4個(gè)開(kāi)關(guān)被稱為“橋臂”。從電路中我們可以看出,如果開(kāi)關(guān)A、D導(dǎo)通,那么電機(jī)的工作方向?yàn)檎蜣D(zhuǎn)動(dòng),如果開(kāi)關(guān)B、C導(dǎo)通時(shí),直流電機(jī)則為反向轉(zhuǎn)動(dòng)。通過(guò)這個(gè)原理實(shí)現(xiàn)了直流電機(jī)的正反轉(zhuǎn)。同時(shí)我們借助這4個(gè)“橋臂”我們還可以實(shí)現(xiàn)電機(jī)的2個(gè)特殊的工作狀態(tài):(1)剎車(chē)——導(dǎo)通A、C(或B、D)開(kāi)關(guān),這時(shí)電機(jī)會(huì)由于慣性轉(zhuǎn)動(dòng)所產(chǎn)生的電勢(shì)將被短路,一個(gè)阻力達(dá)到一個(gè)“剎車(chē)”的作用。(2)惰行——如果4個(gè)開(kāi)關(guān)全部都斷開(kāi),那么電機(jī)慣性所產(chǎn)生的電勢(shì)就將無(wú)法形成一個(gè)完整的電路,這就使得電機(jī)將慣性轉(zhuǎn)動(dòng)較長(zhǎng)的時(shí)間。4.6.2PWM調(diào)速原理在本次設(shè)計(jì)中,直流電機(jī)提供了主要的動(dòng)力,而改變電機(jī)速度的最好方法是改變其電壓,使電機(jī)的功率變化,從而改變電機(jī)的速度。要想可控制地改變電壓比較麻煩,所以就產(chǎn)生了通過(guò)利用斷續(xù)供電的方式即脈寬調(diào)試方式改變供給電機(jī)的平均功率,這同樣也實(shí)現(xiàn)改變電機(jī)速度的目的。因?yàn)殚_(kāi)關(guān)電路比模擬電路在控制方面和電路設(shè)計(jì)方面都很方便,且具有較高的效率,所以基本取代了當(dāng)前改變電壓的方式。這種斷續(xù)供電的方式被我們稱為“PWM脈寬調(diào)制”。PWM改變功率的方式是通過(guò)改變波形的占空比,也就是當(dāng)前供電時(shí)間和斷電時(shí)間之比,而其幅值不變具體的實(shí)現(xiàn)是只改變其晶閘管的閉合時(shí)間,實(shí)現(xiàn)通過(guò)改變脈沖寬度來(lái)進(jìn)行電壓的調(diào)制,最終實(shí)現(xiàn)調(diào)速。采用PWM進(jìn)行電機(jī)調(diào)速控制,實(shí)際是保持加在電機(jī)電樞上的脈沖電壓頻率保持不變,調(diào)節(jié)脈沖的寬度。直流電機(jī)的一個(gè)慣性環(huán)節(jié),它電樞中的電流轉(zhuǎn)速均不能產(chǎn)生突變,如果將高的頻率的PWM加在直流電機(jī)上,其效果可以等效為施加了一個(gè)恒定的直流電壓。如圖4-9所示。這個(gè)電壓可以通過(guò)調(diào)節(jié)脈沖的寬度來(lái)改變[13]。圖4-9PWM等效圖示意圖PWM方式可以方便地實(shí)現(xiàn)調(diào)速功能。本設(shè)計(jì)的PWM信號(hào)由單片機(jī)提供,其使用非常方便。并且由于硬件電路上不復(fù)雜,驅(qū)動(dòng)電路的輸入端也可以不用進(jìn)行光耦合隔離,將單片機(jī)引腳與其直接相連即可。由于公式F–f=ma,其中F為驅(qū)動(dòng)力,f為阻力,在兩者相等的情況下,加速度才可能為零,速度才不會(huì)變化。但由于阻力f是無(wú)法確定的,因?yàn)樵诓煌碾姍C(jī)、不同的減速箱、不同的轉(zhuǎn)速都會(huì)使f產(chǎn)生變化,所以無(wú)法保證每次電機(jī)的阻力f相同,這就使得同樣的PWM得不到同樣的速度。此外,由PWM輸出的功率可分析出,由于電機(jī)的電流通常較大,其啟動(dòng)電流更是十分大,一般不采用穩(wěn)壓電路,直接采用電池進(jìn)行供電。但電池的在電電壓是隨電量消耗而減小的,且由于電池內(nèi)阻的因素,電池的電壓隨著消耗而減小。這就使得即便是同樣的PWM脈沖,由于其幅值的不同,導(dǎo)致輸出功率也會(huì)不相同,所以其產(chǎn)生的驅(qū)動(dòng)力F也就自然不同了,這也將導(dǎo)致電機(jī)的速度不同。影響直流電機(jī)轉(zhuǎn)速的原因還有一點(diǎn),這是由電機(jī)的原理決定,在電機(jī)的額定電壓下,電機(jī)的最快轉(zhuǎn)速就是在其的空載速度,也就是說(shuō),當(dāng)電機(jī)負(fù)載很輕時(shí),稍加驅(qū)動(dòng)功率就能使其達(dá)到了最快的速度,此時(shí)即使再提高PWM也無(wú)法繼續(xù)提高電機(jī)速度了,應(yīng)為PWM的改變并不會(huì)再次提升電壓,因此當(dāng)電機(jī)具有很輕的負(fù)載時(shí),PWM連改變速度的能力也大為減弱。所以,有時(shí)為了讓PWM改變速度的效果明顯些,還需刻意增加一些阻力。在利用電機(jī)驅(qū)動(dòng)小車(chē)前進(jìn)時(shí),小車(chē)的兩個(gè)直流電機(jī)都正轉(zhuǎn);在其后退時(shí),則其兩電機(jī)都反轉(zhuǎn);在其左轉(zhuǎn)前進(jìn)時(shí),則其左電機(jī)停轉(zhuǎn)而右電機(jī)正轉(zhuǎn);在其右轉(zhuǎn)前進(jìn)時(shí),則其右電機(jī)不轉(zhuǎn)而左電機(jī)正轉(zhuǎn);在其進(jìn)入減速區(qū)時(shí),可由單片機(jī)調(diào)制PWM的變頻實(shí)現(xiàn)調(diào)速,即通過(guò)軟件來(lái)改變輸出PWM脈沖波形的占空比,以實(shí)現(xiàn)調(diào)速。這些控制都是通過(guò)軟件編程來(lái)實(shí)現(xiàn)的。4.7光警示電路本光警示電路,由一個(gè)LED,一個(gè)限流電阻,一個(gè)上拉電阻組成。限流電阻可減小負(fù)載端的電流,實(shí)現(xiàn)保護(hù)作用。例如,在發(fā)光二極管的一端添加一個(gè)限流電阻可以有效減小流過(guò)發(fā)光二極管的電流,防止損壞LED燈。普通的發(fā)光二極管,工作電壓為1.8~2.2V,工作電流為10~30mA。故可根據(jù)U=IR計(jì)算出限流電阻的取值。上拉就是將不確定的信號(hào)通過(guò)一個(gè)電阻鉗位在高電平,可起到一個(gè)消除干擾的作用。利用LED作為警示元件,于在三個(gè)傳感器位置處設(shè)置。若遇到障礙,則點(diǎn)亮對(duì)應(yīng)位置的LED以示警告。如圖4-10光警示電路所示,電阻用于限流可以保護(hù)二極管不燒,也能調(diào)節(jié)亮度。圖4-10光警示電路4.8單片機(jī)復(fù)位電路單片機(jī)的復(fù)位是指使CPU和系統(tǒng)中的其他功能部件返回到一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作,例如復(fù)位后PC=0000H,使單片機(jī)重新從第一單元取指令。無(wú)論是在單片機(jī)上電時(shí),或者是發(fā)生故障后的情況下都要進(jìn)行復(fù)位操作。Mega16單片機(jī)復(fù)位的條件是:必須使RST引腳加上持續(xù)兩個(gè)機(jī)器周期的連續(xù)低電平。在RST引腳出現(xiàn)低電平后的第二個(gè)機(jī)器周期后立刻執(zhí)行復(fù)位操作。單片機(jī)的復(fù)位電路如圖4-11所示。在圖中R7為上拉電阻,可有效地防止外界干擾,不加的話,有可能會(huì)干擾到那個(gè)引腳,引起頻繁觸發(fā)中斷。在按下按鈕瞬間,RESET端的電位與GND相同,只要保證RESET為高電平的時(shí)間大于兩個(gè)機(jī)器周期,便能使單片機(jī)正常復(fù)位。除了上電復(fù)位外,有時(shí)還需要進(jìn)行手動(dòng)復(fù)位來(lái)排除故障。由于上電復(fù)位單片機(jī)已經(jīng)集成,本設(shè)計(jì)就只需設(shè)計(jì)利用按鍵進(jìn)行手動(dòng)復(fù)位的功能。而其設(shè)計(jì)比較簡(jiǎn)單,只需將復(fù)位端口經(jīng)上拉電阻和按鍵與電源GND接通即可實(shí)現(xiàn)。手動(dòng)復(fù)位電路見(jiàn)下圖。圖中S2、R7構(gòu)成了按鍵的復(fù)位電路。如果復(fù)位,只需按圖4-11中的S2鍵,此時(shí)在RESET端產(chǎn)生復(fù)位電平,持續(xù)兩個(gè)機(jī)器周期后單片機(jī)即可復(fù)位。圖4-11單片機(jī)復(fù)位電路4.9單片機(jī)時(shí)鐘震蕩電路本設(shè)計(jì)利用ATmage16單片機(jī)內(nèi)置RC震蕩電路作為8MHz時(shí)鐘源,標(biāo)定的單片機(jī)片內(nèi)提供了固定的1.0、2.0、4.0或8.0MHz的RC振蕩時(shí)鐘源。這些頻率都是在5V、25°C情況下的標(biāo)稱數(shù)值。這個(gè)時(shí)鐘可以用作系統(tǒng)時(shí)鐘,只要按照Table9對(duì)熔絲位CKSEL進(jìn)行配置即可。選擇這個(gè)時(shí)鐘(此時(shí)不能對(duì)CKOPT進(jìn)行編程)之后就無(wú)需配置外部晶振了。在單片機(jī)復(fù)位時(shí)硬件將設(shè)定的數(shù)值字節(jié)加載到OSCCAL寄存器上,自動(dòng)完成對(duì)RC振蕩器的設(shè)定。在5V,25°C和頻率為8.0MHz時(shí),這種標(biāo)定可以提供標(biāo)稱頻率±1%的精度,已足夠本設(shè)計(jì)的需求。內(nèi)部RC振蕩器頻率范圍見(jiàn)表4-1。表4-1內(nèi)部RC振蕩器頻率范圍5軟件設(shè)計(jì)本設(shè)計(jì)系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序﹑避障子程序、電機(jī)驅(qū)動(dòng)子程序﹑顯示子程序﹑測(cè)量距離子程序、光警示子程序構(gòu)成。主程序流程圖如圖5-1所示;系統(tǒng)軟件模塊圖如圖5-2所示。其中:避障中斷服務(wù)子程序完成對(duì)超聲波探測(cè)器產(chǎn)生的外部中斷進(jìn)行處理,如果超出預(yù)定的危險(xiǎn)距離就左轉(zhuǎn)進(jìn)行避障。圖5-1主程序流程圖圖5-2系統(tǒng)軟件模塊圖5.1主程序主函數(shù)包含初始化和對(duì)壁障函數(shù)的輪詢:intmain(void){ Machine_Init(); Csb_Init(); //超聲波初始化 _delay_ms(10); while(1) { Car_Void(); //輪詢實(shí)現(xiàn)壁障 } return1;}5.2避障子程序避障函數(shù)就是輪詢幾個(gè)傳感器的返值然后做出對(duì)應(yīng)的操作:voidCar_Void(void) { ucharult_scan=0; //這三變量分別為超聲波,左紅外,右紅外的狀態(tài)變量 ucharcontrol_flag=0,back_flag=0; Csb_Get(); //獲得超聲波測(cè)得的值 if(csb_data==0xff) ult_scan=1;//判斷超聲波是否檢測(cè)到障礙。 _delay_ms(60); //延時(shí)以消除超聲波干擾 if(!ult_scan)uled_led_clr; elseuled_led_set;//根據(jù)三探頭的狀態(tài)做出動(dòng)作判斷 if(!ult_scan&&linf_scan&&rinf_scan)control_flag=1; elseif(ult_scan&&!linf_scan&&rinf_scan)control_flag=2; elseif(!ult_scan&&!linf_scan&&rinf_scan)control_flag=2; elseif(ult_scan&&linf_scan&&!rinf_scan)control_flag=1; elseif(!ult_scan&&linf_scan&&!rinf_scan)control_flag=1; elseif(ult_scan&&!linf_scan&&!rinf_scan)control_flag=1; elseif(!ult_scan&&!linf_scan&&!rinf_scan)control_flag=1; elsecontrol_flag=0;}5.3電機(jī)驅(qū)動(dòng)子程序L298N通過(guò)改變對(duì)應(yīng)電平值的方式,驅(qū)動(dòng)小車(chē)的前后左右行駛:voidCar_Stop() //停止{ RIN1_clr;//右電機(jī)為低電平 RIN2_clr; LIN1_clr;//左電機(jī)為低電平 LIN2_clr;}voidCar_Straight(void) //前進(jìn){ RIN1_clr;//右電機(jī)為低電平 RIN2_set;//右電機(jī)為高電平 LIN1_clr;//左電機(jī)為低電平 LIN2_set;//左電機(jī)為高電平}voidCar_Turn_Right(void) //右轉(zhuǎn){ RIN1_clr; RIN2_set; LIN1_set; LIN2_clr;}voidCar_Turn_Left(void) //左轉(zhuǎn){ RIN1_set; RIN2_clr; LIN1_clr; LIN2_set;}控制電平有兩個(gè):RIN1和RIN2,其中一個(gè)高另一個(gè)低就是前進(jìn)或后退。5.4顯示子程序這里是初始的屏幕顯示,屏幕是16×2的顯示:
constuchartable[]="AvoidanceCar"; constuchartable2[]="Distance:-.--m";寫(xiě)指令是為了配置液晶的驅(qū)動(dòng)方式:voidWrite_Com(ucharcom) //LCD寫(xiě)指令{ _delay_ms(5); clr_rs; PORTC=com; _delay_ms(5); set_en; _delay_ms(5); clr_en;}寫(xiě)數(shù)據(jù)就是為了在屏幕上顯示對(duì)應(yīng)的東西:voidWrite_Data(uchardata) //LCD寫(xiě)數(shù)據(jù){ _delay_ms(1); set_rs; PORTC=data; _delay_ms(1); set_en; _delay_ms(1); clr_en;}包括對(duì)液晶的配置和屏幕的初始顯示,以下這個(gè)是寫(xiě)數(shù)據(jù)用的函數(shù),如果超聲波的值為0xff那么直接在顯示數(shù)據(jù)的位置全部顯示“-”,如果不是,則取對(duì)應(yīng)為轉(zhuǎn)換為字庫(kù)表中的索引值,然后寫(xiě)到對(duì)應(yīng)位置。voidSent_Lcd(uchardata) //LCD寫(xiě)入距離值{ if(data==0xff) { Write_Com(0xcb); Write_Data('-'); Write_Com(0xcd); Write_Data('-'); Write_Com(0xce); Write_Data('-'); } else { uchartemp[3]; //轉(zhuǎn)換成LCD能顯示的數(shù)值 temp[0]=data/100; temp[1]=data%100/10; temp[2]=data%10;//取對(duì)應(yīng)位的數(shù)字 Write_Com(0xcb); Write_Data(temp[0]+0x30); Write_Com(0xcd);//定義數(shù)據(jù)應(yīng)寫(xiě)的位置 Write_Data(temp[1]+0x30); Write_Com(0xce); Write_Data(temp[2]+0x30);//寫(xiě)數(shù)據(jù) }}初始化函數(shù):voidLcd_Init() //LCD初始化{ DDRA|=0xe0; DDRC=0xff; clr_rw; clr_en; Write_Com(0x38); _delay_ms(10); Write_Com(0x0C); _delay_ms(10); Write_Com(0x01); _delay_ms(10); Write_Com(0x80); _delay_ms(20); uchari; for(i=0;i<16;i++)Write_Data(table[i]); Write_Com(0xc0); for(i=0;i<16;i++)Write_Data(table2[i]);}5.5測(cè)量距離子程序值得獲取和轉(zhuǎn)換,轉(zhuǎn)換方法與定時(shí)器分頻值有關(guān):volatileucharcsb_flag=0;voidData_Change(void) //數(shù)值轉(zhuǎn)換{ unsignedinttemp; unsignedcharcsb_data; temp=TCNT1; //從定時(shí)器寄存器中取值 temp=temp×2.2; //轉(zhuǎn)換成距離 if(temp>=200) //閾值設(shè)置 { Sent_Lcd(0xff); csb_flag=0; } else { csb_data=temp; Sent_Lcd(csb_data); //LCD顯示 if(temp>=15||temp==0)csb_flag=0; elsecsb_flag=0xff; } TCNT1=0x0000;}voidCsb_Init(void) //超聲波初始化{ Lcd_Init();//是初始化液晶屏 DDRD&=~0x01; DDRD|=0x02;PORTD|=0x01;//對(duì)超聲波模塊接口的定義 TCCR1B|=0x05; //分頻器設(shè)置 TCNT1H=0x00; //高位寄存器計(jì)算公式:foc0=fclk/(2×N(1+OCR1)) TCNT1L=0x00; //地位寄存器}0x05也就是說(shuō)是0101,也就是1024分頻,本設(shè)計(jì)選用的是8MHz內(nèi)部RC振蕩器作為時(shí)鐘源,而1024分頻后就是8000000/1024=7812.5,每秒鐘震蕩次數(shù)是7812.5次,用1/7812.5=0.000128,得出每震蕩一次花時(shí)間0.000128秒,通過(guò)在啟動(dòng)超聲波的時(shí)候給計(jì)時(shí)器的計(jì)時(shí)寄存器清零,然后接到返回信號(hào)的時(shí)候暫停定時(shí)器就能知道中間一共震蕩了多少次。While(ju_ec);
然后進(jìn)入Data_Change();函數(shù)值轉(zhuǎn)換,temp=TCNT1; //從定時(shí)器寄存器中取值temp=temp×2.2; //轉(zhuǎn)換成距離temp存放計(jì)時(shí)器的值,然后乘以2.2,得到所花的時(shí)間,2.2的計(jì)算方法是:1/7812.5=每振一次花的時(shí)間,340=聲速,每振時(shí)×聲速/2=距離,這時(shí)得到的距離單位是米,然后化為cm:距離(米)×100,得到的結(jié)果約等于2.2。5.6光警示子程序當(dāng)避障模塊超聲波或者紅外線檢測(cè)到該方向有障礙物時(shí),對(duì)應(yīng)的光警示燈亮:if(!linf_scan)txt_led1_clr; //點(diǎn)亮狀態(tài)燈 elsetxt_led1_set; if(!rinf_scan)txt_led2_clr; elsetxt_led2_set; if(!ult_scan)txt_led3_clr; elsetxt_led3_set;6調(diào)試與仿真6.1調(diào)試仿真工具Proteus介紹Proteus不僅和其它EDA工具一樣具有原理布圖、PCB自動(dòng)或人工布線及電路仿真的功能,還具有互動(dòng)電路的仿真的功能。針對(duì)微處理器的應(yīng)用,Proteus能夠建立完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境,還可以通過(guò)直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí)調(diào)試,如有顯示及輸出,還能看到運(yùn)行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等。Proteus有30多個(gè)元件庫(kù),具有強(qiáng)大的原理圖繪制功能,可提供數(shù)字和模擬仿真,模擬交流和直流數(shù)千個(gè)組件等Proteus仿真儀器資源,如:示波器、邏輯分析儀和虛擬終端、SPI調(diào)試器、I2C調(diào)試器、信號(hào)發(fā)生器、圖形發(fā)生器的AC-DC、AC/DC電壓表、電流表等。理論上同一種儀器可以在一個(gè)電路中隨意的調(diào)用。不僅提供了軟件調(diào)試功能,還提供了豐富的外圍接口設(shè)備及其仿真設(shè)備。RAM,ROM,LCD,LED,鍵盤(pán),馬達(dá),AD/DA,部分SPI器件以及部分IIC器件。它接近實(shí)際調(diào)試,通過(guò)輸出的結(jié)果,我們可以的出較好的修改方案。提供了豐富的虛擬儀器,虛擬儀器在仿真過(guò)程中,可以用來(lái)測(cè)量外圍電路的特點(diǎn),培養(yǎng)我們的實(shí)際硬件調(diào)試能力。除了現(xiàn)實(shí)存在的儀器外,在Proteus也提供了一個(gè)圖形顯示功能,它的作用是示波器類似,可以以圖形的方式將線路上變化的信號(hào)實(shí)時(shí)地顯示出來(lái),但具有更多功能。在這些虛擬儀器具有理想的參數(shù)指標(biāo),如高輸入阻抗和低輸出阻抗。所有這些儀器的影響盡可能地減少測(cè)量的結(jié)果的影響。Proteus提供了豐富模擬測(cè)試信號(hào)和數(shù)字測(cè)試信號(hào)于電路測(cè)試中。基本ProteusVSM的電路分析:ProteusVSM虛擬系統(tǒng)仿真能夠仿真模擬電路、數(shù)字電路、模數(shù)混合電路,包括所有器件的基于微處理器設(shè)計(jì)的協(xié)同仿真。ProteusVSM中的整個(gè)電路分析是在ISIS原理圖設(shè)計(jì)模塊下延續(xù)下來(lái)的,原理圖中電路激勵(lì)、虛擬儀器、曲線圖及直接布置在線路上的探針一起出現(xiàn)在電路中,任何時(shí)候都可以通過(guò)仿真控制按鈕完成實(shí)時(shí)仿真。(1)激勵(lì)源屬于有源器件,為使用者提供激勵(lì)并允許對(duì)其參量進(jìn)行設(shè)置。(2)虛擬儀器是基于計(jì)算機(jī)的數(shù)字化測(cè)量測(cè)試儀器,具備數(shù)據(jù)采集、數(shù)據(jù)測(cè)試和分析、結(jié)果輸出顯示三大功能。(3)探針用于記錄鏈接網(wǎng)絡(luò)的狀態(tài)。ISIS提供了既可在模擬電路中使用,也可以在數(shù)字電路中使用的電壓探針;以及在模擬電路中記錄真實(shí)的電壓值,并且可顯示電流方向,而在數(shù)字電路中記錄邏輯電平及強(qiáng)度的電流探針。(4)圖表分析有自由縮放的功能,方便對(duì)工程一些細(xì)節(jié)上的問(wèn)題進(jìn)行分析。此外,交流小信號(hào)分析、噪聲分析和掃描參數(shù)的硬實(shí)時(shí)仿真分析等任務(wù),也可以用圖表分析來(lái)完成。放置在原理圖中不同類型的仿真圖,可以觀察到的電流、電壓信號(hào)所有方面的功能。(5)所有的仿真均需定義接地網(wǎng)絡(luò),用一個(gè)電壓的探頭來(lái)衡量沒(méi)有任何參考點(diǎn)的電路電壓是毫無(wú)意義的。其實(shí),電路中的所有器件都必須有對(duì)地的DC信道,從理論上講,真正的萬(wàn)用表可以使用兩個(gè)探針來(lái)測(cè)量電壓差,但仿真軟件在分析無(wú)參考地的電路時(shí)會(huì)遇到嚴(yán)重的數(shù)學(xué)困難。在ProteusPROSPICE包含該函數(shù)的錯(cuò)誤檢查,并且以警告的形式告訴用戶不滿足這一標(biāo)準(zhǔn)的電路網(wǎng)絡(luò)。出現(xiàn)這樣的警告時(shí),在大多數(shù)情況下仿真都會(huì)失敗??捎蔑@式或隱式方式為電路定義接地網(wǎng)絡(luò)。在仿真電路中放置不加標(biāo)注的接地端子或在導(dǎo)線上標(biāo)注GND標(biāo)簽可為電路定義顯示接地網(wǎng)絡(luò)。在Proteus中,給電源端子標(biāo)注VCC、VDD、VEE、+5V、-5V或是+10V、-10V等標(biāo)簽,可得到所需的電源。VSS默認(rèn)和GND相連VCC/VDD默認(rèn)為+5V,VEE默認(rèn)為-5V。標(biāo)準(zhǔn)模塊厙中TTL和CMOS邏輯器件、微處理器無(wú)需連接電源可進(jìn)行仿真。[14](6)交互式電路仿真交互式電路仿真是電路分析的一個(gè)最重要部分。通過(guò)在導(dǎo)入原理圖的期望的觀測(cè)點(diǎn)放置電流/電壓探針或虛擬儀器,再單擊“運(yùn)行”按鈕,即可觀測(cè)到電路的實(shí)時(shí)輸出。①仿真控制按鈕、運(yùn)行按鈕、步進(jìn)按鈕、暫停按鈕、和停止按鈕。②仿真設(shè)置元器件引腳邏輯狀態(tài),用不同顏色電路連線顯示相應(yīng)電壓,用箭頭顯示電流方向,設(shè)置幀頻及每幀方正時(shí)間。6.2硬件的制作與調(diào)試硬件的制作過(guò)程分幾部分完成,首先是解決車(chē)模的問(wèn)題,其次是要根據(jù)原理圖設(shè)計(jì)出PCB圖。在做小車(chē)硬件前,首先是把小車(chē)模型確定了。因?yàn)檐?chē)模的確定可以更加明確接下來(lái)做的板子的尺寸以及器件的布局、車(chē)身重量的考慮等。如圖6-1所示,車(chē)模制作需要的配件是:小車(chē)底盤(pán)1只,小車(chē)輪子2只,直流減速電機(jī)2只,測(cè)速碼盤(pán)2只,緊固件4只,萬(wàn)向輪1只,四節(jié)電池盒1只,裝配圖紙1張,螺絲螺帽若干。組裝小車(chē)模型是一件非常有意思的事情,首先是安裝長(zhǎng)角螺絲,然后安裝專用緊固件,長(zhǎng)腳螺絲和螺母可以把緊固件固定;第三部是安裝短腳螺絲,短腳螺絲和緊固件之間的空隙可以是電路板,這樣就可以把小車(chē)電機(jī)固定在小車(chē)底板上,把輪胎固定在電機(jī)上,車(chē)模就完成了。在研究安裝的過(guò)程中,也可以思考小車(chē)運(yùn)動(dòng)的原理,以及之后方案的確定。經(jīng)過(guò)測(cè)量,小車(chē)兩個(gè)輪子與輪子中心間距130mm;小車(chē)兩個(gè)輪子外側(cè)距離為150mm。小車(chē)車(chē)模應(yīng)注意后視小車(chē),小車(chē)平臺(tái)完全水平(萬(wàn)向輪與驅(qū)動(dòng)輪完全等高);電機(jī)在上電后是否正常工作等問(wèn)題,以及AVR單片機(jī)小系統(tǒng),L298N驅(qū)動(dòng),避障模塊如何與小車(chē)進(jìn)行配合。圖6-1小車(chē)模型底座圖Protel是課堂上學(xué)習(xí)過(guò)的一個(gè)比較實(shí)用的軟件。本課題就是利用Protel的功能更強(qiáng)大的版本Protel99SE來(lái)完成印刷電路板設(shè)計(jì)的。主要過(guò)程如下:第一,前期準(zhǔn)備。這包括查找以前老師發(fā)的元件庫(kù)以及在網(wǎng)上查看可以參考的相關(guān)原理圖?!肮び破涫?,必先利其器”,在進(jìn)行PCB設(shè)計(jì)之前必須先定好所作題目的制作方案,并且準(zhǔn)備好原理圖SCH的元件庫(kù)和PCB的封裝庫(kù)??梢杂肞rotel本身自帶的元件庫(kù),但一般情況下很難找到合適自己制作方案的,最好是自己根據(jù)所選器件的標(biāo)準(zhǔn)尺寸資料自己畫(huà)原件圖。原則上先畫(huà)PCB的封裝,再做SCH的元件圖。PCB的元器件封裝要求較高,它影響板子器件的安裝與排布;SCH的元件庫(kù)要求相對(duì)比較松,只要注意定義好管腳屬性以及與PCB元件的相對(duì)應(yīng)關(guān)系即可。并且注意標(biāo)準(zhǔn)庫(kù)中的隱藏管腳。設(shè)計(jì)好原理圖之后,就可以開(kāi)始設(shè)計(jì)PCB了。第二,PCB結(jié)構(gòu)設(shè)計(jì)。這一步是依照已經(jīng)確定的電路板尺寸、每個(gè)器件的尺寸以及各項(xiàng)機(jī)械定位,在PCB設(shè)計(jì)環(huán)境下繪制適合自己畢業(yè)設(shè)計(jì)的PCB板面,并按定位要求放置所需的接插件、裝配孔、按鍵/開(kāi)關(guān)、螺絲孔等。并對(duì)布線區(qū)域和非布線區(qū)域(如螺絲孔周?chē)啻蠓秶鷮儆诜遣季€區(qū)域)進(jìn)行充分考慮以及確定。第三,PCB布局。顧名思義,布局即是將元器件封裝圖進(jìn)行合理地排放。當(dāng)原理圖畫(huà)好后,就可以在原理圖的基礎(chǔ)上生成網(wǎng)絡(luò)表(Design→CreateNetlist),之后在PCB圖上導(dǎo)入網(wǎng)絡(luò)表(Design→LoadNets)。當(dāng)器件被排列上PCB設(shè)計(jì)環(huán)境后,各管腳之間提示飛線連接,然后就可以對(duì)器件進(jìn)行布局了。布局時(shí)應(yīng)注意設(shè)置格點(diǎn)大小和類型,光標(biāo)類型,布線參數(shù)等等。畫(huà)好PCB后打印PCB印制板圖,然后把PCB用高溫印到銅板上,然后拿銅板去腐蝕,當(dāng)銅板上只剩下電路圖后,刷洗掉上面的墨水,然后就拿板去打孔,打好孔后,把電路板油上松香,防止電路板上的銅氧化,最后在電路板上對(duì)著PCB圖焊接元器件進(jìn)行裝配。在安裝元件時(shí),一定要慎重,一般在安裝前要仔細(xì)檢測(cè)各個(gè)元件的好壞,這也是為下一步調(diào)試電路打好基礎(chǔ)。判斷所用到元件好壞以及管腳的極性,再用焊錫把元器件焊接好才算完成電路板的基本制作。焊接電路板時(shí)應(yīng)細(xì)心,要掌握好焊接要領(lǐng),才不至于造成虛焊,出現(xiàn)把不該連的兩線之間接上等錯(cuò)誤,焊接好后這樣板就做好了。即使在平時(shí)的學(xué)習(xí)中做過(guò)很多次板子,但還是有很多問(wèn)題值得注意如:畫(huà)原理圖的時(shí)候,因?yàn)榇中?,?huà)錯(cuò)了個(gè)別元器件的封裝,例如USB接口,并且由于剛開(kāi)始選擇方案考慮的不周到,做出的板子在調(diào)試過(guò)程中有很多的不足,最終要重做一塊板,不僅浪費(fèi)了時(shí)間也浪費(fèi)了錢(qián),所以以后在做電路板的時(shí)候,確定正確、周全的方案十分關(guān)鍵,最重要的是畫(huà)對(duì)原理圖,只有保證原理圖中每一個(gè)模塊正確,才會(huì)做板的時(shí)候減少不必要的麻煩;其次,是對(duì)原理圖進(jìn)行PCB的排布,這段過(guò)程也非常的重要,它決定著一塊電路板是否美觀,也影響著電路板的性能,如果PCB排布得好的話會(huì)減少線路的復(fù)雜度,使焊接時(shí)更容易,所以本設(shè)計(jì)選擇使用雙面板,不僅可以減少跳線,在檢查問(wèn)題時(shí)也相對(duì)方便一些;還有就是打孔應(yīng)該選用適當(dāng)?shù)拇蚩揍?,既不能太大,因?yàn)檫@樣會(huì)把焊盤(pán)給鉆沒(méi)了的,也不能太小,太小了會(huì)使元器件的管腳插不進(jìn)空里,這樣還要經(jīng)過(guò)自己動(dòng)手去把孔加大會(huì)浪費(fèi)自己的時(shí)間和精力,還有就是打孔時(shí)盡量一次性把孔打完,以免在焊接了以后發(fā)現(xiàn)還有孔沒(méi)有打,這時(shí)再去打孔會(huì)很難打的。打好孔后就在實(shí)驗(yàn)室焊接小車(chē)的線路板。在焊接過(guò)程中,感覺(jué)到即使是一個(gè)簡(jiǎn)單的電路,要想很輕松的焊好,也不是很容易的事情。6.3電路與程序調(diào)試過(guò)程6.3.1電路的仿真調(diào)試電路的仿真調(diào)試是用Proteus的仿真軟件實(shí)現(xiàn)的。如圖6-1所示,英國(guó)Labcenterelectronics公司開(kāi)發(fā)的仿真軟件Proteus,可以用來(lái)模擬一些器件,編程后可以直觀地看到效果。但是,器件基本都是理想器件,所以這個(gè)仿真軟件不適合做模擬電路。但仿真軟件的芯片已經(jīng)封裝成庫(kù),可以隨調(diào)隨用。雙擊單片機(jī)芯片能導(dǎo)入程序的Hex文件,給單片機(jī)導(dǎo)入程序后就能運(yùn)行仿真,看到效果。仿真可以驗(yàn)證電路和程序的正確性,是制板前應(yīng)該要做的一件事。根據(jù)仿真的結(jié)果,可隨時(shí)更改原理圖,判斷是硬件的錯(cuò)誤還是軟件的錯(cuò)誤,并及時(shí)更正錯(cuò)誤,減少開(kāi)發(fā)成本。圖6-1軟件仿真圖6.3.2電路的調(diào)試在進(jìn)行電路調(diào)試的過(guò)程中,最重要的是通過(guò)改變程序中PWM波來(lái)控制電機(jī)的速度,從而實(shí)現(xiàn)小車(chē)的運(yùn)行,在改變程序數(shù)據(jù)的時(shí)候要結(jié)合小車(chē)的運(yùn)行情況來(lái)進(jìn)行調(diào)節(jié),就像兩個(gè)電機(jī)的性能不一樣,潤(rùn)滑程度不一樣,就算給電機(jī)同樣的PWM波,電機(jī)也不一定能走直線,這就需要自己不斷的調(diào)試,改變數(shù)值先使電機(jī)可以走直線,然后再根據(jù)這個(gè)為基礎(chǔ)進(jìn)行改變PWM波從而實(shí)現(xiàn)電機(jī)的快轉(zhuǎn)和慢轉(zhuǎn),達(dá)到小車(chē)可以循跡和避障的功能,但在改變PWM波時(shí)首先要保證電機(jī)的速度不能太快,如果電機(jī)轉(zhuǎn)的太快可能導(dǎo)致傳感器還沒(méi)時(shí)間感應(yīng),數(shù)據(jù)還沒(méi)有傳到單片機(jī)進(jìn)行處理,小車(chē)就撞到障礙物了。小車(chē)總體調(diào)試出現(xiàn)的問(wèn)題及解決方案:(1)一開(kāi)始采用AT89S52單片機(jī)最小系統(tǒng)以及3個(gè)超聲波模塊作為單片機(jī)和傳感器。但是由于單片機(jī)頻繁進(jìn)入中斷,小車(chē)時(shí)常出現(xiàn)卡頓,效果十分不理想。通過(guò)查找網(wǎng)絡(luò)資料、閱讀相關(guān)文獻(xiàn),發(fā)現(xiàn)是PWM與超聲波模塊的驅(qū)動(dòng)平凡進(jìn)入中斷,進(jìn)而導(dǎo)致系統(tǒng)紊亂。(2)根據(jù)不斷地查找資料詢問(wèn)老師以及有經(jīng)驗(yàn)的同學(xué),決定選用性能更高的ATmega16單片機(jī),該單片機(jī)具有硬PWM的功能,可以不消耗CPU資源并產(chǎn)生可調(diào)的PWM。(3)對(duì)原來(lái)板子的器件進(jìn)行拆焊重利用,節(jié)約成本,提高效率。(4)制作AVR與驅(qū)動(dòng)模塊,安裝TKstdio編譯環(huán)境,TKstdio是基于GCCAVR編譯環(huán)境的一個(gè)編譯軟件;并且熟悉AVR單片機(jī)的特點(diǎn)。(5)利用ATmega16單片機(jī)做好程序的移植后,發(fā)現(xiàn)利用三個(gè)超聲波依舊有反應(yīng)慢的問(wèn)題。這原因在于,為了防止信號(hào)相互干擾超聲波信號(hào)的收發(fā)需要相互間隔,且為了消除上一次發(fā)出的超聲波影響,兩次測(cè)量時(shí)間應(yīng)為20ms,這就使小車(chē)的反應(yīng)變得非常遲鈍。通過(guò)詢問(wèn)老師,在老師的幫助下,得到更加好的修改意見(jiàn),改換成紅外以及超聲波的傳感器搭配。(6)更改方案后,發(fā)現(xiàn)系統(tǒng)運(yùn)行良好,開(kāi)始程序的測(cè)試,以及電路與程序的仿真。(7)小車(chē)的左輪、右輪分別通過(guò)電機(jī)驅(qū)動(dòng)來(lái)改變兩個(gè)電機(jī)的轉(zhuǎn)速以實(shí)現(xiàn)小車(chē)的前進(jìn)和避障轉(zhuǎn)向。兩個(gè)電機(jī)驅(qū)動(dòng)存在的差異性會(huì)導(dǎo)致兩個(gè)輪子轉(zhuǎn)速不相同,使得小車(chē)本應(yīng)該直線行駛的軌跡發(fā)生偏移。通過(guò)軟件的調(diào)試,兩電機(jī)的速度也最終幾乎趨于平等。(8)經(jīng)過(guò)驗(yàn)證,小車(chē)的避障距離如果過(guò)小,很有可能由于慣性的原因無(wú)法及時(shí)停止前進(jìn)進(jìn)入避障程序,而直接裝上障礙物,再執(zhí)行避障程序,這是我們所不希望看到的。而距離過(guò)長(zhǎng),雖有較長(zhǎng)的反應(yīng)時(shí)間,但這又需要很大的測(cè)試場(chǎng)地,同樣也不是我們所希望見(jiàn)到的。經(jīng)過(guò)多次測(cè)試,本設(shè)計(jì)將避障距離設(shè)置為40cm,這樣能實(shí)現(xiàn)很好的避障效果。(9)在一次小車(chē)行駛過(guò)程中,發(fā)現(xiàn)小車(chē)若在兩端都有障礙的時(shí)候,會(huì)出現(xiàn)不停左右轉(zhuǎn)的死循環(huán)。之后利用在出現(xiàn)轉(zhuǎn)向時(shí),短時(shí)間內(nèi)出現(xiàn)相反方向旋轉(zhuǎn)的話,立刻旋轉(zhuǎn)一定距離,以脫離卡點(diǎn)。(10)考慮了小范圍內(nèi)避障或者開(kāi)放環(huán)境下避障,適當(dāng)調(diào)節(jié)了傳感器對(duì)障礙物的判定距離,更好地進(jìn)行避障。(11)完成作品,并達(dá)到本畢業(yè)設(shè)計(jì)題目的基本要求。7結(jié)論本智能超聲波小車(chē)電路設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單,在硬件上采用了超聲波傳感器以及紅外線傳感器來(lái)測(cè)量小車(chē)距前方以及兩側(cè)障礙物的距離,顯示結(jié)果快速,準(zhǔn)確。調(diào)試方便,由于采用單電源供電使系統(tǒng)的穩(wěn)定性得到加強(qiáng);PWM技術(shù)的應(yīng)用解決了電動(dòng)機(jī)驅(qū)動(dòng)效率和電機(jī)速度控制的問(wèn)題;硬件電路不可拆卸保證了整版的穩(wěn)定性、整體性以及美觀性,當(dāng)然也可以外加電路模塊來(lái)實(shí)現(xiàn)更多的功能。在軟件上,系統(tǒng)反映快速靈活,充分利用了ATmega16最小單片機(jī)系統(tǒng)的資源,使智能小車(chē)完美的實(shí)現(xiàn)了迅速前進(jìn)、障礙檢測(cè)、距離測(cè)量、光警示、自動(dòng)避障等功能,達(dá)到本畢業(yè)設(shè)計(jì)題目的基本要求。經(jīng)過(guò)不斷的測(cè)試與調(diào)試,該智能小車(chē)設(shè)計(jì)方案正確、可行,各項(xiàng)指標(biāo)穩(wěn)定、可靠。雖然智能小車(chē)系統(tǒng)有很多優(yōu)點(diǎn),但在設(shè)計(jì)當(dāng)中也存在著一些不足。如本智能小車(chē)易受到環(huán)境中溫度的影響,原因是由于時(shí)間關(guān)系沒(méi)有添加溫度補(bǔ)償措施。另外小車(chē)避障方式單一,若通過(guò)舵機(jī)使超聲波模塊能夠左右180度轉(zhuǎn)動(dòng),那么便可以通過(guò)比較小車(chē)兩側(cè)的空間判斷大小來(lái)自由選擇避障方向,進(jìn)而實(shí)現(xiàn)更加智能化的避障方式。假如想同時(shí)滿足小車(chē)的行駛速度以及行駛距離的精度,當(dāng)離終點(diǎn)有一段距離時(shí),可以以減速的方式,并且在靠近障礙物時(shí)立即剎車(chē),為了能夠在預(yù)期點(diǎn)立刻停住,并進(jìn)行避障判斷,單片機(jī)控制車(chē)輪加一瞬間反轉(zhuǎn)來(lái)減低小車(chē)因?yàn)閼T性的沖力。但由于時(shí)間關(guān)系并沒(méi)有實(shí)現(xiàn)這些功能。在完成本設(shè)計(jì)功能實(shí)現(xiàn)的要求前提下,不僅充分考慮成本與外觀還有實(shí)用性之間的問(wèn)題,還在性能和價(jià)格之間作了比較好的平衡。通過(guò)細(xì)分了模塊要求,很快完成了從資料收集、電路圖設(shè)計(jì)、PCB布線制定、焊接到調(diào)試等一系列任務(wù),實(shí)現(xiàn)尋跡避障小車(chē)的功能,這次畢業(yè)設(shè)計(jì)總結(jié)了以前學(xué)習(xí)的理論知識(shí),鞏固了平時(shí)在課堂上、實(shí)驗(yàn)課、實(shí)訓(xùn)中的實(shí)踐能力,收獲很大。通過(guò)這次設(shè)計(jì),不僅提高了動(dòng)手能力,由于經(jīng)常在基地或者實(shí)驗(yàn)室焊接或者調(diào)試電路板,還經(jīng)過(guò)計(jì)算機(jī)編程提高了軟件方面的知識(shí)。通過(guò)上機(jī)編程把很多單片機(jī)以前不懂的內(nèi)容都弄懂了,就像單片機(jī)是怎么樣通過(guò)接口工作的,怎么樣通過(guò)程序來(lái)實(shí)現(xiàn)對(duì)單片機(jī)的控制而實(shí)現(xiàn)每個(gè)模塊的功能等。在此之前,單片機(jī)并不是我的長(zhǎng)項(xiàng),但是通過(guò)查找資料,復(fù)習(xí)課本,我在理論的基礎(chǔ)上更加了解了單片機(jī)的運(yùn)用,并能夠把他熟練的運(yùn)用到實(shí)際操作中去。經(jīng)過(guò)電路板的調(diào)試和編寫(xiě)程序,讓自己有了很大的提高,尤其動(dòng)手能力和思維能力,但在這個(gè)過(guò)程中也暴露了許多學(xué)習(xí)和習(xí)慣上的問(wèn)題,讓我深刻反思,我相信我以后會(huì)很注意這些問(wèn)題,并且不讓它再發(fā)生,查漏補(bǔ)缺為進(jìn)一步學(xué)習(xí)作更一步的提升。這次的畢設(shè)經(jīng)過(guò)反復(fù)重做板以及功能調(diào)試,雖然很累,但做好每一部分,功能得到實(shí)現(xiàn)的時(shí)候,就會(huì)覺(jué)得發(fā)自內(nèi)心的滿足,因?yàn)樽约阂呀?jīng)學(xué)會(huì)了很多,學(xué)會(huì)了鞏固知識(shí),學(xué)會(huì)了積累,學(xué)會(huì)了虛心向別人請(qǐng)教與學(xué)習(xí),學(xué)會(huì)了充分利用所學(xué)的知識(shí)并學(xué)以致用。參考文獻(xiàn)[1]張培仁傳感器原理、檢測(cè)及應(yīng)用[M].清華大學(xué)出版社.2012:117~148.[2]輝雄.智能電動(dòng)小車(chē)的設(shè)計(jì)[N].電子報(bào),2005-05-15(11)[3]李建法.超聲波測(cè)距的電路設(shè)計(jì)與單片機(jī)編程[N].安陽(yáng)師范學(xué)院學(xué)報(bào),2003:47~48[4]王晉.LCD1602資料及單片機(jī)對(duì)其驅(qū)動(dòng)[J].電子愛(ài)好者.2013:1~21[5]張克彥,趙昕.AVR單片機(jī)實(shí)用程序設(shè)計(jì)[M].北京航空航天大學(xué)出版社.2012:1~86[6]宋永冬.高精度超聲波測(cè)距系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù).2008,(15):137~139[7]胡漢才.高檔AVR單片機(jī)原理及應(yīng)用[M].清華大學(xué)出版社.2008:15~56[8]譚進(jìn)懷.超聲波語(yǔ)音測(cè)距系統(tǒng)在車(chē)輛避障中的應(yīng)用[J].微計(jì)算機(jī)信息.2008,(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)書(shū)審查意見(jiàn)
- 研究課題申報(bào)書(shū)要素
- 氣象軟課題項(xiàng)目申報(bào)書(shū)
- 綜合實(shí)踐課題申報(bào)書(shū)
- 原礦石采購(gòu)合同范本
- 保潔公司跨省經(jīng)營(yíng)合同范本
- 分店入股門(mén)店合同范例
- 教學(xué)成果培育課題申報(bào)書(shū)
- 醫(yī)院承包協(xié)議合同范本
- 《工業(yè)控制網(wǎng)絡(luò)及組態(tài)技術(shù)》教案
- 多重耐藥菌相關(guān)知識(shí)
- 2021年云南省中考地理試卷(附答案詳解)
- 物業(yè)管理工作流程圖全套2
- 防蠅防鼠防蟲(chóng)害情況記錄表
- 廣東省五年一貫制語(yǔ)文試卷
- 世界主要河流與湖泊(超好)
- 護(hù)理查房-股骨頸骨折護(hù)理查房
- 教程教科書(shū)i2analysts notebook8培訓(xùn)中文版
- 新教科版六年級(jí)科學(xué)下冊(cè)教學(xué)計(jì)劃
- 農(nóng)田灌溉水利工程項(xiàng)目可行性研究報(bào)告
評(píng)論
0/150
提交評(píng)論