基于線性CCD圖像識(shí)別智能小車的設(shè)計(jì)與開發(fā)
目前,具有自動(dòng)駕駛功能的智能車越來越引起人們的重視。智能車裝備了各種傳感器來采集路況信息,通過計(jì)算機(jī)的控制可以實(shí)現(xiàn)自適應(yīng)巡航,并且又快又穩(wěn)、安全可靠。智能車不僅能在危險(xiǎn)、有毒、有害的環(huán)境里工作,而且能通過計(jì)算機(jī)的控制實(shí)現(xiàn)安全駕駛,能大幅度降低車禍的發(fā)生率。智能車的設(shè)計(jì)關(guān)鍵是路況信息的采集,傳統(tǒng)的方案多采用紅外光電傳感器,此方案不僅噪聲較大,而且與主控CPU的連接電路復(fù)雜,傳輸速率慢。本文研究的智能小車系統(tǒng)選用了TSL1401CL線性CCD圖像采集模塊,該模塊采用串行通信方式與主控CPU連接,不僅電路簡(jiǎn)單、性能穩(wěn)定,而且采集速率快。通過實(shí)驗(yàn)測(cè)試,本文設(shè)計(jì)的智能車能根據(jù)采集到的圖像分析前方路徑及障礙而實(shí)現(xiàn)智能駕駛,具有極強(qiáng)的實(shí)用價(jià)值和市場(chǎng)前景。
本文引用地址:http://www.ex-cimer.com/article/201710/368423.htm1 系統(tǒng)設(shè)計(jì)思想
經(jīng)過調(diào)研與分析,我們采用了MC9S12XS128單片機(jī)、TSL1401CL線性CCD圖像采集模塊、穩(wěn)壓芯片以及液晶OLED等外圍器件設(shè)計(jì)與開發(fā)出這套智能小車系統(tǒng)。MC9S12XS128高速單片機(jī)為Freescale公司新推出的16位高性能高速單片機(jī),其接口豐富、功耗低、信息處理能力強(qiáng)大,能對(duì)小車前方路徑及障礙進(jìn)行及時(shí)分析,處理迅速、性能穩(wěn)定。為了提高路面圖像采集的速度與質(zhì)量,我們選用了TSL1401CL線性CCD圖像傳感器。TSL1401CL具有功耗小、性能穩(wěn)定、靈敏度高、響應(yīng)速度快等優(yōu)點(diǎn),其工作過程是先將路況光學(xué)信號(hào)轉(zhuǎn)換為模擬電流,模擬電流放大后再進(jìn)行A/D轉(zhuǎn)換變成數(shù)字信號(hào),最后通過串口送至主控CPU。智能小車的CPU根據(jù)CCD采集到的信息進(jìn)行分析和處理,從而實(shí)現(xiàn)系統(tǒng)的自動(dòng)控制與障礙處理、路徑探測(cè)。在軟件設(shè)計(jì)中我們采用了先進(jìn)的PID(比例、積分、微分)算法,其運(yùn)算參數(shù)可以根據(jù)過程的動(dòng)態(tài)特性及時(shí)整定。通過PID算法,模糊PID算法來實(shí)現(xiàn)智能車的轉(zhuǎn)向、控速等精確自動(dòng)控制,另外還有很好的避障功能,實(shí)現(xiàn)了全智能的安全控制。
2 系統(tǒng)硬件設(shè)計(jì)
本項(xiàng)目采用模塊化設(shè)計(jì)與開發(fā),主要有CCD采集模塊、電源模塊、電機(jī)驅(qū)動(dòng)模塊、車速控制模塊和轉(zhuǎn)圖1系統(tǒng)總體設(shè)計(jì)框圖。
2.1 CCD采集模塊
該模塊采用TSL1401CL線性CCD圖像傳感器,其內(nèi)部由一個(gè)128×1的光電二極管陣列、相關(guān)的電荷放大器電路和一個(gè)內(nèi)部的像素?cái)?shù)據(jù)保持功能組成,它提供了同時(shí)集成起始和停止時(shí)間的所有像素。對(duì)于TSL1401CL線性傳感器的驅(qū)動(dòng)與使用,本項(xiàng)目利用MC9S12XS128的PA0和PA1引腳對(duì)其CLK和SI兩個(gè)引腳按特定的時(shí)序發(fā)出方波信號(hào),TSL1401CL的AO引腳就會(huì)依次輸出128個(gè)像素點(diǎn)的模擬信號(hào)給MC9S12XS128,其電路如圖2所示。我們通過測(cè)試發(fā)現(xiàn),該傳感器的輸出信號(hào)和環(huán)境光線密切相關(guān),白天AO輸出值比晚上高很多,對(duì)光和背光相差也很大,白熾光和日光燈光線條件下差異很大。同一鏡頭或信號(hào)放大倍數(shù),必然無法適應(yīng)各種環(huán)境,經(jīng)常會(huì)出現(xiàn)過弱或信號(hào)飽和,對(duì)環(huán)境的適應(yīng)性很弱,對(duì)此可通過軟件使用動(dòng)態(tài)曝光時(shí)間或通過單片機(jī)動(dòng)態(tài)改變運(yùn)放的放大倍數(shù)。
2.2 電源模塊
系統(tǒng)由不同的模塊組成,每個(gè)模塊工作的電壓不同,設(shè)計(jì)時(shí)還要考慮各模塊所需的功率。另外還需設(shè)計(jì)電池檢測(cè)系統(tǒng),以便直觀了解電池的情況。智能車需要的電源要求包括5V、7.2V等。對(duì)于5V供電設(shè)計(jì)我們選擇了LM2940-5,對(duì)比7805,2940的優(yōu)點(diǎn)是低壓差穩(wěn)壓,其穩(wěn)壓差小于500mV,這樣保證電池在低電壓的情況下仍能使單片機(jī)和傳感器正常工作,同時(shí),LM2940的輸出電流可以達(dá)到1A,足夠供應(yīng)放大電路和鍵盤顯示電路的工作。LM2940模塊電路設(shè)計(jì)圖如圖3所示。
2.3 電機(jī)驅(qū)動(dòng)模塊
驅(qū)動(dòng)電路為智能車驅(qū)動(dòng)電機(jī)提供控制和驅(qū)動(dòng),這部分電路的設(shè)計(jì)要求以能夠通過大電流為主要指標(biāo)。驅(qū)動(dòng)電路的基本原理是H橋驅(qū)動(dòng)原理,目前流行的H橋驅(qū)動(dòng)電路有:H橋集成電路,如MC33886;集成半橋電路,如BTS7970以及MOS管搭建的H橋等電路。對(duì)于本系統(tǒng)的設(shè)計(jì),我們選擇了性能較好的BTS7970作為電機(jī)驅(qū)動(dòng)模塊的主芯片,其工作電路圖如圖4所示。
2.4 速度控制模塊
智能車的車速主要采用增量式PID控制和位置式PID控制,將模糊控制與PID控制相結(jié)合,使智能車能夠在賽道上平穩(wěn)快速地行駛。智能小車速度控制系統(tǒng)以XS128單片機(jī)為核心,由單片機(jī)給電機(jī)一個(gè)給定速度即理論速度,建立模糊PID控制器,利用模糊PID控制器來控制電機(jī)的轉(zhuǎn)速,即控制智能小車的實(shí)際速度。再利用光電編碼器來測(cè)量智能小車的實(shí)際車速,并將實(shí)際車速反饋給模糊PID控制器,形成閉環(huán)負(fù)反饋回路。
2. 5 轉(zhuǎn)向控制模塊
智能車的舵機(jī)SD-5采用位置式PD控制,因?yàn)槎鏅C(jī)的控制精度高,不同的PWM占空比對(duì)應(yīng)舵機(jī)的不同轉(zhuǎn)角,所以采用開環(huán)控制。當(dāng)小車位于直道時(shí),將舵機(jī)擺正;當(dāng)小車位于彎道時(shí),彎道的曲率越大則舵機(jī)的轉(zhuǎn)角擺角越大,利用圖像的加權(quán)平均偏差與圖像中心之差作為控制量。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件采用C語言編寫,通過Code Warrior IDE編譯。軟件設(shè)計(jì)的思想是驅(qū)動(dòng)線性CCD光學(xué)器件采集單線圖像信息,通過處理采集到的圖像來判斷小車所處的位置和確定小車行進(jìn)時(shí)前進(jìn)方向上的路線情況,然后將處理后的信息轉(zhuǎn)化成變化的PWM量發(fā)送到舵機(jī)和電機(jī)以及編碼器處理模塊,從而達(dá)到對(duì)小車行走方向及車速的控制。系統(tǒng)流程圖如圖5所示。
4 總結(jié)
對(duì)于本項(xiàng)目智能小車系統(tǒng)的設(shè)計(jì)與開發(fā),我們選用了MC9S12XS128高速單片機(jī)為控制核心,通過A/D轉(zhuǎn)換方法獲取TSL1401CL線性CCD采集信息以及角度測(cè)量信息,運(yùn)用模糊PID算法實(shí)現(xiàn)對(duì)車模直行、轉(zhuǎn)向以及速度控制的方案。其中MC9S12XS128為整個(gè)系統(tǒng)信息處理和控制命令的核心,線性CCD傳感器用來識(shí)別小車的運(yùn)行路徑,采集的信息在單片機(jī)上進(jìn)行實(shí)時(shí)比較,通過PID控制算法來控制小車速度、轉(zhuǎn)向,從而實(shí)現(xiàn)小車的智能自動(dòng)駕駛。本方案的優(yōu)點(diǎn)是電路簡(jiǎn)單、系統(tǒng)性能穩(wěn)定。經(jīng)測(cè)試,本智能小車能在復(fù)雜的路況下實(shí)現(xiàn)智能自動(dòng)駕駛。
評(píng)論