智能小車課程設(shè)計(jì)_第1頁(yè)
智能小車課程設(shè)計(jì)_第2頁(yè)
智能小車課程設(shè)計(jì)_第3頁(yè)
智能小車課程設(shè)計(jì)_第4頁(yè)
智能小車課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.智能巡線小車的設(shè)計(jì)(A) 摘要 本次畢業(yè)設(shè)計(jì)分為四個(gè)模塊:電源模塊、路面檢測(cè)模塊、單片機(jī)最小系統(tǒng) 、電機(jī)驅(qū)動(dòng)模塊。電源模塊是采用12V電源雙路供電,一路直接供給電機(jī),一路經(jīng)過穩(wěn)壓電路輸出5V電源給LM324、單片機(jī)和L298N。循跡模塊是采用三個(gè)單反射式紅外傳感器TCRT5000并排安裝,來檢測(cè)路面情況,輸出給單片機(jī)TTL電平信號(hào)。單片機(jī)最小系統(tǒng)是滿足單片機(jī)工作的系統(tǒng)。電機(jī)驅(qū)動(dòng)選擇的是驅(qū)動(dòng)芯片L298直接驅(qū)動(dòng)兩個(gè)直流減速電機(jī),并采用PWM調(diào)節(jié)速度,達(dá)到兩個(gè)電極不同速度,從而控制小車的行駛速度。關(guān)鍵詞 單片機(jī)電源路面檢測(cè)電機(jī)驅(qū)動(dòng)PWMSmart Patrol Line VehicleYangb

2、in(Grade 07,Class 02, Major Technique of Measuring Control and Instrument,Mechanical Engineering Dept.,Shaanxi University of Technology,Hanzhong 723003,Shaanxi)Tutor:Liang yingxuanAbstract:The graduation project is divided into four modules: power supply module, the road detection module, the smalle

3、st single chip system, the motor drive module. 12V power supply module is the use of dual power supply, direct supply of the motor all the way, all the way through the 5V output voltage regulator to power the LM324, MCU and L298N. Tracking module is the use of three single-reflection infrared sensor

4、 TCRT5000 side by side, to detect the road conditions, the output TTL level signal to the microcontroller. Minimum system MCU is to meet the minimum system work system. Motor driver chips L298 is selected to drive two DC gear motor directly, and use PWM to adjust the speed to achieve two electrodes

5、at different speeds to control car speed.Key words:MCU power supply the road detection Motor driver PWM請(qǐng)瀏覽后下載,資料供參考,期待您的好評(píng)與關(guān)注! 目 錄1引言11.1智能小車的意義和作用11.2智能小車的現(xiàn)狀21.3 論文各部分的主要內(nèi)容22 方案論證與選擇32.1 任務(wù)32.2 電源模塊的設(shè)計(jì)32.3 路面檢測(cè)模塊的設(shè)計(jì)42.3.1 傳感器類型選擇42.3.2 紅外傳感器方案42.3.3 電壓比較器選擇52.4 控制電機(jī)方案比較52.5 電機(jī)驅(qū)動(dòng)方案的比較52.6 主控制芯片選擇62.

6、7 本章小結(jié)63 硬件電路的設(shè)計(jì)73.1 總體設(shè)計(jì)73.2 單片機(jī)最小系統(tǒng)73.2.1 時(shí)鐘電路83.2.2 復(fù)位及復(fù)位電路93.3路面檢測(cè)模塊123.3.1 傳感器TCRT5000介紹123.3.2 比較器LM324133.3.3 具體電路143.3.5 TTL電平163.4 電源模塊173.5 電機(jī)驅(qū)動(dòng)模塊183.5.1 電機(jī)驅(qū)動(dòng)芯片L298N184 軟件設(shè)計(jì)204.1 PWM204.2 主函數(shù)程序設(shè)計(jì)224.3 尋跡子函數(shù)程序設(shè)計(jì)234.4 調(diào)速子程序255 整體調(diào)試285.1 測(cè)試方法及儀器:28致謝30參考文獻(xiàn)31外文翻譯32附錄A 硬件連接圖44附錄B 硬件清單45附錄C 程序清單

7、461引言1.1 智能小車的意義和作用自第一臺(tái)工業(yè)機(jī)器人誕生以來,機(jī)器人的發(fā)展已經(jīng)遍及機(jī)械、電子、冶金、交通、宇航、國(guó)防等領(lǐng)域。近年來機(jī)器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。人們?cè)诓粩嗵接憽⒏脑?、認(rèn)識(shí)自然的過程中,制造能替代人勞動(dòng)的機(jī)器一直是人類的夢(mèng)想。隨著科學(xué)技術(shù)的發(fā)展,機(jī)器人的感覺傳感器種類越來越多,其中視覺傳感器成為自動(dòng)行走和駕駛的重要部件。視覺的典型應(yīng)用領(lǐng)域?yàn)樽灾魇街悄軐?dǎo)航系統(tǒng),對(duì)于視覺的各種技術(shù)而言圖像處理技術(shù)已相當(dāng)發(fā)達(dá),而基于圖像的理解技術(shù)還很落后,機(jī)器視覺需要通過大量的運(yùn)算也只能識(shí)別一些結(jié)構(gòu)化環(huán)境簡(jiǎn)單的目標(biāo)。視覺傳感器的核心器件是攝像管或CCD,目前的CCD已能

8、做到自動(dòng)聚焦。但CCD傳感器的價(jià)格、體積和使用方式上并不占優(yōu)勢(shì),因此在不要求清晰圖像只需要粗略感覺的系統(tǒng)中考慮使用接近覺傳感器是一種實(shí)用有效的方法。機(jī)器人要實(shí)現(xiàn)自動(dòng)導(dǎo)引功能和避障功能就必須要感知導(dǎo)引線和障礙物,感知導(dǎo)引線相當(dāng)給機(jī)器人一個(gè)視覺功能。避障控制系統(tǒng)是基于自動(dòng)導(dǎo)引小車(AVGauto-guide vehicle)系統(tǒng),基于它的智能小車實(shí)現(xiàn)自動(dòng)識(shí)別路線,判斷并自動(dòng)避開障礙,選擇正確的行進(jìn)路線。使用傳感器感知路線和障礙并作出判斷和相應(yīng)的執(zhí)行動(dòng)作。該智能小車可以作為機(jī)器人的典型代表。它可以分為三大組成部分:傳感器檢測(cè)部分、執(zhí)行部分、CPU。機(jī)器人要實(shí)現(xiàn)自動(dòng)避障功能,還可以擴(kuò)展循跡等功能,感知

9、導(dǎo)引線和障礙物??梢詫?shí)現(xiàn)小車自動(dòng)識(shí)別路線,選擇正確的行進(jìn)路線,并檢測(cè)到障礙物自動(dòng)躲避?;谏鲜鲆?,傳感檢測(cè)部分考慮到小車一般不需要感知清晰的圖像,只要求粗略感知即可,所以可以舍棄昂貴的CCD傳感器而考慮使用價(jià)廉物美的紅外反射式傳感器來充當(dāng)。智能小車的執(zhí)行部分,是由直流電機(jī)來充當(dāng)?shù)?,主要控制小車的行進(jìn)方向和速度。單片機(jī)驅(qū)動(dòng)直流電機(jī)一般有兩種方案:第一,勿需占用單片機(jī)資源,直接選擇有PWM功能的單片機(jī),這樣可以實(shí)現(xiàn)精確調(diào)速;第二,可以由軟件模擬PWM輸出調(diào)制,需要占用單片機(jī)資源,難以精確調(diào)速,但單片機(jī)型號(hào)的選擇余地較大。考慮到實(shí)際情況,本文選擇第二種方案。CPU使用STC89C52單片機(jī),配合軟

