循跡小車畢業(yè)論文

上傳人:無*** 文檔編號:78889172 上傳時間:2022-04-22 格式:DOC 頁數(shù):45 大?。?.24MB
收藏 版權(quán)申訴 舉報 下載
循跡小車畢業(yè)論文_第1頁
第1頁 / 共45頁
循跡小車畢業(yè)論文_第2頁
第2頁 / 共45頁
循跡小車畢業(yè)論文_第3頁
第3頁 / 共45頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《循跡小車畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《循跡小車畢業(yè)論文(45頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、摘 要本設(shè)計是一種基于單片機控制的簡易自動尋跡小車系統(tǒng),其研究意義涵蓋了工業(yè)、生活、勘探以及人類關(guān)注的探月工程。設(shè)計旨在設(shè)計出一款可以自主按照人類預(yù)設(shè)的軌跡行走(或者完全自主行走)并完成指定任務(wù)的小車。從設(shè)計的功能要求出發(fā),設(shè)計包括小車機械構(gòu)成設(shè)計和控制系統(tǒng)的軟硬件設(shè)計。為了適應(yīng)復(fù)雜的地形我采用穩(wěn)定性比較高的四輪構(gòu)架式,用后輪驅(qū)動前輪換向的控制模式??刂葡到y(tǒng)以STC89C52為控制核心, 用單片機產(chǎn)生PWM波,控制小車速度。利用紅外光電傳感器對路面黑色軌跡進(jìn)行檢測,并確定小車當(dāng)前的位置狀態(tài),再將路面檢測信號反饋給單片機。單片機對采集到的信號予以分析判斷,及時控制驅(qū)動電機以調(diào)整小車轉(zhuǎn)向,從而使小

2、車能夠沿著黑色軌跡自動行駛,實現(xiàn)小車自動尋跡的目的。關(guān)鍵詞 : 循跡小車,單片機,紅外傳感器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 exploration. The design aims to design a can of independent walking i

3、n 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 system hardware and software design. Relatively high stability of t

4、he 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 photoelectric sensor to detect the black track on the road and to deter

5、mine 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 car, so that the car is traveling along the black track to achieve t

6、he purpose of the car automatically tracing.Keywords: car tracking;microcontroller;Infrared sensors5 調(diào)試目錄1 緒 論11.1 研究背景和發(fā)展現(xiàn)狀11.2 研究目的和意義11.3 研究內(nèi)容22方案設(shè)計與論證32.1 總體方案設(shè)計32.2主控系統(tǒng)32.2 電機驅(qū)動模塊42.3 驅(qū)動電機選擇52.4 循跡模塊52.5 機械系統(tǒng)63 主要器件介紹73.1 STC89C52的介紹73.2 L298N的介紹103.2.1 L298的引腳功能103.2.2 L298的運行參數(shù)113.2.3 L298的邏輯

7、控制113.3 TCRT5000的介紹113.4 LM324的介紹124 硬件設(shè)計144.1總體設(shè)計144.2 STC89C52單片機控制電路164.2.1 時鐘電路164.2.2 復(fù)位電路174.2.3 EA/VPP(31 腳)的功能和接法174.2.4 P0 口外接上拉電阻174.3TCRT5000黑色軌跡識別電路184.4LM324電壓比較電路194.5電機驅(qū)動電路204.5.1驅(qū)動電路204.5.2 PWM調(diào)速原理215程序設(shè)計235.1主程序235.2TCRT5000掃描程序255.3 PWM編碼產(chǎn)生程序266調(diào)試286.1硬件調(diào)試286.1.1電池可靠性286.1.2TCRT500

8、0探頭296.1.3 L298N馬達(dá)驅(qū)動模塊296.2軟件調(diào)試296.2.1調(diào)試平臺介紹296.3 測試結(jié)果與分析30結(jié)束語32參考文獻(xiàn)33致謝34附 錄35附錄1:源程序35附錄2:原理圖39附錄3:PCB設(shè)計4031 緒 論1.1 研究背景和發(fā)展現(xiàn)狀隨著電子技術(shù)、計算機技術(shù)、智能控制技術(shù)的飛速發(fā)展,產(chǎn)品的智能化和小型化越來越成為人們關(guān)注的熱點。各種智能小車在智能化玩具中占了很大的比例。近年來,傳統(tǒng)玩具的市場逐步縮水,高科技智能化的電子類玩具則逐步成為市場的主流。因此,可遙控的智能化小車的研究是非常有意義的,具有很大潛在市場價值的。智能小車,也被稱之為輪式機器人。我們知道,機器人技術(shù)的發(fā)展是

9、一個國家高科技水平和工業(yè)自動化程度的重要標(biāo)志和體現(xiàn)。機器人由于具有高度的靈活性、可以幫助人們提高生產(chǎn)率、改進(jìn)產(chǎn)品質(zhì)量和改善勞動條件等優(yōu)點,在世界各地的生產(chǎn)生活領(lǐng)域得到了廣泛的應(yīng)用。智能小車正是模仿機器人的一種嘗試。它是一種以汽車電子為背景,涵蓋控制,模式識別,電子、電氣、單片機、機械等多學(xué)科的科技創(chuàng)新性設(shè)計,一般主要由路徑識別、速度采集、角度控制以及車速控制等模塊組成。這種智能小車能夠自動搜尋前進(jìn)路線,還能爬坡;感知前方的障礙物,并自動尋找前進(jìn)方向,避開障礙物;加入相關(guān)聲光訊號后,更能體現(xiàn)出智能化和人性化的一面。1.2 研究目的和意義隨著人們物質(zhì)文化生活水平的不斷提高,智能化的電子玩具深受人們

10、的喜愛,尤其是各種智能小車,由于這類玩具具有較好的交互性,可控性,能夠給人們帶來很好的娛樂以及參與其中的體驗,高科技智能化的電子類玩具逐漸成為市場的主流。與此同時,智能小車可以應(yīng)用于考古、機器人、醫(yī)療器械等許多方面,尤其在足球機器人研究方面具有很好的發(fā)展前景。因此,智能化小車的研究不僅具有很大的現(xiàn)實意義,還具有極為廣闊的應(yīng)用前景和市場價值。例如智能運輸系統(tǒng)。公共交通是城市發(fā)展的必然產(chǎn)物,也是城市賴以生存的重要基礎(chǔ)設(shè)施之一。它作為城市動態(tài)大系統(tǒng)中一個重要組成部分,是城市整體發(fā)展中不可缺少的物質(zhì)條件和基礎(chǔ)產(chǎn)業(yè),也是聯(lián)系社會生產(chǎn)、流通和人民生活的紐帶。公交系統(tǒng)具有運載量大、運送效率高、能源消耗低、相

11、對污染少、運輸成本低等項優(yōu)點。隨著我國改革開放的深入和經(jīng)濟建設(shè)的持續(xù)快速發(fā)展,城市規(guī)模不斷擴大,交通需求也不斷增加。有關(guān)資料表明,1996年全國城市機動車保有量為884.5萬輛,比1977年增長近9倍,年均增長33.8%,全國城市自行車超過1.8億輛,占全國總量的40%,城鎮(zhèn)每百戶擁有率達(dá)198輛。道路建設(shè)雖突飛猛進(jìn),從1980年至1994年,全國城市道路總長從2.95萬公里增至11.1萬公里,年平均增長率為9.9%,人均道路面積從2.8m2增至6.6m2,道路面積增長率為年均11.6%,這樣的速度仍然趕不上車輛的增長速度。同時,由于多種原因致使公交車輛運營速度由每小時12-14公里下降至5-

12、10公里,新增的運力被運輸效率下降抵消,公交承擔(dān)運量不斷減退,居民出行方式逐年由公交向自行車等個體交通方式轉(zhuǎn)移,這無疑加劇了交通的擁擠程度。如何解決城市居民出行交通需求的不斷增加與公共交通發(fā)展相對滯后的矛盾成為擺在我們面前的一項迫切任務(wù)。智能運輸系統(tǒng)(Intelligent Transportation Systems,ITS)。它是在關(guān)鍵基礎(chǔ)理論模型研究的前提下,把先進(jìn)的信息技術(shù)、數(shù)據(jù)通信技術(shù)、電子控制技術(shù)及計算機處理技術(shù)等有效地綜合運用于地面交通管理體系,從而建立起一種大范圍、全方位發(fā)揮作用、實時、準(zhǔn)確、高效的交通運輸管理系統(tǒng)。它利用無線通訊專網(wǎng)低頻段以低成本實現(xiàn)了公交企業(yè)運營數(shù)據(jù)的實時采

13、集、快速傳輸,自行開發(fā)研制了無線通訊系統(tǒng)車載智能終端設(shè)備及控制系統(tǒng),使公交企業(yè)能夠充分利用無線通訊系統(tǒng)采集和傳輸?shù)能囕v運營數(shù)據(jù)進(jìn)行車輛調(diào)度和車輛運營管理,且具有數(shù)據(jù)和話音雙重傳輸功能。具有用戶容量大、網(wǎng)絡(luò)范圍覆蓋廣、調(diào)度信息響應(yīng)速度快、全自動語音報站自動化、信息發(fā)布廣泛、出行者信息服務(wù)智能化、設(shè)備自動維護(hù)智能化的特點。智能公交系統(tǒng)的提出,必將大大改善公交管理水平,提高公交系統(tǒng)經(jīng)濟效益,減少政府財政補貼。由于采用公交出行的居民增加,相對減少了其它車輛出行,這勢必會緩解城市交通壓力,減少環(huán)境污染,降低交通事故發(fā)生率,改善交通環(huán)境,帶來巨大的社會效益。1.3 研究內(nèi)容本設(shè)計的智能電動小車具有自動尋跡

