循跡小車(chē)畢業(yè)論文
《循跡小車(chē)畢業(yè)論文》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《循跡小車(chē)畢業(yè)論文(46頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 摘 要 本設(shè)計(jì)是一種基于單片機(jī)控制的簡(jiǎn)易自動(dòng)尋跡小車(chē)系統(tǒng),其研究意義涵蓋了工業(yè)、生活、勘探以及人類(lèi)關(guān)注的探月工程。設(shè)計(jì)旨在設(shè)計(jì)出一款可以自主按照人類(lèi)預(yù)設(shè)的軌跡行走(或者完全自主行走)并完成指定任務(wù)的小車(chē)。從設(shè)計(jì)的功能要求出發(fā),設(shè)計(jì)包括小車(chē)機(jī)械構(gòu)成設(shè)計(jì)和控制系統(tǒng)的軟硬件設(shè)計(jì)。為了適應(yīng)復(fù)雜的地形我采用穩(wěn)定性比較高的四輪構(gòu)架式,用后輪驅(qū)動(dòng)前輪換向的控制模式。控制系統(tǒng)以STC89C52為控制核心, 用單片機(jī)產(chǎn)生PWM波,控制小車(chē)速度。利用紅外光電傳感器對(duì)路面黑色軌跡進(jìn)行檢測(cè),并確定小車(chē)當(dāng)前的位置狀態(tài),再將路面檢測(cè)信號(hào)反饋給單片機(jī)。單片機(jī)對(duì)采集到的信號(hào)予以分析判斷,及時(shí)控制驅(qū)動(dòng)電機(jī)以調(diào)整
2、小車(chē)轉(zhuǎn)向,從而使小車(chē)能夠沿著黑色軌跡自動(dòng)行駛,實(shí)現(xiàn)小車(chē)自動(dòng)尋跡的目的。 關(guān)鍵詞 : 循跡小車(chē),單片機(jī),紅外傳感器 ABSTRACT The design is a simple microcontroller-based control automatically tracing the car system, and its significance covers the industry, life, exploration, and human concern lunar e
3、xploration. The design aims to design a can of independent walking in accordance with the trajectory of human default (or completely autonomous walking) and to complete the tasks assigned to the car. The design includes the functional requirements from the design of car mechanical design and control
4、 system hardware and software design. Relatively high stability of the four trusses in order to adapt to the complex terrain, before the rotation of the rear-wheel drive control mode. Control system to control the core to STC89C52 microcontroller PWM wave to control the car speed. Using infrared pho
5、toelectric sensor to detect the black track on the road and to determine the current status of the car, and then the road detection signal is fed to the microcontroller. Microcontroller to be collected signal analysis and judgment, and timely control of the drive motor to adjust the steering of the
6、car, so that the car is traveling along the black track to achieve the purpose of the car automatically tracing. Keywords: car tracking;microcontroller;Infrared sensors 5 調(diào)試 目錄 1 緒 論 1 1.1 研究背景和發(fā)展現(xiàn)狀 1 1.2 研究目的和意義 1 1.3 研究?jī)?nèi)容 2 2方案設(shè)計(jì)與論證 3 2.1 總體方案設(shè)計(jì) 3 2.2主控系統(tǒng)
7、3 2.2 電機(jī)驅(qū)動(dòng)模塊 4 2.3 驅(qū)動(dòng)電機(jī)選擇 5 2.4 循跡模塊 5 2.5 機(jī)械系統(tǒng) 6 3 主要器件介紹 7 3.1 STC89C52的介紹 7 3.2 L298N的介紹 10 3.2.1 L298的引腳功能 10 3.2.2 L298的運(yùn)行參數(shù) 11 3.2.3 L298的邏輯控制 11 3.3 TCRT5000的介紹 11 3.4 LM324的介紹 12 4 硬件設(shè)計(jì) 14 4.1總體設(shè)計(jì) 14 4.2 STC89C52單片機(jī)控制電路 16 4.2.1 時(shí)鐘電路 16 4.2.2 復(fù)位電路 17 4.2.3 EA/VPP(31 腳)的功能和接
8、法 17 4.2.4 P0 口外接上拉電阻 17 4.3TCRT5000黑色軌跡識(shí)別電路 18 4.4LM324電壓比較電路 19 4.5電機(jī)驅(qū)動(dòng)電路 20 4.5.1驅(qū)動(dòng)電路 20 4.5.2 PWM調(diào)速原理 21 5程序設(shè)計(jì) 23 5.1主程序 23 5.2TCRT5000掃描程序 25 5.3 PWM編碼產(chǎn)生程序 26 6調(diào)試 28 6.1硬件調(diào)試 28 6.1.1電池可靠性 28 6.1.2TCRT5000探頭 29 6.1.3 L298N馬達(dá)驅(qū)動(dòng)模塊 29 6.2軟件調(diào)試 29 6.2.1調(diào)試平臺(tái)介紹 29 6.3 測(cè)試結(jié)果與分析 30 結(jié)束語(yǔ)
9、32 參考文獻(xiàn) 33 致謝 34 附 錄 35 附錄1:源程序 35 附錄2:原理圖 39 附錄3:PCB設(shè)計(jì) 40 3 1 緒 論 1.1 研究背景和發(fā)展現(xiàn)狀 隨著電子技術(shù)、計(jì)算機(jī)技術(shù)、智能控制技術(shù)的飛速發(fā)展,產(chǎn)品的智能化和小型化越來(lái)越成為人們關(guān)注的熱點(diǎn)。各種智能小車(chē)在智能化玩具中占了很大的比例。近年來(lái),傳統(tǒng)玩具的市場(chǎng)逐步縮水,高科技智能化的電子類(lèi)玩具則逐步成為市場(chǎng)的主流。因此,可遙控的智能化小車(chē)的研究是非常有意義的,具有很大潛在市場(chǎng)價(jià)值的。 智能小車(chē),也被稱(chēng)之為輪式機(jī)器人。我們知道,機(jī)器人技術(shù)的發(fā)展是一個(gè)國(guó)家高科技水平和工業(yè)自動(dòng)化程度的重要標(biāo)志和體
10、現(xiàn)。機(jī)器人由于具有高度的靈活性、可以幫助人們提高生產(chǎn)率、改進(jìn)產(chǎn)品質(zhì)量和改善勞動(dòng)條件等優(yōu)點(diǎn),在世界各地的生產(chǎn)生活領(lǐng)域得到了廣泛的應(yīng)用。智能小車(chē)正是模仿機(jī)器人的一種嘗試。它是一種以汽車(chē)電子為背景,涵蓋控制,模式識(shí)別,電子、電氣、單片機(jī)、機(jī)械等多學(xué)科的科技創(chuàng)新性設(shè)計(jì),一般主要由路徑識(shí)別、速度采集、角度控制以及車(chē)速控制等模塊組成。這種智能小車(chē)能夠自動(dòng)搜尋前進(jìn)路線(xiàn),還能爬坡;感知前方的障礙物,并自動(dòng)尋找前進(jìn)方向,避開(kāi)障礙物;加入相關(guān)聲光訊號(hào)后,更能體現(xiàn)出智能化和人性化的一面。 1.2 研究目的和意義 隨著人們物質(zhì)文化生活水平的不斷提高,智能化的電子玩具深受人們的喜愛(ài),尤其是各種智能小車(chē),由于這類(lèi)玩具
11、具有較好的交互性,可控性,能夠給人們帶來(lái)很好的娛樂(lè)以及參與其中的體驗(yàn),高科技智能化的電子類(lèi)玩具逐漸成為市場(chǎng)的主流。與此同時(shí),智能小車(chē)可以應(yīng)用于考古、機(jī)器人、醫(yī)療器械等許多方面,尤其在足球機(jī)器人研究方面具有很好的發(fā)展前景。因此,智能化小車(chē)的研究不僅具有很大的現(xiàn)實(shí)意義,還具有極為廣闊的應(yīng)用前景和市場(chǎng)價(jià)值。 例如智能運(yùn)輸系統(tǒng)。公共交通是城市發(fā)展的必然產(chǎn)物,也是城市賴(lài)以生存的重要基礎(chǔ)設(shè)施之一。它作為城市動(dòng)態(tài)大系統(tǒng)中一個(gè)重要組成部分,是城市整體發(fā)展中不可缺少的物質(zhì)條件和基礎(chǔ)產(chǎn)業(yè),也是聯(lián)系社會(huì)生產(chǎn)、流通和人民生活的紐帶。公交系統(tǒng)具有運(yùn)載量大、運(yùn)送效率高、能源消耗低、相對(duì)污染少、運(yùn)輸成本低等項(xiàng)優(yōu)點(diǎn)。 隨
12、著我國(guó)改革開(kāi)放的深入和經(jīng)濟(jì)建設(shè)的持續(xù)快速發(fā)展,城市規(guī)模不斷擴(kuò)大,交通需求也不斷增加。有關(guān)資料表明,1996年全國(guó)城市機(jī)動(dòng)車(chē)保有量為884.5萬(wàn)輛,比1977年增長(zhǎng)近9倍,年均增長(zhǎng)33.8%,全國(guó)城市自行車(chē)超過(guò)1.8億輛,占全國(guó)總量的40%,城鎮(zhèn)每百戶(hù)擁有率達(dá)198輛。道路建設(shè)雖突飛猛進(jìn),從1980年至1994年,全國(guó)城市道路總長(zhǎng)從2.95萬(wàn)公里增至11.1萬(wàn)公里,年平均增長(zhǎng)率為9.9%,人均道路面積從2.8m2增至6.6m2,道路面積增長(zhǎng)率為年均11.6%,這樣的速度仍然趕不上車(chē)輛的增長(zhǎng)速度。同時(shí),由于多種原因致使公交車(chē)輛運(yùn)營(yíng)速度由每小時(shí)12-14公里下降至5-10公里,新增的運(yùn)力被運(yùn)輸效率下
13、降抵消,公交承擔(dān)運(yùn)量不斷減退,居民出行方式逐年由公交向自行車(chē)等個(gè)體交通方式轉(zhuǎn)移,這無(wú)疑加劇了交通的擁擠程度。如何解決城市居民出行交通需求的不斷增加與公共交通發(fā)展相對(duì)滯后的矛盾成為擺在我們面前的一項(xiàng)迫切任務(wù)。 智能運(yùn)輸系統(tǒng)(Intelligent Transportation Systems,ITS)。它是在關(guān)鍵基礎(chǔ)理論模型研究的前提下,把先進(jìn)的信息技術(shù)、數(shù)據(jù)通信技術(shù)、電子控制技術(shù)及計(jì)算機(jī)處理技術(shù)等有效地綜合運(yùn)用于地面交通管理體系,從而建立起一種大范圍、全方位發(fā)揮作用、實(shí)時(shí)、準(zhǔn)確、高效的交通運(yùn)輸管理系統(tǒng)。它利用無(wú)線(xiàn)通訊專(zhuān)網(wǎng)低頻段以低成本實(shí)現(xiàn)了公交企業(yè)運(yùn)營(yíng)數(shù)據(jù)的實(shí)時(shí)采集、快速傳輸,自行開(kāi)發(fā)研制了
14、無(wú)線(xiàn)通訊系統(tǒng)車(chē)載智能終端設(shè)備及控制系統(tǒng),使公交企業(yè)能夠充分利用無(wú)線(xiàn)通訊系統(tǒng)采集和傳輸?shù)能?chē)輛運(yùn)營(yíng)數(shù)據(jù)進(jìn)行車(chē)輛調(diào)度和車(chē)輛運(yùn)營(yíng)管理,且具有數(shù)據(jù)和話(huà)音雙重傳輸功能。具有用戶(hù)容量大、網(wǎng)絡(luò)范圍覆蓋廣、調(diào)度信息響應(yīng)速度快、全自動(dòng)語(yǔ)音報(bào)站自動(dòng)化、信息發(fā)布廣泛、出行者信息服務(wù)智能化、設(shè)備自動(dòng)維護(hù)智能化的特點(diǎn)。 智能公交系統(tǒng)的提出,必將大大改善公交管理水平,提高公交系統(tǒng)經(jīng)濟(jì)效益,減少政府財(cái)政補(bǔ)貼。由于采用公交出行的居民增加,相對(duì)減少了其它車(chē)輛出行,這勢(shì)必會(huì)緩解城市交通壓力,減少環(huán)境污染,降低交通事故發(fā)生率,改善交通環(huán)境,帶來(lái)巨大的社會(huì)效益。 1.3 研究?jī)?nèi)容 本設(shè)計(jì)的智能電動(dòng)小車(chē)具有自動(dòng)尋跡功能,可用過(guò)PW
15、M編碼控制行駛速度。整體設(shè)計(jì)可以分為如下幾個(gè)模塊,控制核心采用MCS-51系列中的STC89C52單片機(jī),循跡是通過(guò)傳感器實(shí)現(xiàn)的,利用紅外對(duì)射管檢測(cè)路面的軌跡,時(shí)刻調(diào)整車(chē)體位置使車(chē)不離開(kāi)軌道。整個(gè)系統(tǒng)具有自動(dòng)尋跡的功能。電機(jī)驅(qū)動(dòng)采用常用的PWM方式進(jìn)行電機(jī)的降壓調(diào)速控制。軟件中主要用到工業(yè)中常用的PID控制算法。整個(gè)系統(tǒng)的電路結(jié)構(gòu)較簡(jiǎn)單,可靠性能高。實(shí)驗(yàn)測(cè)試結(jié)果滿(mǎn)足要求。 2方案設(shè)計(jì)與論證 2.1 總體方案設(shè)計(jì) 根據(jù)題目的要求,確定如下方案:在現(xiàn)有玩具電動(dòng)車(chē)的基礎(chǔ)上,加裝反射式紅外光電傳感器,實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的位置、運(yùn)行狀況的實(shí)時(shí)測(cè)量,并將測(cè)量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后由單片機(jī)根
16、據(jù)所檢測(cè)的各種數(shù)據(jù)實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的智能控制。 本方案能實(shí)現(xiàn)對(duì)電動(dòng)車(chē)的運(yùn)動(dòng)狀態(tài)進(jìn)行實(shí)時(shí)控制,控制靈活、可靠,精度高,可滿(mǎn)足對(duì)系統(tǒng)的各項(xiàng)要求。系統(tǒng)整體方框圖如圖1所示。 單片機(jī) STC89C52 循跡檢測(cè)模塊射 電機(jī)驅(qū)動(dòng)模塊 圖1 系統(tǒng)總體設(shè)計(jì)框圖 2.2主控系統(tǒng) 根據(jù)設(shè)計(jì)要求,我認(rèn)為此設(shè)計(jì)屬于多輸入量的復(fù)雜程序控制問(wèn)題。據(jù)此,擬定了以下兩種方案并進(jìn)行了綜合的比較論證,具體如下: 方案一: 選用一片CPLD(如EPM7128LC84-15)作為系統(tǒng)的核心部件,實(shí)現(xiàn)控制與處理的功能。CPLD具有速度快、編程容易、資源豐富、開(kāi)發(fā)
17、周期短等優(yōu)點(diǎn),可利用VHDL語(yǔ)言進(jìn)行編寫(xiě)開(kāi)發(fā)。但CPLD在控制上較單片機(jī)有較大的劣勢(shì)。同時(shí),CPLD的處理速度非???,而小車(chē)的行進(jìn)速度不可能太高,那么對(duì)系統(tǒng)處理信息的要求也就不會(huì)太高,在這一點(diǎn)上,MCU就已經(jīng)可以勝任了。若采用該方案,必將在控制上遇到許許多多不必要增加的難題。為此,我們不采用該種方案,進(jìn)而提出了第二種設(shè)想。 方案二: 采用單片機(jī)作為整個(gè)系統(tǒng)的核心,用其控制行進(jìn)中的小車(chē),以實(shí)現(xiàn)其既定的性能指標(biāo)。充分分析我們的系統(tǒng),其關(guān)鍵在于實(shí)現(xiàn)小車(chē)的自動(dòng)控制,而在這一點(diǎn)上,單片機(jī)就顯現(xiàn)出來(lái)它的優(yōu)勢(shì)——控制簡(jiǎn)單、方便、快捷。這樣一來(lái),單片機(jī)就可以充分發(fā)揮其資源豐富、有較為強(qiáng)大的控制功能及可位尋
18、址操作功能、價(jià)格低廉等優(yōu)點(diǎn)。因此,這種方案是一種較為理想的方案。 針對(duì)本設(shè)計(jì)特點(diǎn)——多開(kāi)關(guān)量輸入的復(fù)雜程序控制系統(tǒng),需要擅長(zhǎng)處理多開(kāi)關(guān)量的標(biāo)準(zhǔn)單片機(jī),而不能用精簡(jiǎn)I/O口和程序存儲(chǔ)器的小體積單片機(jī),D/A、A/D功能也不必選用。根據(jù)這些分析,我選定了STC89C52RA單片機(jī)作為本設(shè)計(jì)的主控裝置,51單片機(jī)具有功能強(qiáng)大的位操作指令,I/O口均可按位尋址,程序空間多達(dá)8K,對(duì)于本設(shè)計(jì)也綽綽有余,更可貴的是51單片機(jī)價(jià)格非常低廉。 在綜合考慮了傳感器、兩部電機(jī)的驅(qū)動(dòng)等諸多因素后,我們決定采用一片單片機(jī),充分利用STC89C52單片機(jī)的資源。 2.2 電機(jī)驅(qū)動(dòng)模塊 方案一: 采用繼電器對(duì)電
19、動(dòng)機(jī)的開(kāi)或關(guān)進(jìn)行控制,通過(guò)開(kāi)關(guān)的切換對(duì)小車(chē)的方向進(jìn)行調(diào)整.此方案的優(yōu)點(diǎn)是電路較為簡(jiǎn)單,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢,易損壞,壽命較短,可靠性不高。 方案二: 采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動(dòng)機(jī)的分壓,從而達(dá)到分壓的目的。但電阻網(wǎng)絡(luò)只能實(shí)現(xiàn)有級(jí)調(diào)速,而數(shù)字電阻的元器件價(jià)格比較昂貴。更主要的問(wèn)題在于一般的電動(dòng)機(jī)電阻很小,但電流很大,分壓不僅會(huì)降低效率,而且實(shí)現(xiàn)很困難。 方案三: 采用功率三極管作為功率放大器的輸出控制直流電機(jī)。線(xiàn)性型驅(qū)動(dòng)的電路結(jié)構(gòu)和原理簡(jiǎn)單,加速能力強(qiáng),采用由達(dá)林頓管組成的 H型橋式電路,具體電路介紹將在后面章節(jié)寫(xiě)出。用單片機(jī)控制達(dá)林頓管使之工作在占空比可調(diào)的開(kāi)關(guān)狀態(tài)下,精確調(diào)
20、整電動(dòng)機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡(jiǎn)單的實(shí)現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開(kāi)關(guān)速度很快,穩(wěn)定性也極強(qiáng),是一種廣泛采用的 PWM調(diào)速技術(shù)?,F(xiàn)市面上有很多此種芯片,我選用了L298N。 這種調(diào)速方式有調(diào)速特性?xún)?yōu)良、調(diào)整平滑、調(diào)速范圍廣、過(guò)載能力大,能承受頻繁的負(fù)載沖擊,還可以實(shí)現(xiàn)頻繁的無(wú)級(jí)快速啟動(dòng)、制動(dòng)和反轉(zhuǎn)等優(yōu)點(diǎn)。因此決定采用使用功率三極管作為功率放大器的輸出控制電機(jī)。 2.3 驅(qū)動(dòng)電機(jī)選擇 直流電機(jī)和步進(jìn)電機(jī)都可以用于小車(chē)驅(qū)動(dòng)。故有兩種方案。 方案一:使用直流電機(jī),加上適當(dāng)減速比的減速器。直流電機(jī)具有良好的調(diào)速性能,控制起來(lái)也比較簡(jiǎn)單。
21、直流電機(jī)只要通上直流電源就可連續(xù)不斷的轉(zhuǎn)動(dòng),調(diào)節(jié)電壓的大小就可以改變電機(jī)的速度。直流電機(jī)的驅(qū)動(dòng)電路實(shí)際上就是一個(gè)功率放大器。常用的驅(qū)動(dòng)方式是PWM方式,即脈沖寬度調(diào)制方式。此方法性能較好,電路和控制都比較簡(jiǎn)單。 方案二:使用步進(jìn)電機(jī)。步進(jìn)電機(jī)具有良好的控制性能。當(dāng)給步進(jìn)電機(jī)輸入一個(gè)電脈沖信號(hào)時(shí),步進(jìn)電機(jī)的輸出軸就轉(zhuǎn)動(dòng)一個(gè)角度,因此可以實(shí)現(xiàn)精確的位置控制。與直流電機(jī)不同,要使步進(jìn)電機(jī)連續(xù)的轉(zhuǎn)動(dòng),需要連續(xù)不斷的輸入點(diǎn)脈沖信號(hào),轉(zhuǎn)速的大小由外加的脈沖頻率決定。去而且其轉(zhuǎn)動(dòng)不受電壓波動(dòng)和負(fù)載變化的影響,也不受溫度、氣壓等環(huán)境因素的影響,僅與控制脈沖有關(guān)[8]。但步進(jìn)電機(jī)的驅(qū)動(dòng)相對(duì)較復(fù)雜,要由控制器和
22、功率放大器組成。具體差別見(jiàn)下表1。 表1 電機(jī)控制方式對(duì)比 項(xiàng)目 直流電機(jī) 步進(jìn)電機(jī) 調(diào)速性能 較好 較差 位置控制精度 較差 好 驅(qū)動(dòng) 簡(jiǎn)單 復(fù)雜 穩(wěn)定性 較好 好,僅與控制脈沖有關(guān) 由上表可以看出步進(jìn)電機(jī)和直流電機(jī)都有各自的優(yōu)點(diǎn)。步進(jìn)電機(jī)能進(jìn)行精確的位置控制,但驅(qū)動(dòng)電路麻煩,鑒于本設(shè)計(jì)中小車(chē)的位置控制不要求十分精確,直流電機(jī)即可滿(mǎn)足小車(chē)要求的精度。且直流電機(jī)易于控制,驅(qū)動(dòng)電路十分簡(jiǎn)單。 2.4 循跡模塊 方案一: 采用簡(jiǎn)易光電傳感器結(jié)合外圍電路探測(cè),但實(shí)際效果并不理想,對(duì)行駛過(guò)程中的穩(wěn)定性要求很高,且誤測(cè)幾率較大、易受光線(xiàn)環(huán)境和路面介質(zhì)影響。在使用
23、過(guò)程極易出現(xiàn)問(wèn)題,而且容易因?yàn)?該部件造成整個(gè)系統(tǒng)的不穩(wěn)定。故最終未采用該方案。 方案二: 采用三只紅外對(duì)管,平均置于小車(chē)車(chē)頭前端,根據(jù)三只光電開(kāi)關(guān)接受到白線(xiàn)與黑線(xiàn)的情況來(lái)控制小車(chē)轉(zhuǎn)向來(lái)調(diào)整車(chē)向,測(cè)試表明,只要合理安裝好三只光電開(kāi)關(guān)的位置就可以很好的實(shí)現(xiàn)循跡的功能。(參考文獻(xiàn)[3]) 通過(guò)比較,我選取第二種方案來(lái)實(shí)現(xiàn)循跡。 2.5 機(jī)械系統(tǒng) 本題目要求小車(chē)的機(jī)械系統(tǒng)穩(wěn)定、靈活、簡(jiǎn)單,可選用三輪和四輪式,考慮到現(xiàn)在的汽車(chē)多采用四輪式我選用四輪式的設(shè)計(jì),使設(shè)計(jì)更貼近生活需求。驅(qū)動(dòng)和轉(zhuǎn)向方式和現(xiàn)在的汽車(chē)一樣。 驅(qū)動(dòng)部分:采用玩具小車(chē)原有的驅(qū)動(dòng)電機(jī),由L298N雙通道馬達(dá)驅(qū)動(dòng)模塊驅(qū)動(dòng)前后兩
24、個(gè)馬達(dá),其力矩完全可以達(dá)到模擬效果。 電池的安裝:將電池放置在車(chē)體的下面,降低車(chē)體重心,提高穩(wěn)定性,同時(shí)可增加驅(qū)動(dòng)輪的抓地力,減小輪子空轉(zhuǎn)所引起的誤差。 電源模塊:采用6支1.5V電池給電機(jī)供電,再用穩(wěn)壓芯片對(duì)電池電壓進(jìn)行降壓給單片機(jī)。采用一套電源可減少小車(chē)的負(fù)重。電壓轉(zhuǎn)換電路如圖2所示。 圖2 5V穩(wěn)壓電路 3 主要器件介紹 3.1 STC89C52的介紹 該單片機(jī)是宏晶公司生產(chǎn)的STC89C52,其片內(nèi)帶有8K字節(jié)閃速可編程、可擦除壽命1000次程序存儲(chǔ)器。該產(chǎn)品與工業(yè)標(biāo)準(zhǔn)8051中
25、單片機(jī)完全兼容,并且還可支持兩種軟件可選的省電模式,工作時(shí)鐘最高可達(dá)到24MHz。使實(shí)時(shí)控制、實(shí)時(shí)處理的功能更加完善,簡(jiǎn)化了硬件配置。與MCS-51單片機(jī)產(chǎn)品兼容 、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、 1000次擦寫(xiě)周期、全靜態(tài)操作:0Hz~33Hz 、三級(jí)加密程序存儲(chǔ)器 、 32個(gè)可編程I/O口線(xiàn)、三個(gè)16位定時(shí)器/計(jì)數(shù)器八個(gè)中斷源、全雙工UART串行通道、 低功耗空閑和掉電模式 、掉電后中斷可喚醒 、看門(mén)狗定時(shí)器 、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符 。STC89C52實(shí)物如圖3。 圖3 STC89C52引腳示意圖 STC89C52 是一種低功耗、高性能CMOS8位微控制器,具有 8K
26、 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在線(xiàn)系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 STC89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線(xiàn),看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式
27、??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。8 位微控制器 8K字節(jié)在系統(tǒng)可編程 Flash P0 口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。 當(dāng)訪(fǎng)問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下, P0具有內(nèi)部上拉電阻。 在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。
28、P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P1 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2 的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。 在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。 引腳號(hào)第二功能 P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出 P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉
29、/重載觸發(fā)信號(hào)和方向控制) P1.5 MOSI(在線(xiàn)系統(tǒng)編程用) P1.6 MISO(在線(xiàn)系統(tǒng)編程用) P1.7 SCK(在線(xiàn)系統(tǒng)編程用) P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P2 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 在訪(fǎng)問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @DPTR) 時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用
30、8位地址(如MOVX @RI)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。 P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 P3口亦作為STC89C52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。 端口引腳 第二功能 P3.0 RXD(串行輸入口)
31、 P3.1 TXD(串行輸出口) P3.2 INTO(外中斷0) P3.3 INT1(外中斷1) P3.4 TO(定時(shí)/計(jì)數(shù)器0) P3.5 T1(定時(shí)/計(jì)數(shù)器1) P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) 此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。 RST——復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。 ALE/PROG——當(dāng)訪(fǎng)問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘
32、振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。 對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。 如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。 PSEN——程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)STC89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸
33、出兩個(gè)脈沖,在此期間,當(dāng)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。 EA/VPP——外部訪(fǎng)問(wèn)允許,欲使CPU僅訪(fǎng)問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。 如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。 FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。 3.2 L298N的介紹 L298是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。該芯片的主要特點(diǎn)是:工作電壓高,最高工作電壓可達(dá)46V;
34、輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;內(nèi)含兩個(gè)H橋的高電壓大電流全橋式驅(qū)動(dòng)器,可以用來(lái)驅(qū)動(dòng)直流電動(dòng)機(jī)和步進(jìn)電動(dòng)機(jī)、繼電器、線(xiàn)圈等感性負(fù)載;采用標(biāo)準(zhǔn)TTL邏輯電平信號(hào)控制;具有兩個(gè)使能控制端,在不受輸入信號(hào)影響的情況下允許或禁止器件工作;有一個(gè)邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測(cè)電阻,將變化量反饋給控制電路。 3.2.1 L298的引腳功能 L298芯片的引腳圖如下圖4。 圖4 L298引腳圖 其引腳功能見(jiàn)表2。 表2 L298引腳功能表 引腳 符號(hào) 功能 1 SENSING A 與地連接電流檢測(cè)電
35、阻,并向驅(qū)動(dòng)芯片反饋檢測(cè)到的信號(hào) 15 SENSING B 與地連接電流檢測(cè)電阻,并向驅(qū)動(dòng)芯片反饋檢測(cè)到的信號(hào) 2 OUT1 此腳是全橋式驅(qū)動(dòng)器A的兩個(gè)輸出端,用來(lái)連接負(fù)載 3 OUT2 此腳是全橋式驅(qū)動(dòng)器A的兩個(gè)輸出端,用來(lái)連接負(fù)載 4 Vs 電機(jī)驅(qū)動(dòng)電源輸入端 5 IN1 輸入標(biāo)準(zhǔn)的TTL邏輯電平信號(hào),控制全橋式驅(qū)動(dòng)器A的開(kāi)關(guān) 引腳 符號(hào) 功能 7 IN2 輸入標(biāo)準(zhǔn)的TTL邏輯電平信號(hào),控制全橋式驅(qū)動(dòng)器A的開(kāi)關(guān) 6 11
36、 8 9 10 12 ENABLE A 使能控制端.輸入標(biāo)準(zhǔn)TTL邏輯電平信號(hào);低電平時(shí)全橋式驅(qū)動(dòng)器禁 工作。 ENABLE B 使能控制端.輸入標(biāo)準(zhǔn)TTL邏輯電平信號(hào);低電平時(shí)全橋式驅(qū)動(dòng)器禁止工作。 GND 接地端,芯片本身的散熱片與8腳相通 Vss 邏輯控制部分的電源輸人端口 IN3 輸入標(biāo)準(zhǔn)的TTL邏輯電平信號(hào),控制全橋式驅(qū)動(dòng)器B的開(kāi)關(guān) IN4 輸入標(biāo)準(zhǔn)的TTL邏輯電平信號(hào),控制全橋式驅(qū)動(dòng)器B的開(kāi)關(guān) OUT3 此腳是全橋式驅(qū)動(dòng)器B
37、的兩個(gè)輸出端,用來(lái)連接負(fù)載 OUT4 此腳是全橋式驅(qū)動(dòng)器B的兩個(gè)輸出端,用來(lái)連接負(fù)載 3.2.2 L298的運(yùn)行參數(shù) L298的運(yùn)行參數(shù)見(jiàn)如下表3。 表2 L198的運(yùn)行參數(shù) 參數(shù) 測(cè)試環(huán)境 最小值 最大值 驅(qū)動(dòng)電源電壓 Vs 邏輯電源電壓Vss 輸入低電平電壓 ViL 輸入高電平電壓 ViH 使能端低電平電壓Ven=L 使能端高電平電壓Ven=H 全橋式驅(qū)動(dòng)電壓Vce(sat) 持續(xù)工作時(shí) - - - - - IL=1A IL=2A 2.5V 4.5V 0.3V 2.3V 0.3V 2.3V 1.8V 46V 7
38、V 1.5V Vss 1.5V Vss 4.9V 3.2.3 L298的邏輯控制 L298的邏輯控制見(jiàn)如下表4。其中C、D分別為IN1、IN2或IN3、IN4;L為低電平,H為高電平,※為不管是低電平還是高電平。 表4 L298N直流電機(jī)控制的邏輯真值表 輸入 輸出 Ven=H C=H;D=L 正轉(zhuǎn) C=L;D=H 反轉(zhuǎn) C=D 制動(dòng) Ven=L C=※;D=※ 沒(méi)有輸出,電機(jī)不工作 3.3 TCRT5000的介紹 TCRT5000具有結(jié)構(gòu)緊湊建設(shè)發(fā)光光源和探測(cè)器排列在同一方向,以感知對(duì)象的存在從對(duì)象使用反射紅外線(xiàn)光束。工作波長(zhǎng)為950毫米。該探測(cè)器
39、光電晶體管組成。工作時(shí)由藍(lán)色發(fā)射管發(fā)射紅外線(xiàn),紅外線(xiàn)由遮擋物反射回來(lái)被接收管接收。接收反射光線(xiàn)后的接收管呈導(dǎo)通狀態(tài),與一電阻串聯(lián)即可主城一個(gè)由發(fā)射管控制的分壓電路,由此可實(shí)現(xiàn)對(duì)遮擋物反射光線(xiàn)強(qiáng)度的檢測(cè)。我們經(jīng)常利用這一特性去實(shí)現(xiàn)顏色識(shí)別。其實(shí)物圖如圖5,引腳圖如圖6所示。 圖5 TCRT5000實(shí)物圖 圖6 TCRT5000引腳定義 3.4 LM324的介紹 M324是四運(yùn)放集成電路,它采用14腳雙列直插塑料封裝。它的內(nèi)部包含四組形式完全相同的運(yùn)算放大器,除電源共用外,四組運(yùn)放相互獨(dú)立。每一組運(yùn)算放大器可用圖8所示的符號(hào)來(lái)表示,它有
40、5個(gè)引出腳,其中“+”、“-”為兩個(gè)信號(hào)輸入端,“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。兩個(gè)信號(hào)輸入端中,Vi-(-)為反相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的相位相反;Vi+(+)為同相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的相位相同。LM324的引腳排列見(jiàn)圖9。 圖8 單個(gè)運(yùn)放符號(hào) 圖9 LM324引腳圖 下面介紹LM324在電壓比較電路中的應(yīng)用。當(dāng)去掉運(yùn)放的反饋電阻時(shí),或者說(shuō)反饋電阻趨于無(wú)窮大時(shí)(即開(kāi)環(huán)狀態(tài)),理論上認(rèn)為運(yùn)放的開(kāi)環(huán)放大倍數(shù)也為無(wú)窮大(實(shí)際上是很大,如LM324運(yùn)放開(kāi)環(huán)放大倍數(shù)為100dB,既10
41、萬(wàn)倍)。此時(shí)運(yùn)放便形成一個(gè)電壓比較器,其輸出如不是高電平(V+),就是低電平(V-或接地)。當(dāng)正輸入端電壓高于負(fù)輸入端電壓時(shí),運(yùn)放輸出低電平。
圖10 LM324電壓比較電路
如圖10中使用兩個(gè)運(yùn)放組成一個(gè)電壓上下限比較器,電阻R1、R1ˊ組成分壓電路,為運(yùn)放A1設(shè)定比較電平U1;電阻R2、R2ˊ組成分壓電路,為運(yùn)放A2設(shè)定比較電平U2。輸入電壓U1同時(shí)加到A1的正輸入端和A2的負(fù)輸入端之間,當(dāng)Ui >U1時(shí),運(yùn)放A1輸出高電平;當(dāng)Ui
42、,則當(dāng)輸入電壓Ui越出[U2,U1]區(qū)間范圍時(shí),LED點(diǎn)亮,這便是一個(gè)電壓雙限指示器。若選擇U2 > U1,則當(dāng)輸入電壓在[U2,U1]區(qū)間范圍時(shí),LED點(diǎn)亮,這是一個(gè)“窗口”電壓指示器。此電路與各類(lèi)傳感器配合使用,稍加變通,便可用于各種物理量的雙限檢測(cè)、短路、斷路報(bào)警等。 4 硬件設(shè)計(jì) 4.1總體設(shè)計(jì) 從智能循跡小車(chē)的設(shè)計(jì)要求出發(fā),經(jīng)過(guò)前面的方案論證我決定用原有的玩具小車(chē)作為設(shè)計(jì)模型。再在小車(chē)身上加上軌跡識(shí)別和馬達(dá)驅(qū)動(dòng)裝置來(lái)完成整個(gè)功能。智能小車(chē)采用后輪驅(qū)動(dòng),前輪轉(zhuǎn)換方向。循跡紅外發(fā)射與接收管分別裝在車(chē)頭下的左中右。當(dāng)車(chē)身下左邊的傳感器檢測(cè)到超出黑線(xiàn)時(shí),
43、前輪右轉(zhuǎn),當(dāng)車(chē)身下右邊傳感器檢測(cè)到超出黑線(xiàn)時(shí),車(chē)輪左轉(zhuǎn)。直到小車(chē)完全回到黑線(xiàn)。如果轉(zhuǎn)向過(guò)程中中間傳感器也檢測(cè)到超出黑線(xiàn)則說(shuō)明小車(chē)以這個(gè)轉(zhuǎn)向角度不能回到黑線(xiàn),則改變前輪方向并后退。同樣可以起到轉(zhuǎn)向的作用,避免小車(chē)離線(xiàn)太遠(yuǎn)最終回不到黑線(xiàn)上。當(dāng)小車(chē)完全回到黑線(xiàn)再繼續(xù)向前,在檢測(cè)到下一次出線(xiàn)后再進(jìn)行同樣的調(diào)整。信號(hào)流程如圖11所示。 紅外軌跡識(shí)別 馬達(dá)驅(qū)動(dòng)模塊 單片機(jī)控制系統(tǒng) 電壓比較 黑線(xiàn)識(shí)別模塊 圖11 整體設(shè)計(jì)框圖 考慮到電機(jī)控制要使用PWM波形,而STC89C52單片機(jī)本身不能產(chǎn)生PWM,需要外加電路或使用軟件的方式實(shí)現(xiàn),為減少硬
44、件電路,這里選用軟件產(chǎn)生PWM方式。 整體原理電路圖如圖12所示。 圖12 整體原理圖 4.2 STC89C52單片機(jī)控制電路 單片機(jī)控制電路由但單片機(jī)最小系統(tǒng)組成,主要作用是接受探頭傳來(lái)的電壓信號(hào),再通過(guò)程序設(shè)定的邏輯算法給出下一級(jí)馬達(dá)驅(qū)動(dòng)電路的指令。單片機(jī)最小系統(tǒng)包括主控IC,外部時(shí)鐘電路,復(fù)位電路和電源組成。本設(shè)計(jì)采用如圖14所示的單片機(jī)最先系統(tǒng)。在此就圖13參照解釋一下51單片機(jī)最小系統(tǒng)各子電路的特點(diǎn)。 圖13主控電路 4.2.1 時(shí)鐘電路 XTAL1 和XTAL2 是獨(dú)立的輸入和輸出反相放大器,它們可以被配置為使用石英晶振的片內(nèi)振蕩器,或者是器件直接由外部時(shí)鐘驅(qū)
45、動(dòng)。圖14 中采用的是內(nèi)時(shí)鐘模式,即采用利用芯片內(nèi)部的振蕩電路,在XTAL1、XTAL2 的引腳上外接定時(shí)元件(一個(gè)石英晶體和兩個(gè)電容),內(nèi)部振蕩器便能產(chǎn)生自激振蕩。一般來(lái)說(shuō)晶振可以在1.2 ~ 12MHz 之間任選,甚至可以達(dá)到24MHz 或者更高,但是頻率越高功耗也就越大。在本實(shí)驗(yàn)套件中采用的11.0592M 的石英晶振。和晶振并聯(lián)的兩個(gè)電容的大小對(duì)振蕩頻率有微小影響,可以起到頻率微調(diào)作用。當(dāng)采用石英晶振時(shí),電容可以在20 ~ 40pF 之間選擇(本實(shí)驗(yàn)套件使用30pF);當(dāng)采用陶瓷諧振器件時(shí),電容要適當(dāng)?shù)卦龃笠恍?,?0 ~ 50pF 之間。通常選取33pF 的陶瓷電容就可以了。另外值得
46、一提的是如果在設(shè)計(jì)單片機(jī)系統(tǒng)的印刷電路板(PCB) 時(shí),晶體和電容應(yīng)盡可能與單片機(jī)芯片靠近,以減少引線(xiàn)的寄生電容,保證振蕩器可靠工作。檢測(cè)晶振是否起振的方法可以用示波器可以觀(guān)察到XTAL2 輸出的十分漂亮的正弦波,也可以使用萬(wàn)用表測(cè)量( 把擋位打到直流擋,這個(gè)時(shí)候測(cè)得的是有效值)XTAL2 和地之間的電壓時(shí),可以看到2V 左右一點(diǎn)的電壓。 4.2.2 復(fù)位電路 單片機(jī)系統(tǒng)中,復(fù)位電路是非常關(guān)鍵的,當(dāng)程序跑飛(運(yùn)行不正常)或死機(jī)(停止運(yùn)行)時(shí),就需要進(jìn)行復(fù)位。MCS-5l 系列單片機(jī)的復(fù)位引腳RST( 第9 管腳) 出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST 持續(xù)為高
47、電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位操作通常有兩種基本形式:上電自動(dòng)復(fù)位和開(kāi)關(guān)復(fù)位。圖14 中所示的復(fù)位電路就包括了這兩種復(fù)位方式。上電瞬間,電容兩端電壓不能突變,此時(shí)電容的負(fù)極和RESET 相連,電壓全部加在了電阻上,RESET 的輸入為高,芯片被復(fù)位。隨之+5V電源給電容充電,電阻上的電壓逐漸減小,最后約等于0,芯片正常工作。并聯(lián)在電容的兩端為復(fù)位按鍵,當(dāng)復(fù)位按鍵沒(méi)有被按下的時(shí)候電路實(shí)現(xiàn)上電復(fù)位,在芯片正常工作后,通過(guò)按下按鍵使RST管腳出現(xiàn)高電平達(dá)到手動(dòng)復(fù)位的效果。一般來(lái)說(shuō),只要RST 管腳上保持10ms 以上的高電平,就能使單片機(jī)有效的復(fù)位。圖中所示的復(fù)位電阻和電容為經(jīng)典值,實(shí)際制作是
48、可以用同一數(shù)量級(jí)的電阻和電容代替,讀者也可自行計(jì)算RC 充電時(shí)間或在工作環(huán)境實(shí)際測(cè)量,以確保單片機(jī)的復(fù)位電路可靠。 4.2.3 EA/VPP(31 腳)的功能和接法 51 單片機(jī)的EA/VPP(31 腳) 是內(nèi)部和外部程序存儲(chǔ)器的選擇管腳。當(dāng)EA 保持高電平時(shí),單片機(jī)訪(fǎng)問(wèn)內(nèi)部程序存儲(chǔ)器;當(dāng)EA 保持低電平時(shí),則不管是否有內(nèi)部程序存儲(chǔ)器,只訪(fǎng)問(wèn)外部存儲(chǔ)器。對(duì)于現(xiàn)今的絕大部分單片機(jī)來(lái)說(shuō),其內(nèi)部的程序存儲(chǔ)器(一般為flash)容量都很大,因此基本上不需要外接程序存儲(chǔ)器,而是直接使用內(nèi)部的存儲(chǔ)器。在本實(shí)驗(yàn)套件中,EA 管腳接到了VCC 上,只使用內(nèi)部的程序存儲(chǔ)器。 4.2.4 P0 口外接上
49、拉電阻 51 單片機(jī)的P0 端口為開(kāi)漏輸出,內(nèi)部無(wú)上拉電阻(見(jiàn)圖14)。所以在當(dāng)做普通I/O 輸出數(shù)據(jù)時(shí),由于V2 截止,輸出級(jí)是漏極開(kāi)路電路,要使“1”信號(hào)(即高電平)正常輸出,必須外接上拉電阻。 圖14 P0端口的1位結(jié)構(gòu) 另外,避免輸入時(shí)讀取數(shù)據(jù)出錯(cuò),也需外接上拉電阻。在這里簡(jiǎn)要的說(shuō)下其原因:在輸入狀態(tài)下,從鎖存器和從引腳上讀來(lái)的信號(hào)一般是一致的,但也有例外。例如,當(dāng)從內(nèi)部總線(xiàn)輸出低電平后,鎖存器Q = 0, Q = 1,場(chǎng)效應(yīng)管V1 開(kāi)通,端口線(xiàn)呈低電平狀態(tài)。此時(shí)無(wú)論端口線(xiàn)上外接的信號(hào)是低電平還是高電平,從引腳讀入單片機(jī)的信號(hào)都是低電平,因而不能正確地讀入端口引腳上的信號(hào)
50、。又如,當(dāng)從內(nèi)部總線(xiàn)輸出高電平后,鎖存器Q = 1, Q = 0,場(chǎng)效應(yīng)管V1 截止。如外接引腳信號(hào)為低電平, 從引腳上讀入的信號(hào)就與從鎖存器讀入的信號(hào)不同。所以當(dāng)P0 口作為通用I/O 接口輸入使用時(shí),在輸入數(shù)據(jù)前,應(yīng)先向P0 口寫(xiě)“1”,此時(shí)鎖存器的Q 端為“0”,使輸出級(jí)的兩個(gè)場(chǎng)效應(yīng)管V1、V2 均截止,引腳處于懸浮狀態(tài),才可作高阻輸入??偨Y(jié)來(lái)說(shuō):為了能使P0 口在輸出時(shí)能驅(qū)動(dòng)NMOS 電路和避免輸入時(shí)讀取數(shù)據(jù)出錯(cuò),需外接上拉電阻。在設(shè)計(jì)中采用的是外加一個(gè)10K 排阻。此外,51 單片機(jī)在對(duì)端口P0—P3 的輸入操作上,為避免讀錯(cuò),應(yīng)先向電路中的鎖存器寫(xiě)入“1”,使場(chǎng)效應(yīng)管截止,以避免鎖
51、存器為“0”狀態(tài)時(shí)對(duì)引腳讀入的干擾。 4.3TCRT5000黑色軌跡識(shí)別電路 小車(chē)循跡原理是小車(chē)在畫(huà)有黑線(xiàn)的白紙 “路面”上行駛,由于黑線(xiàn)和白紙對(duì)光線(xiàn)的反射系數(shù)不同,可根據(jù)接收到的反射光的強(qiáng)弱來(lái)判斷“道路”—黑線(xiàn)。本次設(shè)計(jì)規(guī)定正常行駛時(shí)三個(gè)紅外探頭都在黑色軌跡之內(nèi),如果有探頭檢測(cè)到車(chē)體開(kāi)始偏離軌道則由控制系統(tǒng)做出相應(yīng)響應(yīng)使車(chē)體回到軌道上。此電路模塊就是用于檢測(cè)車(chē)體是否超出軌道并反饋給下一級(jí)電路。這一方法經(jīng)常被叫做紅外探測(cè)法。紅外探測(cè)法,即利用紅外線(xiàn)在不同顏色的物理表面具有不同的反射性質(zhì)的特點(diǎn)。在小車(chē)行駛過(guò)程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色地面時(shí)發(fā)生漫發(fā)射,反射光被裝在小車(chē)上的接收
52、管接收;如果遇到黑線(xiàn)則紅外光被吸收,則小車(chē)上的接收管接收不到信號(hào)。如圖15軌跡識(shí)別電路所示,發(fā)射管(1、2端)與阻值為330歐姆的電阻串聯(lián)發(fā)射紅外線(xiàn)。接收管(3、4)與阻值為47K歐姆的電阻串聯(lián)。在沒(méi)有接收到反射光線(xiàn)時(shí)接收管截止呈高阻態(tài),TX輸出高電平。當(dāng)接收管接收到反射光線(xiàn)時(shí),接收管被導(dǎo)通,并且電阻遠(yuǎn)小于47K,TX輸出低電平。 圖15 黑色軌跡設(shè)別電路 4.4LM324電壓比較電路 電壓比較器式在運(yùn)放的基礎(chǔ)上去掉反饋電阻使放大倍數(shù)趨于無(wú)窮大。此時(shí)形成了一個(gè)電壓比較器。當(dāng)同相端電壓大于反相端電壓時(shí)比較器輸出高電平,當(dāng)反相端電壓高于同相端電壓時(shí)輸出端輸出度電平。如圖16電壓比較電路,用了
53、LM324內(nèi)部3個(gè)單獨(dú)的運(yùn)放外接一個(gè)可調(diào)電阻輸入基準(zhǔn)電壓?;鶞?zhǔn)電壓加在反相輸入端上,上一級(jí)電路反饋過(guò)來(lái)的電壓從電壓比較器的同相端輸入。當(dāng)TCRT5000反饋的電壓高于基準(zhǔn)電壓時(shí),比較器輸出高電平。當(dāng)TCRT5000反饋的電壓低于基準(zhǔn)電壓時(shí),比較器輸出低電平。這樣就使探頭把地面的反射光線(xiàn)的程度只分成了兩種情況,易于單片機(jī)識(shí)別??紤]到地面的粗超程度不一樣我們可以用可調(diào)電位器去調(diào)節(jié)基準(zhǔn)電壓,經(jīng)過(guò)軌道實(shí)際測(cè)量后確定基準(zhǔn)電壓的值。 圖13電壓比較電路 4.5電機(jī)驅(qū)動(dòng)電路 4.5.1驅(qū)動(dòng)電路 小車(chē)使用的是直流電機(jī)。從單片機(jī)輸出的信號(hào)功率很弱,即使在沒(méi)有其它外在負(fù)載時(shí)也無(wú)法帶動(dòng)電機(jī),所以在實(shí)際電路中
54、我們加入了電機(jī)驅(qū)動(dòng)芯片提高輸入電機(jī)信號(hào)的功率,從而能夠根據(jù)需要控制電機(jī)轉(zhuǎn)動(dòng)。直流電機(jī)常用的PWM,及脈寬調(diào)制方式驅(qū)動(dòng)。本設(shè)計(jì)中電機(jī)驅(qū)動(dòng)采用L298集成H橋芯片。L298中有兩套H橋電路,剛好可以控制兩個(gè)電機(jī)。它的使能端可以外接高低電平,也可以利用單片機(jī)進(jìn)行軟件控制,極大地滿(mǎn)足各種復(fù)雜電路需要。 另外,L298的驅(qū)動(dòng)功率較大,在6~46V的電壓下,可以提供2A的額定電流,并且具有過(guò)熱自動(dòng)關(guān)斷和電流反饋檢測(cè)功能,安全可靠;為了保證L298正常工作,我們另外安裝了續(xù)流二極管。電路如圖16所示。能根據(jù)輸入電壓的大小輸出不同的電壓和功率,解決了負(fù)載能力不夠這個(gè)問(wèn)題。利用單片機(jī)調(diào)整出PWM脈沖和高低電平
55、對(duì)直流電機(jī)進(jìn)行驅(qū)動(dòng)和控制。 圖16 電機(jī)驅(qū)動(dòng)電路 L298集成H橋芯片。其外形、管腳分布如圖17所示。 圖17 L298管腳分布圖 4.5.2 PWM調(diào)速原理 脈沖寬度調(diào)制(Pulse Width Modulation),簡(jiǎn)稱(chēng)PWM。脈沖周期不變,只改變晶閘管的導(dǎo)通時(shí)間,即通過(guò)改變脈沖寬度來(lái)進(jìn)行直流調(diào)速。PWM的理論基礎(chǔ)是:沖量相等而形狀不同的的窄脈沖加在具有慣性的環(huán)節(jié)上,其效果基本相同。采用PWM進(jìn)行電機(jī)的調(diào)速控制,實(shí)際是保持加在電機(jī)電機(jī)電樞上的脈沖電壓頻率不變,調(diào)節(jié)其脈沖寬度。電機(jī)是一個(gè)慣性環(huán)節(jié),它的電樞電流餓轉(zhuǎn)速均不能突變,很高的頻率的PWM加在電機(jī)上,效果相
56、當(dāng)于施加一個(gè)恒定電壓的直流電。如圖18所示。這個(gè)電壓可以由脈沖的寬度調(diào)節(jié)。 圖18 PWM等效圖示意圖 使用PWM方式可以很容易的實(shí)現(xiàn)調(diào)速。PWM信號(hào)由單片機(jī)軟件產(chǎn)生,使用非常方便。由于電路總體上并不復(fù)雜,驅(qū)動(dòng)電路的控制輸入端也可以不用經(jīng)光耦合隔離,直接與單片機(jī)引腳相連。 前進(jìn)時(shí),驅(qū)動(dòng)兩個(gè)直流電機(jī)都正轉(zhuǎn),后退時(shí),則兩電機(jī)都反轉(zhuǎn)。左轉(zhuǎn)時(shí)前進(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ī)控制進(jìn)行PWM變頻調(diào)速,通過(guò)軟件改變脈沖調(diào)寬波形的占空比,實(shí)現(xiàn)調(diào)速。所有這些都是通過(guò)軟件編程實(shí)現(xiàn)控制。 5程序設(shè)計(jì)
57、 5.1主程序 根據(jù)設(shè)計(jì)要求本設(shè)計(jì)希望小車(chē)能完成自主行走的功能,主程序流程圖如圖18所示。由于本設(shè)計(jì)用到內(nèi)部定時(shí)器產(chǎn)生PWM編碼程序,故開(kāi)機(jī)前先進(jìn)行程序初始化,設(shè)置好定時(shí)器器初始值并給小車(chē)前進(jìn)的指令。然后進(jìn)入線(xiàn)路檢測(cè)循環(huán),并作出相應(yīng)的判斷與驅(qū)動(dòng)指令。進(jìn)入循環(huán)后單片機(jī)系統(tǒng)先采集一次傳感器產(chǎn)來(lái)的信號(hào),再根據(jù)這些信號(hào)判斷當(dāng)前小車(chē)所在的位置并給出相應(yīng)的驅(qū)動(dòng)指令。第二個(gè)循環(huán)時(shí)則加入與上一次采集結(jié)果的比較,如果小車(chē)狀態(tài)沒(méi)變則不重復(fù)發(fā)送驅(qū)動(dòng)指令,讓小車(chē)以前一種行走方式繼續(xù)運(yùn)行。 YES NO 狀態(tài)有變化? 探頭信號(hào)掃描 程序與定時(shí)器初始化 開(kāi)始 程序初始化
58、 做出邏輯判斷 輸出驅(qū)動(dòng)指令 儲(chǔ)存當(dāng)前狀態(tài) 圖19 主程序流程圖 程序掃描后到的小車(chē)位置狀態(tài)與對(duì)應(yīng)輸出的驅(qū)動(dòng)指令對(duì)應(yīng)關(guān)系如圖20。黑色表示黑色軌跡。 圖20小車(chē)位置與響應(yīng)動(dòng)作對(duì)照 主程序源程序如下: /******************************************** * 函 數(shù):main(); * * 功 能: 主函數(shù) * ****************************************
59、*****/ void main (void) { TMOD=0x01; //定時(shí)器初始化 用于產(chǎn)生PWM TH0=0xd8; TL0=0xf0; EA=1; ET0=1; P3=0;TR0=1; //前進(jìn)指令 while(1) //主循環(huán) { col=collect(); //探頭掃描 if(col!=sto) { switch(col) { case 0: P3=0;P3=1;break; //采樣無(wú)出線(xiàn),執(zhí)行向前
60、 case 1: if(P3==10) {;} else {P3=0;P3=5;} break; //采樣為右出線(xiàn),執(zhí)行左轉(zhuǎn) case 4: if(P3==6) {;} else {P3=0;P3=9;} break; //采樣為左出線(xiàn),執(zhí)行右轉(zhuǎn) case 3: P3=0;P3=10;break; //采樣車(chē)頭向右出線(xiàn)一半,執(zhí)行左倒車(chē) case 6: P3=0;P3=6;break; //采樣車(chē)頭向左出線(xiàn)一半,執(zhí)行右倒車(chē) c
61、ase 7: P3=0;P3=2;break; //采樣全出線(xiàn),執(zhí)行向后 default:break; } } sto=col; } 5.2TCRT5000掃描程序 TCRT500掃描程序流程圖如圖19所示,TCRT500完成路面軌跡檢測(cè)。三個(gè)探頭分別連接在P1~0、P1~1、P1~2口。為了避免外部干擾在采集之前先把P1口程序拉高,再讀回P1口的值。屏蔽P1口后五位后返回采集值保留作下一步判斷。 開(kāi)始 P1口程序拉高 讀回P1口狀態(tài) 屏蔽平P1后五位 返回屏蔽后的值
62、退出 圖21 TCRT5000掃描程序流程圖 TCRT500掃描程序如下: /******************************************** * 函 數(shù):collect(); * * 功 能: 采集紅外探頭信息,返回一個(gè)值 * *********************************************/ char collect() { uchar a,b; P1=255; a=P1; b=a&7;//屏蔽后5位 return(b); } 5.3 PWM編碼產(chǎn)生程序
63、 由于在電源完全加在馬達(dá)上時(shí)馬達(dá)的速度太快不便于控制,利用L298N的特性本設(shè)計(jì)采用了PWM調(diào)速控制。即有PWM波去控制H橋的導(dǎo)通和關(guān)閉來(lái)改變有效電壓達(dá)到調(diào)速的目的。經(jīng)過(guò)調(diào)試發(fā)現(xiàn)產(chǎn)生占空比為50%的PWM可以使小車(chē)行駛的速度達(dá)到一個(gè)意圖控制的速度。故我們用定時(shí)中斷在P2.0口產(chǎn)生一個(gè)占空比為50%的PWm波來(lái)控制車(chē)速。這樣的波形非常易于產(chǎn)生,我們用定時(shí)器定時(shí)10ms,每一次中斷將P2.0的狀態(tài)取反則可得到。流程圖22如下。 開(kāi)始 主程序初始化定時(shí)器0 并開(kāi)啟內(nèi)部時(shí)鐘中斷打開(kāi)定時(shí)器0 定時(shí)中斷? NO YES P2.0取反
64、結(jié)束 圖22 PWM產(chǎn)生程序流程圖 PWM產(chǎn)生源程序如下: /******************************************************************** * 函 數(shù):定時(shí)器0中斷; * 功 能: 產(chǎn)生控速脈沖10ms高電平 10ms低電平 ************************************************************************/ void maichong (void) interrupt 1 using 1 { TH0=0xd8;
65、TL0=0xf0; c=~c; } 6調(diào)試 6.1硬件調(diào)試 6.1.1電池可靠性 由于本次實(shí)驗(yàn)需要捍接的電路模塊較多,特別是直流電機(jī)驅(qū)動(dòng)模塊,對(duì)于電源電流的需要極大,我們先以直插式12V電源開(kāi)始調(diào)試,小車(chē)運(yùn)轉(zhuǎn)正常。但直插式電源對(duì)于運(yùn)動(dòng)的小車(chē)是個(gè)很大的束縛,極為不方便。所以考慮采用電池供電。市面上常用的有干電池和蓄電池。由于小車(chē)相當(dāng)耗電,9V的干電池用不了多久,就會(huì)出現(xiàn)開(kāi)關(guān)器件很難穩(wěn)定地給單片機(jī)送正確值的情況。只有當(dāng)更換新電池或小車(chē)剛剛啟動(dòng)時(shí)才會(huì)很準(zhǔn)確,經(jīng)過(guò)
66、思考,這都是開(kāi)關(guān)元件消耗電量很大的原因,一旦電池電量不足其工作將會(huì)萎靡不振,于是我們用5節(jié)1.5V的可充電的蓄電池給小車(chē)供電,選擇合適的電池可以很好的滿(mǎn)足小車(chē)耗電量大的情況,而且還可以反復(fù)利用。電池如圖23所示。電壓已由充滿(mǎn)時(shí)的7V下降到6.28V但是仁能使小車(chē)正常行駛。 圖23 組裝電池 6.1.2TCRT5000探頭 由TCRT5000組成的軌跡識(shí)別電路是本次設(shè)計(jì)成敗的關(guān)鍵,在初次調(diào)試時(shí)小車(chē)的搖頭動(dòng)作(即轉(zhuǎn)向)時(shí)常出現(xiàn)不靈的情況。后來(lái)用電壓表測(cè)量了電壓比較器量輸入端的電壓發(fā)現(xiàn)基準(zhǔn)電壓到了3.5V,而紅外探頭在檢測(cè)到黑線(xiàn)時(shí)才3.6V。兩者電壓相差無(wú)幾,所以遇到黑線(xiàn)顏色較淺的區(qū)域單片機(jī)會(huì)發(fā)生誤判的現(xiàn)象。于是我測(cè)量了紅外探頭在黑白兩種極限情況下的電壓輸出情況。測(cè)量結(jié)果如表5所示。 表5 紅外探頭輸出電壓測(cè)試表 反射面顏色 紅外探頭1 紅外探頭1 紅外探頭1 白色 0.10V 0.12V 0.11V
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)蒙古某經(jīng)濟(jì)社會(huì)發(fā)展情況介紹ppt課件
- 《我家的大花園》ppt課件
- 高考語(yǔ)文-《語(yǔ)言表達(dá)得體》ppt課件
- 酷兒上市計(jì)劃
- 產(chǎn)品工藝性講座
- 帶電粒子在圓形磁場(chǎng)中的運(yùn)動(dòng)課件
- 分?jǐn)?shù)乘法易錯(cuò)題矯正練習(xí)精編版課件
- 一年級(jí)數(shù)學(xué)上冊(cè)第一單元玩具課件2北師大版
- 第4章磁路與變壓器ppt課件
- 秋天的懷念ppt課件
- 人教版三年級(jí)數(shù)學(xué)上冊(cè)第6單元測(cè)試卷課件
- 高中地理-人口遷移與人口流動(dòng)(最新)課件
- 部編版小學(xué)二年級(jí)下冊(cè)語(yǔ)文五單元第13課:《畫(huà)楊桃》【第2課時(shí)】ppt課件
- 2020年人教版PEP五年級(jí)上冊(cè)英語(yǔ)Unit3-What-would-you-like-Part-B--Let’s-talkppt課件
- 氯霉素生產(chǎn)工藝原理課件