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