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