智能尋跡小車(chē)
《智能尋跡小車(chē)》由會(huì)員分享,可在線閱讀,更多相關(guān)《智能尋跡小車(chē)(27頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 智能循跡小車(chē) 本文論述了基于單片機(jī)的智能循跡小車(chē)的控制過(guò)程。智能循跡是基于自動(dòng)引導(dǎo)機(jī)器人系統(tǒng),用以實(shí)現(xiàn)小車(chē)自動(dòng)識(shí)別路線,以及選擇正確的路線。智能循跡小車(chē)是一個(gè)運(yùn)用傳感器、單片機(jī)、電機(jī)驅(qū)動(dòng)及自動(dòng)控制等技術(shù)來(lái)實(shí)現(xiàn)按照預(yù)先設(shè)定的模式下,不受人為管理時(shí)能夠自動(dòng)實(shí)現(xiàn)循跡導(dǎo)航的高新科技。該技術(shù)已經(jīng)應(yīng)用于無(wú)人駕駛機(jī)動(dòng)車(chē),無(wú)人工廠,倉(cāng)庫(kù),服務(wù)機(jī)器人等多種領(lǐng)域。 本設(shè)計(jì)采用STC89C52單片機(jī)作為小車(chē)的控制核心;采用TCRT5000紅外反射式開(kāi)關(guān)傳感器作為小車(chē)的循跡模塊來(lái)識(shí)別白色路面中央的黑色引導(dǎo)線,采集信號(hào)并將信號(hào)轉(zhuǎn)換為能被單片機(jī)識(shí)別的數(shù)字信號(hào);采用驅(qū)動(dòng)芯片L
2、298N構(gòu)成雙H橋控制直流電機(jī),其中軟件系統(tǒng)采用C程序,本設(shè)計(jì)的電路結(jié)構(gòu)簡(jiǎn)單,容易實(shí)現(xiàn),可靠性高。 關(guān)鍵詞:智能小車(chē) STC89C52單片機(jī) L298N 智能循跡 目 錄 一、 緒 論 1 1.1 智能循跡小車(chē)概述 1 1.1.1 循跡小車(chē)的發(fā)展歷程回顧 1 1.1.2 智能循跡分類(lèi) 2 1.1.3 智能循跡小車(chē)的應(yīng)用 3 1.2 智能循跡小車(chē)研究中的關(guān)鍵技術(shù) 4 二、 智能循跡小車(chē)總體設(shè)計(jì)方案 5 2.1 整體設(shè)計(jì)方案 5 2.1.1 系統(tǒng)設(shè)計(jì)步驟 5 2.1.2 系統(tǒng)
3、基本組成 5 2.2 整體控制方案確定 6 三、 系統(tǒng)的硬件設(shè)計(jì) 8 3.1 單片機(jī)電路的設(shè)計(jì) 8 3.1.1 單片機(jī)的功能特性描述 8 3.1.2 晶振電路 9 3.1.3 復(fù)位電路 9 3.2 光電傳感器模塊 10 3.2.1 傳感器分布 11 3.3 電機(jī)驅(qū)動(dòng)電路 12 3.3.1 L298N引腳結(jié)構(gòu) 13 3.3.2 電機(jī)驅(qū)動(dòng)原理 13 3.3.3 小車(chē)運(yùn)動(dòng)邏輯 15 四、 系統(tǒng)的軟件設(shè)計(jì) 16 4.1 軟件設(shè)計(jì)的流程 16 4.2 本系統(tǒng)的編譯器 17 五、 系統(tǒng)的總體調(diào)試 22 5.1 硬件的測(cè)試 22 5.2 系
4、統(tǒng)的軟件調(diào)試 22 參考文獻(xiàn) 24 III 一、 緒 論 進(jìn)入二十一世紀(jì),隨著計(jì)算機(jī)技術(shù)和科學(xué)技術(shù)的不斷進(jìn)步,機(jī)器人技術(shù)較以往已經(jīng)有了突飛猛進(jìn)的提高,智能循跡小車(chē)即帶有視覺(jué)和觸覺(jué)的小車(chē)就是其中的典型代表。 1.1 智能循跡小車(chē)概述 智能循跡小車(chē)又被稱為Automated Guided Vehicle,簡(jiǎn)稱AGV,是二十世紀(jì)五十年代研發(fā)出來(lái)的新型智能搬運(yùn)機(jī)器人。智能循跡小車(chē)是指裝備如電磁,光學(xué)或其他自動(dòng)導(dǎo)引裝置,可以沿設(shè)定的引導(dǎo)路徑行駛,安全的運(yùn)輸車(chē)。工業(yè)應(yīng)用中采用充電蓄電池為主要的動(dòng)力來(lái)源,可通過(guò)電腦程序來(lái)控制其選擇運(yùn)動(dòng)軌跡以及其它動(dòng)作,也可把電磁軌道黏貼在地板上來(lái)確定
5、其行進(jìn)路線,無(wú)人搬運(yùn)車(chē)通過(guò)電磁軌道所帶來(lái)的訊息進(jìn)行移動(dòng)與動(dòng)作,無(wú)需駕駛員操作,將貨物或物料自動(dòng)從起始點(diǎn)運(yùn)送到目的地。 AGV的另一個(gè)特點(diǎn)是高度自動(dòng)化和高智能化,可以根據(jù)倉(cāng)儲(chǔ)貨位要求、生產(chǎn)工藝流程等改變而靈活改變行駛路徑,而且改變運(yùn)行路徑的費(fèi)用與傳統(tǒng)的輸送帶和傳送線相比非常低廉。AGV小車(chē)一般配有裝卸機(jī)構(gòu),可與其它物流設(shè)備自動(dòng)接口,實(shí)現(xiàn)貨物裝卸與搬運(yùn)的全自動(dòng)化過(guò)程。此外,AGV小車(chē)依靠蓄電池提供動(dòng)力,還有清潔生產(chǎn)、運(yùn)行過(guò)程中無(wú)噪音、無(wú)污染的特點(diǎn),可用在工作環(huán)境清潔的地方。 1.1.1 循跡小車(chē)的發(fā)展歷程回顧 隨著社會(huì)的不斷發(fā)展,科學(xué)技術(shù)水平的不斷提高,人們希望創(chuàng)造出一種來(lái)代替人來(lái)做一些非
6、常危險(xiǎn),或者要求精度很高等其他事情的工具,于是就誕生了機(jī)器人這門(mén)學(xué)科。世界上誕生第一臺(tái)機(jī)器人誕生于1959年,至今已有50多年的歷史,機(jī)器人技術(shù)也取得了飛速的發(fā)展和進(jìn)步,現(xiàn)已發(fā)展成一門(mén)包含:機(jī)械、電子、計(jì)算機(jī)、自動(dòng)控制、信號(hào)處理,傳感器等多學(xué)科為一體的性尖端技術(shù)。循跡小車(chē)共歷了三代技術(shù)創(chuàng)新變革: 第一代循跡小車(chē)是可編程的示教再現(xiàn)型,不裝載任何傳感器,只是采用簡(jiǎn)單的開(kāi)關(guān)控制,通過(guò)編程來(lái)設(shè)置循跡小車(chē)的路徑與運(yùn)動(dòng)參數(shù),在工作過(guò)程中,不能根據(jù)環(huán)境的變化而改變自身的運(yùn)動(dòng)軌跡。 支持離線編程的第二代循跡小車(chē)具有一定感知和適應(yīng)環(huán)境的能力,這類(lèi)循跡小車(chē)裝有簡(jiǎn)單的傳感器,可以感覺(jué)到自身的的運(yùn)動(dòng)位置,速度等
7、其他物理量,電路是一個(gè)閉環(huán)反饋的控制系統(tǒng),能適應(yīng)一定的外部環(huán)境變化。 第三代循跡小車(chē)是智能的,目前在研究和發(fā)展階段,以多種外部傳感器構(gòu)成感官系統(tǒng),通過(guò)采集外部的環(huán)境信息,精確地描述外部環(huán)境的變化。智能循跡小車(chē),能獨(dú)立完成任務(wù),有其自身的知識(shí)基礎(chǔ),多信息處理系統(tǒng),在結(jié)構(gòu)化或半結(jié)構(gòu)化的工作環(huán)境中,根據(jù)環(huán)境變化作出決策,有一定的適應(yīng)能力,自我學(xué)習(xí)能力和自我組織的能力。為了讓循跡小車(chē)能獨(dú)立工作,一方面應(yīng)具有較高的智慧和更廣泛的應(yīng)用,研究各種新機(jī)傳感器,另一方面,也掌握多個(gè)多類(lèi)傳感器信息融合的技術(shù),這樣循跡小車(chē)可以更準(zhǔn)確,更全面的獲得所處環(huán)境的信息[1]。 1.1.2 智能循跡分類(lèi) AGV從發(fā)明
8、至今已經(jīng)有50多年的歷史,隨著應(yīng)用領(lǐng)域范圍的不斷擴(kuò)大,其種類(lèi)和形式也變得更加多樣化。一般根據(jù)行駛的導(dǎo)航方式將智能循跡小車(chē)分為以下幾種類(lèi)型: (1)電磁感應(yīng)式 電磁感應(yīng)式引導(dǎo)一般在地面上,沿預(yù)定路徑埋電線,當(dāng)高頻電流通過(guò)導(dǎo)線,電線周?chē)a(chǎn)生電磁場(chǎng)流動(dòng), AGV小車(chē)上安裝兩個(gè)對(duì)稱的電磁感應(yīng)傳感器,他們收到的電磁信號(hào)差異可以反映的AGV偏離程度路徑的程度。?AGV自動(dòng)化控制系統(tǒng),基于這種偏差值,以控制車(chē)輛的轉(zhuǎn)向,連續(xù)的動(dòng)態(tài)的閉環(huán)控制設(shè)置能夠保證AGV對(duì)設(shè)定路徑的穩(wěn)定自動(dòng)跟蹤。在目前商業(yè)用途的AGV中,特別是大型和中型小車(chē),絕大多數(shù)都采用電磁感應(yīng)導(dǎo)航。 (2)激光式 安裝有可旋轉(zhuǎn)的激光掃描器的A
9、GV,可安裝在墻壁或有高反射激光定位標(biāo)志的支柱上或者路徑上運(yùn)行,AGV依靠激光掃描器發(fā)射激光束,然后接收由四周定位標(biāo)志反射回的激光束,車(chē)載計(jì)算機(jī),計(jì)算出當(dāng)前車(chē)輛的位置和運(yùn)動(dòng)方向,通過(guò)內(nèi)置的數(shù)字地圖和校準(zhǔn)位置相比,以實(shí)現(xiàn)自動(dòng)處理。目前,這種AGV類(lèi)型的應(yīng)用比較廣泛?;谕瑯拥脑恚绻す鈷呙鑳x被紅外線發(fā)射器,或超聲波發(fā)射取代,激光制導(dǎo)的AGV小車(chē)可以轉(zhuǎn)變?yōu)榧t外引導(dǎo)和超聲引導(dǎo)的AGV。 (3)視覺(jué)式 視覺(jué)引導(dǎo)式AGV是的迅速發(fā)展和比較成熟的AGV,這種AGV配備CCD攝像機(jī),傳感器和車(chē)載電腦,在車(chē)載計(jì)算機(jī)中設(shè)置有AGV欲行駛路徑周?chē)h(huán)境圖像數(shù)庫(kù)。在AGV的行駛過(guò)程中,相機(jī)得到的圖像與圖像數(shù)據(jù)
10、庫(kù)進(jìn)行比較,以確定當(dāng)前位置和車(chē)輛周?chē)膱D像信息并對(duì)駕駛下一步作出決定。這種AGV小車(chē)并不需要設(shè)置任何的人工物理路徑,所以在理論上具有靈活性,在計(jì)算機(jī)圖像采集,存儲(chǔ)和處理技術(shù)飛速發(fā)展的今天,這種類(lèi)型的AGV實(shí)用性越來(lái)越強(qiáng)。此外,還有鐵磁陀螺慣性引導(dǎo)式AGV、光學(xué)引導(dǎo)式AGV等多種形式的AGV[2]。 1.1.3 智能循跡小車(chē)的應(yīng)用 智能循跡小車(chē)發(fā)展歷史及主要應(yīng)用場(chǎng)所如下: (1)倉(cāng)儲(chǔ)業(yè) 1954年,來(lái)自美國(guó)南卡羅來(lái)納州的Mercury Motor Freight公司成為第一批把AGV小車(chē)的應(yīng)用到倉(cāng)庫(kù)的使用者,來(lái)實(shí)現(xiàn)出入庫(kù)貨物的自動(dòng)處理。至今世界上有超過(guò)2100個(gè)廠家把大約2萬(wàn)臺(tái)大型或小
11、型的AGV小車(chē)應(yīng)用到自己的倉(cāng)庫(kù)中。中國(guó)的海爾集團(tuán)在2000年把9臺(tái)AGV小車(chē)投產(chǎn)到了自己的倉(cāng)庫(kù)區(qū),形成一個(gè)靈活的AGV自動(dòng)數(shù)據(jù)庫(kù)處理系統(tǒng),輕松地完成了每天至少33500的儲(chǔ)存和裝卸貨物的任務(wù)。 (2)制造業(yè) 在制造業(yè)的的生產(chǎn)線中AGV小車(chē)大顯身手,快速,精確,靈活的完成材料的運(yùn)送任務(wù)。由多臺(tái)AGV小車(chē)組成的物流運(yùn)輸處理系統(tǒng),較人工搬運(yùn)系統(tǒng)來(lái)說(shuō)更靈活,運(yùn)輸路線可以根據(jù)生產(chǎn)過(guò)程及時(shí)調(diào)整,使一條生產(chǎn)線,生產(chǎn)十幾個(gè)產(chǎn)品,大大提高了生產(chǎn)的靈活性,企業(yè)的競(jìng)爭(zhēng)力。在1974年瑞典的沃爾沃卡爾馬的汽車(chē)組裝廠,提高了運(yùn)輸系統(tǒng)的靈活性,使用以AGV小車(chē)為載運(yùn)工具的裝配線,采用該裝配線后,減少了20%裝配時(shí)間、
12、減少了39%組裝錯(cuò)誤,減少了57%投資資金回收時(shí)間以及減少了5%的員工費(fèi)用。目前,在世界主要的汽車(chē)生產(chǎn)廠家,如通用、豐田、克萊斯勒、大眾AGV小車(chē)已被廣泛應(yīng)用。近年來(lái),作為CIMS(Computer Integrated Manufacturing Systems,直譯為基于計(jì)算機(jī)的現(xiàn)代集成制造系統(tǒng))的基礎(chǔ)搬運(yùn)工具,AGV已經(jīng)深入到機(jī)械加工,家電制造,微電子制造,煙草等行業(yè),生產(chǎn)業(yè)和加工業(yè)已成為AGV小車(chē)使用最廣泛的領(lǐng)域。 (3)郵局、圖書(shū)館、港口碼頭和機(jī)場(chǎng) 在郵局,圖書(shū)館,碼頭和機(jī)場(chǎng)候機(jī)樓等人口密集的公眾場(chǎng)所,存在著大量的物品的運(yùn)送工作,充滿不定性和動(dòng)態(tài)性強(qiáng)的特點(diǎn),搬運(yùn)過(guò)程往往也很單一。
13、AGV有著可并行工作、自動(dòng)化、智能化和處理靈活的特點(diǎn),可以很好的滿足這些場(chǎng)合的運(yùn)輸要求。1983年瑞典的大斯得哥爾摩郵局,1988年日本東京的多摩郵局,1990年中國(guó)上海的郵政相繼開(kāi)始使用AGV小車(chē)來(lái)完成郵品的搬運(yùn)工作。在荷蘭的鹿特丹港口,50輛被稱為“院子里的拖拉機(jī)”的AGV小車(chē)每天都在把集裝箱從船邊運(yùn)送到幾百米以外的倉(cāng)庫(kù)中。 (4)煙草、醫(yī)藥、化工、食品 對(duì)于處理一些需要在清潔、安全、無(wú)排放污染等其他特殊環(huán)境要求的產(chǎn)品生產(chǎn)如煙草、制藥、食品、化工等產(chǎn)品時(shí)應(yīng)考慮AGV小車(chē)的應(yīng)用。在全國(guó)許多卷煙企業(yè),如青島頤中集團(tuán)、玉溪紅塔集團(tuán)、紅河卷煙廠、淮陰卷煙廠,應(yīng)用激光引導(dǎo)式AGV完成托盤(pán)貨物的搬
14、運(yùn)工作。 (5)危險(xiǎn)場(chǎng)所和特種行業(yè) 在軍事方面,以AGV小車(chē)為基礎(chǔ)有著自動(dòng)駕駛和檢測(cè)功能的設(shè)備,可用于戰(zhàn)場(chǎng)偵察和掃雷,英國(guó)軍方正在開(kāi)發(fā)MINDER偵察系統(tǒng),這是一種具有地雷探測(cè)、銷(xiāo)毀和路線驗(yàn)證能力自動(dòng)型偵察車(chē)。在鋼鐵廠,AGV小車(chē)負(fù)責(zé)爐料運(yùn)輸,大大降低了工人們的勞動(dòng)強(qiáng)度。在核電廠的核儲(chǔ)存地點(diǎn)使用AGV小車(chē),以避免輻射的危險(xiǎn)。AGV小車(chē)可在黑暗環(huán)境中,準(zhǔn)確、可靠的運(yùn)輸物料[3]。 1.2 智能循跡小車(chē)研究中的關(guān)鍵技術(shù) 現(xiàn)在全世界越來(lái)越多的國(guó)家都在做著研究智能化、多樣化的自動(dòng)汽車(chē)導(dǎo)航的工作。自動(dòng)汽車(chē)導(dǎo)航是一個(gè)非常復(fù)雜的系統(tǒng),它不僅應(yīng)具有正常的運(yùn)動(dòng)功能的成分,而且還應(yīng)具有任務(wù)分析,路徑規(guī)劃
15、,信息感知,自主決策等類(lèi)似人類(lèi)的智能行為。 人類(lèi)可以利用自己的聽(tīng)覺(jué)、視覺(jué)、味覺(jué)、觸覺(jué)等功能獲取事物的信息,人類(lèi)的大腦再根據(jù)已經(jīng)掌握的知識(shí)對(duì)這些信息進(jìn)行綜合分析,從而全面了解認(rèn)知事物。這樣一個(gè)認(rèn)識(shí)事物、分析事物和處理信息的過(guò)程稱之為信息融合過(guò)程。多傳感器信息融合的基本原理就是模仿人類(lèi)大腦的這個(gè)過(guò)程,得到一個(gè)對(duì)復(fù)雜對(duì)象的一致性解釋或結(jié)論。多傳感器信息融合是協(xié)調(diào)多個(gè)分布在不同地點(diǎn),相同或不同種類(lèi)的傳感器所提供的局部不完整觀測(cè)量信息加以綜合,協(xié)調(diào)使用,消除可能存在的冗余和矛盾,并加以互補(bǔ),以減少不確定性,得到對(duì)物體或環(huán)境的一致性描述的過(guò)程[4]。 多傳感器信息融合具有許多性能上的優(yōu)點(diǎn):(1)增加了
16、系統(tǒng)的生存能力;(2)減少了信息的模糊性;(3)擴(kuò)展了采集數(shù)據(jù)覆蓋范圍;(4)增加了可信度;(5)改善了探測(cè)性能;(6)提高了空間的分辨力;(7)改善了系統(tǒng)的可靠性(8)信息的低成本性[5]。 本文主要由五章組成,第1章為緒論,主要講述循跡小車(chē)的發(fā)展歷程及在目前所應(yīng)用領(lǐng)域中的作用。第2章為總體規(guī)劃智能循跡小車(chē)系統(tǒng)的設(shè)計(jì),包含主系統(tǒng)流程圖。第3章是系統(tǒng)的硬件設(shè)計(jì),其中包含單片機(jī)電路的設(shè)計(jì),光電傳感器模塊和電機(jī)驅(qū)動(dòng)電路。第4章為系統(tǒng)的軟件設(shè)計(jì),主要介紹的是軟件實(shí)現(xiàn)過(guò)程的框圖。第5章是對(duì)硬件和軟件的調(diào)試,最終保證了系統(tǒng)的正常運(yùn)行。 二、 智能循跡小車(chē)總體設(shè)計(jì)方案 2.1 整體設(shè)計(jì)方案 本
17、系統(tǒng)采用簡(jiǎn)單明了的設(shè)計(jì)方案。通過(guò)高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成的傳感器循跡模塊判斷黑線路經(jīng),然后由STC89C52通過(guò)IO口控制L298N驅(qū)動(dòng)模塊改變兩個(gè)直流電機(jī)的工作狀態(tài),最后實(shí)現(xiàn)小車(chē)循跡。 2.1.1 系統(tǒng)設(shè)計(jì)步驟 (1)根據(jù)設(shè)計(jì)要求,確定控制方案。 (2)利用Protel 99se設(shè)計(jì)合理的硬件原理圖。 (3)畫(huà)出程序流程圖,使用C語(yǔ)言進(jìn)行編程,運(yùn)用WAVE 6000進(jìn)行模擬調(diào)試。 (4)將各元件焊接在PCB板上,并將程序燒錄到單片機(jī)內(nèi)。 (5)進(jìn)行調(diào)試以實(shí)現(xiàn)控制功能。 2.1.2 系統(tǒng)基本組成 智能循跡小車(chē)主要由STC89C52單片機(jī)電路、TCRT
18、5000循跡模塊、L298N驅(qū)動(dòng)模塊、直流電機(jī)、小車(chē)底板、電源模塊等組成。 H橋 驅(qū)動(dòng)模塊 直流電機(jī) 紅外光電循跡傳感器模塊 電源模塊 單片機(jī) 電路 路 徑 小車(chē) 圖2.1智能循跡小車(chē)控制系統(tǒng)結(jié)構(gòu)框圖 (1)單片機(jī)電路:采用STC89C52芯片作為控制單元。STC89C52單片機(jī)具有低成本、高性能、抗干擾能力強(qiáng)、超低功耗、低電磁干擾,并且與傳統(tǒng)的8051單片機(jī)程序兼容,無(wú)需改變硬件,支持在系統(tǒng)編程技術(shù)。使用ISP可不用編程器直接在PCB板上燒錄程序,修改、調(diào)速都很方便。 (2)TCRT5000循跡模塊:采用脈沖調(diào)制反射式紅
19、外發(fā)射接收器作為循跡傳感器,調(diào)制信號(hào)帶有交流分量,可減少外界的大量干擾。信號(hào)采集部分就相當(dāng)于智能循跡小車(chē)的眼睛,由它完成黑線識(shí)別并生產(chǎn)高、低平信號(hào)傳送到控制單元,然后單片機(jī)生成指令來(lái)控制驅(qū)動(dòng)模塊來(lái)控制兩個(gè)直流電機(jī)的工作狀態(tài),來(lái)完成自動(dòng)循跡。JY043W型光電管和電壓比較器LM393為核心部分,再加上必要的外圍電路。 (3)L298N驅(qū)動(dòng)模塊:采用L298N作為電機(jī)驅(qū)動(dòng)芯片。L298N具有高電壓、大電流、響應(yīng)頻率高的全橋驅(qū)動(dòng)芯片,一片 L298N可以分別控制兩個(gè)直流電機(jī),并且?guī)в锌刂剖鼓芏?。該電機(jī)驅(qū)動(dòng)芯片驅(qū)動(dòng)能力強(qiáng)、操作方便,穩(wěn)定性好,性能優(yōu)良。L298N的使能端可以外接電平控制,也可以利用單
20、片機(jī)進(jìn)行軟件控制,滿足各種復(fù)雜電路的需要。另外,L298N的驅(qū)動(dòng)功率較大,能夠根據(jù)輸入電壓的大小輸出不同的電壓和功率,解決了負(fù)載能力不夠的問(wèn)題。 (4)直流電機(jī):采用雙直流電動(dòng)機(jī)。直流電動(dòng)機(jī)的控制方法比異步電動(dòng)機(jī)簡(jiǎn)單,只需給電機(jī)兩條控制線加上適當(dāng)?shù)碾妷壕湍苁闺姍C(jī)旋轉(zhuǎn),在正常工作電壓范圍,電壓越高直流電機(jī)轉(zhuǎn)速越高。直流電動(dòng)機(jī)調(diào)速方法分為兩種:一種是直接調(diào)整電壓,另一種通過(guò)PWM調(diào)速。PWM調(diào)速就是使加在直流電機(jī)兩端的電壓波形為矩形波,改變矩形波的占空比就能實(shí)現(xiàn)電壓的改變,從而實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的改變。 (5)電源模塊:由三個(gè)串聯(lián)1.5V干電池作為電源。通過(guò)7805穩(wěn)壓芯片穩(wěn)壓,通過(guò)0.1uF和47
21、0μF電容進(jìn)行濾波。 2.2 整體控制方案確定 圖2.2為循跡小車(chē)的系統(tǒng)控制框圖。引導(dǎo)線是小車(chē)跟蹤的目標(biāo),檢測(cè)系統(tǒng)檢測(cè)車(chē)的相對(duì)路徑,然后將此信息輸入到單片機(jī),單片機(jī)處理此信息后,將控制命令輸出到驅(qū)動(dòng)模塊,以控制小車(chē)的直流電機(jī),保證小車(chē)快速平穩(wěn)地沿預(yù)先設(shè)定好的路線行駛。 黑色 引導(dǎo)線 單片機(jī) 光電循跡 傳感器 驅(qū)動(dòng)模塊和直流電機(jī) 圖2.2智能循跡小車(chē)系統(tǒng)控制框圖 采用3個(gè)1.5V的可充電池組作為主電源。STC89C52單片機(jī)作為主控制器。因?yàn)樾≤?chē)電機(jī)內(nèi)部裝有減速齒輪組,所以不需考慮調(diào)速功能,采用電機(jī)驅(qū)動(dòng)芯片L298N控制直流電機(jī),而不使用步進(jìn)電機(jī)
22、。L298N是利用TTL電平進(jìn)行控制,通過(guò)改變芯片控制端的輸入電平,即可以對(duì)電機(jī)進(jìn)行正轉(zhuǎn)、反轉(zhuǎn)和停止操作,亦能滿足直流減速電機(jī)的要求,用該芯片作為電機(jī)驅(qū)動(dòng)具有的操作方便、穩(wěn)定性好等優(yōu)點(diǎn)。用光敏電阻組成光敏探測(cè)器。光敏電阻的阻值可以跟隨周?chē)h(huán)境光線的變化而變化。當(dāng)光線照射到白線上面時(shí),光線發(fā)射強(qiáng)烈,光線照射到黑線上面時(shí),光線發(fā)射較弱。這樣單片機(jī)和循跡傳感器組成了一個(gè)帶有反饋信號(hào)的系統(tǒng)。 三、 系統(tǒng)的硬件設(shè)計(jì) 3.1 單片機(jī)電路的設(shè)計(jì) 一個(gè)單
23、片機(jī)應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)包含兩部分內(nèi)容:一是系統(tǒng)擴(kuò)展,即單片機(jī)內(nèi)部的功能單元,如ROM、RAM、I/O、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)等不能滿足應(yīng)用系統(tǒng)的要求時(shí),必須在片外進(jìn)行擴(kuò)展,選擇適當(dāng)?shù)男酒?,設(shè)計(jì)相應(yīng)的電路;二是系統(tǒng)的配置,即按照系統(tǒng)功能要求配置外圍設(shè)備,如鍵盤(pán)、顯示器、A/D、D/A轉(zhuǎn)換器等。 3.1.1 單片機(jī)的功能特性描述 單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜。單片機(jī)內(nèi)部也有和電腦功能類(lèi)似的模塊,比如CPU,內(nèi)存,并行總線,還有和硬盤(pán)作用相同的存儲(chǔ)器件。 單
24、片機(jī)是一種集成電路芯片,采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。 本課題選擇了STC公司的生產(chǎn)的STC89C52單片機(jī)。STC89C52是一種低功耗、高性能CMOS8位微控制器,是帶8K字節(jié)閃爍可編程可檫除只讀存儲(chǔ)器。一個(gè)芯片上擁有8位CPU,并且在系統(tǒng)可編程Flash。STC89C52提供給為眾多嵌入式控制應(yīng)用系統(tǒng)高靈活、超有效的解決方案。 STC89C52具有以下標(biāo)準(zhǔn)
25、功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門(mén)狗定時(shí)器,內(nèi)置4KB EEPROM,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口。此外,空閑模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 表3.1 STC89C52單片機(jī)和AT89S52單片機(jī)的對(duì)比 STC89C52單片機(jī) AT89S52單片機(jī) 序存儲(chǔ)空間 8K字節(jié) 8K字節(jié) 數(shù)據(jù)存儲(chǔ)空間 512字節(jié) 256字節(jié) EEPROM存儲(chǔ)空間 內(nèi)帶4K字節(jié) 無(wú) 是
26、否可以直接使用串口下載 可以 不可以 3.1.2 晶振電路 在STC89S52單片機(jī)上內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。時(shí)鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。在1和XTAL2引腳上外接定時(shí)元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時(shí)元件通常采用石英晶體和電容組成的并聯(lián)諧振回路。從XTAL1接入,如圖3.2所示。由于外部時(shí)鐘信號(hào)經(jīng)過(guò)二分頻觸發(fā)后作為外部時(shí)鐘電路輸入的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有要求。 本設(shè)計(jì)選用的是12MHZ無(wú)源晶振、2個(gè)22pF電容,使得一個(gè)機(jī)器周期是1μs。晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號(hào),而
27、兩個(gè)電容則是起到并聯(lián)諧振的作用,如果沒(méi)電容,振蕩電路會(huì)因?yàn)闆](méi)有回路而停振,電路不能正常工作。 圖3.2 單片機(jī)晶振電路圖 3.1.3 復(fù)位電路 復(fù)位電路的作用是在上電或復(fù)位過(guò)程中,控制CPU的復(fù)位狀態(tài):這段時(shí)間內(nèi)讓CPU保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止CPU發(fā)出錯(cuò)誤的指令、執(zhí)行錯(cuò)誤操作,也可以提高電磁兼容性能。89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。施密特觸發(fā)電路是一種波形整形電路,當(dāng)任何波形的信號(hào)進(jìn)入電路時(shí),輸出在正、負(fù)飽和之間跳動(dòng),產(chǎn)生方波或脈波輸出。不同于比較器,施密特觸發(fā)電路有兩個(gè)臨界電壓且形成
28、一個(gè)滯后區(qū),可以防止在滯后范圍內(nèi)之噪聲干擾電路的正常工作。如遙控接收線路,傳感器輸入電路都會(huì)用到它整形。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。 本設(shè)計(jì)采用的電容值為10μF的電容和電阻采用1.5KΩ和200Ω的電阻。如圖3.3所示上電后,由于電容充電,使RST持續(xù)一段高電平時(shí)間。當(dāng)單片機(jī)已在運(yùn)行之中時(shí),按下復(fù)位鍵也能使RST持續(xù)一段時(shí)間的高電平,從而實(shí)現(xiàn)上電且開(kāi)關(guān)復(fù)位的操作[6] [7]。 圖3.3 單片機(jī)復(fù)位電路圖 3.2 光電傳感
29、器模塊 循跡光電傳感器原理,就是利用黑線對(duì)紅外線不同的反射能力通過(guò)光敏二極管或光敏三極管,接收反射回的不同光強(qiáng)信號(hào),把不同光強(qiáng)轉(zhuǎn)換為電流信號(hào),最后通過(guò)電阻,轉(zhuǎn)換為單片機(jī)可識(shí)別的高低電平。光電傳感器實(shí)現(xiàn)循跡的基本電路如3.4所示。 圖3.4 循跡傳感器電路圖 循跡傳感器工作原理:TC端是傳感器工作控制端,為高電平時(shí),發(fā)光二極管不工作,傳感器休眠,為低電平時(shí),傳感器啟動(dòng)。Signal端為檢測(cè)信號(hào)輸出,當(dāng)遇到黑線,黑線吸收大量的紅外線,反射的紅外線很弱,光敏三極管不導(dǎo)通,Signal輸出高電平;當(dāng)遇到白線,與黑線相反,反射的紅外線很強(qiáng),使光敏三極管導(dǎo)通,Sign
30、al輸出低電平。 這種探測(cè)方法,即利用紅外線在不同顏色的表面特征,具有不同的反射性能,汽車(chē)行駛過(guò)程中接收地面的紅外光。當(dāng)紅外光遇到白色路線,地板發(fā)生漫反射,安裝在小型車(chē)的反射光接收器接收;如果是遇到黑色路線,紅外光將被黑線吸收,安裝在小車(chē)上的接收管沒(méi)有收到紅外光??刂破鲿?huì)根據(jù)是否收到反射的紅外光為判斷依據(jù)來(lái)確定的黑線的位置和小車(chē)的路線。紅外探測(cè)器距離通常是不應(yīng)超過(guò)15厘米的。紅外發(fā)射和接收紅外線感應(yīng)器,可以使自己或直接使用集成紅外探頭。調(diào)整左右傳感器之間的距離,兩探頭距離約等于黑線寬度最合適,選擇寬度為3 – 5厘米的黑線。該傳感器的靈敏度是可調(diào)的,傳感器有時(shí)遇到黑線卻不能送出相應(yīng)的信號(hào),通
31、過(guò)調(diào)節(jié)傳感器上的可調(diào)電阻,適當(dāng)?shù)脑龃蠡驕p小可改變靈敏度。另外,循跡傳感器的放置也是有講究的,有兩種方法,一種是兩個(gè)都是放置在黑線內(nèi)側(cè)緊貼黑線邊緣,第二種是都放置在黑線的外側(cè),同樣緊貼黑線邊緣。本設(shè)計(jì)采用第二種方法。 單片機(jī)燒錄程序后,就可以執(zhí)行循跡指令了。如果小車(chē)向前行駛時(shí)向左偏離了黑線,那么右邊傳感器會(huì)產(chǎn)生一個(gè)高電平,單片機(jī)判斷這個(gè)信號(hào),然后向右拐回到黑線。兩傳感器輸出信號(hào)為低電平時(shí),小車(chē)前進(jìn)。如果小車(chē)向右偏離黑線,左邊傳感器產(chǎn)生一個(gè)高電平,單片機(jī)判斷這個(gè)信號(hào),然后向左拐。這樣,小車(chē)一定不會(huì)偏離黑線。若兩個(gè)光電傳感器同時(shí)輸出的信號(hào)為高電平,即單片機(jī)判斷的都為高電平時(shí),小車(chē)向前直走。 3.
32、2.1 傳感器分布 傳感器通過(guò)信號(hào)采集,向單片機(jī)提供信息。因此傳感器合理的布局很重要,傳感器布局需要考慮小車(chē)行駛過(guò)程中信息檢測(cè)的準(zhǔn)確度和前瞻性,能使在相同數(shù)量的傳感器下,獲得更多的數(shù)據(jù)。傳感器的布局一般有以下三種:一字型布局,M型布局和活動(dòng)型布局。 一字型布局即所有傳感器在同一直線上。一字型布局分為等距排布型和非等距排布型。等距排布型不利于采集準(zhǔn)確的彎道信息??紤]到弧度信息采集的連貫性,非等距排布采用等角原則,即在垂直平分線上方處某點(diǎn),以等角的引射線與直線的交點(diǎn)就是傳感器的分布點(diǎn),此種方法檢測(cè)連貫簡(jiǎn)單,更容易控制小車(chē)。 M型布局即傳感器的布局成M型,M型布局最適合檢測(cè)多彎道的軌跡。由于傳
33、感器不在同一直線上,故小車(chē)轉(zhuǎn)彎時(shí),左右兩邊后部的傳感器有較大的采樣空間,兩邊前端的傳感器則對(duì)采集的信號(hào)有更好的前瞻性,M型中間底部的傳感器擇更好的確定小車(chē)的位置。整個(gè)布局有利于在彎道處提高小車(chē)速度。但相對(duì)一字型布局,M型布局容易產(chǎn)生不穩(wěn)定信號(hào),從而產(chǎn)生信號(hào)震蕩,影響小車(chē)行駛的穩(wěn)定性。 活動(dòng)型布局采用矩陣模式,將傳感器排布成矩陣形狀,通過(guò)對(duì)不同位置傳感器采集到信息的選擇來(lái)適應(yīng)各種不同的跑道。這樣對(duì)不同路況有更強(qiáng)的適應(yīng)性。 此種方案可調(diào)性大,但此種方法需要較多傳感器,冗余較大,比較笨重,增加小車(chē)的重量,不利于小車(chē)的加減速。 最終決定采用M型布局方法來(lái)對(duì)4個(gè)傳感器進(jìn)行布局,這種布局方法的前瞻性最
34、好。 3.3 電機(jī)驅(qū)動(dòng)電路 本設(shè)計(jì)采用L298N電機(jī)專用驅(qū)動(dòng)芯片帶動(dòng)兩個(gè)12V的直流電動(dòng)機(jī)。 直流電機(jī)由定子和轉(zhuǎn)子兩大部分組成。直流電機(jī)運(yùn)行時(shí)靜止不動(dòng)的部分稱為定子,定子的主要作用是產(chǎn)生磁場(chǎng),由機(jī)座、主磁極、換向極、端蓋、軸承和電刷裝置等組成。運(yùn)行時(shí)轉(zhuǎn)動(dòng)的部分稱為轉(zhuǎn)子,其主要作用是產(chǎn)生電磁轉(zhuǎn)矩和感應(yīng)電動(dòng)勢(shì),是直流電機(jī)進(jìn)行能量轉(zhuǎn)換的樞紐,通常又稱為電樞,由轉(zhuǎn)軸、電樞鐵心、電樞繞組、換向器等組成。 其中L298N是ST公司的產(chǎn)品,比較常見(jiàn)的是15腳Multiwatt封裝的L298N,內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路??梢则?qū)動(dòng)兩個(gè)直流電機(jī)或驅(qū)動(dòng)兩個(gè)二相電機(jī),也可單獨(dú)驅(qū)動(dòng)一個(gè)四相電機(jī),輸出電壓最高
35、可達(dá)50V。直接通過(guò)電源來(lái)調(diào)節(jié)輸出電壓,直接通過(guò)單片機(jī)的IO端口提供信號(hào),使得電路簡(jiǎn)單,使用更方便。L298N可接受標(biāo)準(zhǔn)的TTL邏輯電平信號(hào)VSS,VSS通常接4.5~7V的電壓。4腳VS接電壓源,VS可接電壓范圍VIH為2.5~46V。L298N芯片輸出電流可達(dá)2.5 A,可驅(qū)動(dòng)電感負(fù)載。 L298N是一個(gè)內(nèi)部有兩個(gè)H橋的高電壓大電流全橋式驅(qū)動(dòng)芯片,可以用來(lái)驅(qū)動(dòng)直流電動(dòng)機(jī)、步進(jìn)電動(dòng)機(jī)。使用標(biāo)準(zhǔn)邏輯電平信號(hào)控制,直接連接單片機(jī)管腳,具有兩個(gè)使能控制端,使能端在不受輸入信號(hào)影響的情況下不允許器件工作。L298N有一個(gè)邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作。
36、3.3.1 L298N引腳結(jié)構(gòu) 圖3.5 L298N 驅(qū)動(dòng)芯片 表3.3 L298N引腳編號(hào)與功能 引腳編號(hào) 名稱 功能 1 電流傳感器A 在該引腳和地之間接小阻值電阻可用來(lái)檢測(cè)電流 2 輸出引腳1 內(nèi)置驅(qū)動(dòng)器A的輸出端1,接至電機(jī)A 3 輸出引腳2 內(nèi)置驅(qū)動(dòng)器A的輸出端2,接至電機(jī)A 4 電機(jī)電源端 電機(jī)供電輸入端,電壓可達(dá)46V 5 輸入引腳1 內(nèi)置驅(qū)動(dòng)器A的邏輯控制輸入端1 6 使能端A 內(nèi)置驅(qū)動(dòng)器A的使能端 7 輸入引腳2 內(nèi)置驅(qū)動(dòng)器A的邏輯控制輸入端2 8 邏輯地 邏輯地 9 邏輯電源端 邏輯控制電
37、路的電源輸入端為5V 10 輸入引腳3 內(nèi)置驅(qū)動(dòng)器B的邏輯控制輸入端1 11 使能端B 內(nèi)置驅(qū)動(dòng)器B的使能端 12 輸入引腳4 內(nèi)置驅(qū)動(dòng)器B的邏輯控制輸入端2 13 輸出引腳3 內(nèi)置驅(qū)動(dòng)器B的輸出端1,接至電機(jī)B 14 輸出引腳4 內(nèi)置驅(qū)動(dòng)器B的輸出端2,接至電機(jī)B 15 電流傳感器B 在該引腳和地之間接小阻值電阻可用來(lái)檢測(cè)電流 3.3.2 電機(jī)驅(qū)動(dòng)原理 電路的形狀很像字母H。四個(gè)三極管就是H橋的四條垂直線,而電機(jī)就是H中的橫線。 圖3.6 L298N內(nèi)部H橋驅(qū)動(dòng)電路 圖3.6為一個(gè)典型的直流電機(jī)的控制電路。被命名為“H橋
38、驅(qū)動(dòng)電路”主要是因?yàn)殡娐返男螤詈芟褡帜窰。四個(gè)三極管就是H橋的四條垂直線,而電機(jī)就是H中的橫線。 如圖所示,H橋電機(jī)驅(qū)動(dòng)電路包含四個(gè)三極管和一個(gè)電機(jī)。電機(jī)運(yùn)轉(zhuǎn),必須遵循導(dǎo)通對(duì)角線上的一對(duì)三極管?;诓煌龢O管對(duì)的導(dǎo)通情況可以控制電機(jī)的轉(zhuǎn)向,電流可可以從左至右流過(guò)電機(jī),也可以從右至左流過(guò)電機(jī)。 如圖3.6所示,當(dāng)Q1管和Q4管導(dǎo)通時(shí),電流就從電源正極經(jīng)Q1從左至右流過(guò)電機(jī),然后再經(jīng)Q4回到電源負(fù)極,該流向的電流將驅(qū)動(dòng)電機(jī)順時(shí)針轉(zhuǎn)動(dòng)。 下面分析另一對(duì)三極管Q2和Q3,當(dāng)兩個(gè)三極管同時(shí)導(dǎo)通的情況下,電流將從右至左流過(guò)電機(jī)。從而驅(qū)動(dòng)電機(jī)沿逆時(shí)針?lè)较蜣D(zhuǎn)動(dòng)。 驅(qū)動(dòng)電機(jī)時(shí),保證H橋上兩個(gè)同側(cè)的三極管
39、不會(huì)同時(shí)導(dǎo)通非常重要。如果三極管Q1和Q2同時(shí)導(dǎo)通,那么電流就會(huì)從正極穿過(guò)兩個(gè)三極管直接回到負(fù)極。此時(shí),電路中除了三極管外沒(méi)有其他任何負(fù)載,因此電路上的電流就可能達(dá)到最大值,該電流僅受電源性能限制,可能燒壞三極管?;谏鲜鲈颍趯?shí)際驅(qū)動(dòng)電路中通常要用硬件電路方便地控制三極管的開(kāi)關(guān)。 圖3.7 所示就是基于這種考慮的改進(jìn)電路,它在基本H橋電路的基礎(chǔ)上增加了四個(gè)二極管來(lái)保護(hù)電路。四個(gè)與門(mén)同一個(gè)“使能”導(dǎo)通信號(hào)相接,這樣,用這一個(gè)信號(hào)就能控制整個(gè)電路的開(kāi)關(guān)。 采用以上方法,電機(jī)的運(yùn)轉(zhuǎn)就只需要用三個(gè)信號(hào)控制:兩個(gè)方向信號(hào)和一個(gè)使能信號(hào)。如果DIR-L信號(hào)為“0”,DIR-R信號(hào)為“1”,并且使能
40、信號(hào)是“1”,那么三極管Q1和Q4導(dǎo)通,電流從左至右流經(jīng)電機(jī);如果DIR-L信號(hào)變?yōu)椋骸?”,而DIR-R信號(hào)變?yōu)椤?”,那么Q2和Q3將導(dǎo)通,電流則反向流過(guò)電機(jī)。 圖3.7 L298N驅(qū)動(dòng)芯片和直流電機(jī)接線圖 3.3.3 小車(chē)運(yùn)動(dòng)邏輯 表3.4 小車(chē)運(yùn)動(dòng)邏輯 使能端A 使能端B 左電機(jī) 右電機(jī) 左電機(jī) 運(yùn)行狀態(tài) 右電機(jī) 運(yùn)行狀態(tài) 小車(chē) 運(yùn)行狀態(tài) IN1 IN2 IN3 IN4 1 1 1 0 1 0 正轉(zhuǎn) 正轉(zhuǎn) 前行 1 1 1 0 0 1 正轉(zhuǎn) 反轉(zhuǎn) 右轉(zhuǎn) 1 1 1
41、 0 1 1 正轉(zhuǎn) 停止 以右電機(jī)為中心原地右轉(zhuǎn) 1 1 0 1 1 0 反轉(zhuǎn) 正轉(zhuǎn) 左轉(zhuǎn) 1 1 0 1 0 1 反轉(zhuǎn) 反轉(zhuǎn) 后退 1 1 1 1 1 0 停止 正轉(zhuǎn) 以左電機(jī)為中心原地左轉(zhuǎn) 電機(jī)控制邏輯如下:以電機(jī)A為例,當(dāng)使能端EN A為高電平時(shí),如果輸入引腳IN1為低電平而輸入引腳IN2為高電平,電機(jī)A反轉(zhuǎn);如果輸入引腳IN1為高電平而輸入引腳IN2為低電平,電機(jī)A正轉(zhuǎn)。 四、 系統(tǒng)的軟件設(shè)計(jì) 4.1 軟件設(shè)計(jì)的流程 目前,52系
42、列單片機(jī)使用的編程語(yǔ)言主要有匯編語(yǔ)言和C語(yǔ)言這兩種。 最接近機(jī)器的語(yǔ)言是匯編語(yǔ)言,其常用來(lái)編制與系統(tǒng)硬件相關(guān)的程序,如訪問(wèn)I/O口、中斷處理程序等,它是一種最快而又最有效的語(yǔ)言,在對(duì)于程序的空間和時(shí)間要求很高的場(chǎng)合中 使用匯編語(yǔ)言是最佳的選擇,然而匯編語(yǔ)言也有其自身的缺點(diǎn),比如程序開(kāi)發(fā)周期較長(zhǎng)、浮點(diǎn)運(yùn)算處理復(fù)雜、程序移植性差等不利因素。 在程序設(shè)計(jì)過(guò)程中C語(yǔ)言編程設(shè)計(jì)思想被稱為模塊化程序設(shè)計(jì)思想。有的時(shí)候?yàn)榱擞行У赝瓿扇蝿?wù),把所要完成的任務(wù)分割成若干個(gè)相互獨(dú)立但相互又仍然有所聯(lián)系的模塊,這些模塊使得任務(wù)變得相對(duì)簡(jiǎn)單,對(duì)外的數(shù)據(jù)交換相對(duì)簡(jiǎn)單、容易編寫(xiě)、容易檢測(cè),容易閱讀和維護(hù)。 本設(shè)計(jì)采用
43、C語(yǔ)言來(lái)編譯程序。模塊化結(jié)構(gòu)程序的設(shè)計(jì),可以使系統(tǒng)軟件便于調(diào)試與優(yōu)化,也使其他人更好地理解和閱讀系統(tǒng)的程序設(shè)計(jì)。因此,軟件的設(shè)計(jì)上,運(yùn)用了模塊化程序的結(jié)構(gòu)對(duì)軟件進(jìn)行設(shè)計(jì),使得程序變得更加直觀易懂。程序的主要模塊有:主程序、定時(shí)溢出中斷服務(wù)程序、外部中斷服務(wù)程序。 隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開(kāi)發(fā)MCS-51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境
44、(uVision)將這些部分組合在一起。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的學(xué)者來(lái)說(shuō)是十分必要的,如果使用C語(yǔ)言編程,那么Keil幾乎就是不二之選,即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)事半功倍。 Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)[8]。 4.2 本系統(tǒng)的編譯器 Keil編譯器軟件 Keil
45、C51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)可用于編輯C或匯編源文件。然后分別由C51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件與庫(kù)文件一起經(jīng)LIB51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存貯器如EPROM 中。 打開(kāi)Keil軟件后,出現(xiàn)如圖4.1所示界面。 圖4.1 Keil 軟件主界面 點(diǎn)擊Project--New Project??梢孕陆ㄒ粋€(gè)工程,如圖4.2所示。 圖4.2 Keil軟件新建工程界面 點(diǎn)擊
46、會(huì)出現(xiàn)的對(duì)話框中選擇工程存在路徑(如圖4.3所示),單擊“保存”后,出現(xiàn)界面。在此界面上選擇電路板上所用的單片機(jī)型號(hào)(如圖4.4所示),單擊“確定”。 圖4.3 保存路徑界面 圖4.4 選擇電路板上所用的單片機(jī)型號(hào)界面 設(shè)置完成后,軟件會(huì)提示是否將8051上電初始化程序添加入工程。這個(gè)一般選“否”。這樣就建立好了一個(gè)空的51工程(如圖4.5所示)。 圖4.5 建立空的51工程界面 點(diǎn)擊File--New,便建立了一個(gè)空的文本框
47、(如圖4.6所示)。 圖4.6 建立空文本框界面 到現(xiàn)在為止,就可以開(kāi)始在里面輸入代碼了。保存時(shí)注意:如果是用C語(yǔ)言寫(xiě)的程序,則將文本保存成*.c(如圖4.7所示)。 圖4.7 保存文本改寫(xiě)界面 將寫(xiě)完的程序添加到工程里面,如圖4.8所示,在左邊Project Workspace里的Source Group 1上右擊,選擇Add Files to Group ’Source Group 1’。在打開(kāi)的對(duì)話框中,選擇剛存的文件路徑和對(duì)應(yīng)的擴(kuò)展名。此時(shí),程序就添加進(jìn)了這個(gè)工程。 圖4.8 添加工程界面 下一
48、步,就開(kāi)始編譯剛輸入進(jìn)去的代碼。接著,Keil會(huì)打出下面的提示:0 Error(s), 0 Warning(s).建立工程的時(shí)候,默認(rèn)是不生成HEX文件的,得在編譯做如下設(shè)置:在Project Workspace里Target 1上右擊,選擇“Options for Target ‘Target 1”。出現(xiàn)如圖4.9所示對(duì)話框,選擇“Output”按圖示,將箭頭所指的多選框勾上,點(diǎn)“確定”?,F(xiàn)在再點(diǎn)擊重新編譯,就會(huì)在工程所在文件夾里生成HEX文件[9] [10]。 圖4.9 生成HEX文件界面 軟件設(shè)計(jì)系統(tǒng)主程序流程圖如圖4.10所示
49、。 圖4.10 系統(tǒng)主程序流程圖 五、 系統(tǒng)的總體調(diào)試 5.1 硬件的測(cè)試 按照之前設(shè)計(jì)好的智能循跡小車(chē)原理圖,詳細(xì)計(jì)算系統(tǒng)中各個(gè)元件的參數(shù),選擇相應(yīng)器件,制作實(shí)際電路板。然后選取萬(wàn)用表的200歐姆檔來(lái)測(cè)試電路板。用紅、黑表筆來(lái)測(cè)試電路板上每條走線,如果測(cè)量的電阻值非常小時(shí),證明走線沒(méi)有斷開(kāi),當(dāng)其電阻值很大時(shí),證明該條走線斷了,應(yīng)該重新制作走線,使電路板在電氣上得到正確地連接。 (1)晶振電路的測(cè)試 在單片機(jī)正常運(yùn)行的必要條件是單片機(jī)系統(tǒng)的時(shí)鐘穩(wěn)定正常。實(shí)際中,因?yàn)楦鞣N原因?qū)?/p>
50、致系統(tǒng)時(shí)鐘不正常而出現(xiàn)系統(tǒng)無(wú)法正常運(yùn)行的情況時(shí)有,因此系統(tǒng)時(shí)鐘是否振是通電檢查的首要環(huán)節(jié)。在系統(tǒng)通電的狀況下,用萬(wàn)用表的直流電壓檔(20V),分別測(cè)量XTAL1和XTAL2引腳的電壓,看是否正常,在調(diào)試過(guò)程中,測(cè)得電壓XTAL1引腳應(yīng)為2.05V,XTAT2應(yīng)為2.15V。 (2)復(fù)位電路的測(cè)試 復(fù)位不正常也會(huì)導(dǎo)致系統(tǒng)不能工作。如果復(fù)位引腳始終為高電平,系統(tǒng)將始終處于復(fù)位狀態(tài);如果始終為低電平,不能產(chǎn)生復(fù)位所需的高電平信號(hào)脈沖,則系統(tǒng)也可能無(wú)法正常工作。單片機(jī)正常工作時(shí),RST復(fù)位引腳應(yīng)為0V,按下復(fù)位按鍵時(shí),復(fù)位引腳為高電平5V左右[11]。 5.2 系統(tǒng)的軟件調(diào)試 在軟件調(diào)試中,
51、使用功能強(qiáng)大且的WAVE 6000軟件進(jìn)行軟件編譯與調(diào)試,使用Microcontroller ISP Software及其配套的單片機(jī)對(duì)程序進(jìn)行燒錄。軟件調(diào)試的流程是這樣的:先分別對(duì)主要的功能程序模塊進(jìn)行模擬仿真調(diào)試;然后再將各程序模塊組織起來(lái)進(jìn)行統(tǒng)調(diào)[12]。 軟件的燒錄:第一步:安裝并運(yùn)行Microcontroller ISP Software軟件;第二步:點(diǎn)擊Options欄的select device選項(xiàng);這時(shí)出現(xiàn)一個(gè)對(duì)話窗口,按圖選擇后,點(diǎn)擊OK按鍵,如出現(xiàn)所示窗口,則說(shuō)明電腦與開(kāi)發(fā)板沒(méi)連接好或單片機(jī)沒(méi)插好等,需重裝檢查硬件連接,如果沒(méi)有出現(xiàn)則說(shuō)明初始化成功。 第三步:點(diǎn)擊Fil
52、e欄的Load Buffer選項(xiàng)打開(kāi)已經(jīng)編譯好的HEX文件。點(diǎn)擊載入,出現(xiàn)對(duì)話框點(diǎn)確定,再點(diǎn)擊圖“A”字圖標(biāo),出現(xiàn)對(duì)話框后,按軟件默認(rèn)選項(xiàng),點(diǎn)擊“OK”-“OK”―“OK”燒錄完成;否則重新檢查硬件連接后再重新燒錄。 通過(guò)軟件檢查出程序中出現(xiàn)了許多的問(wèn)題。經(jīng)過(guò)多次的模塊子程序的修改,一步一步的完善程序,來(lái)解決出現(xiàn)的問(wèn)題。在軟件的調(diào)試過(guò)程中主要遇到的問(wèn)題如下: (1) 在測(cè)試中遇到小車(chē)遇到黑線電機(jī)不動(dòng). 解決:首先使用試測(cè)儀對(duì)電路進(jìn)行測(cè)試,觀察是否存在漏焊、虛焊、或電子元件損壞。 (2)輸入程序后,小車(chē)循跡不靈敏,還有就是當(dāng)拐彎度數(shù)過(guò)大,小車(chē)速度過(guò)快的時(shí)候,小車(chē)偶爾偏離軌道。 解決:首
53、先通過(guò)調(diào)節(jié)傳感器上的可調(diào)電阻,適當(dāng)?shù)脑龃蠡驕p小電阻可改變靈敏度??梢越鉀Q循跡不迅速的問(wèn)題。 參考文獻(xiàn) [1] 羅志增,蔣靜坪編著.循跡小車(chē)感覺(jué)與多信息融合[M].北京:機(jī)械工業(yè)出版社,2003:1-10. [2] 蔡自興編著. 中國(guó)的智能循跡小車(chē)研究[J]. 莆田學(xué)院學(xué)報(bào), 2002,9 (3):36-39. [3] 吳林編著. 智能循跡小車(chē)主題型號(hào)工作的回顧[J]. 循跡小車(chē)技術(shù)與應(yīng)用,2001:6-9. [4] 歐青立,何刻忠等編著.室外智能循跡小車(chē)的發(fā)展及其關(guān)鍵技術(shù)研究[J].循跡小車(chē),2000
54、,22(6):519-526 [5] 楊鵑.多信息融合技術(shù)在移動(dòng)循跡小車(chē)避障系統(tǒng)中的應(yīng)用[D]. 哈爾濱:哈爾濱理工大學(xué).2007. [6] 恒盛杰資訊編著.Protel電路板設(shè)計(jì)從入門(mén)到精通. 第1版. 中國(guó)青年出版社.2006:1-148 [7] 江思敏,陳明編著.Protel電路設(shè)計(jì)教程. 第1版. 清華大學(xué)出版社,2006:1-296 [8] 陳曉莉,張俊濤.KEIL C51單片機(jī)仿真器的設(shè)計(jì). 第二版. 陜西科技大學(xué)出版社,2006:19-20. [9] 楊素行編著.模擬電子技術(shù)基礎(chǔ)簡(jiǎn)明教程.第2版.高等教育出版社,2005:532-547 [10] 余孟嘗編著.?dāng)?shù)字電子技術(shù)基礎(chǔ)簡(jiǎn)明教程. 第2版. 高等教育出版社. 1999:1-361 [11] 李全利,遲榮強(qiáng)編著.單片機(jī)原理及接口技術(shù).第1版.高等教育出版社,2004:14-191 [12] 王守中編著.51單片機(jī)開(kāi)發(fā)入門(mén)與典型實(shí)例.第1版. 人民郵電出版社2007:103-108 24
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案