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