肖玉萌,程登良,楊文俊
(1.湖北汽車工業(yè)學(xué)院 電氣與信息工程學(xué)院,湖北 十堰442002;2.電子科技大學(xué) 電子科學(xué)與工程學(xué)院,四川 成都611731)
智能車競(jìng)賽以單片機(jī)為核心,參賽隊(duì)伍利用標(biāo)準(zhǔn)的車模、電機(jī)等設(shè)計(jì)智能車,使其能夠在賽道上自動(dòng)行駛,速度最快且技術(shù)報(bào)告評(píng)分較高者獲勝[1]。文中設(shè)計(jì)了基于電磁傳感器的三輪小車。賽道中心是帶有20 kHz、100 mA 可變交流電源的載流導(dǎo)線,智能車?yán)秒姶鸥袘?yīng)原理,檢測(cè)其產(chǎn)生的交變磁場(chǎng)進(jìn)行路徑判斷,通過計(jì)算前方導(dǎo)線偏離車體中心的距離來進(jìn)行相應(yīng)的方向控制,進(jìn)而控制小車沿賽道尋線穩(wěn)定行駛[2]。
基于32 位單片機(jī)MPC5604B 搭建了智能車控制系統(tǒng),系統(tǒng)功能框圖如圖1 所示,通過小車前段的3個(gè)匹配電感動(dòng)態(tài)采集路面電磁信號(hào),識(shí)別當(dāng)前小車在賽道中的行駛和姿態(tài)情況,加速度計(jì)、陀螺儀獲取小車姿態(tài)信息,編碼器獲取車速信息,在此基礎(chǔ)上實(shí)現(xiàn)速度和方向控制。
圖1 系統(tǒng)功能框圖
智能車系統(tǒng)總體框圖如圖2所示。MPC5604B是飛思卡爾公司基于PowerPC 架構(gòu)設(shè)計(jì)的汽車級(jí)微控制器[3]。電磁信號(hào)采集模塊通過賽道中的交變磁場(chǎng)信號(hào)獲取賽道信息,與其他傳感器信號(hào)經(jīng)MCU 融合處理,智能決策后發(fā)出PWM 波,經(jīng)電機(jī)驅(qū)動(dòng)電路驅(qū)動(dòng)直流電機(jī)、帶動(dòng)車輪前進(jìn)或差速轉(zhuǎn)向,并結(jié)合車速檢測(cè)等信息實(shí)現(xiàn)閉環(huán)控制。停車檢測(cè)模塊通過傳感器將小車的停車位置信息轉(zhuǎn)換為邏輯電平,輸入單片機(jī)作為停車信號(hào)。電源模塊包括穩(wěn)壓電路、升壓電路,給單片機(jī)及各模塊提供所需要的穩(wěn)定電壓源?;诎踩紤]的保護(hù)電路保障系統(tǒng)的安全可靠運(yùn)行。上位機(jī)通過RS232 模塊與單片機(jī)進(jìn)行數(shù)據(jù)通信,在調(diào)試小車中既可以實(shí)時(shí)跟蹤小車的運(yùn)行狀態(tài),也可以通過上位機(jī)面板操作來控制小車的運(yùn)行狀態(tài)。
圖2 系統(tǒng)總體框圖
電源模塊是整個(gè)控制系統(tǒng)的動(dòng)力來源,電源的穩(wěn)定性直接影響了整個(gè)硬件電路的穩(wěn)定性[4],因此設(shè)計(jì)合適的電源對(duì)于控制系統(tǒng)來說至關(guān)重要。智能車系統(tǒng)由7.2 V、2 000 mAh 的Ni-cd 電池供電,單片機(jī)控制器、電磁信號(hào)采集電路和停車檢測(cè)電路的工作電壓均為5 V,采用LD29150DT50作為穩(wěn)壓芯片,其最大輸出電流為1.5 A,最小漏電壓為400 mV,滿足上述3 個(gè)模塊的需求。OLED 液晶顯示器的工作電壓為3.3 V,選用LM1117作為穩(wěn)壓芯片,其最大輸出電流為800 mA。
電磁信號(hào)采集電路由LC并聯(lián)諧振電路和運(yùn)算放大電路組成。
1)LC并聯(lián)諧振電路 LC并聯(lián)諧振電路如圖3所示。并聯(lián)諧振電感的值為10 mH,并聯(lián)諧振電容的值為6.8 nF。諧振頻率的計(jì)算方法:
圖3 LC并聯(lián)諧振電路
式中:L為諧振電感的電感值;C為并聯(lián)諧振電容的電容值。通過計(jì)算可得fC約為19.3 kHz,諧振電路可以在交變磁場(chǎng)中進(jìn)行周期性震蕩轉(zhuǎn)換,產(chǎn)生感應(yīng)電動(dòng)勢(shì),采集到與信號(hào)源同頻率的信號(hào)。圖4為諧振電路采集信號(hào)的過程,在示波器上可以清楚地看到諧振電路采集到的與信號(hào)源同頻率的信號(hào)。左圖是賽道中的各種雜波信號(hào),右圖是通過諧振電路提取出的19.3 kHz的正弦波信號(hào)。
圖4 諧振電路采集信號(hào)的過程
2)運(yùn)算放大電路 選用2 片低溫漂、寬頻帶、放大性能好的AD8604 集成運(yùn)算放大器,每片AD8604包含4個(gè)運(yùn)算放大器。由于諧振電路所采集到的信號(hào)十分微弱,需要經(jīng)過放大處理之后才能送入單片機(jī)。將并聯(lián)諧振電路采集到的電磁信號(hào),通過CON4 接口送入到同相比例運(yùn)放電路進(jìn)行放大處理。運(yùn)算放大電路見圖5,電壓放大倍數(shù)為
式中:A 為運(yùn)放電路的放大倍數(shù);R7和RV1為反饋電阻,用來調(diào)節(jié)放大倍數(shù)。計(jì)算可得A為11~111。
圖6 電機(jī)驅(qū)動(dòng)電路
圖5 運(yùn)算放大電路
文中采用2 個(gè)電機(jī)進(jìn)行差速控制。電機(jī)選用競(jìng)賽規(guī)定的RS380直流電機(jī),其工作電壓為7.2 V,空載電流小于630 mA,最大功率大于20 W,電機(jī)空載轉(zhuǎn)速為15 000±3000 r·min-1。常見的電路驅(qū)動(dòng)芯片有集成電機(jī)驅(qū)動(dòng)芯片和N 溝道MOSFET 結(jié)合專用柵極驅(qū)動(dòng)芯片??紤]到現(xiàn)有資源和靈活布置的需要,選用N溝道MOSFET結(jié)合HIP4082全橋驅(qū)動(dòng)芯片構(gòu)成的驅(qū)動(dòng)電路,如圖6所示。單側(cè)電機(jī)由1片HIP4082和4片N溝道MOSFET 組成的H橋電路控制。25℃時(shí)MOSFET最大漏源電壓為30 V,最大漏極電流為160 A左右,因漏極電流限制了所能接入電機(jī)的最大電流,所以一般選擇大于電機(jī)堵轉(zhuǎn)時(shí)的電流,否則可能在電機(jī)堵轉(zhuǎn)時(shí)燒毀MOS管。IRLR7843 的最大輸出功率可達(dá)140 W,因此選用IRLR7843場(chǎng)效應(yīng)管可以滿足智能車競(jìng)賽中絕大部分電機(jī)的需要。
停車檢測(cè)電路用于檢測(cè)賽道的終點(diǎn)位置,使小車能在規(guī)定的距離內(nèi)安全停車。紅外光電傳感器的輸出分為數(shù)字式與模擬式[5]。數(shù)字式紅外傳感器硬件電路相比模擬式要簡(jiǎn)單,可以直接與MCU相連接,因此選用數(shù)字式紅外傳感器,紅外停車檢測(cè)電路如圖7所示。當(dāng)小車行駛到斑馬線時(shí),紅外對(duì)管的輸出電壓會(huì)由低向高變化,當(dāng)高于同相輸入端電壓時(shí),電壓比較器的輸出端會(huì)變?yōu)榈碗娖?,觸發(fā)單穩(wěn)觸發(fā)器產(chǎn)生1個(gè)高電平,該高電平被單片機(jī)的I/O口讀取到,隨后小車停車。
圖7 紅外對(duì)光管停車檢測(cè)電路
軟件系統(tǒng)總體流程如圖8 所示。硬件初始化包括底層寄存器的配置、中斷優(yōu)先級(jí)的配置、STM、PIT、eMIOS、IIC、OLED、陀螺儀MPU6050、加速度計(jì)MMA1881、ADC、電機(jī)、普通I/O(LED、獨(dú)立按鍵、蜂鳴器、停車檢測(cè))等初始化。初始化完成后,定時(shí)器中斷使能,開始計(jì)數(shù)。通過獨(dú)立按鍵輸入?yún)?shù),包括目標(biāo)速度、方向環(huán)和速度環(huán)的PID 控制器參數(shù)、藍(lán)牙傳輸參數(shù)等。對(duì)采集到電磁信號(hào)進(jìn)行AD 轉(zhuǎn)換和濾波處理。采集到的AD 值由差比和公式進(jìn)行計(jì)算:
式中:k為比例系數(shù);ER為右邊電感感應(yīng)值;EL為左邊電感感應(yīng)值;S 為路徑偏差值。結(jié)合路徑偏差值、3 個(gè)電感的感應(yīng)電動(dòng)勢(shì)、陀螺儀信息和加速度計(jì)的值計(jì)算當(dāng)前的路況。3 個(gè)電感作為循跡傳感器,分別布置在車前端碳素桿的左、中、右部分用于前瞻。當(dāng)高頻電流通過導(dǎo)線,導(dǎo)線周圍產(chǎn)生電磁場(chǎng)流動(dòng)形成電磁波向外輻射,小車上安裝的接收電感收到的電磁信號(hào)差異可以反映電磁循跡小車偏離路徑的程度,基于這種偏差值來控制車輛的轉(zhuǎn)向。連續(xù)動(dòng)態(tài)的速度和方向閉環(huán)控制能保證電磁循跡小車對(duì)設(shè)定路徑的穩(wěn)定自動(dòng)跟蹤。當(dāng)中間電感強(qiáng)、兩側(cè)電感弱,則表示小車在路中央;當(dāng)左側(cè)電感強(qiáng),右側(cè)電感弱,則表示小車在路左側(cè);當(dāng)右側(cè)電感強(qiáng),左側(cè)電感弱,則表示小車在路右側(cè)。陀螺儀用來檢測(cè)車輛的轉(zhuǎn)向和翻滾,在通過電感值判斷車的位置基礎(chǔ)上判斷車的局部姿態(tài),為車輛的后續(xù)轉(zhuǎn)向策略提供測(cè)量依據(jù)。加速度計(jì)可以測(cè)量小車的瞬時(shí)加速度,并通過當(dāng)前速度準(zhǔn)確預(yù)測(cè)后面的速度變化,提前做好控制對(duì)策,分別對(duì)方向和車速進(jìn)行PID控制。將車速環(huán)和方向環(huán)計(jì)算后的PWM 進(jìn)行疊加,最終輸出2 路PWM 經(jīng)過H 橋驅(qū)動(dòng)直流電機(jī),控制輪子運(yùn)轉(zhuǎn),實(shí)現(xiàn)差速控制。讀取停車檢測(cè)模塊的I/O口電平值,判斷是否停車。
圖8 軟件系統(tǒng)總體流程圖
電機(jī)控制結(jié)構(gòu)原理圖如圖9 所示。小車在發(fā)車前,會(huì)通過薄膜按鍵輸入目標(biāo)速度。發(fā)車后,在直道行駛的過程中,PI 速度控制器會(huì)把小車的車速迅速提高到目標(biāo)速度附近。在小車運(yùn)動(dòng)過程中,編碼器會(huì)測(cè)得小車的左右兩側(cè)輪速,取左右兩側(cè)輪速的平均值為小車當(dāng)前速度。將小車當(dāng)前速度和目標(biāo)速度的偏差送往PI 速度控制器,實(shí)現(xiàn)對(duì)車速的控制。當(dāng)遇到彎道時(shí),利用式(3)得出路徑偏差值,通過PI 方向控制器產(chǎn)生方向值,該值和PD 速度控制器的輸出值進(jìn)行加減運(yùn)算,并分別作用到左、右側(cè)車輪,從而實(shí)現(xiàn)小車的差速控制。
小車速度環(huán)參數(shù)變化如圖10 所示,為避免速度偏差值開始為負(fù)值,對(duì)每秒測(cè)量脈沖數(shù)加1000);響應(yīng)輸出曲線可以看出小車的響應(yīng)速度快、超調(diào)量小、穩(wěn)態(tài)誤差為0附近,控制效果較好。
圖9 電機(jī)控制結(jié)構(gòu)原理圖
圖10 小車速度環(huán)參數(shù)變化圖
1)環(huán)島 環(huán)島賽道如圖11 所示,通過分析可以發(fā)現(xiàn),入環(huán)口處的磁場(chǎng)比較強(qiáng),外環(huán)電感值增大,內(nèi)環(huán)電感值減小,隨著小車駛?cè)氕h(huán)中,2 個(gè)電感的磁感應(yīng)強(qiáng)度先增大后減小。當(dāng)檢測(cè)到入環(huán)口之后,先讓小車行駛一段距離,然后給定1 個(gè)偏差值,讓小車自動(dòng)入環(huán);當(dāng)小車入環(huán)后,提高小車的速度,以節(jié)省時(shí)間,當(dāng)快要出環(huán)的時(shí)候再將目標(biāo)速度降下來;出環(huán)時(shí),外環(huán)偏差減小,內(nèi)環(huán)偏差增大,電感強(qiáng)度先減小后增大,當(dāng)檢測(cè)到出環(huán)口后,擬合一定距離的電感值,讓小車按照制定的路徑運(yùn)行。
圖11 環(huán)島賽道示意圖
圖12 小車過直/彎道時(shí)參數(shù)變化圖
2)長(zhǎng)直角彎 小車經(jīng)過一段長(zhǎng)直道后,將進(jìn)入彎道,此時(shí)小車速度較高,如果直接轉(zhuǎn)向,由于慣性原因,小車很容易被甩出賽道。因此借助小車前瞻進(jìn)行彎道檢測(cè),當(dāng)檢測(cè)到彎道后,立即進(jìn)行減速。當(dāng)彎道過大、車速偏快時(shí)直接給電機(jī)施加反向轉(zhuǎn)速實(shí)現(xiàn)緊急減速,否則降低目標(biāo)速度,通過速度環(huán)自動(dòng)調(diào)節(jié)進(jìn)行平緩減速。結(jié)合當(dāng)前的車速,調(diào)整一組合適的方向環(huán)PI,讓小車平穩(wěn)入彎。圖12 為小車過直/彎道時(shí)參數(shù)變化圖(方向環(huán)),圖中c線表示陀螺儀輸出數(shù)據(jù)值,即路徑偏差變化情況,“0”表示直道無轉(zhuǎn)向。通過計(jì)算可知,初始時(shí)外環(huán)偏差值為4.5 mm,內(nèi)環(huán)偏差值為2 mm。小車基本位于賽道中心,無明顯抖動(dòng)變化,方向控制穩(wěn)定。圖12b 中左段曲線變化表示由直道進(jìn)入彎道情況,中間段曲線變化表示在彎道中的情況,右段曲線變化表示由彎道進(jìn)入直道時(shí)的情況。過程曲線顯示進(jìn)出彎道時(shí)內(nèi)外環(huán)出現(xiàn)明顯的抖動(dòng)變化,而進(jìn)入直道后方向控制平穩(wěn),展現(xiàn)了對(duì)內(nèi)外環(huán)方向偏差的及時(shí)測(cè)量和精確控制。
3)坡道 當(dāng)中間電感感應(yīng)值變小至0~10 mV時(shí),表明前瞻碳素桿上翹遠(yuǎn)離路面,根據(jù)此特征可以檢測(cè)出前方路段是坡道。由于坡道比較陡峭,如果此時(shí)的車速過低,小車不太容易爬上坡。因此,通過增加一定的目標(biāo)速度,讓小車沖上坡道。
4)丟線 在小車運(yùn)行過程中,為了防止小車發(fā)生碰撞或者程序跑飛沖出賽道等意外狀況,避免損壞小車及相關(guān)電路板,需要在程序中設(shè)置丟線程序。當(dāng)3個(gè)電感感應(yīng)值均呈現(xiàn)很小數(shù)值,一般小于10 mv,即成功檢測(cè)到丟線狀態(tài),令小車速度環(huán)和方向環(huán)均為零,使其迅速停止。此時(shí)電機(jī)停止工作,小車也隨即停止運(yùn)行,內(nèi)外環(huán)偏差為零,陀螺儀輸出值為零。
為了驗(yàn)證智能小車在賽道上的運(yùn)行狀況,以圖13 所示的智能小車為測(cè)試對(duì)象,進(jìn)行了機(jī)械性能以及相關(guān)性能的調(diào)試。在調(diào)試過程中,主要測(cè)試并解決了小車過彎時(shí)極易出現(xiàn)的抬輪現(xiàn)象。通過PC端查看輪子速度,發(fā)現(xiàn)小車在過彎時(shí),左右輪子的輸出出現(xiàn)較大波動(dòng)。由于軟件濾波時(shí),會(huì)影響到小車過彎的靈敏度,導(dǎo)致轉(zhuǎn)向疲軟,不能從本質(zhì)上解決問題。因此,在過彎時(shí)將方向環(huán)和速度環(huán)進(jìn)行適當(dāng)?shù)年P(guān)聯(lián),可以減緩小車抬輪現(xiàn)象。圖14 為小車跑道示意圖。圖15為在此跑道上繞行一圈的測(cè)試圖(方向環(huán))。在直道1中,圖中陀螺儀輸出為零表示直線行駛,陀螺儀參數(shù)無變化,根據(jù)外環(huán)路徑偏差和內(nèi)環(huán)偏差變化,可以看出小車在直線賽道上時(shí),無明顯抖動(dòng)變化,方向控制穩(wěn)定。在彎道1時(shí),內(nèi)環(huán)偏差增大,外環(huán)偏差減小,陀螺儀參數(shù)變化逐漸增大。在直道2時(shí)小車直線行駛,陀螺儀參數(shù)無變化,內(nèi)外偏差都無明顯抖動(dòng)變化,方向控制穩(wěn)定。
圖13 智能小車實(shí)物圖
圖14 跑道示意圖
圖15 小車?yán)@行1圈的測(cè)試
方向環(huán)和速度環(huán)分別采用不同的PID控制器,并進(jìn)行融合處理,對(duì)于4種特殊情況提出了不同的解決方案,使小車能適應(yīng)不同的環(huán)境和路況,抗干擾性強(qiáng)。經(jīng)過實(shí)際的測(cè)試,小車可以在賽道上穩(wěn)定、可靠地行駛,循跡效果好。