江蘇大學(xué) 繆璐婷
基于stm32的循跡避障智能車設(shè)計(jì)
江蘇大學(xué) 繆璐婷
針對(duì)人工運(yùn)載貨物存在效率低、耗費(fèi)人力等問題,設(shè)計(jì)一款用于物品搬運(yùn)的循跡避障智能車?;赟TM32微控制器,通過L293D驅(qū)動(dòng)控制芯片實(shí)現(xiàn)對(duì)直流電機(jī)的驅(qū)動(dòng),利用紅外和超聲波傳感器分別檢測(cè)智能車的循跡軌道和障礙物,并將感知的信號(hào)反饋于單片機(jī),結(jié)合軟件編程實(shí)現(xiàn)智能車前進(jìn)、轉(zhuǎn)向、后退等循跡避障功能。
智能車;STM32F103;循跡避障;PWM波形
隨著工農(nóng)業(yè)的發(fā)展和市場(chǎng)需求,智能機(jī)器人技術(shù)飛速發(fā)展,并廣泛應(yīng)用于各行各業(yè)之中,尤其多功能智能車成為了主流趨勢(shì)[1]。智能車是指將汽車模型化,并以此為載體裝載各種功能型的控制器、傳感器、執(zhí)行器等裝置,通過傳感系統(tǒng)感知和智能信息交換,以實(shí)現(xiàn)循跡、避障、無(wú)人駕駛等功能[2]。本文在此背景下,設(shè)計(jì)了一款主要用于智能運(yùn)載貨物的智能車,基于stm32微控制器、超聲波測(cè)距模塊、紅外線模塊等設(shè)備,并通過軟硬件設(shè)計(jì)開發(fā),實(shí)現(xiàn)智能車的按規(guī)定路線行走避障,以到達(dá)指定目標(biāo)。
結(jié)合本文設(shè)計(jì)的總體方案,涉及的系統(tǒng)組成部分主要包括主微控制器、紅外循跡模塊、電源模塊、超聲波避障模塊以及動(dòng)力驅(qū)動(dòng)模塊,該系統(tǒng)結(jié)構(gòu)如圖1所示,循跡避障模塊分別采用紅外和超聲波傳感器,以判斷智能車前進(jìn)、停止、轉(zhuǎn)向,主控芯片采用STM32F103單片機(jī),將所得的紅外信號(hào)和測(cè)距信息分析處理后將對(duì)應(yīng)的PWM波傳送至左右電機(jī),若左右電機(jī)轉(zhuǎn)速相同,則實(shí)現(xiàn)智能車前進(jìn),反之轉(zhuǎn)速不相同時(shí),根據(jù)差速原理實(shí)現(xiàn)繞點(diǎn)轉(zhuǎn)向,轉(zhuǎn)彎半徑,其中L為兩車輪距離,v1和v2為輪速。
圖1 系統(tǒng)結(jié)構(gòu)圖
2.1 主控制板
主控制板是循跡避障智能車的核心,承擔(dān)著接收指令和控制外部模塊的任務(wù),主控制板采用STM32F103單片機(jī)作為控制芯片,STM32F103系列是以ARM32位的cortex-M3作為內(nèi)核,存儲(chǔ)器為64KB的SRAM,擁有串行調(diào)試(SWD)和JTAG接口兩種模式,8個(gè)定時(shí)器可實(shí)現(xiàn)PWM波形輸出功能,48~144個(gè)通用 及復(fù)用I/O 端口,是一個(gè)高性能、功能強(qiáng)大的處理器,一方面增強(qiáng)了對(duì)整個(gè)系統(tǒng)控制的穩(wěn)定性和有效性,另一方面對(duì)智能車研發(fā)和性能升級(jí)給予了保障。
2.2 電源驅(qū)動(dòng)模塊
智能車采用直流電機(jī)驅(qū)動(dòng),驅(qū)動(dòng)芯片使用美國(guó)德州儀器生產(chǎn)的驅(qū)動(dòng)芯片L293D,該芯片雙向驅(qū)動(dòng)電流最高不超過1A,且維持電壓在4.5-36V[3]。采用脈沖寬度調(diào)制(PWM)來改變電機(jī)輸出功率,即通過定時(shí)器改變周期內(nèi)高低電平的占空比來改變輸出電壓,從而實(shí)現(xiàn)左右電機(jī)的轉(zhuǎn)速控制。兩路PWM波信號(hào)輸入端與單片機(jī)定時(shí)器的輸出端相連,驅(qū)動(dòng)模塊上的IN1~I(xiàn)N4邏輯引腳分別連接對(duì)應(yīng)的單片機(jī)I/O端口,以此控制左右電機(jī)轉(zhuǎn)速。
2.3 超聲波避障模塊
超聲波避障本質(zhì)上是通過在空氣中超聲波傳播時(shí)的速度為已知條件,測(cè)量發(fā)射出去的聲波遇到障礙物反射回來的時(shí)間,再利用發(fā)射和接收聲波的時(shí)間差和距離計(jì)算公式計(jì)算出超聲波聲源到障礙物的實(shí)際距離,即 ,s為聲源與障礙物之間的測(cè)量距離,v為超聲波在空氣中的傳播速度,T為聲源與障礙物之間傳播時(shí)間的一半數(shù)值,其中,t為實(shí)際溫度。
本設(shè)計(jì)使用HC-SR04超聲波模塊作為避障模塊,該模塊探測(cè)距離為2~400cm,最高精度可達(dá)0.3cm。該模塊上有電源(VCC)、接地(GND)、發(fā)射(TRIG)和 接收(ECHO)4種端口引腳輸出,并將VCC、GND引腳分別與STM32F103控制板上的電源、接地端口相連,聲波的發(fā)射端和接收端與控制板上對(duì)應(yīng)的I/0口連接。超聲波測(cè)距利用I/O觸發(fā)實(shí)現(xiàn),即單片機(jī)先發(fā)送不低于10μs高平信號(hào)至發(fā)射端口,指令發(fā)射端發(fā)送8個(gè)40kHz的方波,此時(shí)接收端口不斷檢測(cè)是否有聲波信號(hào)返回,若檢測(cè)到信號(hào)返回,I/O口輸出高電平,且該高電平保持的時(shí)間就是超聲波從發(fā)射到接收的時(shí)間,最后根據(jù)以上計(jì)算公式,測(cè)得智能車距離障礙物距離,并通過程序控制實(shí)現(xiàn)避障及蜂鳴器報(bào)警。
2.4 紅外循跡模塊
紅外傳感器具有功耗低、成本低、抗干擾能力強(qiáng)等諸多優(yōu)點(diǎn),因此本文使用紅外探測(cè)法實(shí)現(xiàn)自動(dòng)循跡功能。所設(shè)計(jì)的智能車在設(shè)置的黑帶軌道上行駛,兩對(duì)紅外收發(fā)管安置于車體前端并對(duì)地,與地面相隔1cm左右,根據(jù)接受到的反射光線強(qiáng)弱來判斷是否在軌跡上。
黑帶軌跡由反射式光電開關(guān)辨認(rèn),當(dāng)智能車行駛在黑帶上時(shí),因?yàn)楹谏芪沾蟛糠止饩€,傳感器發(fā)射出去的紅外光線反射回來很少,光敏三極管無(wú)法通路,低電平信號(hào)傳送至單片機(jī)芯片進(jìn)行分析處理后,使智能車做出相應(yīng)的執(zhí)行動(dòng)作;反之,發(fā)射管發(fā)射出去的紅外光線大部分反射被接收管接收,這時(shí)電路中的光敏三極管導(dǎo)通,高電平信號(hào)發(fā)送至STM32微控制器接口引腳。
2.5 系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)是控制系統(tǒng)的核心,本文采用自上而下的設(shè)計(jì)理念,主程序軟件設(shè)計(jì)是系統(tǒng)單片機(jī)控制的重要部分,其循跡避障系統(tǒng)主程序流程圖如圖3所示。上電后先進(jìn)行模塊初始化,包括時(shí)鐘配置、延時(shí)函數(shù)初始化以及調(diào)試程序時(shí)所需串口的初始化,進(jìn)入判斷模式,即先執(zhí)行循跡子函數(shù),再進(jìn)行避障判斷,整個(gè)系統(tǒng)主程序操作處于while()循環(huán)內(nèi)。
圖3 主程序流程圖
本文根據(jù)設(shè)計(jì)內(nèi)容和市場(chǎng)需求,從硬件設(shè)計(jì)和軟件設(shè)計(jì)出發(fā),基于STM32F103微控制器設(shè)計(jì)了一款循跡避障智能車,主要用于工廠、超市等場(chǎng)合的貨物搬運(yùn)。采用Keil Vision5平臺(tái)進(jìn)行開發(fā),并利用C語(yǔ)言編寫各功能模塊子函數(shù),具有明顯的適用性與擴(kuò)展性。整個(gè)設(shè)計(jì)由主控程序?qū)⒏髯映绦蛉诤希瑢?shí)現(xiàn)了小車的前進(jìn)、轉(zhuǎn)向和停止,并且能夠在傳感器檢測(cè)下實(shí)現(xiàn)簡(jiǎn)單的循跡避障功能,具有很好的實(shí)際應(yīng)用意義。
[1]劉磊,孫曉菲等.基于STM32的可遙控智能跟隨小車設(shè)計(jì)[J].電子測(cè)量技術(shù),2015,6:31-33.
[2]劉少軍,王瑜瑜.智能搬運(yùn)機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)[J].機(jī)械與電子,2015,08(275):77-80.
[3]陳夢(mèng)婷,胡白燕等.基于單片機(jī)的智能循跡避障小車的設(shè)計(jì)與實(shí)現(xiàn)[J].智能機(jī)器人,2016,4:47-51.