14、功能,可用過PWM編碼控制行駛速度。整體設(shè)計可以分為如下幾個模塊,控制核心采用MCS-51系列中的STC89C52單片機,循跡是通過傳感器實現(xiàn)的,利用紅外對射管檢測路面的軌跡,時刻調(diào)整車體位置使車不離開軌道。整個系統(tǒng)具有自動尋跡的功能。電機驅(qū)動采用常用的PWM方式進(jìn)行電機的降壓調(diào)速控制。軟件中主要用到工業(yè)中常用的PID控制算法。整個系統(tǒng)的電路結(jié)構(gòu)較簡單,可靠性能高。實驗測試結(jié)果滿足要求。2方案設(shè)計與論證2.1 總體方案設(shè)計根據(jù)題目的要求,確定如下方案:在現(xiàn)有玩具電動車的基礎(chǔ)上,加裝反射式紅外光電傳感器,實現(xiàn)對電動車的位置、運行狀況的實時測量,并將測量數(shù)據(jù)傳送至單片機進(jìn)行處理,然后由單片機根據(jù)所

15、檢測的各種數(shù)據(jù)實現(xiàn)對電動車的智能控制。本方案能實現(xiàn)對電動車的運動狀態(tài)進(jìn)行實時控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項要求。系統(tǒng)整體方框圖如圖1所示。單片機STC89C52 循跡檢測模塊射電機驅(qū)動模塊圖1 系統(tǒng)總體設(shè)計框圖2.2主控系統(tǒng)根據(jù)設(shè)計要求,我認(rèn)為此設(shè)計屬于多輸入量的復(fù)雜程序控制問題。據(jù)此,擬定了以下兩種方案并進(jìn)行了綜合的比較論證,具體如下:方案一:選用一片CPLD(如EPM7128LC84-15)作為系統(tǒng)的核心部件,實現(xiàn)控制與處理的功能。CPLD具有速度快、編程容易、資源豐富、開發(fā)周期短等優(yōu)點,可利用VHDL語言進(jìn)行編寫開發(fā)。但CPLD在控制上較單片機有較大的劣勢。同時,CPL

