基于單片機的智能車(chē)控制系統設計
(4) 無(wú)線(xiàn)數據傳輸模塊設計。智能車(chē)加裝了基于射頻收發(fā)芯片nRF403的無(wú)線(xiàn)數據傳輸模塊,并在此基礎上實(shí)現了MODBUS 通信協(xié)議,在測試智能車(chē)參數及程 序調試的過(guò)程中很有幫助。在運行的過(guò)程中可以將智能車(chē)的各項參數實(shí)時(shí)地發(fā)送上來(lái),分析智能車(chē)的運行狀態(tài)可以更有針對性地對控制程序進(jìn)行改進(jìn)。在調試運動(dòng)參 數的過(guò)程中,可以通過(guò)上位機軟件改變如Kp、Ki、Kd 等參數,而不用重新燒寫(xiě)程序,迅速而方便。
5 軟件設計
智能車(chē)控制 系統程序結構如圖5所示,這是一個(gè)兩層的分級控制系統。底層控制系統包括“轉向控制系統”和“車(chē)速控制系統” ,上層主控程序通過(guò)改變底層控制系統的設定 值、控制參數和約束條件的方法,對整個(gè)控制系統進(jìn)行調度。設計這種分層結構的控制系統是參照了集散控制系統DCS的結構特點(diǎn),程序各部分功能明確、結構清 晰,便于調試和維護。為了調試方便,主控程序中添加了基于無(wú)線(xiàn)信道的MODBUS通訊協(xié)議,對智能車(chē)行駛參數的監視和調整提供了很大的便利。
軟件所實(shí)現的功能有:
①初始化。
②數據采集及濾波處理。為了盡量減少引入的純滯后時(shí)間,本文提出 了一種獨特的具有創(chuàng )新性的視頻信號采集方法,即用MC9S12DG128 單片機提供的SPI 口直接讀取經(jīng)過(guò)二值化處理的視頻信號。大賽規則中指定了賽 道上黑色引導線(xiàn)的寬度為2.5 厘米,故攝像頭中采集到的引導線(xiàn)寬度在正常情況下也應當落在一定范圍內??梢杂脤?shí)驗的方法測得引導線(xiàn)對應的像素寬度,然后 在濾波程序中對采集到的引導線(xiàn)線(xiàn)寬進(jìn)行控制,如果超出正常范圍即認為是無(wú)效數據。實(shí)驗證明,這種方法可以有效地將干擾濾除。
③道路識 別。智能車(chē)分層控制系統的核心是賽道的識別。實(shí)際測試發(fā)現由于CMOS攝像頭的可視范圍比較小而且視野范圍呈梯形,在快速運動(dòng)中經(jīng)常發(fā)生賽道部分甚至全部 脫離視野范圍的情況,給賽道識別帶來(lái)很大的困難,因此完整識別賽道模式幾乎是不可能的。為了簡(jiǎn)化問(wèn)題,本方案只識別賽道中的直線(xiàn)段,根據直線(xiàn)段的數量和長(cháng) 度將賽道分割成不同的區域,在一個(gè)區域中對控制參數進(jìn)行優(yōu)化。
④電機控制。單片機通過(guò)接收旋轉編碼器檢測智能車(chē)后輪轉動(dòng)所產(chǎn)生的脈沖數,采用位置式PID控制算法的遞推形式對直流電機的轉速進(jìn)行快速準確地控制。
位置式PID控制算法的遞推形式: Δu(k) =Kp[e(k) -e(k-1)] +Ki×e(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控制算法的比例系數、積分常數和微分常數[7]。
⑤舵機控制。單片機通過(guò)CMOS攝像頭檢測到的路徑信息,采用不完全微分PD控制算法控制舵機的轉角,實(shí)現路徑跟蹤。
6 結語(yǔ)
本文介紹了一種智能車(chē)控制系統的設計與實(shí)現。圖5為已制作完成的智能車(chē)實(shí)物照片。通過(guò)大量實(shí)驗測試證明該智能 車(chē)能快速平穩地在制作的賽道上跟蹤黑色引導線(xiàn)行駛,尋跡效果良好,速度控制響應快,動(dòng)態(tài)性能良好,穩態(tài)誤差較小,系統的穩定性和抗干擾能力強。在2008 舉辦的全國大學(xué)生“飛思卡爾杯”智能汽車(chē)競賽中取得了華北賽區二等獎的好成績(jì), 充分證明了設計方案的有效性和穩定性。
pid控制器相關(guān)文章:pid控制器原理
評論