摘 要:針對(duì)2023年(第八屆)四川省大學(xué)生機(jī)器人大賽機(jī)器車循跡賽項(xiàng)要求,使用STM32主控芯片、4路紅外傳感器、線性CCD傳感器等模塊設(shè)計(jì)自主循跡與競(jìng)速的循跡機(jī)器車。該設(shè)計(jì)主要從小車循跡和競(jìng)速兩部分著手,利用紅外傳感器的紅外輻射熱效應(yīng)原理,輸出二值邏輯并控制傳感器狀態(tài),進(jìn)而驅(qū)動(dòng)小車自主循跡;結(jié)合線性CCD傳感器的線性掃描特點(diǎn),對(duì)賽道邊緣進(jìn)行圖像掃描,動(dòng)態(tài)輸出模擬信號(hào),控制主控芯片,從而驅(qū)動(dòng)小車自主避障競(jìng)速。該小車運(yùn)行可靠性良好,抗干擾能力較強(qiáng),對(duì)不同的賽道也有很好的適應(yīng)性和穩(wěn)定性。
關(guān)鍵詞:STM32;循跡機(jī)器車;自主循跡;競(jìng)速;紅外傳感器;線性CCD傳感器
中圖分類號(hào):TP242.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2025)02-0-03
0 引 言
2023年(第八屆)四川省大學(xué)生機(jī)器人大賽是四川省教育廳主辦、西南石油大學(xué)承辦的省級(jí)大學(xué)生高規(guī)格賽事,涉及項(xiàng)目多達(dá)14項(xiàng),本次競(jìng)賽團(tuán)隊(duì)成員仔細(xì)研讀了文件并結(jié)合實(shí)驗(yàn)室實(shí)際情況,參加了機(jī)器車循跡賽事。該賽項(xiàng)由小車循跡和小車競(jìng)速兩部分組成,競(jìng)賽要求參賽成員自主研制一臺(tái)無(wú)人干涉,能夠自主完成循跡和競(jìng)賽要求的循跡機(jī)器車,并且該機(jī)器車需具備選擇不同模式的切換開關(guān)[1]。因此,基于競(jìng)賽要求,團(tuán)隊(duì)成員考慮從總體設(shè)計(jì)方案、硬件電路、軟件流程、測(cè)試結(jié)果等環(huán)節(jié)出發(fā),設(shè)計(jì)一種基于STM32的自主循跡機(jī)器車。
1 總體設(shè)計(jì)方案
循跡機(jī)器車主要由控制模塊、執(zhí)行模塊、信號(hào)采集模塊組成。系統(tǒng)整體結(jié)構(gòu)如圖1所示。
控制模塊采用STM32F103C8T6主控芯片[2],執(zhí)行模塊采用減速比為1∶48的有刷直流減速電機(jī)[3],信號(hào)采集模塊采用4路紅外傳感器和128路像素的線性CCD攝像頭采集賽道信息,實(shí)現(xiàn)賽道元素的識(shí)別[4]。
2 主要硬件電路設(shè)計(jì)
2.1 主控模塊
本設(shè)計(jì)選用STM32F103C8T6單片機(jī)作為循跡機(jī)器車的主控模塊,該模塊程序存儲(chǔ)器容量為64 KB,最高工作頻率可以達(dá)到72 MHz,具有高性能、低成本和低功耗等特點(diǎn)[5]。主控模塊配合編程軟件Keil μVision5對(duì)紅外循跡模塊、競(jìng)速避障模塊、按鍵切換模塊、電機(jī)驅(qū)動(dòng)模塊等進(jìn)行程序的編譯與操控[6]。系統(tǒng)主控模塊及其引腳如圖2所示。
設(shè)計(jì)中,通過PB12、PC13~PC15讀取4路紅外傳感器模塊采樣值,通過PB13~PB15讀取線性CCD模塊采樣值,模式轉(zhuǎn)換可通過PB0、PB1控制切換按鍵開關(guān)實(shí)現(xiàn),PB6、PB7輸出PWM值,PB4、PB5控制循跡機(jī)器車右側(cè)電機(jī)轉(zhuǎn)動(dòng),PB8、PB9控制循跡機(jī)器車左側(cè)電機(jī)轉(zhuǎn)動(dòng)。
2.2 電機(jī)驅(qū)動(dòng)模塊
電機(jī)驅(qū)動(dòng)模塊采用TB6612FNG驅(qū)動(dòng)芯片來(lái)驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn)[7]。本次設(shè)計(jì)過程中,可通過控制驅(qū)動(dòng)芯片的AIN1、AIN2、BIN1、BIN2、PWMA、PWMB電平高低來(lái)控制電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停止。
采用PWM脈寬調(diào)制技術(shù)對(duì)電機(jī)速度進(jìn)行控制,當(dāng)10 kHz的PWM波輸入到電機(jī)驅(qū)動(dòng)電路時(shí),驅(qū)動(dòng)電路會(huì)根據(jù)PWM占空比的不同,在每個(gè)PWM信號(hào)周期內(nèi),控制電機(jī)輸出不同的電壓值,從而實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的精準(zhǔn)控制。
2.3 競(jìng)速避障模塊
競(jìng)速避障模塊選用TSL1401CL線性CCD對(duì)賽道邊緣進(jìn)行識(shí)別,進(jìn)而實(shí)現(xiàn)循跡機(jī)器車在規(guī)定賽道內(nèi)獨(dú)自競(jìng)速。該模塊包含128個(gè)線性排列的光電二極管,當(dāng)拍攝一段圖像畫面后,圖像僅有一個(gè)像素寬的長(zhǎng)條,從左到右分成128個(gè)AD數(shù)據(jù),每個(gè)AD數(shù)據(jù)表示像素灰度值,采集到的灰度值將在AO線上以模擬信號(hào)的形式輸出[8]。
本次設(shè)計(jì)中,利用STM32主控芯片的PB14、PB15引腳對(duì)SI和CLK引腳發(fā)出方波信號(hào),TSL1401CL的AO口則會(huì)依次輸出128個(gè)像素點(diǎn)的模擬信號(hào)至STM32主控芯片。
2.4 循跡模塊
循跡模塊采用4路紅外傳感器,用于檢測(cè)白色賽道中的黑色線路,并按照黑色線路進(jìn)行循跡。該傳感器是一種集發(fā)射和接收于一體的光電傳感器,檢測(cè)距離為1 mm~10 cm,可通過滑動(dòng)變阻器進(jìn)行調(diào)節(jié),輸出接口為6 pin接口,輸出TTL電平,可直接與STM32主控芯片的I/O口連接[9]。
3 軟件流程分析
3.1 循跡軟件流程
本次循跡場(chǎng)地采用4路紅外傳感器實(shí)現(xiàn)循跡機(jī)器車循跡,其基本原理為利用物體對(duì)光的反射性質(zhì),尋找賽道中的黑線,當(dāng)紅外線發(fā)射到黑線上時(shí)會(huì)被黑線吸收,發(fā)射到其他顏色的材料上時(shí)會(huì)部分被反射到紅外線的接收管上[10],最后轉(zhuǎn)換成二值邏輯“0”和“1”。再結(jié)合循跡賽道,對(duì)傳感器狀態(tài)進(jìn)行分析,定義中間兩路巡線一直在黑線上時(shí),低電平有效,小車直行,當(dāng)任意一個(gè)紅外傳感器偏離賽道,小車會(huì)自動(dòng)糾正,如果最外面的傳感器檢測(cè)到黑線,則小車將以更大速度行駛到正確的賽道上。依據(jù)賽道和紅外傳感器的狀態(tài),得出循跡算法軟件流程,如圖3所示。
3.2 競(jìng)速軟件流程
根據(jù)比賽規(guī)定,競(jìng)速場(chǎng)地的弧度尺寸不做具體規(guī)定,由組委會(huì)根據(jù)具體情況確定。因此,為增加循跡機(jī)器車的適應(yīng)性,采用線性CCD傳感器檢測(cè)賽道邊界線。當(dāng)線性CCD傳感器掃到白線AD值時(shí),返回一個(gè)較高的電壓值;掃到黑線AD值時(shí),返回一個(gè)較低的電壓值,并進(jìn)行二值化處理,把模擬信號(hào)轉(zhuǎn)換成“0”和“1”[11]。
在識(shí)別直道的過程中,賽道引導(dǎo)線處于賽道兩邊,但CCD在左右邊沿采集的數(shù)據(jù)存在一定的誤差,所以左右各略去5個(gè)點(diǎn),使用118個(gè)點(diǎn)的數(shù)據(jù),此時(shí)59即為期望的中心值。在進(jìn)行邊緣檢測(cè)時(shí),通過從中心向兩邊掃描的方式進(jìn)行掃描,利用動(dòng)態(tài)閾值法獲取中心值,并與期望中心值59比較,最終判斷小車的轉(zhuǎn)向。
依據(jù)賽道和CCD傳感器的掃描數(shù)據(jù),得出競(jìng)速算法軟件流程,如圖4所示。
4 測(cè)試結(jié)果
團(tuán)隊(duì)成員在實(shí)驗(yàn)室布置1∶1比賽場(chǎng)地,搭建測(cè)試環(huán)境,通過Keil μVision5軟件調(diào)整程序參數(shù),對(duì)循跡機(jī)器車的運(yùn)行軌跡不斷修正,使軌跡基本趨于穩(wěn)定,即循跡賽項(xiàng)一輪平均用時(shí)1 473 s,失誤率在10%以內(nèi),競(jìng)速賽項(xiàng)一輪平均用時(shí)468 s,失誤率在5%以內(nèi)。循跡和競(jìng)速功能穩(wěn)定與時(shí)長(zhǎng)測(cè)試結(jié)果見表1、表2。
5 結(jié) 語(yǔ)
本文以STM32主控芯片為核心,設(shè)計(jì)了紅外循跡電路、競(jìng)速避障電路、電機(jī)驅(qū)動(dòng)電路、按鍵切換電路等,輔以Keil μVision5軟件,編寫主程序、驅(qū)動(dòng)程序、信號(hào)采集程序等,經(jīng)過大量的測(cè)試與參數(shù)調(diào)整,循跡機(jī)器車運(yùn)行效果基本趨于穩(wěn)定,可以很好地滿足本次比賽要求。
通過2023年(第八屆)四川省大學(xué)生機(jī)器人大賽機(jī)器車循跡賽項(xiàng)驗(yàn)證,該小車運(yùn)行可靠性強(qiáng),性能穩(wěn)定,但是在完成時(shí)間和成功率方面還有待提高。依托該循跡機(jī)器車,團(tuán)隊(duì)榮獲機(jī)器車循跡賽項(xiàng)省級(jí)三等獎(jiǎng)。
參考文獻(xiàn)
[1]四川省普通本科院校學(xué)科競(jìng)賽平臺(tái).四川省大學(xué)生機(jī)器人大賽[EB/OL]. http://scxkjs.moocollege.com.
[2]陳梅芬,吳佳駿.基于STM32F103的顏色及形狀識(shí)別系統(tǒng)設(shè)計(jì)[J].山西電子技術(shù),2023(5):26-29.
[3]王瑞紅,張淑婷,王錚,等.智能循跡競(jìng)速賽車的設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)電技術(shù),2023(5):24-27.
[4]馮謠.基于CCD攝像頭智能循跡小車的研究與開發(fā)[J].浙江交通職業(yè)技術(shù)學(xué)院學(xué)報(bào),2018,19(z1):16-20.
[5]高正中,龔群英,宋森森.基于STM32的智能平衡車控制系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2016,39(14):46-48.
[6]洪一民,錢慶豐,章志飛.基于STM32的智能小車循跡避障測(cè)距的設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2022,12(1):12-13.
[7]劉漢忠,俞鵬,謝秦韜.基于CCD的循跡機(jī)器人小車模糊控制方法研究與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2019,42(9):95-97.
[8]米湯,尚友良,符曉玲.基于CCD傳感器的智能車路徑識(shí)別研究[J].科技與創(chuàng)新,2023(11):50-53.
[9]韓彩霞,黃藝,羅子波.智能循跡小車設(shè)計(jì)[J].電子設(shè)計(jì)工程,2023,31(23):58-62.
[10]仇越.基于STM32的智能小車設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2023,36(4):158-159.
[11]王信樂,劉祚時(shí).基于線性CCD的智能小車循跡系統(tǒng)設(shè)計(jì)與研究[J].制造業(yè)自動(dòng)化,2020,42(8):79-84.
作者簡(jiǎn)介:胡江瑜(1992—),男,碩士,工程師,研究方向?yàn)榍度胧较到y(tǒng)。
李光琴(1990—),女,碩士,講師,研究方向?yàn)榭刂婆c檢測(cè)技術(shù)。
王 瑩(1994—),女,講師,研究方向?yàn)殡姎夤こ碳捌渥詣?dòng)化技術(shù)。
收稿日期:2024-01-24 修回日期:2024-03-06