16、D的處理速度非???,而小車的行進(jìn)速度不可能太高,那么對系統(tǒng)處理信息的要求也就不會太高,在這一點上,MCU就已經(jīng)可以勝任了。若采用該方案,必將在控制上遇到許許多多不必要增加的難題。為此,我們不采用該種方案,進(jìn)而提出了第二種設(shè)想。方案二:采用單片機作為整個系統(tǒng)的核心,用其控制行進(jìn)中的小車,以實現(xiàn)其既定的性能指標(biāo)。充分分析我們的系統(tǒng),其關(guān)鍵在于實現(xiàn)小車的自動控制,而在這一點上,單片機就顯現(xiàn)出來它的優(yōu)勢控制簡單、方便、快捷。這樣一來,單片機就可以充分發(fā)揮其資源豐富、有較為強大的控制功能及可位尋址操作功能、價格低廉等優(yōu)點。因此,這種方案是一種較為理想的方案。針對本設(shè)計特點多開關(guān)量輸入的復(fù)雜程序控制系統(tǒng),

17、需要擅長處理多開關(guān)量的標(biāo)準(zhǔn)單片機,而不能用精簡I/O口和程序存儲器的小體積單片機,D/A、A/D功能也不必選用。根據(jù)這些分析,我選定了STC89C52RA單片機作為本設(shè)計的主控裝置,51單片機具有功能強大的位操作指令,I/O口均可按位尋址,程序空間多達(dá)8K,對于本設(shè)計也綽綽有余,更可貴的是51單片機價格非常低廉。在綜合考慮了傳感器、兩部電機的驅(qū)動等諸多因素后,我們決定采用一片單片機,充分利用STC89C52單片機的資源。2.2 電機驅(qū)動模塊方案一:采用繼電器對電動機的開或關(guān)進(jìn)行控制,通過開關(guān)的切換對小車的方向進(jìn)行調(diào)整.此方案的優(yōu)點是電路較為簡單,缺點是繼電器的響應(yīng)時間慢,易損壞,壽命較短,可靠

18、性不高。方案二:采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)節(jié)電動機的分壓,從而達(dá)到分壓的目的。但電阻網(wǎng)絡(luò)只能實現(xiàn)有級調(diào)速,而數(shù)字電阻的元器件價格比較昂貴。更主要的問題在于一般的電動機電阻很小,但電流很大,分壓不僅會降低效率,而且實現(xiàn)很困難。方案三:采用功率三極管作為功率放大器的輸出控制直流電機。線性型驅(qū)動的電路結(jié)構(gòu)和原理簡單,加速能力強,采用由達(dá)林頓管組成的 H型橋式電路,具體電路介紹將在后面章節(jié)寫出。用單片機控制達(dá)林頓管使之工作在占空比可調(diào)的開關(guān)狀態(tài)下,精確調(diào)整電動機轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡單的實現(xiàn)轉(zhuǎn)速和方向的控制,電子管的開關(guān)速度很快,穩(wěn)定性也極強,是

19、一種廣泛采用的 PWM調(diào)速技術(shù)?,F(xiàn)市面上有很多此種芯片,我選用了L298N。這種調(diào)速方式有調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過載能力大,能承受頻繁的負(fù)載沖擊,還可以實現(xiàn)頻繁的無級快速啟動、制動和反轉(zhuǎn)等優(yōu)點。因此決定采用使用功率三極管作為功率放大器的輸出控制電機。2.3 驅(qū)動電機選擇直流電機和步進(jìn)電機都可以用于小車驅(qū)動。故有兩種方案。方案一:使用直流電機,加上適當(dāng)減速比的減速器。直流電機具有良好的調(diào)速性能,控制起來也比較簡單。直流電機只要通上直流電源就可連續(xù)不斷的轉(zhuǎn)動,調(diào)節(jié)電壓的大小就可以改變電機的速度。直流電機的驅(qū)動電路實際上就是一個功率放大器。常用的驅(qū)動方式是PWM方式,即脈沖寬度調(diào)制方式

20、。此方法性能較好,電路和控制都比較簡單。方案二:使用步進(jìn)電機。步進(jìn)電機具有良好的控制性能。當(dāng)給步進(jìn)電機輸入一個電脈沖信號時,步進(jìn)電機的輸出軸就轉(zhuǎn)動一個角度,因此可以實現(xiàn)精確的位置控制。與直流電機不同,要使步進(jìn)電機連續(xù)的轉(zhuǎn)動,需要連續(xù)不斷的輸入點脈沖信號,轉(zhuǎn)速的大小由外加的脈沖頻率決定。去而且其轉(zhuǎn)動不受電壓波動和負(fù)載變化的影響,也不受溫度、氣壓等環(huán)境因素的影響,僅與控制脈沖有關(guān)8。但步進(jìn)電機的驅(qū)動相對較復(fù)雜,要由控制器和功率放大器組成。具體差別見下表1。表1 電機控制方式對比項目直流電機步進(jìn)電機調(diào)速性能較好較差位置控制精度較差好驅(qū)動簡單復(fù)雜穩(wěn)定性較好好,僅與控制脈沖有關(guān)由上表可以看出步進(jìn)電機和直

21、流電機都有各自的優(yōu)點。步進(jìn)電機能進(jìn)行精確的位置控制,但驅(qū)動電路麻煩,鑒于本設(shè)計中小車的位置控制不要求十分精確,直流電機即可滿足小車要求的精度。且直流電機易于控制,驅(qū)動電路十分簡單。2.4 循跡模塊方案一:采用簡易光電傳感器結(jié)合外圍電路探測,但實際效果并不理想,對行駛過程中的穩(wěn)定性要求很高,且誤測幾率較大、易受光線環(huán)境和路面介質(zhì)影響。在使用過程極易出現(xiàn)問題,而且容易因為 該部件造成整個系統(tǒng)的不穩(wěn)定。故最終未采用該方案。方案二:采用三只紅外對管,平均置于小車車頭前端,根據(jù)三只光電開關(guān)接受到白線與黑線的情況來控制小車轉(zhuǎn)向來調(diào)整車向,測試表明,只要合理安裝好三只光電開關(guān)的位置就可以很好的實現(xiàn)循跡的功能

