基于MC9S12DG128單片機(jī)的智能車控制系統(tǒng)設(shè)計(jì)
本方案采用了兩片MC33886并聯(lián),直流電機(jī)驅(qū)動(dòng)模塊的電路原理圖如圖4所示。
2.3 傳感器電路設(shè)計(jì)
本智能車采用CMOS攝像頭作為圖像傳感器,以保證賽道信息采集的準(zhǔn)確有效。CMOS攝像頭的輸出信號(hào)是PAL制式的復(fù)合全電視信號(hào),每秒輸出50幀(分為偶場(chǎng)和奇場(chǎng))。
2.4 無(wú)線數(shù)據(jù)傳輸模塊設(shè)計(jì)
該智能車加裝了基于射頻收發(fā)芯片nRF403的無(wú)線數(shù)據(jù)傳輸模塊,并可在此基礎(chǔ)上實(shí)現(xiàn)MOD-BUS通信協(xié)議,這對(duì)測(cè)試智能車參數(shù)及程序調(diào)試很有幫助。在運(yùn)行的過(guò)程中,可以將智能車的各項(xiàng)參數(shù)實(shí)時(shí)發(fā)送上來(lái),而分析智能車的運(yùn)行狀態(tài)可以更有針對(duì)性地對(duì)控制程序進(jìn)行改進(jìn)。
3 軟件設(shè)計(jì)
本智能車控制系統(tǒng)的程序結(jié)構(gòu)如圖5所示。這是一個(gè)兩層的分級(jí)控制系統(tǒng)。底層控制包括“轉(zhuǎn)向控制系統(tǒng)”和“車速控制系統(tǒng)”,上層主控程序則可通過(guò)改變底層控制系統(tǒng)的設(shè)定值、控制參數(shù)和約束條件,來(lái)對(duì)整個(gè)控制系統(tǒng)進(jìn)行調(diào)度。設(shè)計(jì)這種分層結(jié)構(gòu)的控制系統(tǒng)是參照了集散控制系統(tǒng)DCS的結(jié)構(gòu)特點(diǎn),程序各部分功能明確、結(jié)構(gòu)清晰,便于調(diào)試和維護(hù)。
本系統(tǒng)軟件所實(shí)現(xiàn)的功能主要是初始化、數(shù)據(jù)采集和濾波處理、道路識(shí)別、電機(jī)控制和舵機(jī)控制等。其中初始化主要是設(shè)置系統(tǒng)默認(rèn)參數(shù)。其次是數(shù)據(jù)采集及濾波處理。為了盡量減少引入的純滯后時(shí)間,本文提出了一種獨(dú)具創(chuàng)新性的視頻信號(hào)采集方法。即用MC9S12DG128單片機(jī)提供的SPI口直接讀取經(jīng)過(guò)二值化處理的視頻信號(hào)。
至于電機(jī)控制。本系統(tǒng)是用單片機(jī)通過(guò)接收旋轉(zhuǎn)編碼器來(lái)檢測(cè)智能車后輪轉(zhuǎn)動(dòng)所產(chǎn)生的脈沖數(shù),然后采用位置式PID控制算法的遞推形式對(duì)直流電機(jī)的轉(zhuǎn)速進(jìn)行快速準(zhǔn)確地控制。位置式PID控制算法的遞推形式如下:
△u(k)=Kp[e(k)-e(k-1)]+Kixe(k)+Kd[e(k)-2e(k-1)+e(k-2)],u(k)=u(k-1)+△u(k)
式中:u(k)為k時(shí)刻控制器的輸出;e(k)為k時(shí)刻的偏差;Kp、Ki、Kd分別為位置式PID控制算法的比例系數(shù)、積分常數(shù)和微分常數(shù)。舵機(jī)控制也是用單片機(jī)通過(guò)CMOS攝像頭來(lái)檢測(cè)路徑信息,然后采用不完全微分PD控制算法來(lái)控制舵機(jī)的轉(zhuǎn)角,從而實(shí)現(xiàn)路徑跟蹤。
本文介紹了一種智能車控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法。通過(guò)大量實(shí)驗(yàn)測(cè)試證明,該智能車能快速平穩(wěn)地在制作的賽道上跟蹤黑色引導(dǎo)線并行駛,而且尋跡效果良好,控制響應(yīng)速度快,動(dòng)態(tài)性能良好,穩(wěn)態(tài)誤差小,系統(tǒng)的穩(wěn)定性和抗干擾能力強(qiáng)。
評(píng)論