10、件編程實(shí)現(xiàn)。1.2 智能小車的現(xiàn)狀現(xiàn)智能小車發(fā)展很快,從智能玩具到其它各行業(yè)都有實(shí)質(zhì)成果。其基本可實(shí)現(xiàn)循跡、避障、檢測(cè)貼片、尋光入庫(kù)、避崖等基本功能,這幾屆的電子設(shè)計(jì)大賽智能小車又在向聲控系統(tǒng)發(fā)展。比較出名的飛思卡爾智能小車更是走在前列。我此次的設(shè)計(jì)主要實(shí)現(xiàn)循跡、檢測(cè)鐵片、顯示小車行走時(shí)間這三個(gè)功能。1.3 論文各部分的主要內(nèi)容第1章對(duì)智能循跡小車意義和作用,現(xiàn)狀進(jìn)行簡(jiǎn)單闡述。第2章介紹了該智能循跡小車系設(shè)計(jì)方案比較和選擇,分析了各模塊的功能。第3章闡述了智能小車系統(tǒng)的硬件電路的設(shè)計(jì),其中包括電源模塊、路面檢測(cè)模塊、單片機(jī)最小系統(tǒng)、電機(jī)驅(qū)動(dòng)模塊,以及一些輔助電路。第4章首先介紹了該系統(tǒng)的軟件編

11、程,以及程序調(diào)試過程中所用到的程序調(diào)試軟件及其調(diào)試環(huán)境。最后總結(jié)部分說明了本論的主要內(nèi)容,舉出了在系統(tǒng)測(cè)試過程中所發(fā)現(xiàn)的問題,并提出了可能的解決方案。2 方案論證與選擇2.1 任務(wù)設(shè)計(jì)一個(gè)基于單片機(jī)控制的自動(dòng)尋跡小車,使小車能夠自動(dòng)檢測(cè)地面黑色軌跡,并沿著黑色車軌跡行駛。系統(tǒng)方案方框圖如圖2.1所示檢測(cè)黑線軟件控制驅(qū)動(dòng)電機(jī)控制小車圖2.1 小車工作原理框圖設(shè)計(jì)要求:基本要求:實(shí)現(xiàn)小車的自動(dòng)循跡,能前進(jìn)、左轉(zhuǎn)彎、右轉(zhuǎn)彎、后退,檢測(cè)沿途的鐵片并顯示鐵片數(shù)目跟小車行走時(shí)間。(按照程序預(yù)設(shè));擴(kuò)展部分:實(shí)現(xiàn)小車的避障功能(如時(shí)間充足);主要的設(shè)計(jì)內(nèi)容:1:電源模塊的設(shè)計(jì)。2:路面檢測(cè)模塊的設(shè)計(jì)。3:?jiǎn)?/p>

12、片機(jī)最小系統(tǒng)的設(shè)計(jì)。4:電機(jī)驅(qū)動(dòng)模塊的設(shè)計(jì)。2.2 電源模塊的設(shè)計(jì)方案1:采用單電源供電,通過單電源同時(shí)對(duì)單片機(jī)和直流電機(jī)進(jìn)行供電,此方案的優(yōu)點(diǎn)是,減少機(jī)身的重量,操作簡(jiǎn)單,其缺點(diǎn)是,這樣會(huì)使單片機(jī)的波動(dòng)變大,影響單片機(jī)的性能,穩(wěn)定性比較弱。方案2:采用雙電源供電,通過兩個(gè)獨(dú)立的電源分別對(duì)單片機(jī)和直流電機(jī)進(jìn)行供電,此方案的優(yōu)點(diǎn)是,減少波動(dòng),穩(wěn)定性比較好,可以讓小車更好的運(yùn)作起來,唯一的缺點(diǎn)就是會(huì)增加小車的重量。綜合以上的優(yōu)缺點(diǎn),本設(shè)計(jì)決定采用第二種方案。2.3 路面檢測(cè)模塊的設(shè)計(jì)2.3.1 傳感器類型選擇循跡模塊對(duì)于智能巡線小車來說就像來說有如人的眼睛對(duì)于人,是提供給小車的“眼睛”,此類光電傳

13、感器可以分為:可見光傳感器、紅外傳感器、紫外線傳感器等(此處不考慮光電耦合器件和位置敏感器件,由于它們占用太多的MCU資源,用起來不方便)。方案1:可見光傳感器是基于可見光源的傳感器,它結(jié)構(gòu)簡(jiǎn)單、設(shè)計(jì)成熟,但是它工作在可見光波段,容易被外界干擾。方案2:紅外光傳感器。紅外線是波長(zhǎng)為 830nm950nm 的電磁波,自然環(huán)境物理在該波段的輻射量是很微弱的,所以紅外反射式傳感器受外界干擾較小,可靠性高。設(shè)計(jì)技術(shù)成熟,應(yīng)用廣泛。方案3:紫外線傳感器。在自然環(huán)境下該類傳感器很難受干擾,可靠性高,但是它價(jià)格昂貴。所以我們最終選擇方案二,即紅外光傳感器作為傳感器檢測(cè)模塊的基本器件。2.3.2 紅外傳感器方

14、案循跡主要是檢測(cè)路面情況,利用光的反射原理,當(dāng)光線照射在白在線,反射量比較大,反之,照在黑在線,由于黑色對(duì)光的吸收,反射回來的量比較少,這樣就可以判斷黑帶軌道的走向。為此我們產(chǎn)生以下三種方案。方案1:用光敏電阻組成光敏探測(cè)器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當(dāng)光線照射到白線上面時(shí),光線發(fā)射強(qiáng)烈,光線照射到黑線上面時(shí),光線發(fā)射較弱。因此光敏電阻在白線和黑線上方時(shí),阻值會(huì)發(fā)生明顯的變化。將阻值的變化值經(jīng)過比較器就可以輸出高低電平。但是這種方案受光照影響很大,不能夠穩(wěn)定的工作。因此我們考慮其它更加穩(wěn)定的方案。方案2:用紅外發(fā)射管和接收管自己制作光電對(duì)管尋跡傳感器。紅外發(fā)射管發(fā)出紅外線

15、,當(dāng)發(fā)出的紅外線照射到白色的平面后反射,若紅外接收管能接收到反射回的光線則檢測(cè)出白線繼而輸出低電平,若接收不到發(fā)射管發(fā)出的光線則檢測(cè)出黑線繼而輸出高電平。這樣自己制作組裝的尋跡傳感器基本能夠滿足要求,但是工作不夠穩(wěn)定,且容易受外界光線的影響,因此我們放棄了這個(gè)方案。方案3:采用TCRT50000光電傳感器,該傳感器模塊是基于TCRT5000紅外光電傳感器設(shè)計(jì)的一款紅外反射式光電開關(guān),傳感器采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成,輸出的信號(hào)經(jīng)施密特電路整形,穩(wěn)定可靠。2.3.3 電壓比較器選擇市場(chǎng)上可以做電壓比較器的運(yùn)放,實(shí)在是太多,根據(jù)實(shí)驗(yàn)室現(xiàn)有條件以及器件選擇經(jīng)濟(jì)并且能滿足使用

