基于電磁傳感器的智能車控制系統(tǒng)設(shè)計(jì)
2.6 調(diào)試模塊
使用串行口通信是計(jì)算機(jī)與人對(duì)話最傳統(tǒng)、最基本的方法,異步通信(UART)接口也稱為通用異步接收器/發(fā)送器。電路圖如圖8所示。本文引用地址:http://butianyuan.cn/article/159461.htm
3 系統(tǒng)的軟件部分設(shè)計(jì)
3.1 軟件流程設(shè)計(jì)
控制系統(tǒng)的軟件設(shè)計(jì)基于Metrowerks Code Warrior5.1編程環(huán)境,使用C語言實(shí)現(xiàn)。圖9為控制系統(tǒng)軟件流程圖。
3.2 賽道識(shí)別算法
智能車工作時(shí)首先通過4個(gè)“一”字形排列的電磁傳感器陣列檢測(cè)軌跡黑線的當(dāng)前位置,然后根據(jù)檢測(cè)結(jié)果判斷智能車與軌跡偏離的情況。本系統(tǒng)采用模擬檢測(cè)法。具體算法為:首先,將AD值做歸一化處理,即根據(jù)各個(gè)傳感器接收賽道的最高電壓和最低電壓,計(jì)算出各個(gè)傳感器的相對(duì)值,最后來計(jì)算賽道中心位置。信號(hào)歸一化的方法如下:
求取電壓值最大的傳感器位置,然后和它周圍兩個(gè)傳感器采樣值進(jìn)行加權(quán)計(jì)算即求得小車的偏差。這種算法空間分辨率可以達(dá)到2mm,而且受電流變化的影響比較少,適合小車穩(wěn)定的檢測(cè)要求。
3.3 車體控制算法
車體控制算法是整個(gè)系統(tǒng)的核心,它直接關(guān)系到小車的表現(xiàn)。在經(jīng)過對(duì)傳感器信息的處理后,利用電磁傳感器采集的路徑形狀信息來控制轉(zhuǎn)向舵機(jī)和行進(jìn)電機(jī)的輸出量,其中轉(zhuǎn)向舵機(jī)采用PD控制算法,驅(qū)動(dòng)電機(jī)的控制采用PID控制算法。車速采用閉環(huán)控制,由PID控制器調(diào)節(jié),其輸入量為目標(biāo)速度值與當(dāng)前速度值的差值,目標(biāo)速度根據(jù)當(dāng)前的路況信息以及路況更迭信息確定,PID調(diào)節(jié)器的輸出即為與行進(jìn)電機(jī)轉(zhuǎn)速成比例的數(shù)值,經(jīng)處理后,得到與所需速度相對(duì)應(yīng)的PWM脈寬信號(hào)。根據(jù)賽道的不同路況信息,系統(tǒng)采用不同的速度給定值,并且在同一路況下,根據(jù)小車水平偏差量和水平偏差速度對(duì)速度給定值進(jìn)行修正,保證其平穩(wěn)而快速地行駛。
4 結(jié)束語
本文介紹了應(yīng)用Freescale16位單片機(jī)MC9S12XS128實(shí)現(xiàn)自動(dòng)巡線智能車的控制系統(tǒng)設(shè)計(jì)。經(jīng)多次調(diào)試運(yùn)行,該智能車在正確尋跡的前提下,彎道速度可以達(dá)到1.5m/s,而在直道上,智能車的速度可以達(dá)到2m/s,表明系統(tǒng)設(shè)計(jì)可靠,智能車運(yùn)行良好。
評(píng)論