楊 磊(安徽財經(jīng)大學(xué),安徽 蚌埠 233030)
基于mcf52255微控制器的智能車系統(tǒng)
楊 磊
(安徽財經(jīng)大學(xué),安徽 蚌埠 233030)
本系統(tǒng)以mcf52255為核心處理器,通過電磁傳感器對導(dǎo)線的信號的檢測,先對檢測的信號進(jìn)行處理,通過算法得到道路特征,然后再通過PID算法對車輪進(jìn)行差速控制與轉(zhuǎn)向控制,使智能車能夠平穩(wěn)、快速的沿著導(dǎo)線運動。該智能車系統(tǒng)包括電感采集模塊,信號處理模塊,路徑識別算法模塊,PID算法模塊等模塊。
mcf52255;信號處理;PID控制;智能車系統(tǒng)
DOI:10.16640/j.cnki.37-1222/t.2016.16.110
mcf52255主 頻 為80MHz, 片 內(nèi) 有512K Flash ROM與64K SRAM,還有8通道12位的A/D轉(zhuǎn)換模塊、4通道DMA模塊與4個32位支持DMA的DTIM模塊以及PWM模塊,另有3個UART模塊,2個IIC模塊及QSPI等等,其中UART模塊用來對于智能車系統(tǒng)的數(shù)據(jù)采集,以及調(diào)試很是方便。
本系統(tǒng)通過采集模塊對導(dǎo)線周圍的電磁信號進(jìn)行檢測,先由采集模塊對采集的信號進(jìn)行濾波和放大,然后再通過mcf52255對采集信號進(jìn)行數(shù)模轉(zhuǎn)換和算法分析得到道路特征,接著再通過PID算法輸出PWM波對車輪進(jìn)行差速控制與轉(zhuǎn)向控制,使智能車能夠平穩(wěn)、快速的沿著導(dǎo)線運動。
3.1電磁傳感器采集模塊
電磁傳感器采集模塊由電感與電容組成的LC諧振電路與AD8032運算放大器共同構(gòu)成的,它是智能車系統(tǒng)的信息來源。該模塊先由電感與電容組成的LC諧振電路對導(dǎo)線周圍的電磁信號進(jìn)行采集并過濾,然后將得到的信號經(jīng)由AD8032放大器進(jìn)行放大,再將其送入到控制芯片進(jìn)行處理。
考慮到實際道路狀況有直道、彎道、十字彎道、直角這4種,所以傳感器的位置也由這幾種路況決定。所以經(jīng)過分析與實驗將傳感器的對稱放置,左右各三個,中間四個水平放置,最外邊的兩個傳感器向內(nèi)進(jìn)行一定角度的偏移,前面另放置兩個豎直的傳感器。中間四個水平對稱放置的傳感器可以判斷直線路況;最外邊的兩個向內(nèi)傾斜一定角度的傳感器可以提前判斷彎道,使智能車做出預(yù)判,一定程度上提高智能車入彎的準(zhǔn)確性;前面兩個豎直放置的傳感器用于判斷十字彎道路況。
3.2信號處理模塊
(1)數(shù)字檢測法。將采集模塊采集到的數(shù)據(jù)通過控制器的AD轉(zhuǎn)換模塊數(shù)字化處理,可以依據(jù)數(shù)字量的值來判斷路況,從而達(dá)到自主巡線的要求。但是這種方法對于路徑判別不是很穩(wěn)定,很容易進(jìn)行誤判,而且當(dāng)導(dǎo)線電流不穩(wěn)定的時候,數(shù)字量會受到很大的干擾,起伏很大,導(dǎo)致其不能夠正確識別路況,從而進(jìn)行誤判。為了提高智能車系統(tǒng)的路徑識別能力,只能夠增加傳感器的數(shù)量來解決,但是傳感器太多,相互之間的干擾也會很大,同樣會是系統(tǒng)進(jìn)行誤判。所以放棄了該種方法,選擇了下面的模擬檢測法。
(2)模擬檢測法。首先,將采集模塊采集到的信號值經(jīng)由mcf52255的AD轉(zhuǎn)換模塊,轉(zhuǎn)換成合理的AD值,然后將各個傳感器采集賽道的最大值和最小值,通過一定的公式得到每個傳感器的相對值,最后依此來判斷路況,這就是信號的歸一化處理。
這種方法相比較于上種方法來說,對于路況的判別更加靈敏,誤判率更低,而且對于導(dǎo)線內(nèi)電流的變化受到的影響經(jīng)歸一化處理后相應(yīng)降低很多,能夠使智能車的穩(wěn)定性提高不少。
3.3路徑識別算法模塊
路徑識別就是對信號處理模塊輸出的信號之進(jìn)行分析與判斷,它是智能小車的靈魂,它是小車能否穩(wěn)定且順利完成自主循跡的關(guān)鍵模塊。一個好的路徑識別算法模塊,可以使智能車穩(wěn)定且順利的循跡,并且有一定的適應(yīng)性。
因為導(dǎo)線周圍的不同位置,磁感應(yīng)強(qiáng)度的大小和方向各不相同,所以不同位置上的傳感器產(chǎn)生的感應(yīng)電動勢也不盡相同。因此,則可以根據(jù)傳感器采集到的值來判斷電感的位置,又因為電感在智能車上的排布是已知的、固定的,據(jù)此,也就可以判斷出智能車偏離導(dǎo)線的位置,從而通過控制舵機(jī)轉(zhuǎn)向,使智能車及時糾正方向。
在直導(dǎo)線時,因為左側(cè)電感與右側(cè)電感對稱分布,所以,左右電感值大小差不多,則控制智能車沿直線行駛。對于彎道時的導(dǎo)線,如果用左側(cè)電感值減去右側(cè)電感值,當(dāng)這個差值為正值時,則說明智能車已經(jīng)偏離直線向左側(cè)轉(zhuǎn)向,而且這個差值越大說明智能車偏離的角度越大;同樣的道理,如果用右側(cè)電感值減去左側(cè)電感值,當(dāng)這個差值為正值時,則說明智能車已經(jīng)偏離直線向右側(cè)轉(zhuǎn)向,而且這個差值越大說明智能車偏離的角度越大。
3.4PID算法模塊
PID控制器由比例單元(P)、積分單元(I)和微分單元(D)組成。其輸入e (t)與輸出u (t)的關(guān)系為:
PID是一個閉環(huán)控制算法。因此如果想要實現(xiàn)PID算法,必須在硬件上有閉環(huán)控制模塊給予反饋信息。在智能車系統(tǒng)上需要返回的是智能車電機(jī)的轉(zhuǎn)速,所以需要在智能車上安裝一個編碼器,對智能車進(jìn)行速度測量,并將結(jié)果反饋。
比例單元(P)是反應(yīng)系統(tǒng)的當(dāng)前偏差e(t),系數(shù)P在一定范圍內(nèi)增大時可以加快調(diào)節(jié)、減小誤差,但過大時會造成系統(tǒng)的穩(wěn)定性下降。積分單元(I)是反應(yīng)系統(tǒng)的累積偏差,可以消除系統(tǒng)的穩(wěn)態(tài)誤差,使誤差盡可能的減小,因為有誤差時,積分調(diào)節(jié)就會進(jìn)行,直到消除誤差。微分單元(D)是反應(yīng)系統(tǒng)的偏差信號的變化率e(t)-e(t-1),可以預(yù)見偏差變化的趨勢,能夠提前控制,在偏差還沒有形成之前就已經(jīng)被微分作用消除了,所以它可以改善系統(tǒng)的動態(tài)性能。但是微分作用對噪聲有放大作用,微分作用過大時會對系統(tǒng)產(chǎn)生很大干擾。
總的來說,在設(shè)計智能車系統(tǒng)時,首先,要選擇一款性能強(qiáng)大的,且自己熟悉的核心處理器。其次,便是要將智能車能夠自主循跡的原理搞清楚,搞清楚原理對以后的程序的編寫和調(diào)試有很大的幫助。接著便是設(shè)計智能車的各種硬件模塊了。最后就是程序的編寫與調(diào)試了,程序的編寫又需要先對信號進(jìn)行處理,再就是根據(jù)循跡原理編寫路徑識別模塊,然后就是調(diào)試程序了,直到智能車能夠平穩(wěn)、快速的自主循跡。
[1]諶利,張瑞,汪浩,李侃等編著. 深入淺出ColdFire系列32位嵌入式微處理器[M].北京:北京航空航天大學(xué)出版社,2009(09).
[2]卓晴,黃開勝,邵貝貝等編.學(xué)做智能車-挑戰(zhàn)”飛思卡爾”杯[M].北京:北京航空航天大學(xué)出版社,2007:366-369.
楊磊(1995-),男,安徽潁上人,本科在讀,研究方向:電子信息工程 。