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