王福順 郭恒吉
摘 要:此設(shè)計主要是圍繞智能小車的避障功能進(jìn)行的,利用了超聲波的瞬態(tài)測距原理和紅外避障模塊遇障礙物時輸出呈低電平的原理,通過超聲波來檢測小車與障礙物之間的距離,并將檢測的距離與程序中的預(yù)定值進(jìn)行比較,然后做出判斷,并由微控制器stm32控制著電機(jī)和舵機(jī)的轉(zhuǎn)向,以此控制著小車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn),以及由舵機(jī)控制著超聲波測距模塊收發(fā)頭的朝向,從而在小車遇到障礙物時能實現(xiàn)自動避障。
關(guān)鍵詞:智能小車;stm32;舵機(jī);傳感器;避障
0 前言
如今社會發(fā)展迅速,互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等先進(jìn)智能技術(shù)愈加成熟,成為社會發(fā)展趨勢,而智能汽車作為其中一種,對社會生產(chǎn)發(fā)展起著十分重要的支撐作用。因此,對智能車功能的研究有著重要的實際意義。
1 總體設(shè)計方案
以二驅(qū)動小車車模為載體,以舵機(jī)、云臺和HC-SR04超聲波模塊三者共同組成輪式機(jī)器人頭部,采用兩節(jié)1.5 V干電池并搭配穩(wěn)壓管來作為簡單的直流穩(wěn)壓電源,選用直流減速電動機(jī),以L298N驅(qū)動模塊作為驅(qū)動部分,以STM32F103ZET6芯片為系統(tǒng)控制核心,采用其最小系統(tǒng)板的形式,另外以兩個紅外避障模塊來配合超聲波測距模塊進(jìn)行避障,最后利用Keil的開發(fā)環(huán)境對系統(tǒng)程序進(jìn)行編寫調(diào)試。
2 硬件設(shè)計
2.1 超聲波模塊
HC-SR04超聲波模塊可提供2cm~400cm的非接觸式距離感測功能,測距精度可達(dá)3mm,模塊包括超聲波發(fā)射器、接收器與控制電路。其基本工作原理如下:
(1)利用IO口TRIG觸發(fā)測距,給出至少10μs的高電平信號;
(2)由模塊本身自動發(fā)送8個40KHz的方波,自動檢測是否有信號返回;
(3)若有信號返回,則通過IO口ECH0輸出一個高電平,而高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間;
(4)測量距離=(高電平時間*聲速(340m/s))/2.
注:聲速受到溫度等因素的影響,未必是340m/s,故測量距離存在一定誤差.
2.2 舵機(jī)
舵機(jī)是一種位置伺服的驅(qū)動器,適用于角度不斷變化并保持的控制系統(tǒng),具有控制簡單、大扭力、成本低、易安裝調(diào)試等特點。其主要性能取決于最大力矩和工作速度,單位:秒/60度。例如,機(jī)器人機(jī)電控制系統(tǒng)中,舵機(jī)的控制效果是影響系統(tǒng)整體性能的重要因素。另外,舵機(jī)易于控制和輸出,能夠作為基本的輸出執(zhí)行機(jī)構(gòu),使得它易與MCU的接口相連。舵機(jī)的控制信號是PWM信號,可通過改變占空比來改變舵機(jī)的位置。此舵機(jī)輸出軸轉(zhuǎn)角在0°~180°變化,其脈沖寬度在0.5ms~2.5ms變化。
2.3 紅外避障模塊
當(dāng)模塊檢測到障礙物時,OUT端口持續(xù)輸出低電平信號(0),反之輸出為高電平(1);其可直接與單片機(jī)相連,檢測角度為35°,最小檢測距離達(dá)2~3cm,可通過電位器調(diào)節(jié)檢測距離,面向電位器,順時針旋轉(zhuǎn)電位器,則檢測距離增大,反之減小。
2.4 驅(qū)動模塊
此系統(tǒng)設(shè)計所使用的驅(qū)動模塊為L298N模塊,其使用L298N作為主驅(qū)動芯片,具有驅(qū)動能力強(qiáng),發(fā)熱量低,抗干擾能力強(qiáng)的特點,且使用大容量電容以便續(xù)流保護(hù)二極管,提高可靠性,其驅(qū)動電壓為5V~35V,工作邏輯電壓為5V,最大邏輯電流為36mA,采用H橋雙路驅(qū)動工作模式。
2.5 系統(tǒng)微控制器
根據(jù)程序存儲容量,可將ST芯片分為LD(<64KB)、MD(<256KB)、HD(>256KB)三類。此系統(tǒng)設(shè)計所選MCU為STM32F103ZET6,屬于HD類。它是基于ARM Cortex-M3核心的32位微控制器,屬于LQFP-144封裝,主頻72MHz,擁有512KB內(nèi)部flash、64KBSRAM、8個定時器,5路USART,多達(dá)80個GPIO且大多兼容5V邏輯,支持片外高速晶振(8MHz)和片外低速晶振(32MHz),支持JTAG/SWD調(diào)試,可與價格低廉的仿真器配合,實現(xiàn)高速、低成本開發(fā),通過片內(nèi)BOOT區(qū)實現(xiàn)串口的在線程序燒寫(ISP),CPU工作電壓為2.0V~3.6V。由此可見STM32F103ZET6芯片片上資源十分豐富,可快速驗證片上外設(shè)功能,方便移植到其它中、低容量的F1系列芯片上,使得設(shè)計開發(fā)更加方便快捷。
2.6 電源部分
電源部分主要采用干電池、升壓模塊和穩(wěn)壓管進(jìn)行供電的方式。利用兩節(jié)1.5V的干電池作為直流電源,通過DC-DC可調(diào)升壓穩(wěn)壓模塊將3V的電壓上調(diào)至接近12V,然后與L298N的VCC接口(12V)相連,以便提供足夠的動力驅(qū)動電動機(jī);另將3V直流電源經(jīng)穩(wěn)壓管與MCU相連,以便為CPU提供所需電能。
3 軟件設(shè)計
在系統(tǒng)main()函數(shù)前定義一些子函數(shù),包括啟動超聲波、小車前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止、超聲波測距、延時、定時器初始化、中斷服務(wù)程序等函數(shù)。而程序流程圖中僅以hongwai= =1作為標(biāo)志,統(tǒng)一代表遇到障礙時左右避障模塊中任何一個輸出為低電平的情況,并不是用“1”來直接表示低電平,“1”代表有障礙物。
4 結(jié)束語
對于移動智能設(shè)備,避障是最基本且不可缺少的功能之一,一旦缺失,便可能帶來巨大的經(jīng)濟(jì)和安全損失。該設(shè)計主要采用超聲波模塊進(jìn)行避障,避障效果存在一定局限性,但若將超聲波模塊改用快速捕捉移動物體的高清攝像頭,以此采集小車或移動機(jī)器人行駛過程中前方及周圍情況的障礙物信息,同時增加車載傳感器的數(shù)量并安裝在合適的方向和位置,則有望進(jìn)一步提高避障的及時性和小車的安全性,也有利于應(yīng)用在更廣的領(lǐng)域和范圍。
參考文獻(xiàn):
[1]郭天祥.新概念51單片機(jī)C語言教程-入門、提高、開發(fā)、拓展全攻略[M].北京:電子工業(yè)出版社,2009.1.
[2]沈紅衛(wèi)等.STM32單片機(jī)應(yīng)用與全案例實踐[M].北京:電子工業(yè)出版社,2017.6.
[3]張勇.ARM Cortex-M3嵌入式開發(fā)與實踐-基于STM32F103[M].北京:清華大學(xué)出版社,2017.
[4]繆璐婷.基于STM32的循跡避障智能車設(shè)計[J].技術(shù)交流,2017.
[5]李亞巨,李戰(zhàn)勝等.基于stm32f103zet6的智能小車的制作[J].智能應(yīng)用,2013.