歐雪霞
(河源理工學(xué)校,廣東河源,517000)
為提升生活便利,智能化是當(dāng)今科技研究熱點(diǎn)。智能掃地機(jī)器人可實(shí)現(xiàn)自動清掃,較之傳統(tǒng)的人工清掃清潔效率高。而智能掃地機(jī)器可以輕松解決人工清掃的疲勞等問題,可替代人類完成清潔工作節(jié)省時間,從而提高總體生活質(zhì)量。
本設(shè)計(jì)在小車的頂部安裝按鍵和LCD液晶顯示屏,按鍵用于設(shè)置小車各種功能參數(shù),顯示屏用于顯示障礙物的方向以及距離。綜合以上考慮選擇設(shè)計(jì)兩個電路板的方案,首個電路板為實(shí)現(xiàn)人機(jī)交互的屏幕按鍵板,安裝在小車頂部。第二個電路板是以STM32單片機(jī)為核心的核心控制板,通過STM32讀取紅外測距傳感器和紅外避障傳感器的數(shù)據(jù)信息進(jìn)行控制電機(jī)的前進(jìn)和后退以及舵機(jī)的方向?qū)崿F(xiàn)避障功能,讀取按鍵設(shè)置的各功能參數(shù)輸出至LCD顯示屏。內(nèi)部設(shè)置一個DC3-10P接口可以和小車頂部的屏幕按鍵板相連進(jìn)行通信,智能小車原理框圖如圖1所示。
圖1 智能掃地小車原理框圖
本設(shè)計(jì)核心控制板主要以STM32單片機(jī)為控制核心芯片,電源穩(wěn)壓電路以78L05和7533穩(wěn)壓芯片作為本設(shè)計(jì)的穩(wěn)壓供電系統(tǒng)。該芯片的最高耐壓5.5V,最大輸出電流1.5A。吸塵風(fēng)扇電機(jī)只有一個方向轉(zhuǎn)動,本設(shè)計(jì)采用NPN三極管作為吸塵風(fēng)扇開關(guān),設(shè)計(jì)紅外測距傳感器接口以及紅外避障傳感器接口連接傳感器模塊。
采用兩個18650鋰電池串聯(lián)給小車供電,鋰電池滿電電壓值為8.4V。本設(shè)計(jì)舵機(jī)和紅外測距傳感器等模塊需5V供電電壓,而STM32單片機(jī)及液晶顯示屏需3.3V供電電壓。因此設(shè)計(jì)采用78L05穩(wěn)壓芯片提供5V穩(wěn)壓輸出,采用HT7533穩(wěn)壓芯片提供3.3V穩(wěn)壓輸出。本設(shè)計(jì)使用的HT7533穩(wěn)壓芯片具有低壓差和低功耗等優(yōu)點(diǎn)。在提供低差壓以外功耗較低可有效減少充電次數(shù),電源穩(wěn)壓電路如圖2所示。
圖2 電源穩(wěn)壓電路圖
電機(jī)驅(qū)動由TC117HS芯片作為驅(qū)動芯片,該芯片內(nèi)置H橋電路可驅(qū)動小車前進(jìn)和后退及停止功能。芯片輸出OUTA和OUTB引腳分別接到電機(jī)兩個引腳上,通過改變引腳電平高低控制小車向前、向后行駛及停止。電機(jī)在開關(guān)瞬間會產(chǎn)生尖峰波形,在電機(jī)接口處設(shè)計(jì)四個二極管用于吸收尖峰干擾信號,確保電路工作穩(wěn)定,電機(jī)驅(qū)動電路如圖3所示。
圖3 電機(jī)驅(qū)動電路圖
利用NPN三極管的飽和與截止?fàn)顟B(tài)對風(fēng)扇進(jìn)行控制,R3電阻為基極下拉電阻,當(dāng)PB7引腳無信號時可將該引腳拉至低電平使三極管處于截止?fàn)顟B(tài),R2電阻起限流作用。當(dāng)PB7引腳輸出高電平三極管導(dǎo)通風(fēng)扇開啟,輸出低電平三極管截止風(fēng)扇關(guān)閉。在電路接口處設(shè)計(jì)一個二極管用于吸收風(fēng)扇開關(guān)產(chǎn)生的尖峰電壓,風(fēng)扇驅(qū)動電路如圖4所示。
圖4 風(fēng)扇驅(qū)動電路圖
電路板主要以按鍵和屏幕為主,電路板安裝在小車頂部方便觀察屏幕顯示,按鍵可啟動和關(guān)閉小車。此外,還有設(shè)置相關(guān)功能參數(shù)。電路板上設(shè)有一個接口通過一根數(shù)據(jù)線連接到內(nèi)部的核心控制板進(jìn)行供電和通信。電路中設(shè)有一個HT7533穩(wěn)壓芯片可以輸出3.3V給LCD12864液晶顯示屏供電,該芯片輸出電流能力較小。為了確保STM32單片機(jī)供電穩(wěn)定性,該電路板增加了一個HT7533穩(wěn)壓芯片給LCD12864液晶顯示屏供電,屏幕按鍵電路如圖5所示。
圖5 屏幕按鍵板原理圖
本次軟件設(shè)計(jì)基于STM32芯片的HAL庫進(jìn)行開發(fā),程序設(shè)計(jì)主要由紅外測距程序、舵機(jī)控制、避障算法、按鍵驅(qū)動、LCD屏幕驅(qū)動等程序組成。避障算法程序通過紅外測距傳感器和紅外避障傳感器檢測障礙物距離和方向進(jìn)行避障。紅外測距程序通過IIC通訊協(xié)議對四個紅外測距傳感器的原始值進(jìn)行讀取并計(jì)算距離。按鍵驅(qū)動程序通過按鍵連接芯片引腳高低電平判斷按鍵是否被按下而實(shí)現(xiàn)其功能。
本設(shè)計(jì)需實(shí)時更新紅外測距傳感器的距離值,更新太快會增加單片機(jī)負(fù)擔(dān),更新太慢可能導(dǎo)致小車檢測到障礙物距離延時從而直接撞上障礙物。經(jīng)調(diào)試最終以100ms間隔時間對四個紅外測距傳感器進(jìn)行實(shí)時更新距離值。實(shí)現(xiàn)方法是通過定時器中斷定時每毫秒進(jìn)入一次中斷當(dāng)進(jìn)入100次。每100毫秒對四個紅外測距傳感器進(jìn)行原始數(shù)據(jù)讀取和計(jì)算,讀取紅外測距傳感器距離值流程如圖6所示。
圖6 紅外測距傳感器讀取數(shù)據(jù)流程圖
使用STM32單片機(jī)內(nèi)部定時器和自帶的比較器產(chǎn)生一個可調(diào)的PWM信號對舵機(jī)進(jìn)行控制。配置PWM的時鐘周期為20毫秒,配置系統(tǒng)時鐘經(jīng)過72分頻后定時器計(jì)數(shù)時鐘周期為1微秒,每經(jīng)1微秒定時器計(jì)數(shù)器加1一直到20000微秒完成一個PWM周期。當(dāng)定時器計(jì)數(shù)器值比RCC1寄存器值小時輸出高電平,否則輸出低電平。通過改變寄存器RCC1的值就可改變PWM高電平時間,從而控制舵機(jī)角度,舵機(jī)控制流程如圖7所示。
圖7 舵機(jī)控制流程圖
避障算法是程序設(shè)計(jì)核心,通過紅外測距傳感器測量小車與周圍障礙物的距離避免發(fā)生碰撞。避障算法原理是在小車周圍障礙物的距離,大于設(shè)定值時會一直保持往前行駛。當(dāng)檢測到障礙物距離小于15厘米時,紅外測距傳感器會對左右障礙物距離進(jìn)行判斷并選擇距離障礙物較遠(yuǎn)的方向拐彎。當(dāng)右上角或左上角檢測的紅外避障傳感器到障礙物時,小車掉頭會因空間不足直接撞上障礙物,避障核心算法流程如圖8所示。
圖8 避障算法流程圖
在小車四周放置不同距離障礙物,使用卡尺測量小車與障礙物的距離是否準(zhǔn)確并記錄數(shù)據(jù),表1為紅外測距傳感器測試數(shù)據(jù)。測量方式如圖9所示,紅外測距傳感器分辨率為1cm。紅外測距傳感器測試距離可達(dá)2~63cm,經(jīng)調(diào)試小車與障礙物距離15cm時改變行駛方向,距離太近容易撞上障礙物,距離太遠(yuǎn)角落清掃不干凈。智能小車實(shí)物如圖10所示。
圖9 紅外測距傳感器距離測試圖
圖10 實(shí)物圖
表1 紅外測距傳感器調(diào)試數(shù)據(jù)表
本設(shè)計(jì)完成對按鍵電路、電機(jī)電路以及風(fēng)扇控制電路的設(shè)計(jì)與調(diào)試,電路各項(xiàng)性能參數(shù)滿足設(shè)計(jì)要求。小車內(nèi)部安裝有吸塵風(fēng)扇和儲塵盒,完成了智能掃地小車的吸塵功能。通過紅外測距傳感器以及紅外避障傳感器實(shí)現(xiàn)小車遇見障礙物時,能夠判斷方向和距離改變方向選擇距離障礙物最遠(yuǎn)的方向行駛從而實(shí)現(xiàn)自動避障功能。此次設(shè)計(jì)符合題目要求的結(jié)構(gòu)簡單、操作便捷、成本低等特點(diǎn)。