22、。(參考文獻(xiàn)3)通過比較,我選取第二種方案來實現(xiàn)循跡。2.5 機械系統(tǒng)本題目要求小車的機械系統(tǒng)穩(wěn)定、靈活、簡單,可選用三輪和四輪式,考慮到現(xiàn)在的汽車多采用四輪式我選用四輪式的設(shè)計,使設(shè)計更貼近生活需求。驅(qū)動和轉(zhuǎn)向方式和現(xiàn)在的汽車一樣。驅(qū)動部分:采用玩具小車原有的驅(qū)動電機,由L298N雙通道馬達(dá)驅(qū)動模塊驅(qū)動前后兩個馬達(dá),其力矩完全可以達(dá)到模擬效果。電池的安裝:將電池放置在車體的下面,降低車體重心,提高穩(wěn)定性,同時可增加驅(qū)動輪的抓地力,減小輪子空轉(zhuǎn)所引起的誤差。電源模塊:采用6支1.5V電池給電機供電,再用穩(wěn)壓芯片對電池電壓進(jìn)行降壓給單片機。采用一套電源可減少小車的負(fù)重。電壓轉(zhuǎn)換電路如圖2所示。圖

23、2 5V穩(wěn)壓電路3 主要器件介紹3.1 STC89C52的介紹該單片機是宏晶公司生產(chǎn)的STC89C52,其片內(nèi)帶有8K字節(jié)閃速可編程、可擦除壽命1000次程序存儲器。該產(chǎn)品與工業(yè)標(biāo)準(zhǔn)8051中單片機完全兼容,并且還可支持兩種軟件可選的省電模式,工作時鐘最高可達(dá)到24MHz。使實時控制、實時處理的功能更加完善,簡化了硬件配置。與MCS-51單片機產(chǎn)品兼容 、8K字節(jié)在系統(tǒng)可編程Flash存儲器、 1000次擦寫周期、全靜態(tài)操作:0Hz33Hz 、三級加密程序存儲器 、 32個可編程I/O口線、三個16位定時器/計數(shù)器八個中斷源、全雙工UART串行通道、 低功耗空閑和掉電模式 、掉電后中斷可喚醒

24、、看門狗定時器 、雙數(shù)據(jù)指針、掉電標(biāo)識符 。STC89C52實物如圖3。圖3 STC89C52引腳示意圖STC89C52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。使用高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在線系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 STC89C52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時器,2

25、個數(shù)據(jù)指針,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。8 位微控制器 8K字節(jié)在系統(tǒng)可編程 FlashP0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。

26、在這種模式下, P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。P1 口:P1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2 的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。 在flash編程和校驗時,P1口接收低8位地址字節(jié)。

27、引腳號第二功能P1.0 T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1 T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P1.5 MOSI(在線系統(tǒng)編程用)P1.6 MISO(在線系統(tǒng)編程用)P1.7 SCK(在線系統(tǒng)編程用)P2 口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR) 時,P2

28、 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強的內(nèi)部上拉發(fā)送1。在使用 8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 P3口亦作為STC89C52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗時,P3口也接收一些控制信號。

29、端口引腳 第二功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INTO(外中斷0)P3.3 INT1(外中斷1)P3.4 TO(定時/計數(shù)器0)P3.5 T1(定時/計數(shù)器1)P3.6 WR(外部數(shù)據(jù)存儲器寫選通)P3.7 RD(外部數(shù)據(jù)存儲器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。RST復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復(fù)位。ALE/PROG當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因

30、此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。PSEN程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)STC89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號

31、。EA/VPP外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。3.2 L298N的介紹L298是ST公司生產(chǎn)的一種高電壓、大電流電機驅(qū)動芯片。該芯片的主要特點是:工作電壓高,最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;內(nèi)含兩個H橋的高電壓大電流全橋式驅(qū)動器,可以用來

32、驅(qū)動直流電動機和步進(jìn)電動機、繼電器、線圈等感性負(fù)載;采用標(biāo)準(zhǔn)TTL邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。3.2.1 L298的引腳功能L298芯片的引腳圖如下圖4。 圖4 L298引腳圖其引腳功能見表2。表2 L298引腳功能表引腳符號 功能1SENSING A 與地連接電流檢測電阻,并向驅(qū)動芯片反饋檢測到的信號15SENSING B 與地連接電流檢測電阻,并向驅(qū)動芯片反饋檢測到的信號2OUT1 此腳是全橋式驅(qū)動器A的兩個輸出端,用來連接負(fù)載3OUT2

33、 此腳是全橋式驅(qū)動器A的兩個輸出端,用來連接負(fù)載4Vs 電機驅(qū)動電源輸入端5IN1 輸入標(biāo)準(zhǔn)的TTL邏輯電平信號,控制全橋式驅(qū)動器A的開關(guān)引腳符號 功能7IN2 輸入標(biāo)準(zhǔn)的TTL邏輯電平信號,控制全橋式驅(qū)動器A的開關(guān)611 8 91012ENABLE A 使能控制端.輸入標(biāo)準(zhǔn)TTL邏輯電平信號;低電平時全橋式驅(qū)動器禁 工作。 ENABLE B 使能控制端.輸入標(biāo)準(zhǔn)TTL邏輯電平信號;低電平時全橋式驅(qū)動器禁止工作。GND 接地端,芯片本身的散熱片與8腳相通Vss 邏輯控制部分的電源輸人端口IN3 輸入標(biāo)準(zhǔn)的TTL邏輯電平信號,控制全橋式驅(qū)動器B的開關(guān)IN4 輸入標(biāo)準(zhǔn)的TTL邏輯電平信號,控制全橋

34、式驅(qū)動器B的開關(guān)OUT3 此腳是全橋式驅(qū)動器B的兩個輸出端,用來連接負(fù)載OUT4 此腳是全橋式驅(qū)動器B的兩個輸出端,用來連接負(fù)載3.2.2 L298的運行參數(shù)L298的運行參數(shù)見如下表3。表2 L198的運行參數(shù)參數(shù)測試環(huán)境最小值最大值驅(qū)動電源電壓 Vs邏輯電源電壓Vss輸入低電平電壓ViL輸入高電平電壓ViH使能端低電平電壓Ven=L使能端高電平電壓Ven=H全橋式驅(qū)動電壓Vce(sat)持續(xù)工作時-IL=1A IL=2A2.5V4.5V0.3V2.3V0.3V2.3V1.8V46V7V1.5VVss1.5VVss4.9V3.2.3 L298的邏輯控制L298的邏輯控制見如下表4。其中C、D

