胡徐勝,李賽紅,陶彬彬
基于STM32的循跡足球機(jī)器人設(shè)計(jì)
胡徐勝,李賽紅,陶彬彬
(無人機(jī)開發(fā)及數(shù)據(jù)應(yīng)用安徽高校聯(lián)合重點(diǎn)實(shí)驗(yàn)室 皖江工學(xué)院,安徽 馬鞍山,243031)
設(shè)計(jì)一種基于STM32的循跡足球機(jī)器人控制系統(tǒng),分別對(duì)循跡足球機(jī)器人電源、最小系統(tǒng)等各硬件模塊進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。在電源設(shè)計(jì)上實(shí)現(xiàn)了一個(gè)可以給最小系統(tǒng)板提供電源的microUSB接口,以方便在調(diào)試時(shí)無需外接電源。最后設(shè)計(jì)硬件成功,并進(jìn)行了各項(xiàng)性能的測(cè)試。測(cè)試結(jié)果表明,本設(shè)計(jì)控制效果較好。
stm32;循跡;電機(jī)控制;圖像處理
本文提出了一個(gè)基于STM32f103為控制器[1],通過OV7670傳感器采集外界信息以及障礙物的智能控制系統(tǒng)設(shè)計(jì)方案,以實(shí)現(xiàn)對(duì)智能循跡小車的設(shè)計(jì)[2]。充分利用控制器的高速運(yùn)算能力和處理能力,來實(shí)現(xiàn)循跡足球機(jī)器人按照規(guī)定路線行駛,以控制器自身具有的PWM波輸出功能來控制電機(jī)轉(zhuǎn)速?gòu)亩_(dá)到轉(zhuǎn)向等功能[3]。設(shè)計(jì)并制作具優(yōu)秀硬件與軟件系統(tǒng)的移動(dòng)機(jī)器人,在特定的越野場(chǎng)地上,翻越不同的障礙[4]。
本文所設(shè)計(jì)的足球機(jī)器人能夠沿白色引導(dǎo)線跑[5]。引導(dǎo)線寬度約 25~30 mm,引導(dǎo)線覆蓋障礙物,障礙物為黑色小車能夠識(shí)別障礙物并且能夠跨越障礙物。圖1為系統(tǒng)框圖。
圖1 整體設(shè)計(jì)系統(tǒng)框圖
該系統(tǒng)是通過圖像傳感器識(shí)別白色路徑,采用DAM方式采集視頻圖像信號(hào)經(jīng)過圖像二值化傳輸?shù)絊TM32f103控制器進(jìn)行處理,通過PID調(diào)節(jié)出來的PWM波的占空比來控制小車速度,以左右輪的PWM波占空比的不同實(shí)現(xiàn)左右電機(jī)轉(zhuǎn)速的不同從而實(shí)現(xiàn)轉(zhuǎn)向的目的[6]。此外,本設(shè)計(jì)采用減速電機(jī),能夠檢測(cè)小車速度反饋給控制器實(shí)現(xiàn)實(shí)時(shí)控制足球機(jī)器人的速度,在不同的路面上實(shí)現(xiàn)不同速度行駛以確保足球機(jī)器人的平穩(wěn),整個(gè)系統(tǒng)為閉環(huán)控制系統(tǒng)從而達(dá)到整個(gè)系統(tǒng)的精確控制[7]。
足球機(jī)器人首先通過圖像傳感器檢測(cè)路面上的白線,將檢測(cè)到的路面信息發(fā)生給STM32f103微處理器[8],STM32f103微處理器將圖像傳感器檢測(cè)到的路面信息經(jīng)過分處理、分析和決策,最后得出PID參數(shù)來控制電機(jī)轉(zhuǎn)速,確定足球機(jī)器人的方向以及接下來的行駛路線[9]。
采用STM32為本系統(tǒng)的主控制模塊,使用CMOS攝像頭作為路徑識(shí)別的傳感器[10]。通過CMOS攝像頭采集路徑上顏色信息再由STM32片上AD轉(zhuǎn)為數(shù)字信號(hào),經(jīng)過MCU進(jìn)行分析和判別,最后實(shí)現(xiàn)對(duì)循跡足球機(jī)器人直流電機(jī)的控制從而實(shí)現(xiàn)循跡越野的目的。一個(gè)系統(tǒng)的硬件是該系統(tǒng)的最基本的結(jié)構(gòu),決定一個(gè)系統(tǒng)的運(yùn)行是否穩(wěn)定,所以在設(shè)計(jì)該系統(tǒng)是充分考慮該系統(tǒng)的穩(wěn)定性使小車的行駛速度更快更穩(wěn)定,并且在圖2基礎(chǔ)上選擇最佳的模塊[11]。圖2為系統(tǒng)硬件框圖。
圖2 系統(tǒng)硬件框圖
首先,STM32外設(shè)接口特別豐富和強(qiáng)大的儲(chǔ)存空間這使得能夠拓展外接設(shè)備。其次,它的程序編寫只要使用C語言加上STM32的Thumb-2的指令集就可以,使得程序編寫更加方便、運(yùn)行更高效[12]。
1.3.1 最小系統(tǒng)電路設(shè)計(jì)
根據(jù)單片機(jī)最小系統(tǒng)先把電源、晶振以及復(fù)位先設(shè)計(jì)在一起,只要這三個(gè)部分搭建好單片機(jī)就可以運(yùn)行了。電源芯片采用的是AMS1117-3.3降壓穩(wěn)壓芯片,整個(gè)電路板的輸入5 V電壓通過AMS1117-3.3芯片降到3.3 V為STM32芯片提供電壓。為了后面連接其他模塊,在設(shè)計(jì)時(shí)預(yù)留了5 V和3.3 V的電源接口[13]。
圖3 最小系統(tǒng)原理圖
最小系統(tǒng)如圖3所示。特別之處在于,圖3設(shè)計(jì)了一個(gè)可以給最小系統(tǒng)板提供電源的microUSB接口,以方便在調(diào)試時(shí)無需外接電源。另外,還設(shè)有USB轉(zhuǎn)串口的接口,以便于程序的下載[14]。
1.3.2 JTAG和SWD電路設(shè)計(jì)
調(diào)試作為本設(shè)計(jì)的重要環(huán)節(jié),所以調(diào)試接口是必須要有的,一般有JTAG和SWD兩種模式。JTAG主要用于芯片內(nèi)部的測(cè)試,JTAG協(xié)議使用的是并口,需要用到JLink仿真器即一個(gè)小型USB到JTAG的轉(zhuǎn)換盒,它連接到計(jì)算機(jī)用的是USB接口。SWD接口是串行接口,使用的引腳也很少。在JTAG和SWD兩個(gè)模式相比之下,普通模式下JTAG更好用,在高速模式下SWD模式更可靠,而在大數(shù)據(jù)量的情況下JTAG下載程序會(huì)失敗。圖4為JTAG調(diào)試接口的原理圖。
圖4 JTAG調(diào)試接口原理圖
1.3.3 LED指示燈與按鍵電路設(shè)計(jì)
為了確定在接通電源和單片機(jī)程序運(yùn)行時(shí)是否正常,在設(shè)計(jì)時(shí)加入了兩個(gè)LED指示燈,分別為命名為power和function,其中在系統(tǒng)板接通電源時(shí)power這個(gè)指示燈亮起,而在燒入程序后運(yùn)行程序后function指示燈閃爍。LED指示燈原理圖如圖5所示。
圖5 LED指示燈原理圖
按鍵是不可缺少的一部分,所有單片機(jī)都必須存在的按鍵就是復(fù)位鍵,復(fù)位鍵為了在程序運(yùn)行過程中出現(xiàn)故障時(shí)能夠在不掉電狀況下使其回到初始狀態(tài),S2這個(gè)按鍵就是作為復(fù)位鍵來使用[15]。S1作為普通按鍵來使用,可配合編寫好的程序來使用或者用來調(diào)試時(shí)來使用。按鍵設(shè)計(jì)原理圖如圖6所示。
圖6 按鍵原理圖
1.3.4 microUSB電路設(shè)計(jì)
由于STM32芯片有USB端口分別為USB_DM和USB_DP,所以在microUSB接口設(shè)計(jì)時(shí)只需要接入電阻就可以了[16]。對(duì)于USB_DP端口要加入上拉電阻,因?yàn)樵赨SB接入host時(shí)如果是高速設(shè)時(shí)D+被拉高D-保持不變,在上拉過程中需要大概2.5 μs的時(shí)間,host這個(gè)時(shí)間內(nèi)便檢測(cè)到了該信號(hào)[17]。圖7為microUSB電路設(shè)計(jì)原理圖。
圖7 microUSB原理圖
1.3.5 電源模塊設(shè)計(jì)
系統(tǒng)采用LM2596S為芯片的降壓模塊,這個(gè)模塊可以將3.3 V到40 V降到1.25 V到35 V。由于電池的電壓為12 V,而整個(gè)系統(tǒng)的接入的電壓為5 V,通過調(diào)節(jié)電阻的阻值從而得到需要的電壓[18]。輸出電壓的計(jì)算可以由下列公式得出:
其中,ref=1.23 V需要的電壓為5 V,所以根據(jù)輸出電壓計(jì)算出2所需要的電阻:
其硬件電路如圖8。
圖8 LM2596S降壓模塊原理圖
系統(tǒng)采用MOS管H橋電機(jī)驅(qū)動(dòng)模塊用來實(shí)現(xiàn)直流減速電機(jī)的運(yùn)轉(zhuǎn)。市場(chǎng)上現(xiàn)有常見電機(jī)模塊有下面幾款,比如MOS管H全橋和L298N。最常用的是H橋驅(qū)動(dòng)芯片L298N,通過單片機(jī)的IO口輸入芯片控制端的電平,即可以控制電機(jī)進(jìn)行正反轉(zhuǎn)、停止的操作。H橋電機(jī)驅(qū)動(dòng)是由于它的外形與字母H相似,它是由四個(gè)三極管組成由兩個(gè)對(duì)角線的電流導(dǎo)通來控制電機(jī)的正反轉(zhuǎn),本設(shè)計(jì)采用的是MOS管H全橋驅(qū)動(dòng)電路,如圖9所示。
圖9 H橋驅(qū)動(dòng)電路
OV7670圖像傳感器以O(shè)V7670為主控芯片,擁有20個(gè)引腳。這款芯片需要數(shù)字電源和模擬電源,其中AVDD為模擬電源,DVDD是OV7670芯片的核電壓,需要1.8 V數(shù)字電源供電,而且這款芯片輸入輸出口也需要單獨(dú)供電,其供電電壓為1.7 V到3 V供電。
由于在模塊外部供電為3.3 V,所以整個(gè)模塊中使用了兩塊降壓芯片,分別為PAM3101DAB28和PAM3101DAB180,PAM3101DAB28芯片將3.3 V降壓成2.8 V給輸入輸出口供電,PAM3101DAB180芯片將2.8 V降壓到1.8 V為了給OV7670芯片的核電壓供電。圖10為OV7670模塊電路設(shè)計(jì)原理圖。
圖10 OV7670模塊電路原理圖
為了進(jìn)一步確定循跡足球機(jī)器人系統(tǒng)是否可行,在實(shí)驗(yàn)室構(gòu)建了這個(gè)循跡足球機(jī)器人,足球機(jī)器人使用的主要模塊包括藍(lán)牙模塊、電機(jī)驅(qū)動(dòng)模塊和OV7670圖像傳感器模塊,圖11為藍(lán)牙模塊,圖12為電機(jī)驅(qū)動(dòng)模塊,圖13為圖像傳感器模塊,圖14為STM32VCT6主控制器的最小系統(tǒng)。
圖11 藍(lán)牙模塊
圖12 電機(jī)驅(qū)動(dòng)模塊
圖13 圖像傳感器模塊
圖14 主控制器
測(cè)試部分就是對(duì)足球機(jī)器人系統(tǒng)的每一個(gè)模塊進(jìn)行檢測(cè),測(cè)試過程分為以下幾個(gè)部分:
(1)給各個(gè)模塊通電,使每個(gè)模塊正常工作;
(2)圖像識(shí)別測(cè)試。此次才用圖像識(shí)別測(cè)試是將循跡程序燒錄至主控制器,然后接入顯示器模塊,通過查看顯示器模塊能否顯示出圖像以及能否檢測(cè)出顏色。這個(gè)測(cè)試方法比較麻煩,需要對(duì)顯示器模塊進(jìn)行編程;
(3)電機(jī)驅(qū)動(dòng)測(cè)試。電機(jī)驅(qū)動(dòng)測(cè)試比較簡(jiǎn)單,在燒錄程序后運(yùn)行主控制器,在PWM輸出引腳接上示波器觀測(cè)示波器上的波形。然后接入電機(jī)驅(qū)動(dòng)模塊以及直流電機(jī),查看電機(jī)的轉(zhuǎn)動(dòng)。
根據(jù)測(cè)試,得到測(cè)試數(shù)據(jù)如表1所示。測(cè)試數(shù)據(jù)表明,足球機(jī)器人在各項(xiàng)指標(biāo)上都表現(xiàn)良好。
表1 測(cè)試數(shù)據(jù)
本設(shè)計(jì)以STM32為主控制器,以O(shè)V7670圖像傳感器模塊和電機(jī)驅(qū)動(dòng)模塊的循跡越野足球機(jī)器人,該設(shè)計(jì)實(shí)現(xiàn)了對(duì)循跡越野足球機(jī)器人的循跡功能,具有成本低和功能實(shí)用等特點(diǎn)。測(cè)試結(jié)果表明,本設(shè)計(jì)控制效果較好。
[1] 雷李, 李祖樞, 王牛. 國(guó)際機(jī)器人足球最新進(jìn)展[J]. 哈爾濱工業(yè)大學(xué)學(xué)報(bào): 自然科學(xué)版, 2004, 36(7): 978-980.
[2] 陳小平.國(guó)際機(jī)器人足球(RoboCup)最新進(jìn)展[J]. 機(jī)器人技術(shù)與應(yīng)用, 2001,1: 25-28.
[3] Ohnishi N, Imiya A. Ap pearance-based navigation and homing for autonomous mobile robot[J]. Image and Vision Computing. 2013, 31(6): 511-532.
[4] Colle E, Galerne S. Mobile robot localization by multiangulation using set inversion[J]. Robotics and Autonomous Systems, 2013, 61(1): 39-48.
[5] KitanoHetal. RoboCup: A Challenge Problem for AL Proceedings of RoboCup’97[M]. Spinger Press, 1997.
[6] Murphy R. Mirosot’ 97-Robotics competition corner[J]. Robotics and Autonomous System, 1998, 23: 251-281.
[7] 呂強(qiáng)國(guó). 集控式足球機(jī)器人的系統(tǒng)開發(fā)研究[J]. 自動(dòng)化與儀器儀表, 2016(5): 84-85.
[8] 洪炳熔, 韓學(xué)東, 孟偉. 機(jī)器人足球比賽研究[J]. 機(jī)器人, 2003, 25(4): 373-377.
[9] 謝云, 楊宜民, 彭超. 型機(jī)器人足球系統(tǒng)中通信子系統(tǒng)設(shè)計(jì)[J]. 電子技術(shù), 2001, 8: 19-21.
[10] 蔡自興, 賀漢根, 陳虹. 未知環(huán)境中移動(dòng)機(jī)器人導(dǎo)航控制研究的若干問題[J]. 控制與決策, 2002, 17(4):385-390.
[11] 王偉, 張晶濤, 柴天佑. PID參數(shù)先進(jìn)整定方法綜述[J].自動(dòng)化學(xué)報(bào), 2000, 26(3): 347-355.
[12] 蔣仙華, 熊蓉, 周科.預(yù)測(cè)模糊控制在足球機(jī)器人底層動(dòng)作優(yōu)化中的應(yīng)用[J].四川大學(xué)學(xué)報(bào): 工程科學(xué)版, 2003, 35(3): 79-82.
[13] 高健, 黃心漢, 彭剛, 等. 基于Fuzzy-PID的移動(dòng)機(jī)器人運(yùn)動(dòng)控制[J]. 控制工程, 2004, 11(6): 525-528.
[14] HEMAMIA, MEHRBI M G, CHENG R M. Synthesis for an optimal control law for path tracking in mobile robots[J]. Auto Matica, 1992, 28(2): 383-387.
[15] 余群明, 王會(huì)方, 張駿, 等. 足球機(jī)器人運(yùn)動(dòng)控制算法研究[J]. 湖南大學(xué)學(xué)報(bào): 自然科學(xué)版, 2006, 33(6): 42-45.
[16] 張健民, 楊華勇, 路甬祥. 基于工程參定法的模糊PID[J]. 信息與控制, 1998, 27(22): 66-70.
[17] 張恩勤, 施頌椒. 一類基于PID控制的新型模糊控制方法[J]. 上海交通大學(xué)學(xué)報(bào), 2000, 34(3): 630-634.
[18] 王亞剛, 邵惠鶴. 一種基于靈敏度的自整定最優(yōu)PI控制器[J]. 自動(dòng)化學(xué)報(bào), 2001, 27(1): 140-143.
Design of Track-based Soccer Robot Based on STM32
HU Xu-sheng, LI Sai-hong, TAO Bin-bin
(Anhui University Joint Key Laboratory for UAV Development and Data Application,WanJiang University of Technology, Ma’anshan, 243031,China)
This paper designs a tracking soccer robot control system based on stm32, and designs and implements the power supply, minimum system and other hardware templates of the tracking soccer robot. A microUSB interface which can supply power to the smallest system board is implemented in power supply design to facilitate debugging without external power supply. Finally, the hardware is successfully designed and tested. The test results show that the control effect of this design is good.
stm 32; tracking; motor control; image processing
TP273
A
1674-3261(2020)01-0018-04
10.15916/j.issn1674-3261.2020.01.0004
2019-06-19
安徽省高校省級(jí)自然科學(xué)研究重點(diǎn)項(xiàng)目(KJ2018A0618);皖江工學(xué)院基金項(xiàng)目(KJ2019A1275);皖江工學(xué)院校級(jí) 科研項(xiàng)目(WG1804)
胡徐勝(1982-),男,安徽太湖縣人,副教授,碩士。
優(yōu)先出版地址:http://kns.cnki.net/kcms/detail/21.1567.T.20191227.1039.016.html
責(zé)任編校:劉亞兵