16、要求的原則,本次電壓比較器選擇實(shí)驗(yàn)室現(xiàn)有的LM324,此器件價(jià)格便宜,并且?guī)в姓娌顒?dòng)輸入的四運(yùn)算放大器。2.4 控制電機(jī)方案比較方案1:采用步進(jìn)電機(jī)作為該系統(tǒng)的驅(qū)動(dòng)電機(jī)。由于其轉(zhuǎn)過的角度可以精確的定位,可以實(shí)現(xiàn)小車前進(jìn)路程和位置的精確定位。雖然采用步進(jìn)電機(jī)有諸多優(yōu)點(diǎn),步進(jìn)電機(jī)的輸出力矩較低,隨轉(zhuǎn)速的升高而下降,且在較高轉(zhuǎn)速時(shí)會(huì)急劇下降,其轉(zhuǎn)速較低,不適用于小車等有一定速度要求的系統(tǒng)。經(jīng)綜合比較考慮,我們放棄了此方案。方案2:采用小型直流減速電機(jī)。直流減速電機(jī)轉(zhuǎn)動(dòng)力矩大,體積小,重量輕,裝配簡(jiǎn)單,使用方便。由于其內(nèi)部由高速電動(dòng)機(jī)提供原始動(dòng)力,帶動(dòng)變速(減速)齒輪組,可以產(chǎn)生較大扭力。為了能夠較好

17、的滿足系統(tǒng)的要求,我們選擇了方案2。2.5 電機(jī)驅(qū)動(dòng)方案的比較方案1:采用繼電器對(duì)電動(dòng)機(jī)的開或關(guān)進(jìn)行控制,通過開關(guān)的切換對(duì)小車的速度進(jìn)行調(diào)整.此方案的優(yōu)點(diǎn)是電路較為簡(jiǎn)單,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢,易損壞,壽命較短,可靠性不高。方案2:采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動(dòng)機(jī)的分壓,從而達(dá)到分壓的目的。但電阻網(wǎng)絡(luò)只能實(shí)現(xiàn)有級(jí)調(diào)速,而數(shù)字電阻的元器件價(jià)格比較昂貴。更主要的問題在于一般的電動(dòng)機(jī)電阻很小,但電流很大,分壓不僅回降低效率,而且實(shí)現(xiàn)很困難。方案3:采用功率三極管作為功率放大器的輸出控制直流電機(jī)。線性型驅(qū)動(dòng)的電路結(jié)構(gòu)和原理簡(jiǎn)單,加速能力強(qiáng),采用由達(dá)林頓管組成的 H型橋式電路(如圖2.1a)。用單片

18、機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài)下,精確調(diào)整電動(dòng)機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡(jiǎn)單的實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開關(guān)速度很快,穩(wěn)定性也極強(qiáng),是一種廣泛采用的 PWM調(diào)速技術(shù)?,F(xiàn)市面上有很多此種芯片,我選用了L298N(如圖2.1b)。這種調(diào)速方式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、超載能力大,能承受頻繁的負(fù)載沖擊,還可以實(shí)現(xiàn)頻繁的無(wú)級(jí)快速啟動(dòng)、制動(dòng)和反轉(zhuǎn)等優(yōu)點(diǎn)。因此決定采用使用功率三極管作為功率放大器的輸出控制直流電機(jī)。a H型橋式電路 b L298N實(shí)物圖圖2.12.6 主控制芯片選擇方案1:可以采用ARM為系統(tǒng)的控制器,優(yōu)點(diǎn)是

19、該系統(tǒng)功能強(qiáng)大,片上外設(shè)集成度搞密度高,提高了穩(wěn)定性,系統(tǒng)的處理速度也很高,適合作為大規(guī)模實(shí)時(shí)系統(tǒng)的控制核心。方案2:選用51系列的單片機(jī),AT89S52單片機(jī)算術(shù)運(yùn)算功能強(qiáng),軟件編程靈活、自由度大,功耗低、體積小、技術(shù)成熟,成本也比ARM低。根據(jù)自己的知識(shí)能力,實(shí)驗(yàn)室現(xiàn)有條件,選用STC89C52RC單片機(jī)作為本次畢業(yè)設(shè)計(jì)的主控芯片,而且此芯片燒程序也不需要專用的下載器,另一方面節(jié)省了成本,只要安裝USB轉(zhuǎn)串口驅(qū)動(dòng),在普通的計(jì)算機(jī)上就可以燒寫程序,很方便。2.7 本章小結(jié)經(jīng)過積極論證,最后采用以STC89C52單片機(jī)為控制核心,黑白線信號(hào)經(jīng)過TCRT5000輸出高低電壓信號(hào),再經(jīng)過LM324

20、電壓比較器輸出給單片機(jī)標(biāo)準(zhǔn)TTL電平信號(hào),而單片機(jī)根據(jù)輸入口高低電平的變化來執(zhí)行相對(duì)應(yīng)指令,使小車達(dá)到穩(wěn)定的行駛。3 硬件電路的設(shè)計(jì)3.1 總體設(shè)計(jì)智能小車采用前輪驅(qū)動(dòng),后輪左右兩邊各用一個(gè)直流電機(jī)驅(qū)動(dòng),調(diào)制前面兩個(gè)輪子的轉(zhuǎn)速起停從而達(dá)到控制轉(zhuǎn)向的目的,前輪是萬(wàn)象輪,起支撐的作用。將循跡光電對(duì)管分別裝在車體下的左中右,分別檢測(cè)來自路面的信息,比如當(dāng)只有左邊的傳感器檢測(cè)到黑線的時(shí)候(即對(duì)應(yīng)的輸出是高電平的時(shí)候),通過主控制器控制左邊的電機(jī)速度慢一點(diǎn),同時(shí)右邊的速度快一點(diǎn),就可以完成小車的轉(zhuǎn)彎,為了使小車平穩(wěn)的過渡彎道,可以將相應(yīng)的電機(jī)的占空比調(diào)節(jié)范圍小一點(diǎn),這樣可以避免急轉(zhuǎn)彎,對(duì)小車的穩(wěn)定行駛也

21、有作用的。STC89C52路面檢測(cè)電路時(shí)鐘電路復(fù)位電路電機(jī)驅(qū)動(dòng)電路圖3.1 硬件總體電路框圖3.2 單片機(jī)最小系統(tǒng)此次設(shè)計(jì)所用的STC89C52是一種帶8K字節(jié)閃爍可編程可檫除只讀存儲(chǔ)器(FPEROM-Flash Programmable and Erasable Read Only Memory )的低電壓,高性能COMOS8的微處理器,俗稱單片機(jī)。該器件采用ATMEL搞密度非易失內(nèi)存制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。圖3.2 STC89C52單片機(jī)3.2.1 時(shí)鐘電路STC89C52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放