35、分別為IN1、IN2或IN3、IN4;L為低電平,H為高電平,為不管是低電平還是高電平。表4 L298N直流電機控制的邏輯真值表輸入輸出Ven=HC=H;D=L正轉(zhuǎn)C=L;D=H反轉(zhuǎn)C=D制動Ven=LC=;D=沒有輸出,電機不工作3.3 TCRT5000的介紹TCRT5000具有結(jié)構(gòu)緊湊建設(shè)發(fā)光光源和探測器排列在同一方向,以感知對象的存在從對象使用反射紅外線光束。工作波長為950毫米。該探測器光電晶體管組成。工作時由藍(lán)色發(fā)射管發(fā)射紅外線,紅外線由遮擋物反射回來被接收管接收。接收反射光線后的接收管呈導(dǎo)通狀態(tài),與一電阻串聯(lián)即可主城一個由發(fā)射管控制的分壓電路,由此可實現(xiàn)對遮擋物反射光線強度的檢測。

36、我們經(jīng)常利用這一特性去實現(xiàn)顏色識別。其實物圖如圖5,引腳圖如圖6所示。 圖5 TCRT5000實物圖 圖6 TCRT5000引腳定義3.4 LM324的介紹M324是四運放集成電路,它采用14腳雙列直插塑料封裝。它的內(nèi)部包含四組形式完全相同的運算放大器,除電源共用外,四組運放相互獨立。每一組運算放大器可用圖8所示的符號來表示,它有5個引出腳,其中“+”、“-”為兩個信號輸入端,“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。兩個信號輸入端中,Vi-(-)為反相輸入端,表示運放輸出端Vo的信號與該輸入端的相位相反;Vi+(+)為同相輸入端,表示運放輸出端Vo的信號與該輸入端的相位相同。LM3

37、24的引腳排列見圖9。圖8 單個運放符號 圖9 LM324引腳圖下面介紹LM324在電壓比較電路中的應(yīng)用。當(dāng)去掉運放的反饋電阻時,或者說反饋電阻趨于無窮大時(即開環(huán)狀態(tài)),理論上認(rèn)為運放的開環(huán)放大倍數(shù)也為無窮大(實際上是很大,如LM324運放開環(huán)放大倍數(shù)為100dB,既10萬倍)。此時運放便形成一個電壓比較器,其輸出如不是高電平(V+),就是低電平(V-或接地)。當(dāng)正輸入端電壓高于負(fù)輸入端電壓時,運放輸出低電平。圖10 LM324電壓比較電路如圖10中使用兩個運放組成一個電壓上下限比較器,電阻R1、R1組成分壓電路,為運放A1設(shè)定比較電平U1;電阻R2、R2組成分壓電路,為運放A2設(shè)定比較電平

38、U2。輸入電壓U1同時加到A1的正輸入端和A2的負(fù)輸入端之間,當(dāng)Ui U1時,運放A1輸出高電平;當(dāng)Ui U2,則當(dāng)輸入電壓Ui越出U2,U1區(qū)間范圍時,LED點亮,這便是一個電壓雙限指示器。若選擇U2 U1,則當(dāng)輸入電壓在U2,U1區(qū)間范圍時,LED點亮,這是一個“窗口”電壓指示器。此電路與各類傳感器配合使用,稍加變通,便可用于各種物理量的雙限檢測、短路、斷路報警等。4 硬件設(shè)計4.1總體設(shè)計從智能循跡小車的設(shè)計要求出發(fā),經(jīng)過前面的方案論證我決定用原有的玩具小車作為設(shè)計模型。再在小車身上加上軌跡識別和馬達(dá)驅(qū)動裝置來完成整個功能。智能小車采用后輪驅(qū)動,前輪轉(zhuǎn)換方向。循跡紅外發(fā)射與接收管分別裝在

39、車頭下的左中右。當(dāng)車身下左邊的傳感器檢測到超出黑線時,前輪右轉(zhuǎn),當(dāng)車身下右邊傳感器檢測到超出黑線時,車輪左轉(zhuǎn)。直到小車完全回到黑線。如果轉(zhuǎn)向過程中中間傳感器也檢測到超出黑線則說明小車以這個轉(zhuǎn)向角度不能回到黑線,則改變前輪方向并后退。同樣可以起到轉(zhuǎn)向的作用,避免小車離線太遠(yuǎn)最終回不到黑線上。當(dāng)小車完全回到黑線再繼續(xù)向前,在檢測到下一次出線后再進(jìn)行同樣的調(diào)整。信號流程如圖11所示。紅外軌跡識別 馬達(dá)驅(qū)動模塊 單片機控制系統(tǒng)電壓比較 黑線識別模塊圖11 整體設(shè)計框圖考慮到電機控制要使用PWM波形,而STC89C52單片機本身不能產(chǎn)生PWM,需要外加電路或使用軟件的方式實現(xiàn),為減少硬件電路,這里選用軟

40、件產(chǎn)生PWM方式。整體原理電路圖如圖12所示。圖12 整體原理圖4.2 STC89C52單片機控制電路單片機控制電路由但單片機最小系統(tǒng)組成,主要作用是接受探頭傳來的電壓信號,再通過程序設(shè)定的邏輯算法給出下一級馬達(dá)驅(qū)動電路的指令。單片機最小系統(tǒng)包括主控IC,外部時鐘電路,復(fù)位電路和電源組成。本設(shè)計采用如圖14所示的單片機最先系統(tǒng)。在此就圖13參照解釋一下51單片機最小系統(tǒng)各子電路的特點。圖13主控電路4.2.1 時鐘電路XTAL1 和XTAL2 是獨立的輸入和輸出反相放大器,它們可以被配置為使用石英晶振的片內(nèi)振蕩器,或者是器件直接由外部時鐘驅(qū)動。圖14 中采用的是內(nèi)時鐘模式,即采用利用芯片內(nèi)部的

