徐莉 徐錦紅 孫健龍 孔祥權(quán) 李瑜輝 時玉棟
摘要:設(shè)計了一種智能小車,能夠沿著直徑2~3cm的黑色跑道行駛。本系統(tǒng)采用STM32F103C8T6作為主控,循跡模塊使用的是線性CCD傳感器,傳感器將采集到的數(shù)據(jù)交給STM32處理并在OLED液晶顯示器上顯示出來。根據(jù)處理后的數(shù)據(jù),有特定算法去實現(xiàn)小車的直角轉(zhuǎn)向。實驗結(jié)果表明:該方案能夠?qū)崿F(xiàn)小車對黑線的循跡,能夠進行較好的轉(zhuǎn)向。
Abstract: A smart car is designed to run along a black track with a diameter of 2~3cm. This system uses STM32F103C8T6 as the main control, and the tracking module uses a linear CCD sensor, which will send the collected data to STM32 for processing and display on the OLED. According to the processed data, there are specific algorithms to realize the right-angle steering of the car. The experimental results show that the scheme can track the black line and turn well.
關(guān)鍵詞:控制算法;循跡;STM32;智能小車
Key words: control algorithm;tracking;STM32;intelligent car
中圖分類號:TP23? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標(biāo)識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1006-4311(2020)23-0178-02
0? 引言
隨著科學(xué)技術(shù)的發(fā)展,機器人的設(shè)計愈來愈精細,功能愈來愈復(fù)雜,車型機器人作為其中一個重要的分支,也在不斷的發(fā)展。隨著汽車工業(yè)與傳統(tǒng)汽車行業(yè)的逐漸飽和,伴隨著微控制技術(shù)與嵌入式技術(shù)的迅猛發(fā)展,使得汽車逐漸走向科技化、智能化。智能小車這類設(shè)備可在復(fù)雜多樣、不利于人工工作的工作環(huán)境,在軍事和普通生活中都可以有各種各樣的用途。
1? 系統(tǒng)設(shè)計框圖
系統(tǒng)功能框圖如圖1。
本系統(tǒng)由主控部分、動力部分、轉(zhuǎn)向部分、循跡部分以及顯示部分組成,該系統(tǒng)采用STM32F103C8T6作為核心處理器,雙電機驅(qū)動后輪作為動力組,轉(zhuǎn)向部分由連桿機構(gòu)及舵機組成,用OLED液晶顯示器,顯示整機狀態(tài)以及CCD循跡模塊采集到的線條數(shù)據(jù)。循跡模塊使用的是線性CCD循跡模塊。
2? 硬件系統(tǒng)設(shè)計
2.1 主控模塊
主控模塊采用STM32F103C8T6作為核心處理器,其使用的內(nèi)核是ARM公司出品的Cortex-M3;最高的工作頻率為72MHz,128KB的Flash和20KB的SRAM;有兩個SPI和IIC通信接口、三個通用定時器和一個高級定時器、兩個12位的ADC模塊以及37個GPIO端口。
2.2 電機驅(qū)動模塊
采用A4950芯片驅(qū)動電機,A4950是一款全橋式驅(qū)動芯片,有強大的過電流保護功能。該芯片能夠提供3.5A的峰值輸出電流,工作電壓可高達40V,可以通過電源來調(diào)節(jié)輸出電壓,也可以通過I/O口提供信號。用該芯片作為電機驅(qū)動,操作方便,可以調(diào)節(jié)PWM限制電流;穩(wěn)定性好,當(dāng)電壓不足時,能進行內(nèi)部欠壓鎖定(UVLO);性能優(yōu)良,既有同步整流功能,又有交叉電流保護功能。
2.3 顯示模塊
OLED液晶顯示屏的優(yōu)點有自發(fā)光、低功耗;接口豐富、開發(fā)方便簡單;戶外陽光下可視;響應(yīng)速度快、播放動態(tài)圖像無拖尾;高低溫性能優(yōu)越,能適應(yīng)嚴寒(-40~+80℃);具有較高的電磁兼容防護能力,能滿足極端環(huán)境條件下使用;具有高色彩再現(xiàn)性和色彩飽和度,顯示效果更真實等特點。OLED較多被使用在軍工方面。
本系統(tǒng)使用分辨率為128*64的單色藍光OLED液晶顯示屏。采用的SPI通訊接口,操作簡單、支持雙全工操作,具有較高的數(shù)據(jù)傳輸速率。經(jīng)由主控系統(tǒng)中的動態(tài)閾值算法和中線提取算法的處理,將黑線的動態(tài)閾值與中線中值顯示在OLED液晶顯示屏上。
2.4 循跡模塊
本系統(tǒng)采用的CCD圖像傳感器具有高解析度、低雜訊高敏感度、動態(tài)范圍廣、良好的線性特性曲線、大面積感光、低影像失真、體積小、重量輕、低耗電力以及不受強電力磁場影響等優(yōu)點。與傳統(tǒng)的光電循跡不同,CCD模塊是一種半導(dǎo)體器件,能夠把光學(xué)影像轉(zhuǎn)化為數(shù)字信號。一塊CCD上植入的微小光敏物質(zhì)稱作像素,像素愈多,其提供的畫面分辨率也就越高。相對于普通的光電循跡模塊,線性CCD循跡模塊具有更高的穩(wěn)定性。
2.5 系統(tǒng)整體方案
系統(tǒng)整體方案的框架圖如圖2所示。通過主控芯片驅(qū)動線性CCD循跡模塊尋找黑線,經(jīng)由主控芯片將數(shù)據(jù)進行處理,反饋給小車系統(tǒng)的轉(zhuǎn)向模塊,判斷左轉(zhuǎn)、右轉(zhuǎn)還是直線運動;通過電機驅(qū)動模塊驅(qū)動電機驅(qū)使小車運動,再由末端的編碼器返回電機轉(zhuǎn)速值,從而實現(xiàn)電機的速度閉環(huán)控制;所有的數(shù)據(jù)由主控芯片處理后,再將CCD動態(tài)閾值以及中值、電機閉環(huán)速度以及舵機轉(zhuǎn)速等數(shù)據(jù)顯示在OLED液晶顯示器上[1-3]。
3? 系統(tǒng)測試
本系統(tǒng)中小車的循跡功能設(shè)計為在地面鋪設(shè)2~3cm的黑色膠帶,小車沿著黑色膠帶的軌跡行走[4]。線性CCD模塊采集回128個像素點存儲在一個數(shù)組中,考慮到CCD的質(zhì)量原因,可能會產(chǎn)生幾個點的畸變,然后省略前幾個點和后幾個點的數(shù)據(jù)。本系統(tǒng)采用消除畸變的方法是將前四個點和后四個點的數(shù)據(jù)省略,產(chǎn)生120個值的數(shù)組。
將編碼器連接在直流電機的輸入端,再連接好電機驅(qū)動器與編碼器。將小車放在賽道上,沿著黑線,啟動小車。在OLED液晶顯示屏上顯示會顯示直流電機的運行速度[5-6],與系統(tǒng)軟件編寫的速度吻合,且速度的均值不變,所以編碼器閉環(huán)控制速度的部分更夠正常運行。
循跡小車通過到彎道時,舵機轉(zhuǎn)向系統(tǒng)正常。OLED顯示系統(tǒng)正常。
整個系統(tǒng)的OLED測試結(jié)果如表1~表3所示。
4? 總結(jié)
本次循跡小車的制作與測試,發(fā)現(xiàn)了不少的問題,同樣的,也解決了不少的問題。例如,在開始設(shè)計下位機軟件的時候,沒有考慮到直角彎道。在一次次試驗中發(fā)現(xiàn)原先的程序并沒有實現(xiàn)掃描的直角彎道并轉(zhuǎn)向的功能。經(jīng)過CCD動態(tài)閾值以及中值的數(shù)據(jù)采集并處理,得出了是原先代碼的算法缺失結(jié)論,接著一次次的試驗,終于可以實現(xiàn)直角彎道的轉(zhuǎn)向[7-8]。
在試驗中發(fā)現(xiàn),用舵機連桿機構(gòu)的轉(zhuǎn)向并不是十分適合直角彎。若要用舵機連桿機構(gòu)實現(xiàn)直角轉(zhuǎn)向,就得實現(xiàn)后輪的正反轉(zhuǎn),利用差速或逆向差速實現(xiàn)。
本文基于單片機STM32F103C8T結(jié)合線性CCD循跡模塊、A4950電機驅(qū)動模塊、傳感器模塊、OLED液晶顯示模塊等設(shè)計了一款性能穩(wěn)定的智能循跡小車。加入適當(dāng)?shù)臄?shù)據(jù)處理算法,可以使得數(shù)據(jù)處理變得更加穩(wěn)定、可靠。克服了普通光電傳感器受強光或較弱光影響比較大的缺點。研究內(nèi)容可用于貨物搬運以及自動駕駛技術(shù),因此具有一定的學(xué)術(shù)價值和現(xiàn)實意義。
參考文獻:
[1]姜巖,趙熙俊,龔建偉,等.簡單城市環(huán)境下地面無人駕駛系統(tǒng)的設(shè)計研究[J].機械工程學(xué)報,2012,48(20):103-112.
[2]尹杰,楊宗帥,聶海,等.基于紅外反射式智能循跡遙控小車系統(tǒng)設(shè)計[J].電子設(shè)計工程,2013,21(23):178-180,184.
[3]董杰,王國豹.基于STM32的智能循跡往返小車設(shè)計[J].電子設(shè)計工程,2013,21(12):158-160.
[4]顧志華,戈惠梅,徐曉慧,等.基于多傳感器的智能小車避障系統(tǒng)設(shè)計[J].南京師范大學(xué)學(xué)報,2014,14(1):12-17.
[5]戈惠梅,徐曉慧,顧志華,等.基于Arduino的智能小車避障系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2014,37(11):118-120.
[6]李波,楊衛(wèi),張文棟,等.一種智能小車自主尋/循跡系統(tǒng)設(shè)計[J].計算機測量與控制,2012,20(10):2798-2801.
[7]徐鶯.基于間接PID的智能車控制算法研究[J].湖北廣播電視大學(xué)學(xué)報,2008(5):155-156.
[8]黃健,呂林濤,范暉.基于LDC1614的循跡小車研制[J].傳感器與微系統(tǒng),2018,37(8):88-90,93.