22、大器的輸入端和輸出端。時(shí)鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部方式的時(shí)鐘電路如圖3.3(a) 所示,在XTAL1和XTAL2引腳上外接定時(shí)組件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時(shí)組件通常采用石英晶體和電容組成的并聯(lián)諧振回路。晶體振蕩頻率可以在1.212MHz之間選擇,電容值在530pF之間選擇,電容值的大小可對(duì)頻率起微調(diào)的作用。外部方式的時(shí)鐘電路如圖33(b)所示,XTAL1接地,XTAL2接外部振蕩器。對(duì)外部振蕩信號(hào)無(wú)特殊要求,只要求保證脈沖寬度,一般采用頻率低于12MHz的方波信號(hào)。片內(nèi)時(shí)鐘發(fā)生器把振蕩頻率兩分頻,產(chǎn)生一個(gè)兩相時(shí)鐘P1和P2,供單片機(jī)使用。(a)內(nèi)部方式時(shí)鐘電路 (b)外部方

23、式時(shí)鐘電路圖3.3 時(shí)鐘電路本次采用的是內(nèi)部方式。C1,C2為30PF的瓷片電容。3.2.2. 復(fù)位及復(fù)位電路(1)復(fù)位操作復(fù)位是單片機(jī)的初始化操作。其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,也需按復(fù)位鍵重新啟動(dòng)。除PC之外,復(fù)位操作還對(duì)其它一些寄存器有影響,它們的復(fù)位狀態(tài)如表一所示。表3.1 一些寄存器的復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH100HP

24、0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H(2)復(fù)位信號(hào)及其產(chǎn)生RST引腳是復(fù)位信號(hào)的輸入端。復(fù)位信號(hào)是高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期(即二個(gè)機(jī)器周期)以上。若使用頗率為12MHz的晶振,則復(fù)位信號(hào)持續(xù)時(shí)間應(yīng)超過2us才能完成復(fù)位操作。產(chǎn)生復(fù)位信號(hào)的電路邏輯如圖3.4所示:圖3.4 復(fù)位信號(hào)的電路邏輯圖整個(gè)復(fù)位電路包括芯片內(nèi)、外兩部分。外部電路產(chǎn)生的復(fù)位信號(hào)(RST)送至施密特觸發(fā)器,再由片內(nèi)復(fù)位電路在每個(gè)機(jī)器周期的S5P2時(shí)刻對(duì)施密特觸發(fā)器的輸出進(jìn)行采樣,然后才得到內(nèi)部復(fù)位操作所需要的信號(hào)。復(fù)位操作

25、有上電自動(dòng)復(fù)位相按鍵手動(dòng)復(fù)位兩種方式。上電自動(dòng)復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的,其電路如圖3.5(a)所示。這佯,只要電源Vcc的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位,即接通電源就成了系統(tǒng)的復(fù)位初始化。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中,按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與Vcc電源接通而實(shí)現(xiàn)的,其電路如圖3.5(b)所示;而按鍵脈沖復(fù)位則是利用RC微分電路產(chǎn)生的正脈沖來實(shí)現(xiàn)的,其電路如圖3.5(c)所示:(a)上電復(fù)位 (b)按鍵電平復(fù)位 (c)按鍵脈沖復(fù)位圖3.5復(fù)位電路上述電路圖中的電阻、電容參數(shù)適用于6MHz晶振,能保證復(fù)位信號(hào)高電平持續(xù)時(shí)間大于2個(gè)機(jī)器周期。本系

26、統(tǒng)的復(fù)位電路采用圖3.5(a)上電復(fù)位方式。STC89C52具體引腳介紹如下: 主電源引腳(2根)VCC(Pin40):電源輸入,接5V電源GND(Pin20):接地線外接晶振引腳(2根)XTAL1(Pin19):片內(nèi)振蕩電路的輸入端XTAL2(Pin20):片內(nèi)振蕩電路的輸出端控制引腳(4根)RST/VPP(Pin9):復(fù)位引腳,引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)圖3.6 STC89C52引腳圖位。ALE/PROG(Pin30):地址鎖存允許信號(hào)PSEN(Pin29):外部?jī)?nèi)存讀選通信號(hào)EA/VPP(Pin31):程序內(nèi)存的內(nèi)外部選通,接低電平從外部程序內(nèi)存讀指令,如果接高電平則從內(nèi)

27、部程序內(nèi)存讀指令??删幊梯斎?輸出引腳(32根)STC89C52單片機(jī)有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個(gè)口有8位(8根引腳),共32根。PO口(Pin39Pin32):8位雙向I/O口線,名稱為P0.0P0.7P1口(Pin1Pin8):8位準(zhǔn)雙向I/O口線,名稱為P1.0P1.7 P2口(Pin21Pin28):8位準(zhǔn)雙向I/O口線,名稱為P2.0P2.7 P3口(Pin10Pin17):8位準(zhǔn)雙向I/O口線,名稱為P3.0P3.7STC89C52主要內(nèi)部資源如表二所示。表3.2 STC89C52內(nèi)部資源主要功能特性兼容MCS51指令系統(tǒng)32個(gè)雙向I/O口3個(gè)1

28、6位可編程定時(shí)/計(jì)數(shù)器中斷2個(gè)串行中斷2個(gè)外部中斷源2個(gè)讀寫中斷口線低功耗空閑和掉電模式8K可反復(fù)擦寫Flash ROM256x8bit內(nèi)部RAM時(shí)鐘頻率0-24MHz可編程UART串行通道共6個(gè)中斷源3級(jí)加密位軟件設(shè)置睡眠和喚醒功能3.3 路面檢測(cè)模塊3.3.1 傳感器TCRT5000介紹TCRT5000紅外光電傳感器是一款紅外反射式光電開關(guān)。傳感器采用高發(fā)射功率紅外光電二極管和高靈敏度光敏三極管組成,其輸出信號(hào)經(jīng)過施密特電路整形,穩(wěn)定可靠。圖3.7 紅外光電傳感器TCRT5000傳感器的紅外發(fā)射二極管不斷的發(fā)射紅外線,當(dāng)發(fā)射出的紅外線照射在黑色的物體上,由于黑顏色的物體反射基數(shù)低,沒有反射

29、回來或者反射回來的強(qiáng)度不夠大時(shí),光敏三極管一直處于關(guān)斷狀態(tài),此時(shí)圖3.6中4跟5之間的壓降就比較大,經(jīng)過穩(wěn)定測(cè)試之后的壓降大約在4.62V左右,當(dāng)發(fā)射到白顏色的物體上的時(shí)候,由于白顏色反射基數(shù)大,足以是光敏三極管飽和,所以此時(shí)的上圖中4跟6之間的壓降比較低,經(jīng)過穩(wěn)定測(cè)試之后的壓降在0.56V左右,變化較為明顯。圖3.8紅外光電傳感器的模型3.3.2比較器LM324LM324為四運(yùn)放集成電路,采用14腳雙列直插塑料封裝。內(nèi)部有四個(gè)運(yùn)算放大器,有相位補(bǔ)償電路。電路功耗很小,工作電壓范圍寬,可用正電源332V,或正負(fù)雙電源15V15V工作。在黑線檢測(cè)電路中用來確定紅外接收信號(hào)電平的高低,以電平高低判