41、振蕩電路,在XTAL1、XTAL2 的引腳上外接定時元件(一個石英晶體和兩個電容),內(nèi)部振蕩器便能產(chǎn)生自激振蕩。一般來說晶振可以在1.2 12MHz 之間任選,甚至可以達(dá)到24MHz 或者更高,但是頻率越高功耗也就越大。在本實驗套件中采用的11.0592M 的石英晶振。和晶振并聯(lián)的兩個電容的大小對振蕩頻率有微小影響,可以起到頻率微調(diào)作用。當(dāng)采用石英晶振時,電容可以在20 40pF 之間選擇(本實驗套件使用30pF);當(dāng)采用陶瓷諧振器件時,電容要適當(dāng)?shù)卦龃笠恍?0 50pF 之間。通常選取33pF 的陶瓷電容就可以了。另外值得一提的是如果在設(shè)計單片機系統(tǒng)的印刷電路板(PCB) 時,晶體和電容

42、應(yīng)盡可能與單片機芯片靠近,以減少引線的寄生電容,保證振蕩器可靠工作。檢測晶振是否起振的方法可以用示波器可以觀察到XTAL2 輸出的十分漂亮的正弦波,也可以使用萬用表測量( 把擋位打到直流擋,這個時候測得的是有效值)XTAL2 和地之間的電壓時,可以看到2V 左右一點的電壓。4.2.2 復(fù)位電路 單片機系統(tǒng)中,復(fù)位電路是非常關(guān)鍵的,當(dāng)程序跑飛(運行不正常)或死機(停止運行)時,就需要進(jìn)行復(fù)位。MCS-5l 系列單片機的復(fù)位引腳RST( 第9 管腳) 出現(xiàn)2個機器周期以上的高電平時,單片機就執(zhí)行復(fù)位操作。如果RST 持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài)。復(fù)位操作通常有兩種基本形式:上電自動復(fù)位和

43、開關(guān)復(fù)位。圖14 中所示的復(fù)位電路就包括了這兩種復(fù)位方式。上電瞬間,電容兩端電壓不能突變,此時電容的負(fù)極和RESET 相連,電壓全部加在了電阻上,RESET 的輸入為高,芯片被復(fù)位。隨之+5V電源給電容充電,電阻上的電壓逐漸減小,最后約等于0,芯片正常工作。并聯(lián)在電容的兩端為復(fù)位按鍵,當(dāng)復(fù)位按鍵沒有被按下的時候電路實現(xiàn)上電復(fù)位,在芯片正常工作后,通過按下按鍵使RST管腳出現(xiàn)高電平達(dá)到手動復(fù)位的效果。一般來說,只要RST 管腳上保持10ms 以上的高電平,就能使單片機有效的復(fù)位。圖中所示的復(fù)位電阻和電容為經(jīng)典值,實際制作是可以用同一數(shù)量級的電阻和電容代替,讀者也可自行計算RC 充電時間或在工作環(huán)

44、境實際測量,以確保單片機的復(fù)位電路可靠。4.2.3 EA/VPP(31 腳)的功能和接法51 單片機的EA/VPP(31 腳) 是內(nèi)部和外部程序存儲器的選擇管腳。當(dāng)EA 保持高電平時,單片機訪問內(nèi)部程序存儲器;當(dāng)EA 保持低電平時,則不管是否有內(nèi)部程序存儲器,只訪問外部存儲器。對于現(xiàn)今的絕大部分單片機來說,其內(nèi)部的程序存儲器(一般為flash)容量都很大,因此基本上不需要外接程序存儲器,而是直接使用內(nèi)部的存儲器。在本實驗套件中,EA 管腳接到了VCC 上,只使用內(nèi)部的程序存儲器。4.2.4 P0 口外接上拉電阻51 單片機的P0 端口為開漏輸出,內(nèi)部無上拉電阻(見圖14)。所以在當(dāng)做普通I/O

45、 輸出數(shù)據(jù)時,由于V2 截止,輸出級是漏極開路電路,要使“1”信號(即高電平)正常輸出,必須外接上拉電阻。圖14 P0端口的1位結(jié)構(gòu)另外,避免輸入時讀取數(shù)據(jù)出錯,也需外接上拉電阻。在這里簡要的說下其原因:在輸入狀態(tài)下,從鎖存器和從引腳上讀來的信號一般是一致的,但也有例外。例如,當(dāng)從內(nèi)部總線輸出低電平后,鎖存器Q 0, Q 1,場效應(yīng)管V1 開通,端口線呈低電平狀態(tài)。此時無論端口線上外接的信號是低電平還是高電平,從引腳讀入單片機的信號都是低電平,因而不能正確地讀入端口引腳上的信號。又如,當(dāng)從內(nèi)部總線輸出高電平后,鎖存器Q 1, Q 0,場效應(yīng)管V1 截止。如外接引腳信號為低電平, 從引腳上讀入的

46、信號就與從鎖存器讀入的信號不同。所以當(dāng)P0 口作為通用I/O 接口輸入使用時,在輸入數(shù)據(jù)前,應(yīng)先向P0 口寫“1”,此時鎖存器的Q 端為“0”,使輸出級的兩個場效應(yīng)管V1、V2 均截止,引腳處于懸浮狀態(tài),才可作高阻輸入??偨Y(jié)來說:為了能使P0 口在輸出時能驅(qū)動NMOS 電路和避免輸入時讀取數(shù)據(jù)出錯,需外接上拉電阻。在設(shè)計中采用的是外加一個10K 排阻。此外,51 單片機在對端口P0P3 的輸入操作上,為避免讀錯,應(yīng)先向電路中的鎖存器寫入“1”,使場效應(yīng)管截止,以避免鎖存器為“0”狀態(tài)時對引腳讀入的干擾。4.3TCRT5000黑色軌跡識別電路小車循跡原理是小車在畫有黑線的白紙 “路面”上行駛,由

