【摘要】本文是實(shí)現(xiàn)基于MC9S12XS128單片機(jī)智能賽車的設(shè)計(jì),它是一種以規(guī)定的汽車模型為載體,采用16位微控制器XS128為核心控制模塊,通過(guò)自主設(shè)計(jì)電源電路,電機(jī)驅(qū)動(dòng)電路、道路光電傳感器電路,硬件部分合理布局,同時(shí)編寫配套程序,使其能夠自主識(shí)別路徑的模型賽車。
【關(guān)鍵詞】智能車;MC9S12XS128;傳感器;PID控制;直流伺服控制;PWM技術(shù)
1.緒論
MC9S12XS128單片機(jī)智能賽車的設(shè)計(jì),它是以規(guī)定的汽車模型為載體,采用16位微控制器XS128為核心控制模塊,通過(guò)自主設(shè)計(jì)電源電路,電機(jī)驅(qū)動(dòng)電路、道路光電傳感器電路,硬件部分合理布局,同時(shí)編寫配套程序,使其能夠自主識(shí)別路徑的模型車。它能在規(guī)定賽道上,以最短時(shí)間跑完全程,該設(shè)計(jì)主要包括機(jī)械設(shè)計(jì),電路設(shè)計(jì),軟件設(shè)計(jì)三大部分。
1.1 國(guó)外智能車的發(fā)展歷史
伴隨內(nèi)燃機(jī)的誕生,在公路上行駛的汽車,經(jīng)過(guò)一百多年持續(xù)發(fā)展,汽車技術(shù)已經(jīng)有了很大的提高,人們?cè)谙硎芷嚨谋憷褪孢m的同時(shí),也發(fā)現(xiàn)汽車給社會(huì)的進(jìn)步帶來(lái)了許多麻煩,甚至危及到了人們的生命及財(cái)產(chǎn)安全。同時(shí),交通擁擠和環(huán)境污染問(wèn)題也給城市的發(fā)展帶來(lái)了嚴(yán)重后果。因此,迫使我們不斷采用高、新技術(shù)裝備汽車,以提高車輛的安全性、可靠性并迅速解決公路交通的公害問(wèn)題。
未來(lái)汽車概念將發(fā)生根本性的變化。“汽車”將轉(zhuǎn)變?yōu)閹в幸恍┹o助機(jī)械的機(jī)電一體化裝置,汽車不再是個(gè)機(jī)械裝置,它正向大眾消費(fèi)類電子產(chǎn)品轉(zhuǎn)移。智能汽車也就是人們常說(shuō)的無(wú)人駕駛汽車, 它的研制最早目的是為了前線戰(zhàn)爭(zhēng)和后方刑事需要,使它能夠在危害場(chǎng)合代替人執(zhí)行任務(wù),從而減少人員傷亡以及財(cái)產(chǎn)損失?,F(xiàn)在這項(xiàng)智能技術(shù)主要有兩方面的應(yīng)用,首先是應(yīng)用在民用汽車上,使計(jì)算機(jī)代替人成為汽車司機(jī),將人們從大量的駕車時(shí)間中解放出來(lái),并向新能源汽車以及更智能的方向發(fā)展,比如在主動(dòng)安全、駕駛安全和行人安全方面等。其次應(yīng)用還是在軍事方面,通過(guò)使用無(wú)人或遙控智能的武器平臺(tái)來(lái)完成搶險(xiǎn)救災(zāi)、排爆等工作,甚至還包括一些更危險(xiǎn)的軍事環(huán)境。
20世紀(jì)70年代晚期,西方發(fā)達(dá)國(guó)家分別開(kāi)始進(jìn)行無(wú)人駕駛汽車的研制,由于當(dāng)時(shí)技術(shù)的局限和預(yù)期目標(biāo)過(guò)高,舉步維艱,發(fā)展緩慢,到20世紀(jì)90年代初,由于高速公路的出現(xiàn),使的智能汽車在高速公路上的行駛復(fù)雜程度相對(duì)降低,因此各國(guó)都將研究重點(diǎn)轉(zhuǎn)移到高速公路上的民用車輛的輔助駕駛項(xiàng)目上,目前在可行性和實(shí)用化方面都取得了突破性的進(jìn)展。美國(guó)是世界上研究無(wú)人駕駛車輛最早、水平最高的國(guó)家之一。1995年,卡耐基梅隆大學(xué)研制的無(wú)人駕駛汽車Navlab2V,以平均50~60km/h的速度,完成了橫穿美國(guó)東西部的無(wú)人駕駛試驗(yàn)。此外,Google公司正在研發(fā)的自動(dòng)駕駛汽車,已經(jīng)基本具備自動(dòng)操作和行駛能力,在車上裝有激光探測(cè)器、雷達(dá)傳感器和攝像頭等電子設(shè)備,行進(jìn)過(guò)程之只需借助地圖來(lái)導(dǎo)航,并通過(guò)大量的電子傳感裝置來(lái)感知公路的交通標(biāo)志,以及車輛車子周圍的環(huán)境情況。在德國(guó),科研人員推出命名為“德國(guó)制造”的無(wú)人駕駛汽車,你可以用自己的手機(jī)來(lái)打“無(wú)人的士”,駕駛員不需緊握方向盤,腳踩油門和剎車眼睛緊盯前方,甚至可以悠閑的在車內(nèi)上網(wǎng)、看報(bào)和聊天。
1.2 我國(guó)智能車的發(fā)展概況
國(guó)內(nèi)在智能車方面的研究從上世紀(jì)80年代后開(kāi)始進(jìn)行,起步較晚,主要是一些大學(xué)和研究所。清華大學(xué)、國(guó)防科技大學(xué)、上海交通大學(xué)、西安交通大學(xué)、吉林大學(xué)、同濟(jì)大學(xué)等都進(jìn)行無(wú)人駕駛汽車的研究項(xiàng)目。我國(guó)智能車研究同國(guó)外相比還有一些距離,但也是取得了一些可喜的成績(jī),第一輛智能小車于1989年在國(guó)防科技大學(xué)研制成功,它包含了車體結(jié)構(gòu)、配電系統(tǒng)、路徑規(guī)劃及運(yùn)動(dòng)控制系統(tǒng)、視覺(jué)及傳感器系統(tǒng)、計(jì)算機(jī)系統(tǒng)、定位定向系統(tǒng)、自動(dòng)駕駛儀系統(tǒng)、還有無(wú)線電通信系統(tǒng)。我國(guó)第一輛真正意義上的無(wú)人駕駛汽車于1992年在國(guó)防科技大學(xué)研制成功,使用國(guó)產(chǎn)的汽車改造而成,由計(jì)算機(jī)及其配套的液壓控制系統(tǒng)和檢測(cè)傳感器組成的汽車計(jì)算機(jī)自動(dòng)駕駛系統(tǒng),使該車不但能夠用計(jì)算機(jī)控制下,進(jìn)行自動(dòng)駕駛行車,又保持了原有的人工駕駛性能。國(guó)防科技大學(xué)在2000年6月,成功完成了第4代無(wú)人駕駛汽車試驗(yàn),最高速達(dá)76km,在當(dāng)時(shí)創(chuàng)下國(guó)內(nèi)最高紀(jì)錄。最近,中國(guó)第一汽車集團(tuán)公司和國(guó)防科技大學(xué)機(jī)電工程與自動(dòng)化學(xué)院聯(lián)合研發(fā)的紅旗旗艦無(wú)人駕駛轎車,其總體技術(shù)指標(biāo)和性能已經(jīng)接近世界先進(jìn)水平。該車裝備了雷達(dá)、攝像機(jī),可以自己對(duì)道路環(huán)境、障礙物進(jìn)行判斷識(shí)別、自動(dòng)調(diào)整速度實(shí)現(xiàn)自動(dòng)導(dǎo)航。它與GPS導(dǎo)航、電子巡航不同的是,它轉(zhuǎn)彎和遇到復(fù)雜情況也不需要人來(lái)控制,定位更加精確。在正常交通情況下,在高速公路上行駛的最高穩(wěn)定速度為130km/h,最高峰值速度為170km/h。
1.3 “飛思卡爾杯”智能車大賽起源
“飛思卡爾杯”智能車大賽起源于韓國(guó),是在飛思卡爾半導(dǎo)體公司資助下,由韓國(guó)漢陽(yáng)大學(xué)舉辦的大學(xué)生課外科技活動(dòng)。競(jìng)賽方法是;組委會(huì)提供統(tǒng)一的汽車模型,包含可充電式電池和直流電機(jī),參賽隊(duì)伍要制作一個(gè)能夠在專門設(shè)計(jì)的跑道上自主識(shí)別路徑,自動(dòng)識(shí)別道路行駛的智能車,誰(shuí)最快跑完全程而沒(méi)有沖出跑道并且技術(shù)報(bào)告評(píng)分最高,誰(shuí)就是優(yōu)勝者。
該競(jìng)賽融觀賞性,科學(xué)性和趣味性為一體,以迅猛發(fā)展、以前景廣闊的汽車電子為背景,涵蓋電子、計(jì)算機(jī)、傳感技術(shù)、電氣、自動(dòng)控制、模式識(shí)別、機(jī)械與汽車等多學(xué)科專業(yè)的創(chuàng)意性比賽,有利于師生的社會(huì)實(shí)踐及動(dòng)手能力鍛煉和課堂知識(shí)綜合應(yīng)用,并對(duì)對(duì)高校汽車電子學(xué)科學(xué)術(shù)水平及自動(dòng)控制技術(shù)水平的提高,具有長(zhǎng)遠(yuǎn)的促進(jìn)作用。
1.4 我國(guó)“飛思卡爾”杯全國(guó)智能車競(jìng)賽情況
由教育部主辦全國(guó)大學(xué)生“飛思卡爾”杯全國(guó)智能車競(jìng)賽智,該競(jìng)賽是以智能汽車為研究對(duì)象的創(chuàng)意性科技競(jìng)賽,是面向全國(guó)大學(xué)生的一項(xiàng)具有探索性工程實(shí)踐活動(dòng),競(jìng)賽目的是為加強(qiáng)大學(xué)生創(chuàng)新能力、實(shí)踐能力和團(tuán)隊(duì)合作精神的培養(yǎng),促進(jìn)高等教育,教學(xué)改革。
競(jìng)賽過(guò)程包括理論設(shè)計(jì)、實(shí)際制作、整車調(diào)試、現(xiàn)場(chǎng)比賽等主要環(huán)節(jié)。要求學(xué)校組成師生團(tuán)隊(duì),協(xié)同工作,體會(huì)一個(gè)工程性的研究開(kāi)發(fā)項(xiàng)目開(kāi)發(fā)的全過(guò)程。該競(jìng)賽規(guī)則透明,評(píng)分標(biāo)準(zhǔn)客觀,堅(jiān)持了公開(kāi)、公平、公正的比賽原則,力求健康、普及、可持續(xù)發(fā)展。
以飛思卡爾半導(dǎo)體公司為協(xié)辦方的該競(jìng)賽,目前已發(fā)展成全國(guó)各省、市、自治區(qū)近幾百所高校參與的全國(guó)大學(xué)生智能汽車競(jìng)賽。2008年起被教育部批準(zhǔn)列入國(guó)家教學(xué)質(zhì)量與教學(xué)改革工程資助項(xiàng)目中科技人文競(jìng)賽。我國(guó)于2006年8月舉辦了第一屆“飛思卡爾”杯全國(guó)智能車競(jìng)賽,今年智能車大賽已經(jīng)是第八屆,競(jìng)賽是在規(guī)定的模型汽車平臺(tái)上,使用飛思卡爾半導(dǎo)體公司的16位微控制器作為核心控制模塊,通過(guò)增加電機(jī)驅(qū)動(dòng)電路、道路傳感器以及編寫相應(yīng)軟件,在專門設(shè)計(jì)的封閉跑道上設(shè)計(jì)制作一款能夠自主辨識(shí)路線并能夠自主行駛的智能車,以完成時(shí)間最短者為優(yōu)勝。
賽道介紹:
賽道用專用白色基板制作,限定了跑道寬度50cm和拐角最小半徑50cm跑道表面為白色,中間或兩邊有連續(xù)黑線作為引導(dǎo)線,黑線寬25mm。跑道可以交叉,交叉角為90o,賽直線部分可以有坡度15o之內(nèi)的坡面道路,包括上坡與下坡道路。賽道還有一個(gè)長(zhǎng)1m賽道的出發(fā)區(qū),計(jì)時(shí)起始點(diǎn)兩邊分別有一個(gè)長(zhǎng)度10cm黑色計(jì)時(shí)起始線,賽車前端通過(guò)起始線作為比賽計(jì)時(shí)開(kāi)始或者結(jié)束時(shí)刻。當(dāng)然每屆賽道設(shè)計(jì)略有不同,大賽根據(jù)車模檢測(cè)路徑方案不同分為電磁、光電與攝像頭三個(gè)賽題組。
2.系統(tǒng)總體方案設(shè)計(jì)
2.1 系統(tǒng)總體方案的設(shè)計(jì)
該智能汽車選用競(jìng)賽B車車模,參加光電組競(jìng)賽。該車模使用DC 7.2V ND380馬達(dá),轉(zhuǎn)速為5000轉(zhuǎn)/分,其最大功率26.5W,控制系統(tǒng)采用飛思卡爾的16位微控制MC9S12XS128單片機(jī)作為控制單元,負(fù)責(zé)接收賽道采集的數(shù)據(jù)、賽車速度等反饋信息,并對(duì)這些信息進(jìn)行恰當(dāng)?shù)奶幚?,形成合適的控制量來(lái)對(duì)舵機(jī)與驅(qū)動(dòng)電機(jī)進(jìn)行控制。并使用C語(yǔ)言編寫控制程序,通過(guò)組委會(huì)提供的CodeWarrior IDE編譯軟件的在線調(diào)試,自主構(gòu)思設(shè)計(jì)控制方案,包括系統(tǒng)設(shè)計(jì),光電傳感器信號(hào)采集處理、控制算法及執(zhí)行、動(dòng)力電機(jī)驅(qū)動(dòng)、轉(zhuǎn)向舵機(jī)控制等。該賽車設(shè)計(jì)主要包含三大部分,六大模塊。
2.1.1 系統(tǒng)總體結(jié)構(gòu)方框圖設(shè)計(jì)
采用光電傳感器識(shí)別賽道黑線(路徑),賽車的位置信號(hào)由車體前方的光電傳感器采集,經(jīng)XS128 MCU(主控制單元)的I/O口接收后,用于賽車的運(yùn)動(dòng)控制決策,同時(shí)PWM模塊發(fā)出PWM(脈寬調(diào)制調(diào)速)波,驅(qū)動(dòng)直流電機(jī)對(duì)智能汽車進(jìn)行加速、減速、制動(dòng)控制,以及伺服電機(jī)對(duì)賽車進(jìn)行轉(zhuǎn)向控制,達(dá)到小車的智能控制。
2.1.2 XS128 MCU(主控制單元)介紹
MC9S12DG128B單片機(jī)屬于MOTOROLA公司的MC9S12系列之一。它80個(gè)引腳封裝,是以運(yùn)算速度很快的CPU12內(nèi)核為核心的單片機(jī),總線速度可以達(dá)到25MHz,擁有2組各8路10位A/D、16路I/O口,有功能強(qiáng)大的8位PWM輸出共8路,以及8路16位增強(qiáng)型定時(shí)器(ECT)。該設(shè)計(jì)要用4個(gè)單片機(jī)基本功能模塊:時(shí)鐘模塊,PWM輸出模塊、ECT模塊、AD轉(zhuǎn)換模塊。作自動(dòng)控制小車的檢測(cè)、控制、顯示、計(jì)算的核心。
2.1.3 最小系統(tǒng)板的選用
由于單片機(jī)80引腳封裝引腳密度高,引腳間距小,如果使用導(dǎo)線直接連接,就不可避免造成各個(gè)端口之間,信號(hào)相互干擾,搭錫短路,給運(yùn)行、檢測(cè)、維修帶來(lái)困難,為了整個(gè)提高系統(tǒng)的穩(wěn)定性,克服這些缺點(diǎn),S12在設(shè)計(jì)時(shí),直接選用了最小系統(tǒng)母板。
2.2 主控板設(shè)計(jì)
主控板設(shè)計(jì),由于制作PCB印刷版條件限制,只好采用PCB雙面萬(wàn)能實(shí)驗(yàn)板來(lái)制作,這樣性能比較穩(wěn)定,電路設(shè)計(jì)靈活,元件焊接、連線、組裝、方便,PCB板的大小形狀按照賽車位置空間大小制作自由。
3.車模機(jī)械部分調(diào)整及改造
智能車的機(jī)械結(jié)構(gòu)處在一個(gè)完整的智能車系統(tǒng)的最底層,所有的硬件電路,傳感器,執(zhí)行機(jī)構(gòu)等都是架在車體機(jī)械結(jié)構(gòu)上的,可以說(shuō)機(jī)械結(jié)構(gòu)對(duì)車模運(yùn)行性能的影響是極其重要的。一個(gè)好的機(jī)械結(jié)構(gòu)可以使智能車的控制算法部分變的更簡(jiǎn)單。因此,對(duì)可以調(diào)整部分進(jìn)行了必要的的調(diào)整,例如;小車重量輕,重心低,結(jié)構(gòu)穩(wěn)定牢固,舵機(jī)打角犀利,各種齒輪咬合恰到好處,重量在四個(gè)車輪上的分配基本均勻等。
3.1 車模介紹
模型車:
由組委會(huì)統(tǒng)一提供,車架長(zhǎng)28.75cm,寬16.6cm,高7.cm,底盤采用2.5mm厚的玻璃纖維板。全車滾珠軸承。前后輪軸高度可調(diào),雙滾珠差速,使用DC 7.2V ND380馬達(dá),轉(zhuǎn)速為5000轉(zhuǎn)/分,其最大功率可達(dá)26.5W,是一款帶有差速器的后輪驅(qū)動(dòng)模型車。
馬達(dá):DC 7.2V ND380馬達(dá),轉(zhuǎn)速20000r/min,內(nèi)裝散熱風(fēng)扇。
伺服器:S-D5數(shù)碼伺服器,最佳工作電壓6V,帶堵轉(zhuǎn)保護(hù)電路,力矩5.0kg,動(dòng)作速度≤0.14±0.02sec/60。
3.2 車模安裝
車模安裝,嚴(yán)格遵守比賽對(duì)車模所做要求,照著安裝步驟對(duì)車模進(jìn)行細(xì)致安裝,并對(duì)可改造部分做了一些必要的調(diào)整和改裝。
3.3 車身重心調(diào)整
車身重心的前后方向調(diào)整,對(duì)智能車行駛性能有很大的影響。車身重心前移會(huì)增加轉(zhuǎn)向,但會(huì)降低轉(zhuǎn)向的靈敏度,同時(shí)降低后輪 的抓地力;重心后移會(huì)減少轉(zhuǎn)向,但會(huì)增大轉(zhuǎn)向靈敏度,后輪抓地力也會(huì)增加。因而調(diào)整合適的車體重心,讓智能車更加適應(yīng)跑道是很關(guān)鍵的。根據(jù)實(shí)際試車實(shí)踐,將車重心前移,增加轉(zhuǎn)向靈活性。
3.4 齒輪傳動(dòng)機(jī)構(gòu)調(diào)整
齒輪傳動(dòng)機(jī)構(gòu)是決定車模的驅(qū)動(dòng)能力強(qiáng)弱的關(guān)鍵。兩傳動(dòng)齒輪軸保持平行, 齒輪間的配合間隙要合適,過(guò)松會(huì)影響齒輪使用壽命,過(guò)緊又會(huì)增加傳動(dòng)阻力,出現(xiàn)響聲。因此傳動(dòng)部分要安裝的輕松、順暢,容易轉(zhuǎn)動(dòng),不能有卡住或遲滯現(xiàn)象。
3.5 減輕重量得必要性
車模在整個(gè)競(jìng)賽時(shí),加速度將直接決定車模在全程中的平均速度,要想提高車速就必須提高加速度。在硬件系統(tǒng)確定的情況下,欲提高車模的加速度,最直接的辦法就是降低車模的重量。在減輕重量方面的操作原則為在不違反比賽規(guī)則和不影響正常行駛的情況下,減輕所用材料的重量,拆除所有多余零件,如去掉前后的減震器,在電路板的設(shè)計(jì)過(guò)程中,采用最簡(jiǎn)單的電路和最少的元器件。在布局上,使用的雙面緊湊布局的方法,最大限度減小電路板的面積,減輕重量。
3.6 底盤高度的調(diào)整
合理的底盤剛度和底盤高度調(diào)節(jié)會(huì)提高智能汽車的加速性能。智能汽車前后輪軸高度可調(diào),它的的重心應(yīng)該越低越好,在保證激光傳感器前瞻和上下坡的情況下,降低地盤,是實(shí)現(xiàn)重心下降的較為直接的方式。
3.7 防撞系統(tǒng)的安裝
當(dāng)速度過(guò)大時(shí)可能來(lái)不及轉(zhuǎn)彎直接沖出賽道而撞墻,造成賽車損壞,因此在車子的最前端裝了輕質(zhì)防撞板,有效的防止了賽車橦墻損壞,延長(zhǎng)賽車的使用壽命。
3.8 前輪定位
它包含主銷后傾角,主銷內(nèi)傾角,前輪外傾角,前輪前束一般不做大的調(diào)整。
以上所做的這些調(diào)整,都是為使小車重量輕,重心低,結(jié)構(gòu)穩(wěn)定牢固,舵機(jī)打角犀利,各種齒輪咬合恰到好處,重量在四個(gè)車輪上的分配合理,車輪抓地力好,小車開(kāi)動(dòng)起來(lái)時(shí)順滑流暢。
4.硬件電路部分設(shè)計(jì)
硬件電路是智能汽車系統(tǒng)不可或缺的重要組成部分。只有穩(wěn)定的硬件電路才能保證程序的正確控制,是智能車高速運(yùn)動(dòng)的必要條件。
硬件電路的設(shè)計(jì)思想;是在保證正確檢測(cè)信號(hào)的前提下,盡可能精簡(jiǎn)電路。
智能汽車硬件電路設(shè)計(jì)方法;是采用自主設(shè)計(jì),先模塊化后集成,手工組裝,最后統(tǒng)調(diào)的設(shè)計(jì)方法。
4.1 電源管理模塊設(shè)計(jì)
電源模塊為整個(gè)系統(tǒng)工作提供充足的能源,全部硬件電路的電源來(lái)自于組委會(huì)指定的7.2V 2000mAh Ni-cd充電電池。電源模塊的基本要求是;穩(wěn)定的提供多路工作電壓,提供電流足夠大,電源轉(zhuǎn)換效率高,自身功耗要小,噪聲低,抗干擾能力強(qiáng),電路設(shè)計(jì)簡(jiǎn)單,模塊面積小等。因此在設(shè)計(jì)控制系統(tǒng)時(shí)應(yīng)選好合適的電源模塊。
4.1.1 電源管理模塊方框圖設(shè)計(jì)
穩(wěn)壓集成芯片選用;電源模塊設(shè)計(jì)中,有多種穩(wěn)壓集成芯片可直接選用,電路設(shè)計(jì)簡(jiǎn)單,他們克服了分立式電路元件多,焊點(diǎn)多,調(diào)試麻煩的缺點(diǎn)。它的作用將電池電源進(jìn)行轉(zhuǎn)換,輸出不同的電壓,以滿足電路的要求。
采用壓差為0.5V左右,額定電流1A的低壓降大電流的LM2940串聯(lián)穩(wěn)壓芯片一片,分別對(duì)單片機(jī)、傳感器和速度檢測(cè)模塊提供5V直流電源。選用LM2941串聯(lián)可調(diào)穩(wěn)壓芯片一片,對(duì)舵機(jī)獨(dú)立提供6V直流電源。電機(jī)驅(qū)動(dòng)模塊供電則直接取自電池7.2v的直流電源??紤]到由于電機(jī)驅(qū)動(dòng)所引起的電源瞬間不穩(wěn)定,在電源輸入、輸出端,都加入了適量濾波電路。
4.1.2 直流穩(wěn)壓電路設(shè)計(jì)
用LM2940低壓差穩(wěn)壓芯片芯片,封裝形式:TO-220(國(guó)產(chǎn))。輸出電壓5V,輸出電流1A時(shí),壓差0.8V,內(nèi)含靜態(tài)電流降低電路、電流限制、過(guò)熱保護(hù)、電池反接和反出入保護(hù)。用它分別對(duì)單片機(jī)、傳感器和速度檢測(cè)三大模塊提供所需的提供5V直流電源,用LM2941串聯(lián)可調(diào)穩(wěn)壓芯片一片,對(duì)舵機(jī)供電6V左右直流電源。為了防止電機(jī)啟動(dòng)引起電壓波動(dòng)對(duì)模塊工作帶來(lái)影響,穩(wěn)壓電路和總電源都并聯(lián)有適量的濾波電容器。
4.1.2.1 LM2940 5V穩(wěn)壓電路原理圖設(shè)計(jì)(選用LM2940 1片,濾波電容器3個(gè))
LM2940串聯(lián)穩(wěn)壓芯片是塑封立式三腳元件,1腳IN為輸入,2腳GND為公共端,三腳OUT為輸出。電池7.2伏通過(guò)C5濾波輸入到LM2940 1腳IN,2腳GND公共端接地,3腳OUT輸出經(jīng)C6,C7濾波后輸出5V直流電,對(duì)單片機(jī)、傳感器和速度檢測(cè)三大模塊供電。
4.1.2.2 LM2941 6V穩(wěn)壓電路原理圖設(shè)計(jì)(選用LM2941 1片,電容器4個(gè),電位器1個(gè))
LM2941是四腳塑封立式串聯(lián)可調(diào)穩(wěn)壓芯片,1腳ADJ是取樣調(diào)整端,3腳GND是公共端,5腳OUT是輸出端,4腳IN是輸入端。電池7.2伏通過(guò)C1,C2濾波后輸入到LM2941 4腳IN,3腳GND是公共端接地,1腳ADJ通過(guò)電位器R1取樣調(diào)整輸出電壓高低,5腳OUT經(jīng)過(guò)C3,C4濾波輸出6V左右直流電對(duì)舵機(jī)供電。
4.2 電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)
電機(jī)驅(qū)動(dòng)模塊它完成對(duì)模型車上的電機(jī)進(jìn)行驅(qū)動(dòng),控制電機(jī)的速度大小,控制電機(jī)旋轉(zhuǎn)方向。各半導(dǎo)體廠商推出了許多直流電機(jī)控制專用集成電路,無(wú)需驅(qū)動(dòng)便可以與MCU接口,且無(wú)需另外添加電機(jī)電流檢測(cè)電路,外圍器件少,電機(jī)控制簡(jiǎn)單,如飛思卡爾公司的33886芯片。
4.2.1 20腳33886 型芯片引腳圖
飛思卡爾公司的集成H橋33886型20腳封裝芯片性能較為出色,具有過(guò)流、欠壓、過(guò)溫保護(hù)等功能,內(nèi)部MOSFET導(dǎo)通電阻為120毫歐,具有最大5A的連續(xù)工作電流,因此選用它做電機(jī)驅(qū)動(dòng)模塊很理想。
4.2.2 33886 型芯片工作電路原理圖
MC33886橋式驅(qū)動(dòng)電路。MCU產(chǎn)生兩路PWM 波通過(guò)I N1,I N2引腳輸入,以調(diào)節(jié)OUT1 OUT2 的輸出電壓,構(gòu)成OUT1與OUT2之間的電壓差。通過(guò)改變PWM的占空比來(lái)改變電機(jī)的轉(zhuǎn)速的快慢,通過(guò)控制電壓的大小,正負(fù)來(lái)控制電機(jī)的正反轉(zhuǎn),從而進(jìn)行加速,剎車,制動(dòng)控制。通過(guò)控制輸入的信號(hào),可以控制兩個(gè)半橋的通斷來(lái)實(shí)現(xiàn)電機(jī)的順轉(zhuǎn)與倒轉(zhuǎn)。由于在賽車中不需要倒車,為了擴(kuò)大芯片的驅(qū)動(dòng)能力,把兩個(gè)半橋并聯(lián)使用??加龅津?qū)動(dòng)能力,當(dāng)然兩片并聯(lián)使用甚至四片更好。
4.3 舵機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)
舵機(jī)驅(qū)動(dòng)模塊,通過(guò)單片機(jī)MC9S12XS128產(chǎn)生PWM信號(hào)對(duì)模型車上的舵機(jī),單片機(jī)MC9S12XS128中有8路獨(dú)立的PWM輸出端口,可以將其中相鄰的2路PWM輸出級(jí)聯(lián)成一個(gè)16位PWM輸出。改變PWM占空比常數(shù)可以改變輸出脈沖的寬度。而脈沖信號(hào)的寬度決定舵機(jī)輸出舵盤的角度。達(dá)到快速準(zhǔn)確控制賽車方向。
舵機(jī)選用;舵機(jī)選S3010,它集成了直流電機(jī)、電機(jī)控制器和減速器等。并封裝在一個(gè)便于安裝的外殼里的伺服單元。能夠利用簡(jiǎn)單的輸入信號(hào)比較精確的轉(zhuǎn)動(dòng)給定角度的電機(jī)系統(tǒng)。微型伺服電機(jī)有三條控制線:電源線、地線及控制信號(hào)。電源線與地線用于提供內(nèi)部的直流馬達(dá)及控制線路所需的能源。
舵機(jī)的主體結(jié)構(gòu);主要有幾個(gè)部分:外殼、減速齒輪組、電機(jī)、電位器、控制電路。它有堵轉(zhuǎn)保護(hù)功能,舵機(jī)在堵轉(zhuǎn)后3秒后開(kāi)始保護(hù),降低電流,保護(hù)馬達(dá)以及電路板,正常工作電流200mA,堵轉(zhuǎn)電流800mA,頻率是300HZ。
舵機(jī)工作原理;是控制電路接收信號(hào)源的控制信號(hào),并驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng);齒輪組將電機(jī)的速度成大倍數(shù)縮小,并將電機(jī)的輸出扭矩放大響應(yīng)倍數(shù),然后輸出;電位器和齒輪組的末級(jí)一起轉(zhuǎn)動(dòng),測(cè)量舵機(jī)軸轉(zhuǎn)動(dòng)角度;電路板檢測(cè)并根據(jù)電位器判斷舵機(jī)轉(zhuǎn)動(dòng)角度,然后控制舵機(jī)轉(zhuǎn)動(dòng)到目標(biāo)角度或保持在目標(biāo)角度。所加電壓與其反應(yīng)速度,轉(zhuǎn)矩成正比,即電壓越高反應(yīng)越快轉(zhuǎn)矩越大。
4.4 速度檢測(cè)模塊設(shè)計(jì)
速度檢測(cè)模塊由于智能車運(yùn)行過(guò)程中電機(jī)負(fù)載情況時(shí)時(shí)都在改變,開(kāi)環(huán)控制很難達(dá)到快速精確,所以我們需要使用一個(gè)速度測(cè)量裝置來(lái)反饋智能車的實(shí)時(shí)速度,這樣才能對(duì)速度實(shí)現(xiàn)比較準(zhǔn)確的閉環(huán)控制。設(shè)計(jì)選用歐姆龍E6A2-CW5C光電編碼器,對(duì)模型車的速度進(jìn)行檢測(cè),實(shí)現(xiàn)閉環(huán)控制,以便調(diào)整彎道和直道的速度,從而提高平均速度,使小車更快跑完全程。
調(diào)速工作原理;速度調(diào)節(jié)主要通過(guò)改變電樞電壓的大小來(lái)實(shí)現(xiàn)。經(jīng)常采用晶閘管相控整流調(diào)速或大功率晶體管脈寬調(diào)制調(diào)速兩種方法,后者簡(jiǎn)稱PWM,常見(jiàn)于中小功率系統(tǒng),它采用脈沖寬度調(diào)制技術(shù),其工作原理是:通過(guò)改變“接通脈沖”的寬度,使直流電機(jī)電樞上的電壓的“占空比”改變,從而改變電樞電壓的平均值,控制電機(jī)的轉(zhuǎn)速。測(cè)速時(shí),通過(guò)齒輪與后輪驅(qū)動(dòng)咬合,后輪一轉(zhuǎn)動(dòng),ECT模塊就在脈沖累加模式下對(duì)編碼器產(chǎn)生的脈沖進(jìn)行累加,而后在一定時(shí)長(zhǎng)的定時(shí)中斷中將脈沖數(shù)轉(zhuǎn)變?yōu)楹筝喌霓D(zhuǎn)速。
速度檢測(cè)的方法;選用光電編碼器,它每轉(zhuǎn)動(dòng)一圈都會(huì)輸出若干個(gè)脈沖,通過(guò)在單位時(shí)間內(nèi)測(cè)量到的脈沖數(shù),可以得到電機(jī)的轉(zhuǎn)速。
光電編碼器及編碼盤安裝方法;安裝在后輪,且安裝在光碼盤上。同時(shí)安裝時(shí)必須保證速度傳感器能有效的檢測(cè)到不斷跳變的脈沖信號(hào)。
4.5 傳感器模塊設(shè)計(jì)
光電組的小車需要有足夠的前瞻,(所謂“前瞻”,是指前輪兩邊與探測(cè)位置的距離)。才能夠?qū)惖肋M(jìn)行提前判斷,從而便于加減速,提高速度。因此追求傳感器又遠(yuǎn)又穩(wěn)成為傳感器的最基本也是最重要的目標(biāo)選擇了大前瞻的ST118對(duì)管尋跡,ST188是一個(gè)四端口元件,包括了一只紅外發(fā)射管和紅外接收管,用塑料外殼將對(duì)管封裝起來(lái),傳感器是智能汽車的“眼睛”和“耳朵”。通過(guò)一定的前瞻性,提前感知前方的路面信息,為S12做出判斷和決策提供必要的依據(jù)。
4.5.1 光電傳感器檢測(cè)路面信息的原理
光電傳感器檢測(cè)路面信息的原理,它是由發(fā)射管發(fā)射一定波長(zhǎng)的紅外線,經(jīng)地面反射到接收管。由于在黑色和白色上反射系數(shù)不同,在黑色上大部分光線被吸收,而白色上可以反射回大部分光線,所以接收到的反射光強(qiáng)是不一樣,進(jìn)而導(dǎo)致接收管的特性曲線發(fā)生變化程度不同,而從外部觀測(cè)可以近似認(rèn)為接收管兩端輸出電阻不同,進(jìn)而經(jīng)分壓后的電壓就不一樣,就可以將黑白路面區(qū)分開(kāi)來(lái)。激光傳感器與普通的光電傳感器原理都是一樣,但是其前瞻能力遠(yuǎn)大于普通的光電傳感器,可以達(dá)到40-50厘米,對(duì)于智能汽車來(lái)說(shuō)很理想。光電組的傳感器目前已經(jīng)由紅外傳感器升級(jí)至激光傳感器。
4.5.2 單對(duì)紅外傳感器電路圖
當(dāng)小車在白色地面行駛時(shí),裝在車下的紅外發(fā)射管發(fā)射紅外線信號(hào),經(jīng)白色反射后,被接收管接收,一旦接收管接收到信號(hào),那么光敏三極管將導(dǎo)通,比較器輸出為低電平;當(dāng)小車行駛到黑色引導(dǎo)線時(shí),紅外線信號(hào)被黑色吸收后,光敏三極管截止,比較器輸出高電平,從而實(shí)現(xiàn)了通過(guò)紅外線檢測(cè)信號(hào)的功能。將檢測(cè)到的信號(hào)送到單片機(jī)I/O口,當(dāng)I/O口檢測(cè)到的信號(hào)為高電平時(shí),表明紅外光被地上的黑色引導(dǎo)線吸收了,表明對(duì)應(yīng)紅外線傳感器的位置處在黑色的引導(dǎo)線上;同理,當(dāng)I/O口檢測(cè)到的信號(hào)為低電平時(shí),表明小車行駛在白色地面上。
安裝方法;為了檢測(cè)車子行進(jìn)的路徑,因而傳感器必須安裝在車子的最前端。采用6個(gè)激光傳感“一”字排列方式,間距10mm,中間兩個(gè)傳感器間距為,此時(shí)可以有效防止車體的震動(dòng)使得在直道的調(diào)整量更小。
5.智能汽車控制軟件部分設(shè)計(jì)
主程序是一個(gè)大循環(huán)體,循環(huán)中對(duì)車模各部分硬件進(jìn)行有效控制。
5.1 總體流程圖
初始化過(guò)程,系統(tǒng)所有功能的實(shí)現(xiàn)都最終依賴于底層硬件的設(shè)置。通電以后,讓系統(tǒng)做的第一件事情便是 將底層硬件初始化成自己需要的模式。
5.2 軟硬件初始化
軟硬件初始化,此次設(shè)計(jì)總共有I/O端口模塊,PWM模塊,ATD模塊,ECT模塊,時(shí)鐘模塊五個(gè)模塊分別對(duì)選用的模塊進(jìn)行初始化。
5.3 算法設(shè)計(jì)
當(dāng)增加積分時(shí)間常數(shù)Ti的值時(shí),系統(tǒng)超調(diào)量減小,而系統(tǒng)的響應(yīng)速度將變慢。因此,積分環(huán)節(jié)的主要作用是消除系統(tǒng)的穩(wěn)態(tài)誤差,其作用的強(qiáng)弱取決于積分時(shí)間常數(shù)Ti的大小。當(dāng)增加微分時(shí)間常數(shù)Td時(shí),系統(tǒng)的響應(yīng)速度增加,同時(shí)響應(yīng)的幅度也增加。因此,微分環(huán)節(jié)的主要作用是提高系統(tǒng)的響應(yīng)速度。由于該環(huán)節(jié)產(chǎn)生的控制量與信號(hào)變化速率有關(guān),因此對(duì)于信號(hào)無(wú)變化,或者變化緩慢的系統(tǒng)不起作用。
在本項(xiàng)目中智能小車位置信號(hào)為y(t),由傳感器采集得到;小車期望的運(yùn)行位置r(t)為事先設(shè)置好的產(chǎn)量;輸出信號(hào)u(t)即為舵機(jī)控制信號(hào)。
6.系統(tǒng)調(diào)試
在完成軟硬件設(shè)計(jì)后,進(jìn)行系統(tǒng)調(diào)試,以檢查系統(tǒng)的完整性及有效性,調(diào)試順序?yàn)?;?yīng)硬件調(diào)試后軟件調(diào)試。
6.1 硬件調(diào)試
硬件調(diào)試步驟為:機(jī)械調(diào)試——電路調(diào)試——通調(diào)。
先對(duì)電機(jī)驅(qū)動(dòng)電路,速度檢測(cè)電路進(jìn)行調(diào)試;再對(duì)傳感器調(diào)試,舵機(jī)進(jìn)行調(diào)試;然后對(duì)直流電機(jī)進(jìn)行調(diào)試。
傳感器調(diào)試分為機(jī)械調(diào)試和電路調(diào)試,機(jī)械調(diào)試的目的,是讓6個(gè)傳感器和賽道保持合適距離、高度、和角度;電路調(diào)試的目的是使各個(gè)傳感器的電壓輸出值均保持在一定值附近,其操作過(guò)程是將傳感器電路放于白紙上一定高度處,調(diào)節(jié)電位器使傳感器的電壓輸出為一定值左右。單步執(zhí)行程序,觀察各個(gè)寄存器、變量、數(shù)組的變化是否正確。
舵機(jī)進(jìn)行調(diào)試;可以先不使用直流電機(jī),將小車放于白紙上,用25MM黑線在傳感器下移動(dòng),看舵機(jī)的轉(zhuǎn)向與設(shè)置是否一致,然后在跑道上,用手推小車,讓車經(jīng)過(guò)符合比賽規(guī)則中要求的不同曲率半徑的軌跡。對(duì)于不同的傳感器會(huì)檢測(cè)到不同的信號(hào)。記下針對(duì)不同傳感器對(duì)不同方向檢測(cè)到信號(hào)的情況,讓其中較為理想的舵機(jī)轉(zhuǎn)角,作為一組經(jīng)驗(yàn)值,待軟件設(shè)計(jì)時(shí)使用。
對(duì)直流電機(jī)進(jìn)行調(diào)試;將電機(jī)接入電路,在白紙上稍微將后輪懸空,用黑線在下面移動(dòng),用示波器觀測(cè)電機(jī)兩端的PWM信號(hào)是否按要求改變,確定無(wú)誤后可以拿到跑道上進(jìn)行試車。讓小車在一段直道行駛后,然后進(jìn)入一曲率半徑為最大值的曲線。反復(fù)試驗(yàn),就可得出小車不駛出軌道的最大占空比。
最后對(duì)對(duì)整車進(jìn)行通調(diào);讓車以某一較低的速度行駛,通過(guò)彎道時(shí)保證有合適的舵機(jī)轉(zhuǎn)角,在舵機(jī)轉(zhuǎn)角調(diào)試過(guò)程中得到的經(jīng)驗(yàn)值的基礎(chǔ)上進(jìn)行修改。利用軟件對(duì)參數(shù)進(jìn)行修改,提高小車直流電機(jī)的轉(zhuǎn)速和修改舵機(jī)轉(zhuǎn)角。如此反復(fù)進(jìn)行,直到得到較為合適的經(jīng)驗(yàn)值。先讓小車行駛穩(wěn)定,在此基礎(chǔ)上逐步提高小車速度。
排查故障的技巧方法為:
首先確定故障的線范圍,抓住主要線索,一查到底;并且線索不能中斷,中斷了便不能深入下去。
在排除故障時(shí),還應(yīng)遵循“由表及里”、“先易后難”、“先電源后負(fù)載”、“先靜態(tài)后動(dòng)態(tài)”的原則。
首先利用人體的感覺(jué)器官直觀判斷;“看”:眼睛看元件有無(wú)明顯的機(jī)械損壞,如破裂、燒黑、變形等;耳朵“聽(tīng)”:聽(tīng)工作聲音是否正常,是否存在異響。 鼻子“聞”:檢查是否有異味,如是否存在燒焦的氣味、電容電解液的味道等。 手“摸”:用手試探器件的溫度是否正常,如器件太熱或太涼。一些功率器件,工作起來(lái)會(huì)發(fā)熱,若手摸上去為涼的感覺(jué),基本可以判定該器件沒(méi)有工作。
電路檢查,調(diào)試的方法:利用儀器、儀表對(duì)電路進(jìn)行開(kāi)路和在路測(cè)試,使用下列方法;
波型分析法;電壓測(cè)量法;電流測(cè)量法;電阻測(cè)量法;信號(hào)注入法。詳細(xì)檢查找出故障元器件,分析原因,修復(fù)電路。在反復(fù)試車過(guò)程中得到的經(jīng)驗(yàn)值的基礎(chǔ)上利用軟件對(duì)參數(shù)進(jìn)行修改,如此反復(fù)進(jìn)行,先讓小車行駛穩(wěn)定,在此基礎(chǔ)上逐步提高小車速度。
6.2 軟件調(diào)試
軟件設(shè)計(jì)中,要用到ECT模塊、ATD模塊、PWM模塊、電源模塊等。要先對(duì)各個(gè)模塊分別進(jìn)行調(diào)試,并編寫各部分的子程序。根據(jù)系統(tǒng)電路板的資源,本設(shè)計(jì)方案中,使用PAD03-PAD15對(duì)傳感器采樣,PWM2和PWM3口級(jí)聯(lián)后控制直流電機(jī)正轉(zhuǎn),PWM6和PWM7級(jí)聯(lián)后控制直流電機(jī)正轉(zhuǎn),PWM0和PWM1級(jí)聯(lián)后控制舵機(jī)轉(zhuǎn)角。調(diào)試ATD模塊時(shí),先使用BDM模塊將子程序下載到芯片內(nèi),然后分別在ATD入端利用穩(wěn)壓源產(chǎn)生0-+5V的電壓,觀察CodeWarrior的Memory窗口中各個(gè)輸入的電壓值在誤差允許范圍內(nèi)相等,說(shuō)明該子程序正確。
調(diào)試ECT模塊時(shí),可以通過(guò)系統(tǒng)電路板上PT0口外接不同頻率的固定脈沖信號(hào),利用軟件產(chǎn)生一定時(shí)間,在該時(shí)間段內(nèi)讀取脈沖數(shù),將PT0口在該段時(shí)間內(nèi)讀取的脈沖數(shù)送到B口顯示,通過(guò)讀取B口顯示的狀態(tài),來(lái)檢測(cè)定時(shí)器和脈沖累加器的設(shè)置是否正確。
為檢驗(yàn)PWM模塊子程序,可以編寫輸出一定占空比的PWM波形子程序,從PWM端口接入示波器,通過(guò)示波器觀察輸出波形是否與設(shè)定值相同,若相同則程序正確。
在每一部分子程序調(diào)試通過(guò)后,結(jié)合外圍電路對(duì)所有子程序進(jìn)行整合,根據(jù)小車工作原理,編寫出完整的。在CodeWarrior界面完成程序編譯后,通過(guò)BDM工具,將程序下載到MC9S12DG128微處理器中,然后進(jìn)行小車的調(diào)試。