基于MC9S12XS128單片機(jī)的多功能智能小車系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:利用嵌入式技術(shù)和圖像處理技術(shù),設(shè)計(jì)制作了基于MC9S12XS128單片機(jī)的多功能智能小車。智能小車可以在包含岔口的路面進(jìn)行自主擇路行進(jìn)。到達(dá)終點(diǎn)后,在顯示屏上顯示路口選擇方案、行進(jìn)距離、行駛時(shí)間、行進(jìn)速度。該系統(tǒng)通過CMOS攝像頭OV5116檢測路面信息,使用比較器對(duì)圖像進(jìn)行硬件二值化,用于路面識(shí)別,通過光電編碼器檢測智能小車的實(shí)時(shí)速度,使用PID控制算法調(diào)節(jié)驅(qū)動(dòng)電機(jī)的轉(zhuǎn)速和轉(zhuǎn)向舵機(jī)的角度,實(shí)現(xiàn)了對(duì)智能小車運(yùn)動(dòng)速度和運(yùn)動(dòng)方向的閉環(huán)控制。整個(gè)系統(tǒng)的電路結(jié)構(gòu)簡單,成本低廉,可靠性高。經(jīng)實(shí)際測試,智能小車各項(xiàng)指標(biāo)均達(dá)到預(yù)期的設(shè)計(jì)目標(biāo)。
智能汽車是智能系統(tǒng)與汽車工業(yè)相結(jié)合的產(chǎn)物,它是一個(gè)集計(jì)算機(jī)、傳感器、自動(dòng)控制、人工智能等多種高新技術(shù)于一體的綜合系統(tǒng)。它在保證行駛安全、提高駕駛體驗(yàn)、節(jié)能環(huán)保等方面發(fā)揮著越來越重要的作用。作為未來汽車行業(yè)的發(fā)展方向,它的發(fā)展勢必促進(jìn)其他行業(yè)的發(fā)展,并在一定程度上代表了一個(gè)國家在智能控制方面的水平。
智能小車系統(tǒng)在環(huán)境感知、數(shù)據(jù)處理、控制策略及系統(tǒng)搭建上與智能汽車系統(tǒng)有很多相似之處,可以為科考、搶險(xiǎn)救災(zāi)提供安全路徑,未來也可以用在軍事探測、運(yùn)動(dòng)目標(biāo)跟蹤預(yù)警等方面。智能小車系統(tǒng)的研究可以推動(dòng)智能汽車行業(yè)更快更好地發(fā)展。
文中對(duì)智能小車的各個(gè)模塊進(jìn)行了深入的分析,從系統(tǒng)總體概述、硬件設(shè)計(jì)、軟件設(shè)計(jì)等方面介紹了以攝像頭為傳感器的智能小車的設(shè)計(jì)方法:在現(xiàn)有車模的基礎(chǔ)上,通過加裝攝像頭、殖度檢測器,比較器,實(shí)現(xiàn)對(duì)小車速度、位置、運(yùn)行狀況的實(shí)時(shí)測量,并將測量數(shù)據(jù)傳送至單片機(jī)進(jìn)行處理,然后通過單片機(jī)對(duì)小車實(shí)施智能控制,最終實(shí)現(xiàn)了小車的自主行進(jìn)功能。
1 系統(tǒng)的總體概述
智能車系統(tǒng)的總體工作模式為:利用CMOS圖像傳感器拍攝路面圖像,輸出PAL制式的圖像信號(hào),采用LM1881芯片進(jìn)行控制信號(hào)分離,得到行、場同步信號(hào),再依據(jù)給定的閾值,通過比較器進(jìn)行硬件圖像二值化;圖像信號(hào)、場同步信號(hào)、行同步信號(hào)輸入到MC9S12XS128單片機(jī),經(jīng)過算法優(yōu)化處理后獲得主要的路面信息;通過光電編碼器來檢測車速,并利用MC9S12XS128單片機(jī)的計(jì)數(shù)器進(jìn)行脈沖計(jì)算,獲得速度和路程;根據(jù)路面信息、速度信息得到舵機(jī)的轉(zhuǎn)向角和電機(jī)的轉(zhuǎn)速,把決策后得到的控制信號(hào)輸出給舵機(jī)和電機(jī),以控制小車的行進(jìn)。此外,通過LED顯示屏顯示小車的行駛狀態(tài),使用按鍵對(duì)小車的各個(gè)模塊進(jìn)行微調(diào),系統(tǒng)結(jié)構(gòu)如圖1所示。
2 系統(tǒng)的硬件設(shè)計(jì)
智能車以MC9S12XS128處理器為核心,通過CMOS模擬攝像頭OV5116獲取行進(jìn)路徑,對(duì)道路信息進(jìn)行提取,根據(jù)小車的姿態(tài)與道路之間的偏差產(chǎn)生控制量,控制舵機(jī)進(jìn)行轉(zhuǎn)向,編碼器實(shí)時(shí)反饋電機(jī)轉(zhuǎn)速,使速度控制更精確,實(shí)現(xiàn)對(duì)小車更好的控制。本系統(tǒng)的硬件設(shè)計(jì)主要包括以下4個(gè)模塊。
2.1 圖像采集模塊
攝像頭有CCD和CMOS兩種:CCD攝像頭具有對(duì)比度高的優(yōu)點(diǎn),但需要工作在12 V電壓下,為了保證小車的靈活性,小車的電源容量不會(huì)很大,用小型電源為CCD攝像頭供電對(duì)于整個(gè)系統(tǒng)來說過于耗電,并且CCD攝像頭在小車高速移動(dòng)的過程中容易產(chǎn)生模糊和重影,影響圖像質(zhì)量CMOS攝像頭不但體積小,耗電量小,并且在高速運(yùn)動(dòng)下圖像穩(wěn)定,不易產(chǎn)生失真。因此,本系統(tǒng)采用CMOS攝像頭,如圖2所示。OV5116采集到的模擬信號(hào)經(jīng)由LM1881分離出場中斷和行中斷信號(hào),模擬信號(hào)經(jīng)由比較器LM393后得到二值化的路徑信息,芯片陣列大小為352 x 288,有效光敏面為312 x 215像素,電源是6 V(DC)。攝像頭輸出的黑白全電視信號(hào)為PAL制式模擬信號(hào),每秒25幀,電視掃描線為625線,奇場在前,偶場在后。
2.2 速度檢測模塊
為了得到智能車的實(shí)時(shí)速度,采用200線的編碼器對(duì)小車進(jìn)行時(shí)時(shí)測速,編碼器與小車采用齒輪咬合,使速度測量更加精確。
2.3 主板控制模塊
智能車的控制系統(tǒng)電路由三部分組成:MC9S12XS128為核心的最小系統(tǒng)板、LED顯示屏、鍵盤。MC9S12XS128處理器插在系統(tǒng)板上,并在系統(tǒng)板上集成了信號(hào)采集、信號(hào)處理、電機(jī)控制、舵機(jī)控制等單元。為了減小電機(jī)驅(qū)動(dòng)電路帶來的電磁干擾,把主板控制模塊和電機(jī)驅(qū)動(dòng)部分分開來,排布在小車的兩端。主板上連接了本系統(tǒng)的主要電路:電源穩(wěn)壓電路、最小系統(tǒng)板插座、視頻同步分離電路、比較器集成模塊、攝像頭接口、舵機(jī)接口、電機(jī)驅(qū)動(dòng)模塊、編碼器模塊、鍵盤接口、LED顯示屏等,如圖3所示。
2.4 電源驅(qū)動(dòng)模塊
本系統(tǒng)中電源穩(wěn)壓電路有兩路,一路為+5 V穩(wěn)壓電路,另一路為+12 V穩(wěn)壓電路。+5 V給單片機(jī)、攝像頭、LM1881、LED顯示屏模塊供電。+12 V給電機(jī)驅(qū)動(dòng)電路供電。系統(tǒng)中+5 V電路功耗較小,并且都是用于數(shù)字信號(hào)的處理,使用線性穩(wěn)壓器即可。需要特別注意的是,小車加速行進(jìn)時(shí),驅(qū)動(dòng)電機(jī)會(huì)產(chǎn)生非常大的電流,為提高系統(tǒng)工作穩(wěn)定性,必須使用大功率的驅(qū)動(dòng)芯片,并且保證穩(wěn)壓芯片有良好的散熱環(huán)境。
3 系統(tǒng)的軟件設(shè)計(jì)
高效的軟件系統(tǒng)是智能小車的靈魂,是小車快速穩(wěn)定行進(jìn)的保障。本系統(tǒng)采用CMOS攝像頭進(jìn)行路面識(shí)別,圖像采集處理就成了整個(gè)軟件的核心內(nèi)容,圖像采集流程如圖4所示。
3.1 路徑提取及優(yōu)化處理
相比紅外傳感器、電磁傳感器而言,攝像頭傳感器具有視野范圍大的特點(diǎn),并且會(huì)受到雜點(diǎn)、交叉連線、反光以及各種干擾物的影響,因此必須對(duì)得到的圖像進(jìn)行進(jìn)一步的優(yōu)化,排除干擾因素,對(duì)路面進(jìn)行更有效地識(shí)別,提供更準(zhǔn)確的路面信息供單片機(jī)進(jìn)行優(yōu)化決策。在圖像信號(hào)處理中提取的路面信息主要包括:路面中心位置,路面寬度,路面曲率。
經(jīng)過分析和驗(yàn)證后發(fā)現(xiàn),對(duì)于智能車而言,由于行駛路徑具有一定的連續(xù)性,并不需要逐行采集圖像,間隔若干行采集就可較好地獲取路徑信息。那么在圖像采集的同時(shí)就可以進(jìn)行數(shù)據(jù)的處理和優(yōu)化,這種方法的優(yōu)勢在于:把圖像處理嵌入到圖像采集的過程中,有效解決了單片機(jī)處理圖像信號(hào)能力不足的缺陷。
3.2 轉(zhuǎn)向舵機(jī)的PID控制算法
系統(tǒng)通過把測得的路面函數(shù)與已知函數(shù)進(jìn)行對(duì)比,判斷出前方道路的類型。因此根據(jù)黑線位置動(dòng)態(tài)改變PID參數(shù),就得到了較好的控制效果。
為了提高智能小車在直道或者小彎道的前進(jìn)速度,系統(tǒng)采用了與大彎道不同的控制算法:利用圖像中路面兩側(cè)的面積比控制舵機(jī)的轉(zhuǎn)向角。這種算法的優(yōu)勢在于:由于圖像信息是數(shù)字矩陣,單片機(jī)可以非常迅速的完成面積的計(jì)算,利用面積比作為參量控制小車轉(zhuǎn)向角,縮短了數(shù)據(jù)處理時(shí)間,提高了行駛速度。
3.3 驅(qū)動(dòng)電機(jī)的PID控制算法
對(duì)于速度控制,采用了增量式PID控制算法,基本思想是直道加速,彎道減速。經(jīng)過反復(fù)調(diào)試,將每場圖像得到的黑線位置與速度PID參考速度值構(gòu)成二次曲線關(guān)系。在實(shí)際測試中,小車直道和彎道相互過渡時(shí)加減速比較靈敏,與舵機(jī)轉(zhuǎn)向控制配合得較好。
4 系統(tǒng)調(diào)試
作為整個(gè)智能小車系統(tǒng)的核心,圖像采集模塊必須經(jīng)過嚴(yán)格的測試以確保其可靠性。智能小車完成行進(jìn)后,通過串口調(diào)試工具提取出儲(chǔ)存的路面數(shù)字圖像信息,如圖5所示。
此外,攝像頭的安裝位置也直接影響著小車的性能,為了能更好的掌握前方路徑信息,以便讓單片機(jī)提前做好控制量的計(jì)算,應(yīng)盡量讓攝像頭看得更遠(yuǎn)。采用隔行處理數(shù)據(jù)和直道獨(dú)立優(yōu)化的算法極大提高了單片機(jī)的處理能力,每行圖像采集點(diǎn)增加到120個(gè),成功地增大了CMOS攝像頭采集圖像的視野寬度。在綜合考慮了道路反光的影響后,適當(dāng)增加了視場長度(視場最遠(yuǎn)處和最近處的距離),達(dá)到1.40 m,最遠(yuǎn)前瞻達(dá)到1.60 m,足以覆蓋各種路面類型。智能車系統(tǒng)的整體實(shí)現(xiàn)如圖6所示。
5 結(jié)束語
文中介紹了CMOS攝像頭智能小車的總體設(shè)計(jì)方案,從系統(tǒng)的架構(gòu)設(shè)計(jì),硬件設(shè)計(jì),軟件設(shè)計(jì)和系統(tǒng)調(diào)試4個(gè)部分詳細(xì)介紹了智能小車的設(shè)計(jì)方案和一些創(chuàng)新之處。經(jīng)過測試,該系統(tǒng)能夠做到高效、準(zhǔn)確、實(shí)時(shí)地采集圖像,具備良好的抗干擾能力,能夠有效的為小車的決策系統(tǒng)提供較為準(zhǔn)確的輸入,可以在復(fù)雜的路徑上自主、快速行進(jìn)。同時(shí)也為將來的廉價(jià)導(dǎo)航系統(tǒng)提供了軟硬件架構(gòu)的解決方案。
未來,通過研究帶有網(wǎng)絡(luò)聯(lián)接的多傳感器、多處理器的綜合導(dǎo)航系統(tǒng),可以為自動(dòng)駕駛、智能導(dǎo)航、搶險(xiǎn)救災(zāi)提供更加豐富的解決方案,使智能汽車在生活中得到更廣泛的應(yīng)用。