30、定黑線有無(wú)。在電路中,LM324的一個(gè)輸入端需接滑動(dòng)變阻器,通過改變滑動(dòng)變阻器的阻值來提供合適的比較電壓。圖3.9 LM324引腳圖3.3.3具體電路通過TCRT5000檢測(cè)黑線,輸出接收到的信號(hào)給LM324,接收電壓與比較電壓比較后,輸出信號(hào)變?yōu)闃?biāo)準(zhǔn)TTL高低電平,再輸入到單片機(jī)中,用以判定是否檢測(cè)到黑線。圖3.10 路面檢測(cè)模塊具體電路圖參數(shù)解說:1:前面說到TCRT5000是由一個(gè)紅外線發(fā)光二極管和一個(gè)光敏三極管組成,圖3.11TCRT5000的紅外發(fā)光二極管的伏安曲線(20攝氏度時(shí)) 如圖所示,當(dāng)紅外發(fā)光管的電壓達(dá)到1.3V左右的時(shí)候,流經(jīng)紅外發(fā)光管的電流是最大的,即此時(shí)的紅外發(fā)光管的

31、發(fā)射功率最大。傳感器安裝在小車的地盤,距離路面距離很短,再者對(duì)于小車的續(xù)航能力來說,功耗低的話續(xù)航能力好一點(diǎn),鑒于此兩方面的考慮,我們選擇紅外發(fā)射管壓降在1.1V左右,也經(jīng)過反復(fù)測(cè)試,此時(shí)的發(fā)射功率檢測(cè)1cm左右距離的黑白線,效果較為明顯,如果電源電壓為5V,則分流電阻R=(5-1.2)/0.01=380奧姆,考慮到發(fā)光二極管發(fā)熱以及二極管的阻抗,對(duì)于限流電阻R1,我們選擇150奧姆,經(jīng)過測(cè)試,TCRT5000也工作很穩(wěn)定。2:對(duì)于分壓電阻R2的選擇,由于R2跟光敏三極管串聯(lián),所以R2的大小和接收管的電壓變化有關(guān)系。初步選擇R2=20k,經(jīng)過測(cè)試,我們得出下面一組資料,當(dāng)發(fā)光二極管的發(fā)射的紅外

32、光照射到黑線的時(shí)候,黑線將光線吸收,導(dǎo)致光敏三極管截止,此時(shí)加在圖中的4、5點(diǎn)的壓降為4.69V,當(dāng)為白線時(shí),4、5兩點(diǎn)的壓降在0.76V,那么輸出給電壓比較器異相端的電壓就是在黑白兩種狀態(tài)下此分壓電阻的壓降,即黑線時(shí)為(5-4.69)=0.31V,白線時(shí)為(5-0.76)=4.24V,經(jīng)過現(xiàn)場(chǎng)測(cè)試兩者的電壓出入不大,基本符合預(yù)想。3:參考電壓的選擇,從上面的測(cè)試,我們得出R1,R2為150,20k時(shí)TCRT5000檢測(cè)黑線的時(shí)候輸入給電壓比較器的電壓為0.27V,白線的時(shí)候是4.38V,所以我們將參考電壓定為2V,即檢測(cè)到白線的時(shí)候,參考電壓小于異相端電壓,所以輸出為低電平,反之則為高電平。

33、對(duì)于參考電壓,我們選擇10k電位器輸出,要輸出2V電壓給電壓比較器同相端,那么電位器的阻值分配為6k和4k,經(jīng)過測(cè)試,為3.6k,分析原因,一是因?yàn)?0k的電位器的全部阻值并不是很標(biāo)準(zhǔn)的10k,我拿到的為9.6k左右,還有此時(shí)加在電位器上的電壓也并不是很準(zhǔn)確的5V電壓,所以才出現(xiàn)這樣的情況。3.3.4傳感器安裝在小車具體的循跡行走過程中,為了能精確測(cè)定黑線位置并確定小車行走,需要再車底盤安置三個(gè)傳感器,裝置位置如圖3.6所示, 三個(gè)傳感器,那就意味著八種1,0組合的狀態(tài),為了使小車平穩(wěn)的轉(zhuǎn)彎,設(shè)置“大拐”“小拐”,意思有左大拐,左小拐,右大拐,右小拐,直線前進(jìn),后退,還有兩種無(wú)效的狀態(tài)(101

34、,111),下來有必要說下傳感器的安裝距離,為了檢測(cè)的方便我們使小車的兩個(gè)傳感器之間的距離剛好大于黑線的距離,這樣的目的就是,當(dāng)一個(gè)傳感器檢測(cè)不到的時(shí)候,它旁邊的傳感器就要檢測(cè)到黑線呢,這樣就使傳感器無(wú)盲區(qū)。左電機(jī)右電機(jī)后萬(wàn)向輪左傳感器中傳感器右傳感器圖3.12 傳感器安裝布局圖3.3.5TTL電平TTL電平信號(hào)被利用的最多是因?yàn)橥ǔ?shù)據(jù)表示采用二進(jìn)制規(guī)定,+5V等價(jià)于邏輯“1”,0V等價(jià)于邏輯“0”,這被稱做TTL信號(hào)系統(tǒng)。TTL電平VCC是5V。當(dāng)光電對(duì)管檢測(cè)到黑線時(shí),輸出高電平,高于電壓比較器的“+”輸入端設(shè)定比較電壓,相當(dāng)于5V,等價(jià)于邏輯“1”; 當(dāng)光電對(duì)管檢測(cè)到白線時(shí),輸出低電平,

35、低于電壓比較器的“+”輸入端設(shè)定比較電壓,相當(dāng)于0V,等價(jià)于邏輯“0”。TTL電路是電流控制器件,一般提供25毫安的驅(qū)動(dòng)能力。TTL電路的速度快,傳輸延遲時(shí)間短(5-10ns),但是功耗大。TTL輸出低電平2.4V。在室溫下,一般輸出高電平是3.5V,輸出低電平是0.2V。 TTL輸入低電平 2.0V。所以,TTL器件輸出的低電平要小于0.8V,高電平要大于2.4V。輸入時(shí),低于1.2V就認(rèn)為是0,高于2.0V就認(rèn)為是1。 3.4電源模塊電源對(duì)于一個(gè)系統(tǒng)來說作用是巨大的,它是系統(tǒng)工作穩(wěn)定的前提。下表是整個(gè)方案中需要的電源及電源值。表3.3本系統(tǒng)供電項(xiàng)目及數(shù)值電源供電專案 電源數(shù)值電機(jī)驅(qū)動(dòng)芯片L