47、于黑線和白紙對光線的反射系數(shù)不同,可根據(jù)接收到的反射光的強弱來判斷“道路”黑線。本次設(shè)計規(guī)定正常行駛時三個紅外探頭都在黑色軌跡之內(nèi),如果有探頭檢測到車體開始偏離軌道則由控制系統(tǒng)做出相應(yīng)響應(yīng)使車體回到軌道上。此電路模塊就是用于檢測車體是否超出軌道并反饋給下一級電路。這一方法經(jīng)常被叫做紅外探測法。紅外探測法,即利用紅外線在不同顏色的物理表面具有不同的反射性質(zhì)的特點。在小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色地面時發(fā)生漫發(fā)射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,則小車上的接收管接收不到信號。如圖15軌跡識別電路所示,發(fā)射管(1、2端)與阻值為330歐姆的電阻串聯(lián)

48、發(fā)射紅外線。接收管(3、4)與阻值為47K歐姆的電阻串聯(lián)。在沒有接收到反射光線時接收管截止呈高阻態(tài),TX輸出高電平。當(dāng)接收管接收到反射光線時,接收管被導(dǎo)通,并且電阻遠(yuǎn)小于47K,TX輸出低電平。圖15 黑色軌跡設(shè)別電路4.4LM324電壓比較電路電壓比較器式在運放的基礎(chǔ)上去掉反饋電阻使放大倍數(shù)趨于無窮大。此時形成了一個電壓比較器。當(dāng)同相端電壓大于反相端電壓時比較器輸出高電平,當(dāng)反相端電壓高于同相端電壓時輸出端輸出度電平。如圖16電壓比較電路,用了LM324內(nèi)部3個單獨的運放外接一個可調(diào)電阻輸入基準(zhǔn)電壓。基準(zhǔn)電壓加在反相輸入端上,上一級電路反饋過來的電壓從電壓比較器的同相端輸入。當(dāng)TCRT500

49、0反饋的電壓高于基準(zhǔn)電壓時,比較器輸出高電平。當(dāng)TCRT5000反饋的電壓低于基準(zhǔn)電壓時,比較器輸出低電平。這樣就使探頭把地面的反射光線的程度只分成了兩種情況,易于單片機識別??紤]到地面的粗超程度不一樣我們可以用可調(diào)電位器去調(diào)節(jié)基準(zhǔn)電壓,經(jīng)過軌道實際測量后確定基準(zhǔn)電壓的值。圖13電壓比較電路4.5電機驅(qū)動電路4.5.1驅(qū)動電路小車使用的是直流電機。從單片機輸出的信號功率很弱,即使在沒有其它外在負(fù)載時也無法帶動電機,所以在實際電路中我們加入了電機驅(qū)動芯片提高輸入電機信號的功率,從而能夠根據(jù)需要控制電機轉(zhuǎn)動。直流電機常用的PWM,及脈寬調(diào)制方式驅(qū)動。本設(shè)計中電機驅(qū)動采用L298集成H橋芯片。L29

50、8中有兩套H橋電路,剛好可以控制兩個電機。它的使能端可以外接高低電平,也可以利用單片機進(jìn)行軟件控制,極大地滿足各種復(fù)雜電路需要。另外,L298的驅(qū)動功率較大,在646V的電壓下,可以提供2A的額定電流,并且具有過熱自動關(guān)斷和電流反饋檢測功能,安全可靠;為了保證L298正常工作,我們另外安裝了續(xù)流二極管。電路如圖16所示。能根據(jù)輸入電壓的大小輸出不同的電壓和功率,解決了負(fù)載能力不夠這個問題。利用單片機調(diào)整出PWM脈沖和高低電平對直流電機進(jìn)行驅(qū)動和控制。圖16 電機驅(qū)動電路L298集成H橋芯片。其外形、管腳分布如圖17所示。 圖17 L298管腳分布圖4.5.2 PWM調(diào)速原理脈沖寬度調(diào)制(Pul

51、se Width Modulation),簡稱PWM。脈沖周期不變,只改變晶閘管的導(dǎo)通時間,即通過改變脈沖寬度來進(jìn)行直流調(diào)速。PWM的理論基礎(chǔ)是:沖量相等而形狀不同的的窄脈沖加在具有慣性的環(huán)節(jié)上,其效果基本相同。采用PWM進(jìn)行電機的調(diào)速控制,實際是保持加在電機電機電樞上的脈沖電壓頻率不變,調(diào)節(jié)其脈沖寬度。電機是一個慣性環(huán)節(jié),它的電樞電流餓轉(zhuǎn)速均不能突變,很高的頻率的PWM加在電機上,效果相當(dāng)于施加一個恒定電壓的直流電。如圖18所示。這個電壓可以由脈沖的寬度調(diào)節(jié)。 圖18 PWM等效圖示意圖使用PWM方式可以很容易的實現(xiàn)調(diào)速。PWM信號由單片機軟件產(chǎn)生,使用非常方便。由于電路總體上并不復(fù)雜,驅(qū)動

52、電路的控制輸入端也可以不用經(jīng)光耦合隔離,直接與單片機引腳相連。前進(jìn)時,驅(qū)動兩個直流電機都正轉(zhuǎn),后退時,則兩電機都反轉(zhuǎn)。左轉(zhuǎn)時前進(jìn)時,左電機不轉(zhuǎn)而右電機正轉(zhuǎn),右轉(zhuǎn)前進(jìn)時,則右電機不轉(zhuǎn)而左電機正轉(zhuǎn)。進(jìn)入減速區(qū)時,由單片機控制進(jìn)行PWM變頻調(diào)速,通過軟件改變脈沖調(diào)寬波形的占空比,實現(xiàn)調(diào)速。所有這些都是通過軟件編程實現(xiàn)控制。 5程序設(shè)計5.1主程序根據(jù)設(shè)計要求本設(shè)計希望小車能完成自主行走的功能,主程序流程圖如圖18所示。由于本設(shè)計用到內(nèi)部定時器產(chǎn)生PWM編碼程序,故開機前先進(jìn)行程序初始化,設(shè)置好定時器器初始值并給小車前進(jìn)的指令。然后進(jìn)入線路檢測循環(huán),并作出相應(yīng)的判斷與驅(qū)動指令。進(jìn)入循環(huán)后單片機系統(tǒng)先采

