通過嵌入模糊控制算法,實現(xiàn)小車精準尋跡;采用超聲波檢測障礙物使小車提前做出反應(yīng),繞過障礙物;設(shè)計靈敏度可調(diào)的趨光系統(tǒng),驅(qū)動小車趨光進庫;通過金屬傳感器檢測金屬塊;利用霍爾器件測量小車行駛的路程;最終將金屬塊個數(shù),行駛時間及路程顯示在液晶屏上,實現(xiàn)了友好的人機界面。實驗表明,智能小車系統(tǒng)能夠順利完成種各功能,在各獨立控制模塊上能達到較高的穩(wěn)定性和精度要求。
0 引言
智能小車形式多樣,控制方法多變,創(chuàng)新性強,因此在電子競賽和科技創(chuàng)新方面一直受到熱捧。每年的“飛思卡爾”智能小車比賽中就分有電磁組,光電組,攝像頭組,分別通過電磁傳感器,光電傳感器,攝像頭來采集信號,檢測小車的循跡能力和運行速度;遙控小車也是在小車上裝上無線模塊來接收遙控端發(fā)來的信號,從而實現(xiàn)小車的智能化控制;滅火機器人則是在避障小車的基礎(chǔ)上加入趨光模塊和溫度傳感器,使小車趨向火源滅火。
鑒于目前基于智能小車的設(shè)計,大多都是功能單一的尋跡小車,避障小車或遙控小車,在此將設(shè)計一種將紅外對管尋跡、金屬檢測、超聲波避障、硅光電池趨光和距離測量集成在同一個系統(tǒng)中的多功能智能小車,實現(xiàn)其多任務(wù)處理功能。同時,本系統(tǒng)針對各模塊采用優(yōu)化控制方案,以期望得到更精準控制。整個智能小車系統(tǒng)具有高效率、高準確度、低成本等特點。
當前對智能小車系統(tǒng)的控制方法也是多種多樣,常見的有路徑記憶法,模糊控制法,圖像識別法等。
這些方法對于單任務(wù)的小車控制都能達到理想的效果。在本文所設(shè)計的智能小車系統(tǒng)中,將充分考慮小車的多任務(wù)性,采取模塊化控制方法來實現(xiàn)小車的多功能控制,并在模塊化的基礎(chǔ)上嵌套模糊控制的方法,使小車既滿足多功能要求,又能實現(xiàn)各控制模塊獨立、穩(wěn)定運行。
1 系統(tǒng)結(jié)構(gòu)設(shè)計
系統(tǒng)設(shè)計一般包括硬件設(shè)計和軟件設(shè)計。本系統(tǒng)中硬件設(shè)計由電源模塊、驅(qū)動模塊、尋跡模塊、金屬檢測模塊、超聲波避障模塊、硅光電池趨光模塊和顯示模塊構(gòu)成,系統(tǒng)的整體結(jié)構(gòu)如圖1所示。
1.1 驅(qū)動模塊
由單片機產(chǎn)生兩路PWM 波,通過L298N 電機驅(qū)動芯片控制兩個直流電機,分別驅(qū)動動左輪和右輪。直走時兩路PWM 波頻率相位相同,當需要轉(zhuǎn)彎時,改變PWM 波控制相應(yīng)的電機反轉(zhuǎn),另一電機正轉(zhuǎn)。兩邊形成差速即可實現(xiàn)轉(zhuǎn)彎。調(diào)整反轉(zhuǎn)的的時間,可以控制轉(zhuǎn)彎的大小和快慢,改變PWM 波的占空比可以控制小車的速度。
1.2 尋跡模塊
該模塊主要利用光電對管來檢測小車賽道上的黑線。當光電對管內(nèi)的發(fā)光二極管位于黑線上時,發(fā)光二極管發(fā)出的光被黑色吸收,不能被反射回來,此時,接收端上的光電三級管基極電壓為零,三極管不能導通,輸出低電平,與之相連的比較器同相端的也為低電平,最終輸入單片機對應(yīng)引腳一個低電平。單片機檢測到輸入的低電平就會對電機進行相應(yīng)的處理,驅(qū)動小車轉(zhuǎn)彎,使得這個光電對管偏離黑線。一旦離開黑線,光電三級光就能夠接受到光照,三極管導通輸出高電平,給單片機引腳輸入一個高電平,單片機檢測到該高電平后給相應(yīng)電機正轉(zhuǎn)命令,小車恢復直線行駛。依此循環(huán),最終小車就能沿著黑線所設(shè)定的的軌跡行駛。
設(shè)計尋跡模塊時,為了減小環(huán)境光的干擾,可以在放大器的反向端接入一個滑線變阻器,通過調(diào)節(jié)電阻的大小,改變比較器的閾值電壓,從而改變傳感器的靈敏度。當較弱的環(huán)境光進入到光電三極管的基極,三極管的集電極會有電壓,但只要調(diào)大滑線變阻器接入的阻值,使得環(huán)境光照射時,集電極電壓低于閾值電壓,此時光電對管仍然輸出低電平,這樣就達到了消除環(huán)境光的目的。該電路接入的阻值越大,閾值越高,就越不容易受環(huán)境光的影響,但靈敏度也就越低,反應(yīng)越慢。相反,就越容易受環(huán)境光影響,靈敏度越高,反應(yīng)越快。
同時,為了使小車能適應(yīng)不同弧度的路線,在循跡模塊中嵌入了模糊控制算法。首先建立一個模糊集合X={左偏,左較偏,左很偏,右偏,右較偏,右很偏},定義模糊規(guī)則:當左側(cè)第一個光電對管位于黑線上時,定義小車右偏,小車左輪停轉(zhuǎn),右輪正常轉(zhuǎn)動;當左側(cè)第二個光電對管位于黑線上時,定義小車右較偏,小車左輪小幅度反轉(zhuǎn),右輪正常轉(zhuǎn)動;當左側(cè)第三個光電對管位于黑線上時,定義小車右很偏,小車左輪大幅度反轉(zhuǎn),右輪正常轉(zhuǎn)動。同理,對右側(cè)光電對管定義模糊規(guī)則。通過模糊控制小車就能適應(yīng)多變的路線。
1.3 金屬檢測模塊
把金屬傳感器固定在小車底部,當小車經(jīng)過金屬片時,金屬傳感器的輸出端會產(chǎn)生一次電頻跳變,將跳變信號輸入到單片機的外部中斷,每一次跳變,觸發(fā)一次中斷,單片機就會控制蜂鳴器發(fā)聲報警。將中斷次數(shù)記錄下來送到液晶顯示,就能得到檢測的金屬片個數(shù)。
1.4 超聲波避障模塊
用單片機給超聲波發(fā)生器輸入端輸入一列脈沖觸發(fā)信號,超聲波發(fā)生器的發(fā)射端就會產(chǎn)生一列對應(yīng)頻率的超聲波,當聲波遇到障礙物(3 m以內(nèi))時就會反射回來,被接收端接受,其輸出端輸出一系列PWM波。記錄這列PWM 波的高電平持續(xù)時間,并忽略小車在此段時間內(nèi)的位移,就可計算出小車到障礙物的距離,當距離達到某一設(shè)定值時,控制電機使小車轉(zhuǎn)彎,繞過障礙物。
本系統(tǒng)中充分利用Mega128 單片機的中斷捕捉功能,將超聲波發(fā)生器產(chǎn)生的輸出回響信號輸入到單片機,首先設(shè)置下降沿觸發(fā)捕捉中斷,定時器計時開始,當中斷觸發(fā)時馬上更改觸發(fā)方式為上升沿觸發(fā),再次響應(yīng)中斷時記錄此時定時器的值T1同時原計數(shù)值清零,此時記錄的高電平時間T1即為聲波在空中傳播的時間。再次更改觸發(fā)方式為下降沿觸發(fā),實現(xiàn)動態(tài)實時測量。與傳統(tǒng)的中斷響應(yīng)測量相比,中斷捕捉具有快速、精準的優(yōu)點假設(shè)單片機晶振為M,分頻系數(shù)為N,聲音的傳播速度為V.聲波傳播的時間為(單位:s):
因此,可以按照下式計算出距離障礙物的距離L1:
1.5 硅光電池趨光模塊
為了使小車具有更理想的趨光效果,本系統(tǒng)采用硅光電池作為傳感器。當光源照射到硅光電池的表面,硅光電池的電阻值會發(fā)生變化,光照強度越大,電阻值越小。在小車前端的左中右分別裝上一個硅光電池,將光管電池接在相同的參考電壓源上,將其兩端的電壓送入單片機的采樣通道轉(zhuǎn)化成數(shù)字量,通過比較三路采樣值的大小就能判斷出哪個方向上的光照強度大,從而控制小車直走或轉(zhuǎn)彎,進而趨向光源。
由于使用了硅光電池采樣方案,系統(tǒng)的靈敏度可以被有效調(diào)節(jié)。程序設(shè)定只有當采樣電壓達到了某一規(guī)定值時,才來比較三路采樣電壓。調(diào)整這一規(guī)定電壓值就可以改變系統(tǒng)的趨光靈敏度了,根據(jù)環(huán)境設(shè)定合適的規(guī)定值就能較好的避開環(huán)境光的干擾。
1.6 測距模塊
在電機的轉(zhuǎn)軸上安裝兩塊小磁鐵,并將霍爾傳感器固定在轉(zhuǎn)軸正上方的車身上,當電機轉(zhuǎn)動,磁鐵經(jīng)過霍爾元件時,霍爾傳感器的輸出端就會產(chǎn)生電頻跳變,通過記錄電頻跳變的次數(shù)N,即可根據(jù)行駛距離公式L2=(N × 2πR)/ 2 測量出小車行駛的距離。其中R表示車輪半徑。所測距離可通過液晶屏顯示出來。
2 軟件設(shè)計
在硬件設(shè)計基礎(chǔ)上,通過在單片機中燒寫程序來控制小車功能的實現(xiàn)。本系統(tǒng)中采用模塊化控制方法,將各個獨立的功能作為一個獨立的子程序,在主程序中按照邏輯順序來調(diào)用各子程序。這樣使得程序條理清晰,提高了程序的執(zhí)行效率,也便于程序修改和調(diào)試,主程序設(shè)計流程如圖2所示。[!--empirenews.page--]
如循跡模塊中所述,在程序1 中,采用模糊控制算法,控制小車沿著軌道行駛,不至于失控。子程序2判斷小車與障礙物間的距離,控制小車轉(zhuǎn)彎避障。子程序3 根據(jù)硅光電池采集的光照強度,控制小車左右輪轉(zhuǎn)動,確保小車進庫成功。程序采用動態(tài)掃描,實時監(jiān)測,使得小車一直處于動態(tài)調(diào)整中。
3 實物測試及結(jié)果分析
為了測試小車的性能,按照比賽要求為小車設(shè)計了如圖3所示的小車賽道。測試地點選擇在四周較開闊、自然光較弱的地方,小車從起點沿著黑色的牽引線行走,離開牽引線后避開障礙物,開始趨光進庫。在牽引線下方放有若干枚用于檢測的硬幣,小車經(jīng)過時檢測到硬幣并報警,將記錄的硬幣個數(shù)顯示到液晶屏上。
由于在尋跡模塊的硬件設(shè)計中加入了靈敏度調(diào)節(jié),并在軟件設(shè)計中采取了模糊控制算法,因此,小車尋跡測試結(jié)果比較理想,能按照設(shè)計路線行駛。測試結(jié)果如表1所示。
在避障模塊中,由于超聲波模塊對反射物體的形狀和表面積都有要求,當放置的障礙物不滿足要求時,就會接收不到反射信號,造成避障失敗。同時在測試時周圍還站有人,也能形成反射源,對測試造成干擾。測試結(jié)果如表2所示。表3所示為趨光模塊測試結(jié)果。
趨光模塊采用硅光電池采樣,具有連續(xù)可變的無極比較,比目前廣泛使用的光敏電阻只比較高低電平更靈敏精確,從而提高了系統(tǒng)的準確性。但同光敏電阻一樣自然光的影響不能完全避免,因此仍然不能達到100%的準確。
4 結(jié)語
本系統(tǒng)使用一片8 位單片機,采用模塊化設(shè)計思想,實現(xiàn)了智能小車多功能的設(shè)計。設(shè)計時將多種傳感器綜合到一個系統(tǒng)中,并把采集到的多路信號送入單片機進行分析處理、作出判斷。
同時,系統(tǒng)還設(shè)計了友好的人機交換界面,可方便地讀出檢測到的金屬片數(shù)量、行駛路程和行駛時間。由于運用模塊化控制方法,各模塊相互影響較小,因此還可對系統(tǒng)進行二次開發(fā),在本系統(tǒng)上增加更多模塊,實現(xiàn)其他擴展功能,例如在系統(tǒng)上增加語音芯片,可實現(xiàn)語音播報功能;加上攝像頭和無線模塊可實現(xiàn)小車的探測功能等。