36、298N +4.5V-+7VSTC單片機(jī) +3.3V-+5.5V電壓比較器LM324 +3V+32V直流減速電機(jī) +6V-+24V對(duì)于電壓比較器,我們希望比較出來的電平是TTL電平,這個(gè)輸出電平高電平的電壓值跟LM324的供電電壓有關(guān),如果供電電壓為5V,由于比較器內(nèi)部晶體管壓降,則它輸出高電平的電壓值應(yīng)該小于5V,大約保持在4.5V左右,所以我們選擇給LM324+5V電壓供電,此電壓可以供給STC89C52、L298也很合適.對(duì)于電機(jī),我們選擇+12V電壓。一路供給直流減速電機(jī),一路經(jīng)過穩(wěn)壓芯片LM2576輸出+5V電壓給LM324、L298、單片機(jī)(考慮到散熱,我們選擇LM2576,而放棄

37、LM7805)下圖就是電源原理圖,輸入是12V,輸出是+5V。圖3.13 12V電源轉(zhuǎn)5V電源電路原理圖3.5電機(jī)驅(qū)動(dòng)模塊3.5.1電機(jī)驅(qū)動(dòng)芯片L298N電機(jī)驅(qū)動(dòng)芯片L298N是SGS公司的產(chǎn)品,內(nèi)部包含4信道邏輯驅(qū)動(dòng)電路。是一種二相和四相電機(jī)的專用驅(qū)動(dòng)器,即內(nèi)含二個(gè)H橋的高電壓大電流雙全橋式驅(qū)動(dòng)器,接收標(biāo)準(zhǔn)TTL邏輯電平信號(hào),可驅(qū)動(dòng)46V、2A以下的電機(jī)。其引腳排列如圖3.14所示,1腳和15腳可單獨(dú)引出連接電流采樣電阻器,形成電流傳感信號(hào)。L298可驅(qū)動(dòng)2個(gè)電機(jī),OUT1、OUT2和OUT3、OUT4之間分別接2個(gè)電動(dòng)機(jī)。5、7、10、12腳接輸入控制電平,控制電機(jī)的正反轉(zhuǎn),ENA,ENB

38、接控制使能端,控制電機(jī)的停轉(zhuǎn)。也利用單片機(jī)產(chǎn)生PWM信號(hào)接到ENA,ENB端子,對(duì)電機(jī)的轉(zhuǎn)速進(jìn)行調(diào)節(jié)。圖3.14 L298N引腳圖通過單片機(jī)的I/O口輸入改變芯片控制端的電平,即可以對(duì)電機(jī)進(jìn)行正反轉(zhuǎn),停止的操作,輸入引腳與輸出引腳的邏輯關(guān)系圖為下表表3.4L298N輸入輸出也邏輯表使能端ENAIn1In2運(yùn)轉(zhuǎn)狀態(tài)0停止110正轉(zhuǎn)101反轉(zhuǎn)111剎停100停止用一個(gè)L298N驅(qū)動(dòng)左右兩個(gè)電機(jī),In1、In2控制左電機(jī),In3、In4控制右電機(jī),而使能端一直為高電平,采用In1、In2、In3、In4同時(shí)為0來達(dá)到電機(jī)的停止,從而是小車停止。圖3.15 電機(jī)驅(qū)動(dòng)電路圖4 軟件設(shè)計(jì)在進(jìn)行單片機(jī)控制系

39、統(tǒng)設(shè)計(jì)時(shí),除了系統(tǒng)硬件設(shè)計(jì)以外,大量的工作就是如何讓根據(jù)系統(tǒng)每一個(gè)現(xiàn)象或者作用設(shè)計(jì)應(yīng)用程序。因此,軟件設(shè)計(jì)在單片機(jī)控制系統(tǒng)設(shè)計(jì)中占有重要的地位。對(duì)于本系統(tǒng),軟件更為重要。本次軟件設(shè)計(jì)需要完成以下兩個(gè)任務(wù)。1:?jiǎn)纹瑱C(jī)根據(jù)傳感器I/O口的輸入狀態(tài),來相應(yīng)的執(zhí)行判斷程序,來達(dá)到小車的前進(jìn),后退,停止;2:?jiǎn)纹瑱C(jī)兩個(gè)I/O口同時(shí)產(chǎn)生兩個(gè)占空比不相同的方波,來控制小車電機(jī)的車速,來達(dá)到小車的左轉(zhuǎn)彎、右轉(zhuǎn)彎;為了完成上述任務(wù),在進(jìn)行軟件設(shè)計(jì)時(shí),通常把整個(gè)過程分成若干個(gè)部分,每一部分叫做一個(gè)模塊。所謂“模塊”,實(shí)際上就是完成一定功能,相對(duì)獨(dú)立的程序段,這中程序設(shè)計(jì)方法叫做模塊化程序設(shè)計(jì)法。模塊化程序設(shè)計(jì)方法

40、的主要優(yōu)點(diǎn)是:1、 單個(gè)模塊化起一個(gè)完整的程序易編寫及調(diào)試;2、 模塊可以共存,一個(gè)模塊可以被多個(gè)任務(wù)在不同條件下調(diào)用;3、 模塊程序允許設(shè)計(jì)者分割任務(wù)和利用已有程序,為設(shè)計(jì)者提供方便。本系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序,尋跡子程序,調(diào)速子程序等構(gòu)成。4.1PWM脈沖寬度調(diào)制(PWM),是英文“Pulse Width Modulation”的縮寫,簡(jiǎn)稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測(cè)量、通信到功率控制與變換的許多領(lǐng)域中。脈沖寬度調(diào)制是一種模擬控制方式,其根據(jù)相應(yīng)載荷的變化來調(diào)制晶體管柵極或基極的偏置,來實(shí)現(xiàn)開關(guān)穩(wěn)壓電源輸出晶體管或晶體管

41、導(dǎo)通時(shí)間的改變,這種方式能使電源的輸出電壓在工作條件變化時(shí)保持恒定,是利用微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù)。隨著電子技術(shù)的發(fā)展,出現(xiàn)了多種PWM技術(shù),其中包括:相電壓控制PWM、脈寬PWM法、隨機(jī)PWM、SPWM法、線電壓控制PWM等,而在鎳氫電池智能充電器中采用的脈寬PWM法,它是把每一脈沖寬度均相等的脈沖列作為PWM波形,通過改變脈沖列的周期可以調(diào)頻,改變脈沖的寬度或占空比可以調(diào)壓,采用適當(dāng)控制方法即可使電壓與頻率協(xié)調(diào)變化。可以通過調(diào)整PWM的周期、PWM的占空比而達(dá)到控制充電電流的目的。模擬信號(hào)的值可以連續(xù)變化,其時(shí)間和幅度的分辨率都沒有限制。9V電池就是一種仿

42、真器件,因?yàn)樗妮敵鲭妷翰⒉痪_地等于9V,而是隨時(shí)間發(fā)生變化,并可取任何實(shí)數(shù)值。與此類似,從電池吸收的電流也不限定在一組可能的取值范圍之內(nèi)。模擬信號(hào)與數(shù)字信號(hào)的區(qū)別在于后者的取值通常只能屬于預(yù)先確定的可能取值集合之內(nèi),例如在0V, 5V這一集合中取值。模擬電壓和電流可直接用來進(jìn)行控制,如對(duì)汽車收音機(jī)的音量進(jìn)行控制。在簡(jiǎn)單的模擬收音機(jī)中,音量旋鈕被連接到一個(gè)可變電阻。擰動(dòng)旋鈕時(shí),電阻值變大或變小;流經(jīng)這個(gè)電阻的電流也隨之增加或減少,從而改變了驅(qū)動(dòng)揚(yáng)聲器的電流值,使音量相應(yīng)變大或變小。與收音機(jī)一樣,模擬電路的輸出與輸入成線性比例。盡管模擬控制看起來可能直觀而簡(jiǎn)單,但它并不總是非常經(jīng)濟(jì)或可行的。其

