張 慶,孫寶法,張佑生
ZHANG Qing, SUN Bao-fa, ZHANG You-sheng
(安徽三聯(lián)學(xué)院 計算機(jī)科學(xué)與技術(shù)系,合肥 230601)
智能車設(shè)計與“飛思卡爾杯”智能車競賽密不可分?!帮w思卡爾杯”智能車競賽起源于韓國,2000年,在飛思卡爾半導(dǎo)體公司的資助下,韓國漢陽大學(xué)汽車控制實(shí)驗室承辦了首屆韓國大學(xué)生智能車比賽。2006年,清華大學(xué)舉辦了中國首屆大學(xué)生“飛思卡爾杯”智能車邀請賽[1]。
“飛思卡爾杯”智能汽車競賽,要求各個參賽隊在統(tǒng)一的車模平臺上,使用飛思卡爾公司的16位微控制器作為核心控制模塊,自主構(gòu)思控制方案進(jìn)行系統(tǒng)設(shè)計。大賽組委會向各個參賽隊提供一個帶有差速器的后輪驅(qū)動模型車、一個直流電機(jī)和一個充電電池。各個參賽隊制作一個能夠自主識別路徑的智能車,于指定日期、指定地點(diǎn)到各分賽區(qū)參加比賽,在獲得決賽資格后,參加全國決賽。比賽時,參賽隊伍讓智能車在賽道上獨(dú)立行駛。參賽隊伍的成績由兩部分組成,以賽車現(xiàn)場成功跑完賽道全程的時間為主,以技術(shù)報告和制作工藝評分為輔[1]。
智能車的設(shè)計涉及模式識別、傳感技術(shù)、電子、控制、計算機(jī)、機(jī)械和電源等多個學(xué)科,對擴(kuò)大學(xué)生的知識面、培養(yǎng)學(xué)生的知識融合能力和訓(xùn)練學(xué)生的動手能力具有重要的促進(jìn)作用。
智能車硬件系統(tǒng)包括電源管理、路徑識別、車速檢測、控制器、舵機(jī)和電機(jī)等模塊[2]。按照各個模塊的功能,整個小車的硬件系統(tǒng)可以分成四大部分:電源部分、信息采集部分、數(shù)據(jù)處理部分和運(yùn)動控制部分。智能車的硬件系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 智能車的硬件系統(tǒng)結(jié)構(gòu)
中國大學(xué)生“飛思卡爾杯”智能車競賽分成三個組:光電組、電磁組和攝像頭組。其中,光電組的小車用發(fā)射管發(fā)射紅外線或激光,根據(jù)接收管采集到的反射光線,對小車運(yùn)行實(shí)施控制。本文討論的智能車屬于光電組,用激光管采集道路的信息,用單片機(jī)MC9S12XSl28處理采集到的數(shù)據(jù),用轉(zhuǎn)向舵機(jī)和驅(qū)動電機(jī)控制小車的運(yùn)動狀態(tài)。
智能車設(shè)計的完整方案是:用激光發(fā)射管發(fā)射集束光線,用激光采集管采集反射的光線;把采集到的反射光線送到ADC進(jìn)行A/D轉(zhuǎn)換,根據(jù)A/D轉(zhuǎn)換的數(shù)值,判斷智能車與道路的相對位置;對于不同的位置,結(jié)合當(dāng)前的車速,分別用不同的PWM控制舵機(jī)的轉(zhuǎn)向角度和電機(jī)的旋轉(zhuǎn)速度,使小車能夠自主尋跡,快速跑完全程。
整個智能車硬件系統(tǒng)的電力供應(yīng),來自于大賽組委會提供的充電電池。正常情況下,電池的額定輸出電壓為7.2V,電流容量為2000mAh。由于各個模塊對電源的要求不同,特別是對電壓的要求不同,因此,需要采用不同的穩(wěn)壓芯片,從電池中分流出不同電壓的分電源,給不同的模塊供電。智能車的供電系統(tǒng)如圖2所示[2]。
圖2 智能車的供電系統(tǒng)
單片機(jī)MC9S12XS128的工作電壓是5V,要求電源穩(wěn)定,防止電機(jī)工作時產(chǎn)生的干擾。為此,采用穩(wěn)壓芯片LM7805,從7.2V電池上取電,輸出電壓為5V,單獨(dú)為單片機(jī)供電。
用于采集道路信息的激光管、電機(jī)驅(qū)動電路、用于采集小車速度信息的編碼器,工作電壓都是5V,對電源質(zhì)量要求不太高,這里采用穩(wěn)壓芯片LM7805,從7.2V電池上取電,輸出電壓為5V,同時為激光管、電機(jī)驅(qū)動電路、編碼器供電。
舵機(jī)需要較大功率的電力供應(yīng),要求電源低內(nèi)阻、大電流、電壓穩(wěn)定。為此,采用穩(wěn)壓芯片LM7806,從7.2V電池上取電,輸出電壓為6V,單獨(dú)為舵機(jī)供電。
電機(jī)需要大功率的電力供應(yīng),要求電源低內(nèi)阻、大電流、電壓穩(wěn)定。為此,直接從7.2V電池上取電,單獨(dú)為電機(jī)供電。
3.2.1 道路信息采集模塊
本智能車采用激光管陣列來采集道路信息。激光管陣列的特點(diǎn)是價格低廉、電路簡單、設(shè)計方便,缺點(diǎn)是采集的道路信息少、前瞻小、對復(fù)雜道路環(huán)境的判斷能力較弱。
一組激光管傳感器包括若干個激光發(fā)射管和一個激光接收管。本智能車采用的激光傳感器是手創(chuàng)科技公司的SOC2212。激光發(fā)射管波長是650nm,出孔功率是5mw,工作電壓是5VDC,工作電流是40mA。一組激光管的電路原理圖如圖3所示。
在圖3中,位于上部的是調(diào)制管,其引腳1調(diào)制輸出的是發(fā)射管L11的發(fā)射頻率,接收管JP12的接收頻率與L11的發(fā)射頻率相同,接收管采集到的發(fā)射光線首先轉(zhuǎn)化成電壓值,然后,由其引腳2輸出到單片機(jī)進(jìn)行A/D轉(zhuǎn)換。
本智能車共用7組激光管傳感器,采集到的7路反射光線,分別經(jīng)過7只接收管轉(zhuǎn)化成7路電壓值。7只接收管的引腳2按照順序分別連到單片機(jī)的引腳ATD0~ATD6。這樣,7路電壓值就被送到單片機(jī)進(jìn)行A/D轉(zhuǎn)換。
3.2.2 速度信息采集模塊
本智能車采用歐姆龍公司的增量型旋轉(zhuǎn)編碼器E6A2-CS3C采集小車的速度信息。編碼器E6A2-CS3C的優(yōu)點(diǎn)是獲取信息準(zhǔn)確、精度高,缺點(diǎn)是體積大、增加后輪負(fù)載。
圖4 編碼器的安裝
在小車的后部安裝一個支架,把編碼器固定在支架上,編碼器的齒輪與電機(jī)的齒輪嚙合。編碼器的安裝如圖4所示。
編碼器有五根線,棕色線接電源正極,藍(lán)色線接電源負(fù)極,粗的黑色線接地或剪去,橙色線沒有用到,為了防止接錯而燒壞編碼器,應(yīng)該把橙色線剪去,黑色線連接單片機(jī)的引腳PT0[3]。
智能車最重要的部件是中央處理單元,它負(fù)責(zé)對信息采集部分送來的數(shù)據(jù)進(jìn)行處理,并將這些信息轉(zhuǎn)化成轉(zhuǎn)向舵機(jī)和驅(qū)動電機(jī)的控制信號,使小車按照預(yù)定的方案前進(jìn)。因此,要求中央處理單元具有較強(qiáng)的數(shù)據(jù)處理能力。根據(jù)中國大學(xué)生“飛思卡爾杯”智能車競賽的規(guī)則,只能采用飛思卡爾半導(dǎo)體公司的單片機(jī)MC9S12XS128作為智能車的核心控制芯片。六年來,中國幾百所高校數(shù)千支隊伍的智能車設(shè)計實(shí)踐表明,MC9S12XS128完全能夠滿足智能車控制的要求。
如3.2所述,7只光電接收管的引腳2按照順序分別連到單片機(jī)的引腳ATD0~ATD6,7路采樣所得的電壓值送到單片機(jī)進(jìn)行A/D轉(zhuǎn)換,A/D轉(zhuǎn)換后所得的7路數(shù)字,就反映了小車與賽道引導(dǎo)線的相對位置;編碼器黑色線連接單片機(jī)的引腳PT0,統(tǒng)計A相輸出脈沖的個數(shù),獲得電機(jī)的速度。
把光電管經(jīng)A/D轉(zhuǎn)換后的7路數(shù)字,以及編碼器輸出脈沖的數(shù)字,保存在一個數(shù)組里。設(shè)定一組控制規(guī)則,根據(jù)數(shù)組的數(shù)值,對轉(zhuǎn)向舵機(jī)和電機(jī)進(jìn)行控制。
1)舵機(jī)控制
在行駛過程中,小車不斷對路況信息進(jìn)行采樣,通過分析小車與賽道中心線的相對位置,計算小車轉(zhuǎn)彎的方向和角度。舵機(jī)控制程序流程如圖5所示。
圖5 舵機(jī)控制程序流程圖
本智能車采用Futaba公司的舵機(jī)S3010,標(biāo)準(zhǔn)PWM周期為20ms,轉(zhuǎn)動角度最大為45°。在程序設(shè)計上,通過改變占空比PWM來控制舵機(jī)的轉(zhuǎn)角。本車用單片機(jī)的引腳PWM1輸出PWM,對舵機(jī)進(jìn)行控制。
2)電機(jī)驅(qū)動
智能車的動力部分使用小型永磁式直流電機(jī),可用分離元件組成的驅(qū)動器來驅(qū)動,也可用一體化的集成驅(qū)動芯片來驅(qū)動。為了簡化電路板,減輕小車的重量,本智能車采用一體化的專用集成驅(qū)動芯片MC33886。用單片機(jī)的引腳PWM3輸出PWM,對電機(jī)的轉(zhuǎn)速進(jìn)行控制。
智能車系統(tǒng)包括硬件系統(tǒng)和軟件系統(tǒng),本文介紹的是智能車硬件系統(tǒng)的設(shè)計方法。顯然,只有硬件系統(tǒng)而沒有相應(yīng)的軟件系統(tǒng)的小車還算不上智能車,因此,在構(gòu)建了智能車硬件系統(tǒng)之后,接下來就需要構(gòu)建智能車的軟件系統(tǒng),即進(jìn)行程序設(shè)計。限于篇幅,本文不再介紹,將另文闡述。
[1]吳懷宇, 程磊, 章政. 大學(xué)生智能汽車設(shè)計基礎(chǔ)與實(shí)踐[M]. 北京: 電子工業(yè)出版社, 2008.
[2]卓晴, 黃開勝, 邵貝貝. 學(xué)做智能車——挑戰(zhàn)“飛思卡爾”杯[M]. 北京: 北京航空航天大學(xué)出版社, 2007: 87-88.
[3]段穎康. 基于MC9S12XSl28單片機(jī)的智能循跡小車的硬件設(shè)計[J]. 電子元件應(yīng)用, 2010, 12(1): 33-35.