![智能小車避障系統(tǒng)設(shè)計樣本_第1頁](http://file4.renrendoc.com/view/67e60ee84c51b16fee3a636322ea3a22/67e60ee84c51b16fee3a636322ea3a221.gif)
![智能小車避障系統(tǒng)設(shè)計樣本_第2頁](http://file4.renrendoc.com/view/67e60ee84c51b16fee3a636322ea3a22/67e60ee84c51b16fee3a636322ea3a222.gif)
![智能小車避障系統(tǒng)設(shè)計樣本_第3頁](http://file4.renrendoc.com/view/67e60ee84c51b16fee3a636322ea3a22/67e60ee84c51b16fee3a636322ea3a223.gif)
![智能小車避障系統(tǒng)設(shè)計樣本_第4頁](http://file4.renrendoc.com/view/67e60ee84c51b16fee3a636322ea3a22/67e60ee84c51b16fee3a636322ea3a224.gif)
![智能小車避障系統(tǒng)設(shè)計樣本_第5頁](http://file4.renrendoc.com/view/67e60ee84c51b16fee3a636322ea3a22/67e60ee84c51b16fee3a636322ea3a225.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請聯(lián)系改正或者刪除。畢業(yè)設(shè)計說明書設(shè)計題目:專業(yè):班級:學(xué)號:姓名:指導(dǎo)教師:二〇一五年十二月二日
目錄摘要 1第1章緒論 2第2章方案論證 32.1系統(tǒng)總體方案設(shè)計 32.2系統(tǒng)方案的選擇與比較 32.2.1控制模塊方案的選擇 32.2.2顯示模塊方案的選擇 42.2.3超聲波模塊方案的選擇 42.2.4驅(qū)動模塊方案的選擇 42.3系統(tǒng)總體方案論證 5第3章硬件電路設(shè)計 63.1整機設(shè)計 63.1.1整機系統(tǒng) 63.1.2避障系統(tǒng)工作模式 63.2各功能模塊硬件電路設(shè)計 83.2.1單片機最小系統(tǒng) 83.2.2液晶顯示電路 123.2.3驅(qū)動電路 183.2.6超聲波測距避障電路 21第4章系統(tǒng)軟件設(shè)計 234.1主程序流程 234.2主要子程序流程 234.2.1液晶顯示子程序流程 244.2.2超聲波子程序流程 244.2.3避障子程序流程圖 264.3軟件調(diào)試 26第5章系統(tǒng)制作與調(diào)試 285.1硬件制作 285.1.1AltiumDesigner14軟件 285.1.2PCB的設(shè)計與制作 295.2硬件電路的安裝與焊接 315.3電腦端的ISP控制軟件 325.4實物安裝與調(diào)試 33結(jié)論 36參考文獻 37附錄1系統(tǒng)各部分設(shè)計原理圖 38附錄2系統(tǒng)各部分設(shè)計PCB板 40附錄3元件清單表 41附錄4源程序 43摘要系統(tǒng)以MCS-51單片機為控制核心,完成對系統(tǒng)各個子模塊的控制工作,從而保證各模塊正常有序的完成任務(wù);電源模塊負責(zé)為整個系統(tǒng)供電,提供所需的電壓;采用超聲波模塊對障礙物進行探測和距離測定;顯示模塊負責(zé)顯示小車距離障礙物的距離和設(shè)計者姓名;語音模塊負責(zé)對障礙物距離進行語音提示;紅外對管模塊負責(zé)探測地面黑白線,保證小車按預(yù)定路線行駛;電機驅(qū)動模塊負責(zé)小車的運行,其中小車驅(qū)動由L298N驅(qū)動電路完成,速度由單片機輸出的PWM波控制。同時,設(shè)計制作的實物功能齊全,美觀大方。關(guān)鍵詞避障;超聲波;單片機
第1章緒論近年來,隨著電子測量技術(shù)的發(fā)展,運用超聲波做出精確測量已成可能。隨著經(jīng)濟發(fā)展,電子測量技術(shù)應(yīng)用越來越廣泛,而超聲波測量因其測量精確度高,成本低,性能穩(wěn)定而備受青睞。超聲波是指頻率在20kHz以上的聲波,它屬于機械波的范疇。超聲波也遵循一般機械波在彈性介質(zhì)中的傳播規(guī)律,如在介質(zhì)的分界面處發(fā)生反射和折射現(xiàn)象,在進入介質(zhì)后被介質(zhì)吸收而發(fā)生衰減等。正是因為具有這些性質(zhì),使得超聲波能夠用于距離的測量中。隨著科技水平的不斷提高,超聲波測距技術(shù)被廣泛應(yīng)用于人們?nèi)粘9ぷ骱蜕钪?。一般的超聲波測距儀可用于固定物體物位或液位的測量,適用于建筑物內(nèi)部、液位高度的測量等。由于超聲測距是一種非接觸檢測技術(shù),不受光線、被測對象顏色等的影響,較其它儀器更衛(wèi)生,更耐潮濕、粉塵、高溫、腐蝕氣體等惡劣環(huán)境,具有少維護、不污染、高可靠、長壽命等特點。因此可廣泛應(yīng)用于造紙業(yè)、礦業(yè)、電廠、化工業(yè)、特殊水處理、污水處理廠、農(nóng)業(yè)用水、環(huán)保檢測、食品(酒業(yè)、飲料業(yè)、添加劑、食用油、奶制品)、防汛、水文、明渠、空間定位、公路限高等行業(yè)中??稍诓煌h(huán)境中進行距離準(zhǔn)確度在線標(biāo)定,可直接用于水、酒、糖、飲料等液位控制,可進行差值設(shè)定,直接顯示各種液位罐的液位、料位高度。因此,超聲測距在特殊環(huán)境下有較廣泛的應(yīng)用。利用超聲波檢測往往比較迅速、方便、計算簡單、易于實現(xiàn)實時控制,而且在測量精度方面能達到工業(yè)實用的指標(biāo)要求,因此為了使移動機器人能夠自動躲避障礙物行走,就必須裝備測距系統(tǒng),以使其及時獲取距障礙物的位置信息(距離和方向)。因此超聲波測距在移動機器人的研究上得到了廣泛的應(yīng)用。同時由于超聲波測距系統(tǒng)具有以上的這些優(yōu)點,因此在汽車倒車?yán)走_的研制方面也得到了廣泛的應(yīng)用。超聲波測距電路能夠由傳統(tǒng)的模擬或者數(shù)字電路構(gòu)建,可是基于這些傳統(tǒng)電路構(gòu)建的系統(tǒng)往往可靠性差,調(diào)試?yán)щy,可擴展性差,因此基于單片機的超聲波測距系統(tǒng)被廣泛的應(yīng)用。經(jīng)過簡單的外圍電路發(fā)生和接收超聲波,單片機經(jīng)過采樣獲取到超聲波的傳播時間,用軟件來計算出距離,而且能夠采集環(huán)境溫度進行測距補償,其測量電路小巧,精度高,反映速度快,可靠性好。
第2章方案論證2.1系統(tǒng)總體方案設(shè)計根據(jù)設(shè)計任務(wù)要求,可將此系統(tǒng)劃分為四個部分,第一個部分為單片機控制模塊,它由STC89C52RC單片機、單片機最小系統(tǒng)、串口通信電路和相應(yīng)輔助電路組成,并主要負責(zé)各個子模塊的控制工作,從而保證各自模塊正常有序的完成各自任務(wù);第二個部分為驅(qū)動模塊,它的主要作用是驅(qū)動小車直流電機,使小車運動。第三個部分為顯示模塊,它主要用于顯示小車距離障礙物的距離等信息。第四個部分為超聲波傳感器,她主要用于對小車運行前方的障礙物進行探測和對障礙物距離進行判斷。其系統(tǒng)結(jié)構(gòu)如圖2-1所示。主主控系統(tǒng)LCD液晶顯示模塊驅(qū)動模塊超聲波模塊圖2-1系統(tǒng)總框圖2.2系統(tǒng)方案的選擇與比較2.2.1控制模塊方案的選擇第一種方案:選用數(shù)字邏輯電路平臺,整個超聲波測距避障的控制系統(tǒng)由計數(shù)器、譯碼器和555定時器等數(shù)字芯片組成。其電路具有邏輯結(jié)構(gòu)簡單、精確控制等優(yōu)點,但也有功能單一、不易調(diào)試等缺點。第二種方案:選用單片機平臺,整個超聲波測距避障控制系統(tǒng)由MCS-51單片機最小系統(tǒng)作為主控制器。同時,STC89C52RC單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點。方案比較:雖然采用數(shù)字邏輯電路平臺能夠?qū)崿F(xiàn)超聲波測距避障,電路結(jié)構(gòu)簡單,但整個系統(tǒng)的功能單一。為了高質(zhì)量完成復(fù)雜的設(shè)計要求,此系統(tǒng)采用第二種方案。2.2.2顯示模塊方案的選擇第一種方案:采用由LED彩燈、七段LED數(shù)碼管組成的顯示方案,但其只能顯示有限的指示信號和數(shù)碼字符,無法達到設(shè)計要求。第二種方案:采用由1602LCD液晶顯示器組成的顯示方案,該模塊功能強大,可方便的顯示各種英文字符等內(nèi)容。方案比較:采用第一種方案不能很好的達到設(shè)計要求,數(shù)碼管只能顯示字碼,不能顯示字母;而采用第二種方案能充分利用1602LCD液晶顯示器顯示障礙物距離等信息。故選用第二種方案。2.2.3超聲波模塊方案的選擇第一種方案:采用US-100超聲波模塊,US-100超聲波測距模塊可實現(xiàn)2cm~4.5m的非接觸測距功能、擁有2.4~5.5V的寬電壓輸入范圍、靜態(tài)功耗低于2mA,自帶溫度傳感器對測距結(jié)果進行校正、同時具有GPIO、串口等多種通信方式、內(nèi)帶看門狗、工作穩(wěn)定可靠。第二種方案:采用HY-SRF05超聲波模塊,HY-SRF05超聲波測距模塊可提供2cm~450cm的非接觸距離感測功能,測距精度可達3mm,模塊包括超聲波發(fā)射器、接收器和控制電路。方案比較:由于該系統(tǒng)的超聲波模塊主要用于對小車運行前方障礙物的探測及障礙物距離的探測,故對功能要求不高。經(jīng)過比較,故此方案選用第二種方案。2.2.4驅(qū)動模塊方案的選擇第一種方案:采用由多個三極管和續(xù)流二極管組成的雙H橋驅(qū)動電路,該結(jié)構(gòu)原理簡單,但結(jié)構(gòu)復(fù)雜且驅(qū)動電流過小。第二種方案:采用以L298N為核心的集成驅(qū)動電路,該方案結(jié)構(gòu)簡單,且驅(qū)動電流大。方案比較:采用第一種方案時驅(qū)動電流不足,可能會出現(xiàn)小車運行緩慢,嚴(yán)重時甚至?xí)龤龢O管;第二種方案驅(qū)動電流大,足以保證小車的運行,且體積小、電路結(jié)構(gòu)簡單。故此設(shè)計選用第二種方案。2.3系統(tǒng)總體方案論證系統(tǒng)系統(tǒng)設(shè)計方框總圖如圖2-2所示。STCSTC89C52RC最小系統(tǒng)1602LCD顯示模塊L298N驅(qū)動模塊SRF05超聲波模塊圖2-2系統(tǒng)設(shè)計方框總圖經(jīng)上述對各模塊的方案選擇與論證,此設(shè)計的超聲波測距避障系統(tǒng)主要以一片MCS-51系列單片機為控制核心,STC89C52RC單片機用作超聲波測距避障系統(tǒng)主控芯片;以SRF05超聲波傳感器作為障礙物測距傳感器;以1602LCD液晶顯示器作為障礙物距離的顯示;以L298N驅(qū)動模塊作為小車運動的驅(qū)動部分。
第3章硬件電路設(shè)計硬件電路是整個系統(tǒng)的核心基礎(chǔ),需要全面考慮系統(tǒng)運行的各個狀態(tài)。這里,除了要實現(xiàn)整個超聲波測距避障系統(tǒng)的基本功能以外,還需考慮以下幾個因素:①系統(tǒng)的穩(wěn)定度和性能指標(biāo);②元器件的通用性和易購性;③系統(tǒng)的可擴展性。因此,硬件電路的設(shè)計至關(guān)重要,現(xiàn)對各功能模塊進行深度的分析與探討。3.1整機設(shè)計3.1.1整機系統(tǒng)系統(tǒng)主要以一片MCS-51單片機為控制核心,采用模塊化設(shè)計,完成整個循跡避障系統(tǒng)。其具體分可為以下七個功能模塊:單片機控制模塊、超聲波模塊、循跡模塊、顯示模塊、語音提示模塊和驅(qū)動模塊。1.單片機最小系統(tǒng)作為整個硬件電路的核心電路,它既是協(xié)調(diào)各個模塊使之正常有序作的控制器,也是計算系統(tǒng)運行過程中數(shù)據(jù)參數(shù)的處理器。它由單片機、時鐘電路和復(fù)位電路三大部分組成。2.障礙物的探測和障礙物距離的測定采用SRF05超聲波模塊,分別探測小車前、左、右的障礙物。3.采用1602LCD液晶顯示模塊顯示障礙物距離,運用軟件控制其分別顯示小車前方、左側(cè)和右側(cè)的障礙物距離。4.驅(qū)動電路模塊采用L298N集成驅(qū)動,它將驅(qū)動直流電機來帶動小車按預(yù)定路線行駛。3.1.2避障系統(tǒng)工作模式根據(jù)設(shè)計要求及實際應(yīng)用規(guī)則,小車需多種情況下避障,其避障模式就會有多種,需要根據(jù)不同的障礙情況作不同的規(guī)避動作。在此舉兩個最常見的類型。一種是小車正面有障礙物的情況,另一種是小車側(cè)面有障礙物的情況。當(dāng)小車正面有障礙物障時,單片機檢測到前方障礙物與小車之間的距離小于設(shè)定距離時,開始避障,此時單片機判斷在小車左右方向障礙物離小車的距離分別為多大,然后根據(jù)兩邊距離大小選擇與障礙物距離大的一邊轉(zhuǎn)向行駛。當(dāng)檢測到障礙物距離不再低于設(shè)定距離時,小車避障完畢恢復(fù)直線行駛。其運行圖如圖3-1.障礙物小車障礙物小車圖3-1小車正面避障運行圖當(dāng)小車側(cè)面有障礙物時,單片機檢測到側(cè)面障礙物與小車之間距離小于設(shè)定的距離時,運行側(cè)面避障程序,向與障礙物方向相反的方向轉(zhuǎn)向,直到側(cè)面障礙與小車距離大于設(shè)定的距離時恢復(fù)直線行駛。運行圖如圖3-2所示。圖3-2小車側(cè)面避障運行狀態(tài)3.2各功能模塊硬件電路設(shè)計3.2.1單片機最小系統(tǒng)單片微機(Single-ChipMicrocomputer)簡稱為單片機。它在一塊芯片上集成中央處理單元CPU、隨機存儲器RAM、只讀存儲器ROM、定時/計數(shù)和多功能輸入/輸出I/O口,如并行口I/O、串行口I/O和轉(zhuǎn)換A/D等。MCS-51系列單片機在中國得到了廣泛的應(yīng)用,是單片機的主流系列,軟硬件應(yīng)用設(shè)計資料豐富齊全。為了提高指令的執(zhí)行速度和效率,采用了面向控制的結(jié)構(gòu)和指令系統(tǒng)的獨立CPU。此設(shè)計主要采用STC89C52RC單片機作為系統(tǒng)的主控制芯片,這是因為它是當(dāng)前應(yīng)用比較廣泛的MCS-51系列兼容型單片機?,F(xiàn)將STC89C52RC單片機的特點介紹如下:1.增強型6時鐘/機器周期,12時鐘/機器周期8051CPU。2.工作電壓:3.4V~5.5V。3.工作頻率范圍:0~40MHz,相當(dāng)于普通8051的0~80MHz,實際工作頻率可達48MHz。4.用戶應(yīng)用程序空間8K字節(jié)。5.片上集成1280字節(jié)/512字節(jié)RAM。6.通用I/O口(32/36個),復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口)。P0口開漏輸出,作為總線擴展用時,不用加上拉電阻,但作為I/O口用時,則需加上拉電阻。7.ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器/仿真器可經(jīng)過串口(P3.0/P3.1)直接下載用戶程序,8K程序3秒即可完成一片ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器/仿真器可經(jīng)過串口(P3.0/P3.1)直接下載用戶程序,8K程序3秒即可完成一片。8.內(nèi)置EEPROM功能和看門狗功能。9.共3個16位定時器/計數(shù)器,其中定時器0還能夠當(dāng)成2個8位定時器使用。10.外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒。11.通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個UART。12.工作溫度范圍:0~75℃。STC89C52RC單片機最小系統(tǒng)的基本工作電路包括電源電路、時鐘電路和復(fù)位電路。其組成方框圖如圖3-3所示:單單片機電源電路時鐘電路復(fù)位電路圖3-3單片機最小系統(tǒng)組成方框圖1.電源電路電源電路模塊為單片機最小系統(tǒng)和其它功能模塊提供標(biāo)準(zhǔn)的+5V電源電壓。2.時鐘電路單片機的時鐘信號為單片機芯片內(nèi)部的各種操作提供時間基準(zhǔn),時鐘電路為單片機產(chǎn)生時鐘脈沖序列。作為單片機工作的時間基準(zhǔn),典型的晶體振蕩頻率為12MHz。MCS-51系列單片的時鐘信號能夠由兩種方式產(chǎn)生:一種為內(nèi)部時鐘方式,利用芯片內(nèi)部的振蕩電路;另一種為外部時鐘方式。其兩種電路如圖3-4所示。(a)內(nèi)部時鐘方式(b)外部時鐘方式圖3-4單片機時鐘信號示意圖3.復(fù)位電路單片機復(fù)位是使CPU和系統(tǒng)中的其它功能部件都恢復(fù)到一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。當(dāng)在MCS-51系列單片的RST引腳處引入高電平并保持2個機器周期,單片機內(nèi)部就執(zhí)行復(fù)位操作。單片機常見的復(fù)位電路有兩種基本形式:一種是上自動電復(fù)位,另一種是手動復(fù)位。其兩種電路方式如圖3-5(a)、(b)所示。在此設(shè)計中我們采用手動復(fù)位方式。(a)上電自動復(fù)位(b)手動復(fù)位圖3-5單片機復(fù)位電路示意圖由于STC89C52RC單片機芯片內(nèi)有時鐘振蕩電路,因此此系統(tǒng)單片機均采用內(nèi)部時鐘方式。只需在單片機的XTAL1和XTAL2引腳外接石英晶體和微調(diào)電容,就構(gòu)成了自激振蕩器并在單片機內(nèi)部產(chǎn)生時鐘信號脈沖信號。同時,也采用手動復(fù)位電路。其具體電路設(shè)計如圖3-6所示。在此圖中,C1、C2電容的作用的是穩(wěn)定頻率和快速起振,其值為5~30pF,在此選擇30pF;晶振X1的振蕩頻率范圍在1.2~12MHz之間選擇,在此選擇12MHz。圖3-6單片機最小系統(tǒng)電路圖EA/VPEA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD1089C52圖3-7單片機引腳圖單片機的引腳說明:89C52系列單片機采用40Pin封裝的雙列直接DIP結(jié)構(gòu),下圖是它們的引腳配置,40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復(fù)用。其引腳排列如圖3-7。控制引腳介紹:1.ALE:系統(tǒng)擴展時,P0口是八位數(shù)據(jù)線和低八位地址先復(fù)用引腳,ALE用于把P0口輸出的低八位地址鎖存起來,以實現(xiàn)低八位地址和數(shù)據(jù)的隔離。2.PSEN;低電平有效時,可實現(xiàn)對外部ROM單元的讀操作。3.EA:當(dāng)EA信號為低電平時,對ROM的讀操作限制在外部程序存儲器;而當(dāng)EA為高電平時,對ROM的讀操作是從內(nèi)部程序存儲器開始的,并可延至外部程序存儲器。4.RST:當(dāng)輸入的復(fù)位信號延續(xù)兩個機器周期以上的高電平時即為有效,用以完成單片機的復(fù)位初始化操作。5.XTAL和XTAL2:外接晶振引線端。并行I/O端口介紹:P0端口[P0.0-P0.7]P0是一個8位漏極開路型雙向I/O端口,端口置1(對端口寫1)時作高阻抗輸入端。作為輸出口時能驅(qū)動8個TTL。P1端口[P1.0-P1.7]P1是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時,接收低8位地址信息。P2端口[P2.0-P2.7]P2是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。對內(nèi)部Flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數(shù)據(jù)存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數(shù)據(jù)存儲器時其引腳上的內(nèi)容在此期間不會改變。P3端口[P3.0-P3.7]P2是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口。輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。除此之外P3端口還用于一些專門功能,具體請看下表3-1。3-1P3引腳的第二功能說明P3引腳兼用功能P3.0串行通訊輸入(RXD)P3.1串行通訊輸出(TXD)P3.2外部中斷0申請(INT0)P3.3外部中斷1申請(INT1)P3.4定時器/計數(shù)器0的外部輸入(T0)P3.5定時器/計數(shù)器1的外部輸入(T1)P3.6外部數(shù)據(jù)存儲器寫選通WRP3.7外部數(shù)據(jù)存儲器寫選通RD3.2.2液晶顯示電路在此設(shè)計中,選用1602LCD液晶模塊顯示三個方向的障礙物距離。1.1602LCD液晶顯示器介紹液晶顯示器(LCD)的主要原理是以電流刺激液晶分子產(chǎn)生點、線、面并配合背部燈管構(gòu)成畫面。液晶體積小、功耗低、顯示操作簡單。此設(shè)計選用1602LCD液晶顯示器。其外形如圖3-7所示。圖3-71602LCD實物圖現(xiàn)將其主要技術(shù)參數(shù)和顯示特性如下:1.電源:VDD為+4.5V~+5.5V;2.顯示內(nèi)容:16*2字符;3.工作電流:2.0MA(5.0V);4.顯示顏色:藍屏;5.模塊最佳工作電壓:5.0V;6.顯示角度:6:00鐘直視;7.與MCU接口:8位并口;8.配置LED背光;9.多種軟件功能:光標(biāo)顯示、畫面移位、自定義字符、睡眠模式等。其基本操作時序如圖3-8所示。其基本時序如表3-2所示。其讀寫操作如圖3-9所示。其內(nèi)存地址如圖3-10所示。其控制指令集如表3-3所示。其控制接口時序如圖3-11所示。其初始化過程如下所示。圖3-81602LCD基本操作時序表3-21602LCD時序參數(shù)圖3-91602LCD讀寫操作圖3-101602LCD內(nèi)存地址表3-31602LCD控制指令集其初始化過程(復(fù)位過程):(1)延時15MS(2)寫指令38H(不檢測忙信號)(3)延時5MS(4)寫指令38H(不檢測忙信號)(5)延時5MS(6)寫指令38H(不檢測忙信號)(7)(以后每次寫指令、讀/寫數(shù)據(jù)之前均需檢測忙信號)(8)寫指令38H:顯示模式設(shè)置(9)寫指令08H:顯示關(guān)閉(10)寫指令01H:顯示清屏(11)寫指令06H:顯示光標(biāo)移到設(shè)置(12)寫指令0CH:顯示開關(guān)光標(biāo)設(shè)置圖3-111602LCD控制接口時序圖2.液晶顯示電路設(shè)計若要用單片機控制1602LCD液晶顯示模塊正常的顯示字符、圖形和動畫,就必須了解此液晶顯示模塊的各引腳定義和功能,其引腳功能介紹如表3-4所示。其基本外形尺寸如圖3-12所示。圖3-12LCD1602外觀圖表3-41602LCD液晶引腳功能介紹在此設(shè)計中采用的1602LCD為標(biāo)準(zhǔn)的液晶顯示器件。其典型的應(yīng)用電路如圖所示。圖3-13液晶顯示模塊典型應(yīng)用原理圖此設(shè)計分別采用一塊TC1602LCD液晶顯示模塊顯示障礙物距離和學(xué)號。TC1602顯示的容量為2行16個字。液晶顯示屏有微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧、使用方便等諸多優(yōu)點,與數(shù)碼管相比,顯得更專業(yè)、美觀。使用時,可將P0與LCD的數(shù)據(jù)線相連,P2口與LCD的控制線相連,如圖所示。圖3-141602LCD液晶顯示硬件電路圖3.2.3驅(qū)動電路在此設(shè)計中,小車使用的是直流電機。從單片機輸出的信號功率很弱,即使在沒有其它外在負載時也無法帶動電機,因此在實際電路中我們加入了電機驅(qū)動芯片提高輸入電機信號的功率,從而能夠根據(jù)需要控制電機轉(zhuǎn)動。本設(shè)計中電機驅(qū)動采用L298集成H橋芯片如圖3-17。L298中有兩套H橋電路,剛好能夠控制兩個電機。它的使能端能夠外接高低電平,也能夠利用單片機進行軟件控制,極大地滿足各種復(fù)雜電路需要。該芯片的主要特點是:工作電壓高,最高工作電壓可達46V;輸出電流大,瞬間峰值電流可達3A,持續(xù)工作電流為2A;內(nèi)含兩個H橋的高電壓大電流全橋式驅(qū)動器,能夠用來驅(qū)動直流電動機和步進電機,繼電器,線圈等感性負載;采用標(biāo)準(zhǔn)邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端,是內(nèi)部邏輯電路部分在低電壓下工作;能夠外接檢測電阻,將變化量反饋給控制電路。引腳如功能如表3-5所示。圖3-17L298N引腳圖L298N可接受標(biāo)準(zhǔn)TTL邏輯電平信號VSS,VSS可接4.5~7V電壓。4腳VS接電源電壓,VS電壓范圍VIH為+2.5~46V。輸出電流可達2.5A,可驅(qū)動電感性負載。1腳和15腳下管的發(fā)射極分別單獨引出以便接入電流采樣電阻,形成電流傳感信號。L298N可驅(qū)動2個電動機,OUT1、OUT2和OUT3、OUT4之間可分別接電動機,此設(shè)計選用驅(qū)動兩臺電動機。5、7、10、12腳接輸入控制電平,控制電機的正反轉(zhuǎn)。ENA、ENB接控制使能端,控制電機的停轉(zhuǎn)。本設(shè)計采用高電壓,大電流的L298N全橋驅(qū)動芯片,其外圍電路設(shè)計如圖3-18所示,它響應(yīng)頻率高,一片L298N能夠分別控制兩個直流電機。兩個電機的四個正方向信號和兩個PWM信號經(jīng)L298N后能夠很好的控制電機的正反轉(zhuǎn)和較大范圍的控制電機電壓。表3-5L298N引腳編號與功能引腳編號名稱功能1電流傳感器A在該引腳和地之間接小阻值電阻可用來檢測電流2輸出引腳1內(nèi)置驅(qū)動器A的輸出端1,接至電機A3輸出引腳2內(nèi)置驅(qū)動器A的輸出端2,接至電機A4電機電源端電機供電輸入端,電壓可達46V5輸入引腳1內(nèi)置驅(qū)動器A的邏輯控制輸入端16使能端A內(nèi)置驅(qū)動器A的使能端7輸入引腳2內(nèi)置驅(qū)動器A的邏輯控制輸入端28邏輯地邏輯地9邏輯電源端邏輯控制電路的電源輸入端為5V10輸入引腳3內(nèi)置驅(qū)動器B的邏輯控制輸入端111使能端B內(nèi)置驅(qū)動器B的使能端12輸入引腳4內(nèi)置驅(qū)動器B的邏輯控制輸入端213輸出引腳3內(nèi)置驅(qū)動器B的輸出端1,接至電機B14輸出引腳4內(nèi)置驅(qū)動器B的輸出端2,接至電機B15電流傳感器B在該引腳和地之間接小阻值電阻可用來檢測電流表3-6L298N對直流電機控制的邏輯功能表輸入CD輸出HHL正轉(zhuǎn)HLH反轉(zhuǎn)L**無輸出,不工作說明:表3-6為L298N的邏輯控制表,其中C、D分別為IN1、IN2或IN3、IN4;L為低電平,H為高電平,*為不論是低電平還是高電平。如圖3-18所示,本設(shè)計中L298NOUT1、OUT2和OUT3、OUT4之間各接一個小直流電動機。VSS9腳接入經(jīng)過穩(wěn)壓后的+5V,VS4腳直接接+9V電源。1、5、8腳都接地。5、7、10、12腳接輸入控制信號(控制信號從單片機P0.0、P0.1、P0.3、P0.4發(fā)出,經(jīng)光電耦合器TLP521-4后接L298N的5、7、10、12腳輸入),控制電機的正反轉(zhuǎn)。圖3-18電機電路圖單片機的兩個端口(P0.2、P0.5)給出PWM信號直接與ENA、ENB相連控制使能端,從而達到控制電機直行、加減速、倒退等動作。在該模塊設(shè)計中,我們采用了小周期信號,經(jīng)過改變小車的占空比對小車的速度進行調(diào)節(jié)。將小車速度分為20個檔,這樣就能夠讓小車在調(diào)試過程中得到一個合理的速度,使其行駛在對穩(wěn)定的狀態(tài)。3.2.6超聲波測距避障電路超聲波電路原理圖如圖3-20所示。發(fā)射電路主要由低噪聲JFET輸入的運算放大器和超聲波發(fā)射換能器R構(gòu)成,單片機P1.0端口輸出的40kHz的方波信號一路經(jīng)一級反向器后送到超聲波換能器的一個電極,另一路由單片機P1.0端口經(jīng)兩級反向器后送到超聲波換能器的另一個電極,用這種推換形式將方波信號加到超聲波換能器的兩端,能夠提高超聲波的發(fā)射強度。輸出端采兩個反向器并聯(lián),用以提高驅(qū)動能力。上位電阻R20、R21一方面能夠提高運算放大器TL074輸出高電平的驅(qū)動能力,另一方面能夠增加超聲波換能器的阻尼效果,縮短其自由振蕩時間。壓電式超聲波換能器是利用壓電晶體的諧振來工作的。超聲波換能器內(nèi)部有兩個壓電晶片和一個換能板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片會發(fā)生共振,并帶動共振板振動產(chǎn)生超聲波,這時它就是一個超聲波發(fā)生器;反之,如果兩電極問未外加電壓,當(dāng)共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收換能器。超聲波發(fā)射換能器與接收換能器在結(jié)構(gòu)上稍有不同,使用時應(yīng)分清器件上的標(biāo)志。圖3-20超聲波模塊電路原理圖超聲波接收電路由電平轉(zhuǎn)換芯片ST202和超聲波接收換能器T組成。ST202是一款電平轉(zhuǎn)換的專用芯片,常見于電視機紅外遙控接收器??紤]到紅外遙控常見的載波頻率38kHz與測距的超聲波頻率40kHz較為接近,因為當(dāng)ST202接受到40KHZ的信號時,會在第7腳產(chǎn)生一個低電平下降脈沖,這個信號能夠接到單片機的外部中斷引腳作為中斷信號輸入,能夠利用它制作超聲波接收電路。實驗證明用ST202接收超聲波(無信號時輸出高電平),具有很好的靈敏度和較強的抗干擾能力。
第4章系統(tǒng)軟件設(shè)計硬件平臺結(jié)構(gòu)一旦確定,大的功能框架即形成,軟件在硬件平臺上構(gòu)筑,完成各部分硬件的控制和協(xié)調(diào)工作。系統(tǒng)功能是由軟硬件共同實現(xiàn)的,由于軟件的可伸縮性,最終實現(xiàn)的系統(tǒng)功能可強可弱,差別可能很大。因此,軟件是系統(tǒng)的靈魂。軟件采用模塊化設(shè)計方法,不但易于編程和調(diào)試,也可減小軟件故障率和提高軟件的可靠性。4.1主程序流程系統(tǒng)主程序模塊主要完成對系統(tǒng)中各模塊電路的初始化等工作,其主要包括對液晶顯示器、驅(qū)動電路和超聲波傳感器的初始化,同時循環(huán)發(fā)送脈沖信號,等待外部中斷以及根據(jù)所需要功能進行相應(yīng)的操作。主程序流程如圖4-1所示。開開始初始化初始化啟動小車啟動小車測距并顯示測距并顯示避障程序避障程序有無有障礙嗎有無有障礙嗎圖4-1主程序流程圖4.2主要子程序流程4.2.1液晶顯示子程序流程LCD液晶顯示模塊可用于顯示姓名和學(xué)號以及距離障礙物的距離,其數(shù)據(jù)有單片機的P2口輸入,其控制由單片機的P0口進行控制。由單片機最小系統(tǒng)對其進行實時刷新。其子程序流程如圖4-2所示。LCD初始化LCD初始化結(jié)束與STC89C52單片機通信顯示動畫1顯示動畫2顯示動畫3開始圖4-2LCD液晶顯示子程序流程圖4.2.2超聲波子程序流程主要是實現(xiàn)功能測距軟件分為兩部分,主程序和中斷服務(wù)程序,如圖4-3(a)(b)(c)所示。主程序完成初始化工作、各路超聲波發(fā)射和接收順序的控制。定時中斷服務(wù)子程序完成三個方向超聲波的輪流發(fā)射,外部中斷服務(wù)子程序主要完成時間值的讀取、距離計算、結(jié)果的輸出等工作。其主程序如圖4-3(a)所示。主程序首先是對系統(tǒng)環(huán)境初始化,設(shè)置定時器T0工作模式為16位定時計數(shù)器模式。置位總中斷允許位EA并給顯示端口P0和P1清0。然后調(diào)用超聲波發(fā)生子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延時約0.1ms(這也就是超聲波測距儀會有一個最小可測距離的原因)后才打開外中斷0接收返回的超聲波信號。由于采用的是12MHz的晶振,計數(shù)器每計一個數(shù)就是1μs,當(dāng)主程序檢測到接收成功的標(biāo)志位后,將計數(shù)器T0中的數(shù)(即超聲波來回所用的時間)按式(2)計算,即可得被測物體與測距儀之間的距離,設(shè)計時取20℃時的聲速為344m/s則有:d=(c×t)/2=172T0/10000cm(2)其中,T0為計數(shù)器T0的計算值。外部中斷入口超聲波發(fā)生子程序的作用是經(jīng)過P1.0端口發(fā)送2個左右超聲波脈沖信號(頻率約40kHz的方波),脈沖寬度為12μs左右,同時把計數(shù)器T0打開進行計時。超聲波發(fā)生子程序較簡單,但要求程序運行準(zhǔn)確,因此采用C語言編程。超聲波測距儀主程序利用外中斷檢測返回超聲波信號,一旦接收到返回超聲波信號(即INT0引腳出現(xiàn)低電平),立即進入中斷程序。進入中斷后就立即關(guān)閉計時器T停止計時,并將測距成功標(biāo)志字賦值1。如果當(dāng)計時器溢出時還未檢測到超聲波返回信號,則定時器T0溢出中斷將外中斷0關(guān)閉,并將測距成功標(biāo)志字賦值2以表示此次測距不成功。前方測距電路的輸出端接單片機INT0端口,中斷優(yōu)先級最高,左、右測距電路的輸出經(jīng)過與門IC3A的輸出接單片機INT1端口,同時單片機P1.3和P1.4接到IC3A的輸入端,中斷源的識別由程序查詢來處理,中斷優(yōu)先級為先右后左。外部中斷入口b定時中斷服務(wù)子程序c外部中斷服務(wù)子程序初始化b定時中斷服務(wù)子程序c外部中斷服務(wù)子程序初始化開始定時中斷子程序有回波嗎外部中斷子程序定時器中斷入口定時器初始化發(fā)射超聲波三方均發(fā)射完否NNYY停止發(fā)射返回關(guān)外部中斷讀取時間值計算距離結(jié)果輸出開外部中斷返回返回 a主程序流程圖a主程序流程圖圖4-3超聲波測距系統(tǒng)軟件設(shè)計4.2.3避障子程序流程圖當(dāng)小車檢測到有障礙物后,進入避障子程序,判斷障礙物的情況,根據(jù)障礙物的情況選擇相應(yīng)的避障方式控制小車做出做出相應(yīng)的避障動作。避障完成后退出。其子程序流程圖如圖4-4所示。開始開始無有障礙物嗎無有障礙物嗎有有障障礙物的情況情況4情況3情況2情況1情況4情況3情況2情況1避障方式4避障方式3避障方式2避障方式1避障方式4避障方式3避障方式2避障方式1結(jié)束結(jié)束圖4-4避障子程序流程圖4.3軟件調(diào)試單片機是本設(shè)計的核心控制器,只有保證單片機的正常工作才能完成程序的運行及顯示的控制。保證單片機最小系統(tǒng)能夠正常工作是前提。判斷辦法就是用萬用表測量單片機時鐘引腳(18、19腳)的對地電壓,以正常工作的單片機用數(shù)字萬用表測量為例:18腳對地約2.24V,19腳對地約2.09V。對于懷疑是復(fù)位電路故障而不能正常工作的單片機也能夠采用模擬復(fù)位的方法來判斷,單片機正常工作時第9腳對地電壓為零,能夠用導(dǎo)線短時間和+5V連接一下,模擬一下上電復(fù)位,如果單片機能正常工作了,說明這個復(fù)位電路沒問題。本設(shè)計功能很多,因此對于它的程序也較為復(fù)雜,因此在編寫程序和測試時出現(xiàn)了相對較多的問題。如燒入程序后,LCD顯示屏顯示閃動,不循跡。則要首先對測用的延時進行逐漸修改,能夠解決循跡問題。本設(shè)計采用Keil4軟件用來進行編寫程序和程序的調(diào)試,它是當(dāng)前最流行開發(fā)MCS-51系列單片機的軟件。軟件頁面如圖4-5所示。Keil4提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,經(jīng)過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運行Keil4軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的。圖4-5Kil4l軟件界面圖在使用Keil4軟件時需要注意的是:在程序編譯的時候一定要記得輸出.hex文件,因為STC—ISP.exe只有.hex文件才能下進單片機里去。由于此循跡避障系統(tǒng)設(shè)計程序比較多,為了便于對程序的修改和可移植性等要求,此設(shè)計軟件設(shè)計使用C語言來進行編程,其特點是C語言簡潔、使用方便、靈活,具有強大的圖形功能,C語言生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高等。
第5章系統(tǒng)制作與調(diào)試硬件的焊接與調(diào)試是整個超聲波循跡避障系統(tǒng)設(shè)計必不可少的一個環(huán)節(jié),它將驗證整個系統(tǒng)設(shè)計是否實現(xiàn)了所要完成的功能。這一章重點介紹PCB主板的焊接、循跡傳感器的焊接、驅(qū)動電路焊接、電源電路的焊接與車體的搭建方法、ISP軟件的使用以及整機的調(diào)試。5.1硬件制作5.1.1AltiumDesigner14軟件自20世紀(jì)80年代中期以來,計算機應(yīng)用已進入各個領(lǐng)域并發(fā)揮著越來越大的作用。在這種背景下,美國ACCELTechnologiesInc公司推出了第一個應(yīng)用于電子線路設(shè)計的軟件包—TANGO,這個軟件開創(chuàng)了電子設(shè)計自動化(EDA)的先河。為了適應(yīng)科學(xué)技術(shù)的發(fā)展,ProtelTechnology公園以其強大的研發(fā)能力推出了ProtelForDos,從此Protel這個名字在業(yè)內(nèi)日益響亮。AltiumDesigner14包含許多高效的新特性和增強功能,能夠使整個設(shè)計過程統(tǒng)一起來,實現(xiàn)用戶的電子產(chǎn)品創(chuàng)新理念,創(chuàng)造顯著地經(jīng)濟效益。AltiumDesigner14其主要功能如下所示。1.高效的復(fù)雜電路板設(shè)計開發(fā)環(huán)境。2.高效能的DirectX圖形引擎。3.實時的3D可視化顯示。4.電子和機械實時同步設(shè)計。5.更真實的PCB著色和準(zhǔn)確的對象幾何尺寸。6.布線技術(shù)延伸到智能、快速的物理設(shè)計中。7.內(nèi)部平面顯示。8.支持適應(yīng)制造技術(shù)得更高密度布線。9.加工前的實時制造規(guī)則檢查。10.經(jīng)過設(shè)計智能感知簡化設(shè)計過程和項目導(dǎo)航。11.全新的CadenceAllegro和ZukenCADSTAR導(dǎo)入器。12.從設(shè)計到制造—輸出作用編輯器的改進。13.版本控制功能的增強。14.實時鏈接到供應(yīng)商的數(shù)據(jù)庫。15.庫文件搜索功能的改進。16.以企業(yè)形式管理產(chǎn)品發(fā)布和發(fā)布設(shè)計數(shù)據(jù)。17.基于FPGA設(shè)計中的定制儀器。18.更為直觀的邏輯分析儀。19.?dāng)?shù)字波形顯示的增強控制。20.FPGA工具反饋。21.用C語音開發(fā)定制的FPGA邏輯。22.可定制的Wishbone接口元件。23.基于FPGA儀器的現(xiàn)場面板。24.即插即用的軟件平臺生成器。25.增強的設(shè)備視圖。其軟件界面如圖5-1所示。圖5-1AltiumDesigner14軟件界面圖5.1.2PCB的設(shè)計與制作PCB板的制作和主板的焊接一般包括印制底圖圖樣描繪、底圖掩膜層制作和蝕刻加工等三個環(huán)節(jié)。首先根據(jù)整機設(shè)計,采用電子設(shè)計自動化軟件中的AltiumDesigner14進行印制電路板底圖圖樣的設(shè)計。在軟件環(huán)境下繪制好底圖后,可用噴墨式或激光打印機將PCB板的設(shè)計圖樣打印出來,然后進行制作。其圖樣如以下圖樣所示。圖5-2驅(qū)動電路PCB板圖樣PCB板的制作一般分制作印制電路板、清洗與打孔和檢修三個環(huán)節(jié)。1.制作印制電路板利用所打印的PCB板圖樣、熱轉(zhuǎn)印紙和恒溫電熨斗完成制作。而熱轉(zhuǎn)印法制板的不足之處是:由于熱轉(zhuǎn)印紙局部缺陷等原因,會出現(xiàn)墨粉在熱轉(zhuǎn)印紙上局部附著不均勻等現(xiàn)象,對附著層太薄的地方,使抗腐蝕能力下降,影響PCB板的質(zhì)量。2.清除防護層對于腐蝕好的印制電路板,選用細砂紙將防護層打磨掉,并進行清洗。3.打孔對清洗好的印制電路板,需要在焊盤和固定位置鉆孔后,才能進行安裝。4.檢修對制作好的PCB板,要進行嚴(yán)格檢查,判斷印制線間是否有短路、斷裂、脫落和起層問題,及時發(fā)現(xiàn)問題后,可采用相應(yīng)的修理或補救措施,若有嚴(yán)重質(zhì)量問題時,需要重新制作。出于實際需要和美觀需要,本超聲波循跡避障設(shè)計使用的PCB板為軍工級A級黑漆雙面板,它與普通的PCB板相比具有耐高溫焊盤牢固可靠、抗壓力強不易變形等優(yōu)點;而且黑漆板更顯高貴和效果更炫目。5.2硬件電路的安裝與焊接在焊接元器件前,需要做好各項準(zhǔn)備工作,對要用到的元器件進行清點和檢測、按照PCB板上元器件間距,依據(jù)電子產(chǎn)品安裝工藝要求。彎折好元器件引腳;對元器件引腳渡錫。且安裝元件要遵循先小后大,先輕后重,先內(nèi)后外的原則采用手工烙鐵錫焊。1.單片機最小系統(tǒng)與串口通信電路的焊接最小系統(tǒng)是單片機得以正常工作的前提,包括時鐘電路和復(fù)位電路,在焊接時需注意電解電容的正負極,晶振要盡可能的靠近單片機的18、19引腳,而且對晶振的焊接要迅速,不能長時間加熱,以免燒壞晶振。串口電路是單片機與上位機進行TTL電平轉(zhuǎn)換通信的必要電路,是上位機燒寫Hex文件到單片機的電路,在單片機運用系統(tǒng)中具有重要作用。2.驅(qū)動電路焊接驅(qū)動電路是整車運行的動力輸出,相當(dāng)于汽車的發(fā)動機,在整個系統(tǒng)中起著決定性作用。是將單片機最小系統(tǒng)輸出的控制指令轉(zhuǎn)化為車輛的運動信息。在焊接時,續(xù)流二極管要緊貼電路板安裝,驅(qū)動芯片在安裝時,要先焊接其散熱片,其次在安裝驅(qū)動芯片。7805穩(wěn)壓芯片應(yīng)緊貼安裝,將接地端應(yīng)良好焊接。發(fā)光二極管應(yīng)插到底安裝,光電耦合器應(yīng)安裝在集成電路插座上,方便更換。其焊接實物圖如下圖5-4所示。圖5-4驅(qū)動電路實物圖5.3電腦端的ISP控制軟件STC-ISP是一款單片機下載編程燒錄軟件,是針對STC系列單片機而設(shè)計的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機,使用簡便,現(xiàn)已被廣泛使用。在使用時的操作步驟如下:Step1/步驟1:選擇你所使用的單片機型號,如STC12C5A60S2等Step2/步驟2:打開文件,要燒錄用戶程序,必須調(diào)入用戶的程序代碼(*.bin,*.hex)Step3/步驟3:選擇電腦串行口。Step4/步驟4:選擇下次冷啟動后,時鐘源為”內(nèi)部R/C振蕩器”還是”外部晶體或時鐘”(STC12系列單片機只有內(nèi)部R/C振蕩時鐘)Step5/步驟5:選擇”Download/下載”按鈕下載用戶的程序進單片機內(nèi)部,可重復(fù)執(zhí)行電腦端操作如下頁圖5-5所示:圖5-5電腦端STC-ISP燒錄5.4實物安裝與調(diào)試根據(jù)系統(tǒng)設(shè)計方案,此系統(tǒng)調(diào)試可分為硬件裝配、硬件調(diào)試和軟硬件聯(lián)調(diào)三個部分。1.硬件裝配由于此設(shè)計實物的焊接、裝配工作量非常大,因此在各部分電路安裝完成后,應(yīng)首先對各部分電路進行測試,確保每一個電路都完好,能夠?qū)崿F(xiàn)預(yù)定功能。在進行整個系統(tǒng)的裝配時,要按照從低到高、充主到次的順序安裝。特別需要注意的是,超聲波傳感器因為要前伸出一部分,不能夠和電源模塊等發(fā)生擠壓,因此在安裝時才有了萬用板安裝,成功實現(xiàn)了良好安裝。同時,由于本機提供的電源端口較少,不能夠滿足所有的供電,因此自行設(shè)計制作了一個轉(zhuǎn)接口,可同時提供10個供電端口,為功能擴展提供了支持。在安裝時,要將每一個螺絲螺帽擰緊,防止松脫。同時要注意螺絲螺帽不能與焊點等接觸,防止短路。2.硬件調(diào)試整機的元件焊接完成后,要使電路處理最佳工作狀態(tài),需要對單元模塊電路和整個電路進行調(diào)試。調(diào)試與測試方案的選擇應(yīng)根據(jù)現(xiàn)有的儀器儀表條件來確定,比如萬用表、穩(wěn)壓電源、示波器、邏輯分析儀等。調(diào)試工作分調(diào)試前的準(zhǔn)備和調(diào)試操作兩步完成。(1)調(diào)試準(zhǔn)備調(diào)試準(zhǔn)備指在調(diào)試前,對調(diào)試過程中所需要的儀器、設(shè)備、工具、元件和材料等進行調(diào)配。(2)調(diào)試操作電路調(diào)試的基本原則是:先靜態(tài),后動態(tài),先局部,后整體。對于動態(tài)技術(shù)指標(biāo)調(diào)試,要從末級開始,逐級向前級重復(fù)進行,直到調(diào)準(zhǔn)為止。(3)性能檢測該項工作在電路調(diào)試完成后進行,經(jīng)過測量相關(guān)技術(shù)指標(biāo)來主要了解電路是否達到技術(shù)要求。在進行硬件調(diào)試時,可編寫一個簡單的測試程序,經(jīng)過軟件將其燒寫入單片機。經(jīng)過萬用表等測試儀器儀表,分別測量各腳電壓,與理論值進行比較。以此來判斷是否正常工作。同時,在測試驅(qū)動電路時,可在對驅(qū)動連接好電源線后,對使能控制端分別給高低電平,經(jīng)過萬用表測試輸出端電壓來判定。在測試電源電路時,在輸入端送入12伏特的直流電壓,將萬用表接入輸出端,調(diào)節(jié)輸出電壓調(diào)節(jié)旋鈕,觀察輸出電壓的擺動。以此來判定電路的好壞。3.軟硬聯(lián)調(diào)系統(tǒng)軟硬件聯(lián)調(diào)的主要任務(wù)是檢測系統(tǒng)中各模塊的功能和效果,同時需要校正系統(tǒng)的相關(guān)數(shù)據(jù),按實際測量數(shù)據(jù)進行調(diào)試,直至數(shù)據(jù)結(jié)果準(zhǔn)確為止。實物的最終調(diào)試效果如圖5-6所示。圖5-6小車智能避障系統(tǒng)實物圖
結(jié)論畢業(yè)設(shè)計是學(xué)生即將完成學(xué)業(yè)的最后一個重要環(huán)節(jié),它既是對學(xué)生在學(xué)校所學(xué)知識的全面總結(jié)和綜合應(yīng)用,又為今后走向社會的實際操作應(yīng)用鑄就了一個良好的開端。因此在此有必要對這次的畢業(yè)設(shè)計作一個系統(tǒng)的總結(jié),說一說自己內(nèi)心的想法。這次畢業(yè)設(shè)計,我選擇了實做的題目:基于單片機的循跡超聲波測距避障系統(tǒng)設(shè)計。本次設(shè)計達設(shè)計的預(yù)期要求:1.小車啟動后,直線行駛。2.具有行駛中障礙物探測功能。3.具有對障礙物進行距離顯示和自動繞過障礙物功能。本次畢業(yè)設(shè)計不但是對我的一種鍛煉,也是對我大年所學(xué)知識的綜合檢查。從開始設(shè)計到設(shè)計的完成,我感覺收獲很多,不但在理論上有了很大的升華,而且還在實踐中鍛煉了自己,使自己成長了許多。本文首先對整個系統(tǒng)的工作原理和實現(xiàn)方法進行了簡單的介紹,給出了系統(tǒng)工作的整體框圖。在此基礎(chǔ)上,介紹了系統(tǒng)設(shè)計用到的各個模塊的功能特性,并進性了方案比較,選擇出了最優(yōu)越的方案。在完成畢業(yè)設(shè)計的過程中也存在一些問題:就是對軟件的編程還是不夠熟悉,耗費了太多的時間。同時對焊接,特別是貼片元器件的焊接掌握的還不夠好??傮w來說這次的畢業(yè)設(shè)計很成功,達到了預(yù)期的設(shè)計要求。不但學(xué)到了許多課本上學(xué)不到的知識,提高了自己動手動腦的能力,豐富了創(chuàng)新和創(chuàng)造的思維。由于我在理論和實踐方面存在一定的不足,因此在設(shè)計思路和實現(xiàn)功能上難免有不足之處,請各位老師多多批評指正。設(shè)計結(jié)束了,但學(xué)習(xí)仍在繼續(xù)。從這次的畢業(yè)論文設(shè)計中,我真正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實際,把我們所學(xué)的理論知識用到實際當(dāng)中,實踐是檢驗真理的唯一標(biāo)準(zhǔn)。我們電子專業(yè)的學(xué)習(xí)更是如此,不但要有豐富的理論知識,還要有很強的動手能力,只有理論與實踐并重,專業(yè)水平才能提高,這就是在這次畢業(yè)設(shè)計中的最大收獲。在今后的人生中,不斷對自己所學(xué)的知識進行更新,進行補充。
參考文獻[1]張永楓.單片機應(yīng)用實訓(xùn)教程.北京:清華大學(xué)出版社,[2]劉守義.單片機應(yīng)用技術(shù).西安:西安電子科技大學(xué)出版社,[3]趙克林.C語言實例教程.北京:人民郵電出版社,[4]徐瑋.C51單片機高效入門.北京:機械工業(yè)出版社,[5]劉建清.從零開始學(xué)單片機技術(shù).北京:國防工業(yè)出版社,[6]劉建清.從零開始學(xué)單片機C語言.北京:國防工業(yè)出版社,[7]王靜霞.單片機應(yīng)用技術(shù)(C語言版).北京:電子工業(yè)出版社,[8]李伯成.嵌入式系統(tǒng)可靠性設(shè)計.北京:電子工業(yè)出版社,[9]先鋒工作室.單片機程序設(shè)計實例.西安:清華大學(xué)出版社,[10]馬忠梅.單片機的C語言應(yīng)用程序設(shè)計.北京:北京航空航天大學(xué)出版社,1988[11]李群芳.單片微型計算機與接口技術(shù).北京:電子工業(yè)出版社,[12]王靜霞.單片機應(yīng)用技術(shù)(C語音版).北京:電子工業(yè)出版社,[13]郭天祥.51單片機C語音教程.北京:電子工業(yè)出版社,[14]劉坤.51單片機典型應(yīng)用開發(fā)范例大全.北京:中國鐵道出版社,[15]譚浩強.C程序設(shè)計教程.北京:清華大學(xué)出版社,[16]L298N集成驅(qū)動電路技術(shù)手冊[17]HY-SRF05超聲波傳感器技術(shù)手冊[18]李全利.單片機原理及接口技術(shù)(第二版).北京:高等教育出版社,
附錄1系統(tǒng)各部分設(shè)計原理圖(a)最小系統(tǒng)及LCD1602顯示模塊電路原理圖(b)驅(qū)動模塊電路原理圖(c)超聲波模塊電路原理圖附錄4源程序#include<reg52.h> #include<intrins.h>#defineBusy0x80//用于檢測LCM狀態(tài)字中的Busy標(biāo)識sbitRX=P3^6;sbitTX=P3^7;sbitRXR=P3^4;sbitTXR=P3^5;sbitRXL=P3^3;sbitTXL=P3^2;sbitLQ=P1^1;sbitLH=P1^0;sbitRQ=P1^3;sbitRH=P1^2;sbitLCM_RW=P2^1;sbitLCM_RS=P2^0;sbitLCM_E=P2^2;voidLCMInit(void);voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData);voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedcharcode*DData);voidDelay5Ms(void);voidDelay400Ms(void);voidDecode(unsignedcharScanCode);voidWriteDataLCM(unsignedcharWDLCM);voidWriteCommandLCM(unsignedcharWCLCM,BuysC);unsignedcharReadDataLCM(void);unsignedcharReadStatusLCM(void);unsignedcharcodemcustudio[]={"WWW.SCITC.COM.CN"};unsignedcharcodezuozhe[]={"1319001Durongfu"};unsignedcharcodeCls[]={""};unsignedcharcodeASCII[15]={'0','1','2','3','4','5','6','7','8','9','.','-','M'};unsignedcharsd=0,fx=0;unsignedintSQ,SR,SL; unsignedinttime=0;unsignedlongS=0;bitflag=0;unsignedchardisbuff[4]={0,0,0,0,};voidqj();voidWriteDataLCM(unsignedcharWDLCM)//寫數(shù)據(jù){ ReadStatusLCM();//檢測忙 P0=WDLCM; LCM_RS=1; LCM_RW=0; LCM_E=0;//若晶振速度太高能夠在這后加小的延時 LCM_E=0; LCM_E=1;}//寫指令BuysC為0時忽略忙檢測voidWriteCommandLCM(unsignedcharWCLCM,BuysC){ if(BuysC)ReadStatusLCM(); //根據(jù)需要檢測忙 P0=WCLCM; LCM_RS=0; LCM_RW=0; LCM_E=0; LCM_E=0; LCM_E=1; }unsignedcharReadStatusLCM(void) //讀狀態(tài){ P0=0xFF; LCM_RS=0; LCM_RW=1; LCM_E=0; LCM_E=0; LCM_E=1; while(P0&Busy); //檢測忙信號 return(P0);}voidLCMInit(void) //LCM初始化{ P0=0; WriteCommandLCM(0x38,0); //三次顯示模式設(shè)置,不檢測忙信號 Delay5Ms(); WriteCommandLCM(0x38,0); Delay5Ms(); WriteCommandLCM(0x38,0); Delay5Ms(); WriteCommandLCM(0x38,1); //顯示模式設(shè)置,開始要求每次檢測忙信號 WriteCommandLCM(0x08,1); //關(guān)閉顯示 WriteCommandLCM(0x01,1); //顯示清屏 WriteCommandLCM(0x0c,1);}//按指定位置顯示一個字符voidDisplayOneChar(unsignedcharX,unsignedcharY,unsignedcharDData) { Y&=0x1; X&=0xF; //限制X不能大于15,Y不能大于1 if(Y)X|=0x40; //當(dāng)要顯示第二行時地址碼+0x40; X|=0x80; //算出指令碼 WriteCommandLCM(X,1);//發(fā)命令字 WriteDataLCM(DData);//發(fā)數(shù)據(jù)}//按指定位置顯示一串字符voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedcharcode*DData){ unsignedcharListLength; ListLength=0; Y&=0x1; X&=0xF; //限制X不能大于15,Y不能大于1 while(DData[ListLength]>0x19) //若到達字串尾則退出 { if(X<=0xF)//X坐標(biāo)應(yīng)小于0xF { DisplayOneChar(X,Y,DData[ListLength]);//顯示單個字符 ListLength++; X++; } }}voidDelay5Ms(void) //5ms延時{ unsignedintTempCyc=250; while(TempCyc--); }voidDelay400Ms(void) //400ms延時{ unsignedcharTempCycA=4; unsignedintTempCycB; while(TempCycA--) { TempCycB=20; while(TempCycB--) qj(); }}voidConut(unsignedcharo) { time=TH0*256+TL0; TH0=0; TL0=0; S=(time*1.7)/100;//算出來是CM if(o==1) { SL=S; if((S>=700)||flag==1) //超出測量范圍顯示”-” { flag=0; DisplayOneChar(0,1,ASCII[11]); DisplayOneChar(1,1,ASCII[10]); //顯示點 DisplayOneChar(2,1,ASCII[11]); DisplayOneChar(3,1,ASCII[11]); DisplayOneChar(4,1,ASCII[12]); //顯示M SL=500; } else { disbuff[0]=S%1000/100; disbuff[1]=S%1000%100/10; disbuff[2]=S%1000%10%10; DisplayOneChar(0,1,ASCII[disbuff[0]]); DisplayOneChar(1,1,ASCII[10]); DisplayOneChar(2,1,ASCII[disbuff[1]]); DisplayOneChar(3,1,ASCII[disbuff[2]]); DisplayOneChar(4,1,ASCII[12]); } } if(o==3) { SR=S; if((S>=700)||flag==1) { flag=0; DisplayOneChar(10,1,ASCII[11]); DisplayOneChar(11,1,ASCII[10]); DisplayOneChar(12,1,ASCII[11]); DisplayOneChar(13,1,ASCII[11]); DisplayOneChar(14,1,ASCII[12]); SR=500; } else { disbuff[0]=S%1000/100; disbuff[1]=S%1000%100/10; disbuff[2]=S%1000%10%10; DisplayOneChar(10,1,ASCII[disbuff[0]]); DisplayOneChar(11,1,ASCII[10]); DisplayOneChar(12,1,ASCII[disbuff[1]]); DisplayOneChar(13,1,ASCII[disbuff[2]]); DisplayOneChar(14,1,ASCII[12]); } } if(o==2) { SQ=S; if((S>=700)||flag==1) { flag=0; DisplayOneChar(5,1,ASCII[11]); DisplayOneChar(6,1,ASCII[10]); DisplayOneChar(7,1,ASCII[11]); DisplayOneChar(8,1,ASCII[11]); DisplayOneChar(9,1,ASCII[12]); SQ=500; } else { disbuff[0]=S%1000/100; disbuff[
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2學(xué)會溝通交流(說課稿)-2023-2024學(xué)年道德與法治五年級上冊統(tǒng)編版
- 2025暫估價材料公開招標(biāo)合同范本變頻水泵排污泵
- 6~9的認識(說課稿)-2024-2025學(xué)年一年級上冊數(shù)學(xué)人教版
- 2025以買賣合同擔(dān)保
- 2024年秋九年級化學(xué)上冊 第四單元 自然界的水說課稿 (新版)新人教版
- 2023三年級英語上冊 Assessment 3說課稿1 湘少版
- 路基邊坡防滑平臺施工方案
- Unit 4 My tidy bag Lesson 1 I have a big bag (說課稿)-2024-2025學(xué)年粵人版(2024)英語三年級上冊
- 2023八年級地理上冊 第一章 中國的疆域與人口第一節(jié) 中國的疆域說課稿 (新版)湘教版
- 出租代工合同范例
- 2024北京海淀高三一模英語試卷(含參考答案)
- 三高疾病之中醫(yī)辨證施治
- 全科醫(yī)學(xué)的基本原則和人文精神(人衛(wèi)第五版全科醫(yī)學(xué)概論)
- 船員健康知識課件
- 成人住院患者靜脈血栓栓塞癥預(yù)防護理
- 《揚州東關(guān)街掠影》課件
- 《3-6歲兒童學(xué)習(xí)與發(fā)展指南》健康領(lǐng)域內(nèi)容目標(biāo)與指導(dǎo)
- GB/T 10739-2023紙、紙板和紙漿試樣處理和試驗的標(biāo)準(zhǔn)大氣條件
- 環(huán)保行業(yè)研究報告
- 孩子撫養(yǎng)費起訴狀范本:免修版模板范本
- 物流服務(wù)項目的投標(biāo)書
評論
0/150
提交評論