基于電磁傳感器的智能車控制系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:文中介紹一種基于電磁傳感器路徑識(shí)別的智能車控制系統(tǒng),系統(tǒng)采用Freescale16位單片機(jī)MC9S12XS128為核心控制器,利用4個(gè)電磁傳感器構(gòu)成的傳感器陣列采集路面信息,單片機(jī)獲得傳感器采集的路面信息和車速信息后控制智能車的舵機(jī)轉(zhuǎn)向,同時(shí)對(duì)直流電機(jī)進(jìn)行調(diào)速,從而實(shí)現(xiàn)智能車沿給定的賽道快速平穩(wěn)的行駛。實(shí)驗(yàn)證明:系統(tǒng)設(shè)計(jì)可靠,智能車運(yùn)行良好。
關(guān)鍵詞:電磁傳感器;智能車;MC9S12XS128單片機(jī);路徑識(shí)別
智能車輛是一個(gè)集環(huán)境感知、規(guī)劃決策、自動(dòng)駕駛等多種功能于一體的綜合控制系統(tǒng)。“飛思卡爾”杯全國(guó)大學(xué)生智能汽車競(jìng)賽以迅猛發(fā)展的汽車電子為背景,是涵蓋了控制、模式識(shí)別、傳感技術(shù)、電子、電氣、計(jì)算機(jī)、機(jī)械以及車輛工程等多個(gè)學(xué)科交叉的科技創(chuàng)意性比賽。本文以此為背景,基于MC9S12xS128單片機(jī)設(shè)計(jì)了一種智能車系統(tǒng)
1 系統(tǒng)的總體設(shè)計(jì)方案
1.1 系統(tǒng)的總體構(gòu)架
系統(tǒng)的硬件框架如圖1所示。系統(tǒng)以飛思卡爾公司的16位單片機(jī)MC9S12XS128為控制核心,由電源管理模塊、賽道信息采集模塊、車速檢測(cè)模塊、電機(jī)驅(qū)動(dòng)模塊、舵機(jī)控制模塊和調(diào)試模塊組成。單片機(jī)通過(guò)電磁傳感器采集道路信息,根據(jù)算法分析得出此時(shí)的智能車與賽道的偏離狀況,然后再據(jù)此采用一定的控制算法控制智能車的舵機(jī)轉(zhuǎn)向和直流電機(jī)的速度,從而實(shí)現(xiàn)智能車對(duì)路徑的自動(dòng)識(shí)別和尋跡。
1.2 MC9S12XS128芯片介紹
MC9S12XS128單片機(jī)的特點(diǎn)有:采用增強(qiáng)型的16位S12XCPUV2,片內(nèi)總線時(shí)鐘可達(dá)40MHz;具有128 k的Flash,8 k的RAM以及8 k的EEPROM存儲(chǔ)器,具有2個(gè)SCI,1個(gè)SPI,1個(gè)8通道定時(shí)器,2個(gè)8通道可調(diào)轉(zhuǎn)換精度的A/D口,1個(gè)8通道的PWM模塊,91個(gè)離散數(shù)字I/O口,1個(gè)MSCAN模塊。該芯片具有速度快、功能強(qiáng)、成本低、功耗低等特點(diǎn),能夠?qū)崿F(xiàn)控制電機(jī)轉(zhuǎn)速、舵機(jī)響應(yīng)、速度采集、路徑識(shí)別等功能。
2 系統(tǒng)的硬件部分設(shè)計(jì)
2.1 電源管理模塊
電源管理模塊的功能是對(duì)電池進(jìn)行電壓調(diào)節(jié),為各個(gè)模塊正常工作提供可靠的工作電壓。設(shè)計(jì)中除了考慮電壓范圍和電流容量外,還要在電源轉(zhuǎn)化效率、降低噪音、防止干擾等方面進(jìn)行優(yōu)化。本系統(tǒng)小車全部硬件電路的電源采用7.2 V、2000mAh鎳鎘蓄電池提供。由于電路中的不同電路模塊所需要的工作電壓和電流容量各不相同,因此將充電電池電壓轉(zhuǎn)換成3.3 V、5 V和7.2 V三個(gè)檔,各模塊和電源的關(guān)系圖如圖2所示。其中采用LM2596—5.0作為5 V的穩(wěn)壓芯片,采用LM2596—3.3作為3.3V的穩(wěn)壓芯片,電路圖如圖3所示。
2.2 賽道信息采集模塊
賽路信息采集模塊是系統(tǒng)信息輸入的重要來(lái)源,相當(dāng)于智能小車的“眼睛”,主要負(fù)責(zé)將小車當(dāng)前或前面位置的賽道信息輸出給主控芯片處理;本系統(tǒng)使用4個(gè)電磁傳感器采集賽道信息。
2.2.1 元件選擇
電磁傳感器檢測(cè)賽道信息的原理是通過(guò)電感和電容組成的LC諧振電路檢測(cè)賽道的信號(hào),然后將檢測(cè)到的信號(hào)通過(guò)運(yùn)算放大器LM358進(jìn)行放大,由于小車需要識(shí)別的頻率為20 kHz,所以在諧振電路中,選取10mH的細(xì)繞組電感、6.8 nF的低頻瓷介電容。
2.2.2 電磁傳感器的排列方式
電磁傳感器在小車前方一字形均勻布局簡(jiǎn)單排布。這種信息檢測(cè)方法相對(duì)連貫、準(zhǔn)確,使控制程序算法簡(jiǎn)單,小車運(yùn)行穩(wěn)定。傳感器電路圖如圖4所示。
2.2.3 起跑識(shí)別裝置
電磁組起跑線安裝的是永久磁鐵,永久磁鐵的數(shù)據(jù):直徑:7.5-15mm;高度:1-3mm;表面磁場(chǎng)強(qiáng)度:3000-5000Gs。磁場(chǎng)檢測(cè)電路尚不能夠直接用于檢測(cè)起跑線的永磁鐵,所以選擇干簧管檢測(cè)起跑線。當(dāng)干簧管置于磁場(chǎng)中時(shí),兩極吸合,干簧管導(dǎo)通。如果在其兩端加上限流電阻和電極,就可以實(shí)現(xiàn)脈沖輸出到單片機(jī)進(jìn)行中斷控制,在程序中控制小車的延時(shí)、起跑和停止。干簧管電路如圖5所示。
2.3 車速檢測(cè)模塊
本系統(tǒng)選擇日本OMRON公司生產(chǎn)的E6A2CW3C增量式光電編碼器測(cè)速。光電式旋轉(zhuǎn)編碼器由光柵盤和光電檢測(cè)裝置組成。光柵盤與電動(dòng)機(jī)同軸,電動(dòng)機(jī)旋轉(zhuǎn)時(shí),通過(guò)計(jì)算每秒光電編碼器輸出脈沖的個(gè)數(shù)就能反映當(dāng)前電動(dòng)機(jī)的轉(zhuǎn)速。該編碼器提供兩相輸出,體積小,質(zhì)量輕,線數(shù)多,能夠滿足需要。另外,專門選用了齒數(shù)較少的傳動(dòng)齒輪,有利于提高編碼器與電機(jī)的轉(zhuǎn)速比,使相同速度下采到的脈沖數(shù)更多,有效提高了速度反饋的精度。
2.4 電機(jī)驅(qū)動(dòng)模塊
本系統(tǒng)電機(jī)驅(qū)動(dòng)選擇英飛凌公司的BTS7970B驅(qū)動(dòng)芯片,由單片機(jī)的PWM模塊發(fā)出不同占空比的PWM信號(hào)來(lái)控制行進(jìn)電機(jī)的轉(zhuǎn)速。BTS7970B芯片通過(guò)PWM信號(hào)開啟關(guān)閉通道,輸出不同電壓控制行進(jìn)電機(jī)。由于BTS7970B是半橋芯片,驅(qū)動(dòng)電路使用兩片BS7970組成一個(gè)全橋用以驅(qū)動(dòng)電機(jī),驅(qū)動(dòng)電路原理圖如圖6所示。
2.5 舵機(jī)控制模塊
本系統(tǒng)舵機(jī)控制模塊的控制對(duì)象是比賽組委會(huì)提供的S-D5型數(shù)碼舵機(jī),該舵機(jī)可以輸出力矩驅(qū)動(dòng)智能車轉(zhuǎn)向。圖7為舵機(jī)硬件電路,其中控制信號(hào)線與MC9S12XS128的PWM5相連。
2.6 調(diào)試模塊
使用串行口通信是計(jì)算機(jī)與人對(duì)話最傳統(tǒng)、最基本的方法,異步通信(UART)接口也稱為通用異步接收器/發(fā)送器。電路圖如圖8所示。
3 系統(tǒng)的軟件部分設(shè)計(jì)
3.1 軟件流程設(shè)計(jì)
控制系統(tǒng)的軟件設(shè)計(jì)基于Metrowerks Code Warrior5.1編程環(huán)境,使用C語(yǔ)言實(shí)現(xiàn)。圖9為控制系統(tǒng)軟件流程圖。
3.2 賽道識(shí)別算法
智能車工作時(shí)首先通過(guò)4個(gè)“一”字形排列的電磁傳感器陣列檢測(cè)軌跡黑線的當(dāng)前位置,然后根據(jù)檢測(cè)結(jié)果判斷智能車與軌跡偏離的情況。本系統(tǒng)采用模擬檢測(cè)法。具體算法為:首先,將AD值做歸一化處理,即根據(jù)各個(gè)傳感器接收賽道的最高電壓和最低電壓,計(jì)算出各個(gè)傳感器的相對(duì)值,最后來(lái)計(jì)算賽道中心位置。信號(hào)歸一化的方法如下:
求取電壓值最大的傳感器位置,然后和它周圍兩個(gè)傳感器采樣值進(jìn)行加權(quán)計(jì)算即求得小車的偏差。這種算法空間分辨率可以達(dá)到2mm,而且受電流變化的影響比較少,適合小車穩(wěn)定的檢測(cè)要求。
3.3 車體控制算法
車體控制算法是整個(gè)系統(tǒng)的核心,它直接關(guān)系到小車的表現(xiàn)。在經(jīng)過(guò)對(duì)傳感器信息的處理后,利用電磁傳感器采集的路徑形狀信息來(lái)控制轉(zhuǎn)向舵機(jī)和行進(jìn)電機(jī)的輸出量,其中轉(zhuǎn)向舵機(jī)采用PD控制算法,驅(qū)動(dòng)電機(jī)的控制采用PID控制算法。車速采用閉環(huán)控制,由PID控制器調(diào)節(jié),其輸入量為目標(biāo)速度值與當(dāng)前速度值的差值,目標(biāo)速度根據(jù)當(dāng)前的路況信息以及路況更迭信息確定,PID調(diào)節(jié)器的輸出即為與行進(jìn)電機(jī)轉(zhuǎn)速成比例的數(shù)值,經(jīng)處理后,得到與所需速度相對(duì)應(yīng)的PWM脈寬信號(hào)。根據(jù)賽道的不同路況信息,系統(tǒng)采用不同的速度給定值,并且在同一路況下,根據(jù)小車水平偏差量和水平偏差速度對(duì)速度給定值進(jìn)行修正,保證其平穩(wěn)而快速地行駛。
4 結(jié)束語(yǔ)
本文介紹了應(yīng)用Freescale16位單片機(jī)MC9S12XS128實(shí)現(xiàn)自動(dòng)巡線智能車的控制系統(tǒng)設(shè)計(jì)。經(jīng)多次調(diào)試運(yùn)行,該智能車在正確尋跡的前提下,彎道速度可以達(dá)到1.5m/s,而在直道上,智能車的速度可以達(dá)到2m/s,表明系統(tǒng)設(shè)計(jì)可靠,智能車運(yùn)行良好。