53、集一次傳感器產(chǎn)來的信號,再根據(jù)這些信號判斷當(dāng)前小車所在的位置并給出相應(yīng)的驅(qū)動指令。第二個循環(huán)時則加入與上一次采集結(jié)果的比較,如果小車狀態(tài)沒變則不重復(fù)發(fā)送驅(qū)動指令,讓小車以前一種行走方式繼續(xù)運行。YESNO狀態(tài)有變化?探頭信號掃描程序與定時器初始化開始程序初始化做出邏輯判斷 輸出驅(qū)動指令儲存當(dāng)前狀態(tài)圖19 主程序流程圖程序掃描后到的小車位置狀態(tài)與對應(yīng)輸出的驅(qū)動指令對應(yīng)關(guān)系如圖20。黑色表示黑色軌跡。圖20小車位置與響應(yīng)動作對照主程序源程序如下:/* 函 數(shù):main();* 功 能: 主函數(shù) */void main (void)TMOD=0x01; /定時器初始化 用于產(chǎn)生PWMTH0=0xd8

54、;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; /采樣無出線,執(zhí)行向前 case 1: if(P3=10); else P3=0;P3=5;break; /采樣為右出線,執(zhí)行左轉(zhuǎn)case 4: if(P3=6) ; else P3=0;P3=9; break; /采樣為左出線,執(zhí)行右轉(zhuǎn)case 3: P3=0;P3=10;break; /采樣車頭向右出線一半,執(zhí)行左倒車case 6: P3=0;P3=6;

55、break; /采樣車頭向左出線一半,執(zhí)行右倒車case 7: P3=0;P3=2;break; /采樣全出線,執(zhí)行向后default:break;sto=col;5.2TCRT5000掃描程序TCRT500掃描程序流程圖如圖19所示,TCRT500完成路面軌跡檢測。三個探頭分別連接在P10、P11、P12口。為了避免外部干擾在采集之前先把P1口程序拉高,再讀回P1口的值。屏蔽P1口后五位后返回采集值保留作下一步判斷。開始P1口程序拉高讀回P1口狀態(tài)屏蔽平P1后五位返回屏蔽后的值退出圖21 TCRT5000掃描程序流程圖TCRT500掃描程序如下:/* 函 數(shù):collect(); * 功 能

56、: 采集紅外探頭信息,返回一個值 */char collect()uchar a,b;P1=255;a=P1;b=a&7;/屏蔽后5位return(b);5.3 PWM編碼產(chǎn)生程序 由于在電源完全加在馬達(dá)上時馬達(dá)的速度太快不便于控制,利用L298N的特性本設(shè)計采用了PWM調(diào)速控制。即有PWM波去控制H橋的導(dǎo)通和關(guān)閉來改變有效電壓達(dá)到調(diào)速的目的。經(jīng)過調(diào)試發(fā)現(xiàn)產(chǎn)生占空比為50%的PWM可以使小車行駛的速度達(dá)到一個意圖控制的速度。故我們用定時中斷在P2.0口產(chǎn)生一個占空比為50%的PWm波來控制車速。這樣的波形非常易于產(chǎn)生,我們用定時器定時10ms,每一次中斷將P2.0的狀態(tài)取反則可得到。流程圖22

57、如下。開始主程序初始化定時器0 并開啟內(nèi)部時鐘中斷打開定時器0定時中斷?NOYESP2.0取反結(jié)束圖22 PWM產(chǎn)生程序流程圖PWM產(chǎn)生源程序如下:/* 函 數(shù):定時器0中斷;* 功 能: 產(chǎn)生控速脈沖10ms高電平 10ms低電平*/void maichong (void) interrupt 1 using 1 TH0=0xd8; TL0=0xf0; c=c;6調(diào)試6.1硬件調(diào)試6.1.1電池可靠性由于本次實驗需要捍接的電路模塊較多,特別是直流電機驅(qū)動模塊,對于電源電流的需要極大,我們先以直插式電源開始調(diào)試,小車運轉(zhuǎn)正常。但直插式電源對于運動的小車是個很大的束縛,極為不方便。所以考慮采用電

58、池供電。市面上常用的有干電池和蓄電池。由于小車相當(dāng)耗電,的干電池用不了多久,就會出現(xiàn)開關(guān)器件很難穩(wěn)定地給單片機送正確值的情況。只有當(dāng)更換新電池或小車剛剛啟動時才會很準(zhǔn)確,經(jīng)過思考,這都是開關(guān)元件消耗電量很大的原因,一旦電池電量不足其工作將會萎靡不振,于是我們用5節(jié)1.5V的可充電的蓄電池給小車供電,選擇合適的電池可以很好的滿足小車耗電量大的情況,而且還可以反復(fù)利用。電池如圖23所示。電壓已由充滿時的7V下降到6.28V但是仁能使小車正常行駛。圖23 組裝電池6.1.2TCRT5000探頭 由TCRT5000組成的軌跡識別電路是本次設(shè)計成敗的關(guān)鍵,在初次調(diào)試時小車的搖頭動作(即轉(zhuǎn)向)時常出現(xiàn)不靈的情況。后來用電壓表測量了電壓比較器量輸入端的電壓發(fā)現(xiàn)基準(zhǔn)電壓到了3.5V,而紅外探頭在檢測到黑線時才3.6V。兩者電壓相差無幾,所以遇到黑線顏色較淺的區(qū)域單片機會發(fā)生誤判的現(xiàn)象。于是我測量了紅外探頭在黑白兩種極限情況下的電壓輸出情況。測量結(jié)果如表5所示。表5 紅外探頭輸出電壓測試表 反射面顏色 紅外探頭1 紅外探頭1 紅外探頭1 白色 0.10V 0.12V 0.11V

展開閱讀全文
溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!