43、中一點(diǎn)就是,模擬電路容易隨時(shí)間漂移,因而難以調(diào)節(jié)。能夠解決這個(gè)問題的精密模擬電路可能非常龐大、笨重(如老式的家庭立體聲設(shè)備)和昂貴。模擬電路還有可能嚴(yán)重發(fā)熱,其功耗相對(duì)于工作組件兩端電壓與電流的乘積成正比。模擬電路還可能對(duì)噪聲很敏感,任何擾動(dòng)或噪聲都肯定會(huì)改變電流值的大小。 通過以數(shù)字符方式控制模擬電路,可以大幅度降低系統(tǒng)的成本和功耗。此外,許多微控制器和DSP已經(jīng)在芯片上包含了PWM控制器,這使數(shù)字控制的實(shí)現(xiàn)變得更加容易了。脈沖寬度調(diào)制(PWM)是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法。通過高分辨率計(jì)數(shù)器的使用,方波的占空比被調(diào)制用來對(duì)一個(gè)具體模擬信號(hào)的電平進(jìn)行編碼。PWM信號(hào)仍然是數(shù)字的,因

44、為在給定的任何時(shí)刻,滿幅值的直流供電要么完全有(ON),要么完全無(wú)(OFF)。電壓或電流源是以一種通(ON)或斷(OFF)的重復(fù)脈沖序列被加到模擬負(fù)載上去的。通的時(shí)候即是直流供電被加到負(fù)載上的時(shí)候,斷的時(shí)候即是供電被斷開的時(shí)候。只要帶寬足夠,任何模擬值都可以使用PWM進(jìn)行編碼。多數(shù)負(fù)載(無(wú)論是電感性負(fù)載還是電容性負(fù)載)需要的調(diào)制頻率高于10Hz,通常調(diào)制頻率為1kHz到200kHz之間。 許多微控制器內(nèi)部都包含有PWM控制器。例如,Microchip公司的PIC16C67內(nèi)含兩個(gè)PWM控制器,每一個(gè)都可以選擇接通時(shí)間和周期。占空比是接通時(shí)間與周期之比,調(diào)制頻率為周期的倒數(shù)。執(zhí)行PWM操作之前,

45、這種微處理器要求在軟件中完成以下工作: 1、設(shè)置提供調(diào)制方波的片上定時(shí)器/計(jì)數(shù)器的周期 2、 在PWM控制寄存器中設(shè)置接通時(shí)間 3、設(shè)置PWM輸出的方向,這個(gè)輸出是一個(gè)通用I/O管腳 4、啟動(dòng)定時(shí)器 5、使能PWM控制器本系統(tǒng)采用PWM來調(diào)節(jié)直流電機(jī)的速度。PWM是通過控制固定電壓的直流電源開關(guān)頻率,從而改變負(fù)載兩端的電壓,進(jìn)而達(dá)到控制要求的一種電壓調(diào)整方法。PWM可以應(yīng)用在許多方面,如電機(jī)調(diào)速、溫度控制、壓力控制等。在PWM驅(qū)動(dòng)控制的調(diào)整系統(tǒng)中,按一個(gè)固定的頻率來接通和斷開電源,并根據(jù)需要改變一個(gè)周期內(nèi)“接通”和“斷開”時(shí)間的長(zhǎng)短。通過改變直流電機(jī)電樞上電壓的“占空比”來改變平均電壓的大小,

46、從而控制電動(dòng)機(jī)的轉(zhuǎn)速。因此,PWM又被稱為“開關(guān)驅(qū)動(dòng)裝置”。在脈沖作用下,當(dāng)電機(jī)通電時(shí),速度增加;電機(jī)斷電時(shí),速度逐漸減少。只要按一定規(guī)律,改變通、斷電的時(shí)間,即可讓電機(jī)轉(zhuǎn)速得到控制。4.2 主函數(shù)程序設(shè)計(jì)對(duì)于小車的行駛,我這樣設(shè)想的,整個(gè)系統(tǒng)供上電之后,就不停的執(zhí)行掃描端口,當(dāng)此輸入口為低電平時(shí),意味著小車的開關(guān)已經(jīng)按下,小車已經(jīng)發(fā)動(dòng)起來了,單片機(jī)執(zhí)行相應(yīng)的子程序,否則就一直掃描。這樣比較貼合實(shí)際一些。同樣的,當(dāng)此輸入口為高電平時(shí),小車停止行駛。前面第2章講到,L298N與單片機(jī)相連接的6個(gè)I/O口,in1in4是輸出控制電機(jī)的端口,in5in6是使能端,in5控制in1和in2,in6控制

47、in3和in4,只有當(dāng)它們?yōu)楦唠娖綍r(shí),in1in4才輸出有效,那么要達(dá)到兩個(gè)電機(jī)同時(shí)轉(zhuǎn)動(dòng),就必須使in5in6同時(shí)為高電平。對(duì)于小車停止,預(yù)想的是,當(dāng)開關(guān)按下時(shí),小車開始行駛,計(jì)數(shù)器也開始計(jì)數(shù),當(dāng)不再檢測(cè)到黑線的時(shí)候就停止,這樣,對(duì)于B部分的時(shí)間顯示來說,可以設(shè)定外部中斷,停止的時(shí)候定時(shí)器停止計(jì)數(shù),在數(shù)碼管上就顯示當(dāng)前計(jì)數(shù)值,即為小車行駛的時(shí)間。所以主函數(shù)可以這樣寫:Void mian()In5=1;In6=1; /L28N使能端,只有兩者都為高電平時(shí),in1in4輸入的高低電平才有效/While(kaiguan=0)/“發(fā)動(dòng)機(jī)鑰匙”/Xunji();/循跡程序/總體程序流程圖:結(jié)束停止NY是

48、否檢測(cè)到黑線Y轉(zhuǎn)向子程序是否偏離黑線繼續(xù)直線前進(jìn)NYN開關(guān)是否按下啟動(dòng)小車開始圖4.1 程序主體流程圖4.3 尋跡子函數(shù)程序設(shè)計(jì)尋跡,顧名思義,就是單片機(jī)尋找準(zhǔn)確的路線,以達(dá)到精準(zhǔn)的行駛,本設(shè)計(jì)采用黑線行駛,三個(gè)TCRT5000紅外傳感器,分別連接STC單片機(jī)的P1.0、P1.1、P1.2口,對(duì)于三個(gè)傳感器就有=8種狀態(tài),根據(jù)現(xiàn)實(shí)情況,在下表中給予統(tǒng)一編碼。表4.1傳感器輸出信號(hào)編碼傳感器狀態(tài)(a、b、c)小車狀態(tài)000停止001右大拐彎010直線前進(jìn)011右小拐彎100左大拐彎101直線前進(jìn)(此狀態(tài)不可能出現(xiàn))110左小拐彎111后退根據(jù)上表,得出尋跡子程序流程圖尋跡子程序傳感器輸出狀態(tài)11

