葉 亮 時(shí) 銳 孫小杰 衛(wèi) 馳 毛人杰 李志偉/上海工程技術(shù)大學(xué)電子電氣工程學(xué)院
基于飛思卡爾單片機(jī)的智能車金屬檢測與控制方案
葉亮?xí)r銳孫小杰衛(wèi)馳毛人杰李志偉/上海工程技術(shù)大學(xué)電子電氣工程學(xué)院
本文針對(duì)沿金屬軌道行進(jìn)智能車問題,提出金屬檢測方案,利用模糊控制原理,經(jīng)過PID調(diào)節(jié),實(shí)現(xiàn)了小車穩(wěn)定的尋跡行進(jìn)。
飛思卡爾;傳感器算法;金屬傳感器;智能車
隨著智能交通運(yùn)輸?shù)陌l(fā)展,智能車已成為當(dāng)今社會(huì)的研究熱點(diǎn)。對(duì)于能夠快速尋跡行進(jìn)的智能車,在路徑檢測與舵機(jī)和電機(jī)的控制上都有著較高的要求。
1.1傳感器原理
在傳感器的選擇上,使用了74HC123D和LMV722IDR芯片的運(yùn)放電路。該電路的特點(diǎn)是可以將金屬信號(hào)轉(zhuǎn)變?yōu)楦叩碗婎l信號(hào),再由單片機(jī)的AD端口進(jìn)行處理就可實(shí)現(xiàn)有無軌道的判斷。
1.2傳感器布局
由于傳感器數(shù)量沒有限制,所以傳感器用多少個(gè),怎么擺放便成了關(guān)鍵的問題。放的太少,小車便容易丟線;放的太多,控制策略會(huì)變得很復(fù)雜,不利于編程和調(diào)試。傳感器之間間隔過大,就會(huì)在間隔之間出現(xiàn)控制的空白區(qū)域;傳感器之間間隔過小,線圈之間便會(huì)產(chǎn)生互感現(xiàn)象,影響采集數(shù)據(jù)的準(zhǔn)確性[1]。
傳統(tǒng)傳感器布局有一字型和八字型。一字型布局是傳感器最常用的布局形式,即各個(gè)傳感器都在一條直線上,從而保證縱向的一致性,其控制策略主要集中在橫向上。八字型布局是將中間的若干傳感器前置,這樣增加了縱向特性,能夠早一點(diǎn)了解到車前方的道路情況。
經(jīng)過反復(fù)的嘗試與調(diào)整,傳感器采用了圖1所示的倒品字形擺法。最前端四個(gè)傳感器一字排開,外側(cè)傳感器完全在鋁箔外,內(nèi)側(cè)傳感器完全在鋁箔內(nèi);后方兩個(gè)傳感器都是一半覆蓋在鋁箔上,另一半在鋁箔外。經(jīng)測試,融合了一字型和八字形優(yōu)點(diǎn)的倒品字形擺法不僅能對(duì)小車過彎進(jìn)行提前的判斷,從而提早做出反應(yīng),更能對(duì)小車相對(duì)軌道的偏移進(jìn)行更加精確的調(diào)整,使得小車能夠更加穩(wěn)定地貼合軌道運(yùn)動(dòng)。
圖1
2.1程序控制流程
智能車的運(yùn)行控制是根據(jù)路徑識(shí)別和車速檢測所獲得的當(dāng)前路徑和車速信息,控制舵機(jī)和直流驅(qū)動(dòng)電機(jī)動(dòng)作,從而調(diào)整智能車的行駛方向和速度??刂葡到y(tǒng)的軟件設(shè)計(jì)基于IAR 7.3編程環(huán)境,單片機(jī)使用飛思卡爾公司K60芯片,程序使用C 語言實(shí)現(xiàn)。如圖2。
2.2轉(zhuǎn)向控制策略
該金屬傳感器可以對(duì)其底部覆蓋的金屬進(jìn)行識(shí)別,金屬覆蓋面積越大,傳感器得出的數(shù)值越小。經(jīng)檢測,當(dāng)傳感器完全被鋁箔覆蓋時(shí)其讀數(shù)為2,在空氣中時(shí)其讀數(shù)為1024,且2和1024之間幾乎沒有過渡,所以該傳感器只能對(duì)是否完全被鋁箔覆蓋進(jìn)行判斷。
由于小車傳感器部分的復(fù)雜性,很難建立精確的數(shù)學(xué)模型,因此在這里考慮使用模糊控制的方法控制舵機(jī)。
如圖3所示,舵機(jī)控制程序采用基于模糊控制理論的方法,根據(jù)6個(gè)傳感器所能接收到的7種狀態(tài)進(jìn)行量化處理。表格中每種傳感器狀態(tài)都是按照前4后2的方法排列,和實(shí)際傳感器的擺放方法一樣,方便對(duì)照和查看。右邊一欄則是對(duì)小車位置的量化,其代表的小車偏離位置為{右大,右中,右小,零,左小,左中,左大},對(duì)應(yīng)整數(shù)集為{-3,-2,-1,0,1,2,3}[2]。
圖2 控制系統(tǒng)軟件流程圖
圖3
在舵機(jī)轉(zhuǎn)向時(shí)采取了簡單實(shí)用的的PID算法,主要對(duì)兩個(gè)參數(shù)的調(diào)整來實(shí)現(xiàn):比例控制參數(shù)P和微分控制參數(shù)D。比例控制參數(shù)P可以使得車模方向恢復(fù)正確位置。當(dāng)該參數(shù)逐步增加時(shí),車模方向回復(fù)速度逐步加快。當(dāng)比例參數(shù)增加到一定數(shù)值之后,車模的方向回復(fù)由于過快,會(huì)出現(xiàn)方向過沖現(xiàn)象。此時(shí)通過增加微分控制參數(shù)D可以抑制這種方向過沖的現(xiàn)象[3]。
小車的偏離程度為偏離位置的參量絕對(duì)值,一共有四種,即{0,1,2,3},根據(jù)每一種情況,經(jīng)過實(shí)際的測量與調(diào)整,可以分別得到一組合適的P和D參數(shù),使得車模在方向偏移時(shí)即能迅速調(diào)整回來又不會(huì)出現(xiàn)過沖現(xiàn)象[4]。
2.3速度控制策略
根據(jù)小車的偏移量,電機(jī)會(huì)適當(dāng)?shù)恼{(diào)整其速度,以使得小車在過彎時(shí)不會(huì)因?yàn)樗俣冗^快而沖出軌道。小車偏移量越大,電機(jī)輸出功率略小。
經(jīng)過調(diào)試,小車在直道上的速度可以達(dá)到2m/s,在轉(zhuǎn)彎時(shí)速度變?yōu)?.5m/s。在選定合適的PID參數(shù)后,小S彎道可以近乎直線通過,而在90度彎和連續(xù)彎道可以緊貼內(nèi)道,保證了最優(yōu)路徑,在長直道入彎時(shí)也能做到提前轉(zhuǎn)彎,基本實(shí)現(xiàn)了小車在最優(yōu)路徑下的高速、平穩(wěn)行駛。
該智能車使用飛思卡爾K60單片機(jī)作為核心控制單元,自行設(shè)計(jì)了采集信號(hào)的傳感器,編寫了基于模糊控制和PID控制的程序,最終實(shí)現(xiàn)了智能車平穩(wěn)、快速地尋跡行進(jìn)。
[1]高月華.基于紅外光電傳感器的智能車自動(dòng)尋跡系統(tǒng)設(shè)計(jì),2009.
[2]賈勇.基于模糊控制算法的智能車轉(zhuǎn)向舵機(jī)控制,2008.
[3]王祥好.模糊PID算法在智能小車中的研究與應(yīng)用,2009.
[4]史彬,牛岳鵬,郭勇.飛思卡爾攝像頭智能小車設(shè)計(jì)及舵機(jī)算法優(yōu)化,2012.
課題項(xiàng)目:
本文為上海工程技術(shù)大學(xué)科研項(xiàng)目(E3-0502-16-XS01017)、上海工程技術(shù)大學(xué)創(chuàng)新訓(xùn)練計(jì)劃(E3-0800-16-02056)項(xiàng)目成果。