49、1110101100011010001000后退左小拐直向前左大拐右小拐直向前右大拐停止跳出子程序圖4.2 轉(zhuǎn)向子程序流程圖基于上面所述,尋跡程序可以這樣編寫。void xunji() if(sensera=0)&(senserb=0)&(senserc=0) stop();/停止吧,因?yàn)闆]有黑線啦/ else if(sensera=0)&(senserb=0)&(senserc=1) PWMqianjin(7,3);/小車即將向左偏離黑線,右大轉(zhuǎn)彎吧/ else if(sensera=0)&(senserb=1)&(senserc=1) PWMqianjin(6,4);/小車較偏離左邊,希望

50、右小轉(zhuǎn)彎/ else if(sensera=1)&(senserb=0)&(senserc=0)PWMqianjin(3,7); /小車即將向右偏離黑線,左大轉(zhuǎn)彎吧/else if(sensera=1)&(senserb=1)&(senserc=1)houtui(5,5);/小車可能橫跨在黑線上啦,此時(shí)后退吧,但是一般此種情況很難出現(xiàn),早就被我扼殺在萌芽狀態(tài)啦/else if(sensera=1)&(senserb=1)&(senserc=0)PWMqianjin(4,6); /小車較偏離右邊,希望左小轉(zhuǎn)彎/ else PWMqianjin(5,5); /此刻,黑線被壓在小車的中央,全速前進(jìn)/

51、4.4 調(diào)速子程序小車能穩(wěn)定行駛,轉(zhuǎn)彎是在所難免的,對(duì)于調(diào)速,采用P20P23輸出不同占空比的方波,來控制小車兩個(gè)輪子的速度,對(duì)于轉(zhuǎn)彎的方案,有以下幾種。方案1:遇到轉(zhuǎn)彎的時(shí)候,一個(gè)輪子降低速度,另外一個(gè)停止,優(yōu)點(diǎn)是轉(zhuǎn)彎的時(shí)候一個(gè)輪子行駛,不需要考慮同時(shí)輸出不同占空比的方波的問題,這樣單片機(jī)控制簡(jiǎn)單一些,缺點(diǎn)則是,小車在轉(zhuǎn)彎的時(shí)候一直有個(gè)電機(jī)會(huì)停止與啟動(dòng),電機(jī)頻繁啟動(dòng)對(duì)電機(jī)壽命會(huì)有影響,另外小車行駛起來讓人感覺比較“沖”,就是轉(zhuǎn)彎過程中不細(xì)膩。方案2:遇到需要轉(zhuǎn)彎的時(shí)候,將一個(gè)輪子的速度降低,另一個(gè)輪子速度提高,只要兩個(gè)輪子的占空比之差在一個(gè)合理的范圍之內(nèi),轉(zhuǎn)彎就合情合理啦。接下來就是要解決怎

52、么樣使單片機(jī)兩個(gè)I/O口同時(shí)產(chǎn)生不同占空比的方波,根據(jù)自己此段時(shí)間的努力,1:采用定時(shí)器,開始就開啟定時(shí),當(dāng)傳感器輸出口達(dá)到某一狀態(tài)時(shí),給計(jì)數(shù)器裝在一定的數(shù)值,此數(shù)值代表不同的占空比,在定時(shí)器中斷程序里面取反。2:采用賦值延時(shí),給驅(qū)動(dòng)芯片端口分別賦值,延時(shí)使相應(yīng)的端口輸出不同占空比的方波。綜合系統(tǒng)難易程度,本次選擇賦值延時(shí)方案產(chǎn)生兩個(gè)不同占空比的方波。所以調(diào)速子程序可以這樣編寫。void PWMqianjin(uchar x1,uchar x2)/前進(jìn)程序,x1,x2代表左右電機(jī)的占空比/uchar a,b,n=100;in1=0;in4=0;/左電機(jī)反轉(zhuǎn),右電機(jī)正轉(zhuǎn)=前進(jìn),意味著in1=in

53、4=0,in2和in3輸出方波/while(n-)in2=1;in3=0;for(a=x1;a0;a-);in2=0;in3=1;for(b=x2;b0;b-);void houtui(uchar x1,uchar x2)/后退函數(shù)/uchar c,d,m=100;in2=0;in3=0;/左電機(jī)正轉(zhuǎn),右電機(jī)反轉(zhuǎn)=后退,意味著in2=in3=0,in1和in4輸出方波/while(m-)in1=0;in4=1;for(c=x1;c0;c-);in1=1;in4=0;for(d=x2;d0;d-);void stop()/停車函數(shù),采用軟件和硬件停車,“鑰匙”關(guān)跟檢測(cè)不到黑線的時(shí)候,就停車/in

54、1=0;in2=0;in3=0;in4=0;5 整體調(diào)試5.1 測(cè)試方法及儀器:測(cè)試儀器測(cè)試儀器暴扣數(shù)字萬(wàn)用表,示波器,直流穩(wěn)壓電源等。測(cè)試方法數(shù)字萬(wàn)用表主要用來測(cè)試分立元件的電阻、壓降、漏電流、截止/導(dǎo)通狀態(tài)等參數(shù);示波器用于測(cè)試PWM輸出口的波形。直流穩(wěn)壓電源主要用來給系統(tǒng)提供精準(zhǔn)的電壓源。 此設(shè)計(jì)是單片機(jī)應(yīng)用系統(tǒng)的開發(fā)性實(shí)驗(yàn)。通過此設(shè)計(jì)可知在單片機(jī)系統(tǒng)開發(fā)過程應(yīng)注意以下事項(xiàng)。1)硬件的選擇。選擇適合設(shè)計(jì)目地的元器件是一個(gè)重要的方設(shè)計(jì)環(huán)節(jié)。不能以元器件是否是最高性能作為選擇元器件的標(biāo)準(zhǔn)。往往高性能器件的價(jià)格也是較高的。應(yīng)根據(jù)項(xiàng)目設(shè)計(jì)的需要選擇元器件,能夠滿足設(shè)計(jì)需要作為標(biāo)準(zhǔn)選擇元器件。2)因?yàn)閱纹瑱C(jī)系統(tǒng)設(shè)計(jì)是硬件和軟件相結(jié)合的設(shè)計(jì),所以系統(tǒng)和硬件和軟件必須緊密配合,協(xié)調(diào)一致。應(yīng)不斷調(diào)整硬軟件設(shè)計(jì),以提高系統(tǒng)工作效率。單片機(jī)的應(yīng)用如今已經(jīng)是在工業(yè),電子等方面展示出了它的優(yōu)越性,利用單片機(jī)在設(shè)計(jì)電路逐漸成了趨勢(shì),它與外圍電路再加上軟件程序就可以構(gòu)建任意的產(chǎn)品,使得本設(shè)計(jì)成為現(xiàn)實(shí)。隨著單片機(jī)的日益發(fā)展,它必將在未來顯示出更大的活力,為電子設(shè)計(jì)更多精彩。對(duì)于數(shù)字電壓表而言,功能將會(huì)越來越強(qiáng)大。我們?cè)谠O(shè)計(jì)的過程中發(fā)現(xiàn)了自身知識(shí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論