章盼梅, 朱萬浩
(華南理工大學廣州學院a. 機械工程學院;b. 電氣工程學院,廣州510800)
隨著電子技術的快速發展,人們對生活品質要求越來越高,市面上出現了一批掃地機器人。掃地機器人集掃地、拖地、吸塵于一體,為人們打掃衛生帶來極大的方便。掃地機器人通常采用一鍵啟動方式,當人們需要它工作時,只需按下啟動按鈕,便按照預先設定的程序自動運行,它的缺點在于人們無法對它進行遠程監控[1]。本文利用STC單片機為中央控制器,微信訂閱號為上位機,結合云服務器、WiFi、以太網技術開發了一套遠程監控系統,實現了掃地機器人的遠程監控。
基于微信訂閱號的掃地機器人遠程監控系統分上位機、中間層及現場執行層3 部分[2]。上位機主要由基于微信訂閱號2 次開發的監控軟件,負責監控掃地機器人的運行狀態,例如:啟動、停止按鈕等;中間層主要由STC89C52 單片機組成,它是整個系統的核心部分,主要接收來自現場各傳感器發送過來的信號,經處理后發送給執行元件,控制掃地機器人工作。現場執行層主要由掃地、拖地、爬行、電子羅盤和紅外線避障等模塊組成,它們負責把現場的各種信號轉換為電信號,發送給單片機,單片機處理后發送給各類執行元件,保證掃地機器人正常工作,系統總體方案如圖1所示。

圖1 系統總體方案
掃地機器人硬件部分由單片機控制系統、羅盤探測、紅外、掃地、拖地等模塊組成,它們主要負責把現場信號轉換為電信號、處理信息和控制掃地機器人運行。
掃地機器人控制系統中央處理器采用STC89C52單片機。它是一款低功耗、高性能的微控制器,FLASH內存為8KB、RAM內存為512KB、I/ O接口32 個、定時器3 個,可同時實現多個單片機級聯,是一款非常適合掃地機器人的微控制器[3]。STC89C52 最小系統如圖2 所示,UCC引腳接5 V電源,RST引腳接由C1和R1構成的復位電路,XTAL1、XTAL2 接由晶振和電容構成的時鐘電路。

圖2 STC89C52單片機最小控制系統電路圖
羅盤探測模塊用磁阻傳感器感應地球磁場,將感應到的地磁信息轉換為數字信號輸送到單片機中。它的作用是檢測掃地機器人周圍的磁場強度,辨別前進的方向[4]。電子羅盤模塊由HMC5883L 芯片及外圍電路組成,當掃地機器人工作時,向羅盤芯片數據總線SDA發送地址0X3C,芯片收到信號后發送回0X3D指令應答單片機。此時,單片機和羅盤芯片建立了連接,單片機讀取羅盤芯片發送過來的磁場信號,根據磁場信號控制掃地機器人的運動方向,羅盤探測模塊電路如圖3 所示。

圖3 羅盤探測模塊電路圖
掃地機器人采用紅外模塊來識別故障,該模塊由發射模塊和接收模塊兩部分組成[5-6]。掃地機器人工作時,紅外發射模塊發射紅外線,當紅外線碰到故障物時,紅外接收模塊收到返回的紅外線,識別故障物的存在。紅外發射模塊發射紅外線,接收模塊接收紅外線,兩個模塊需相互配合,缺一不可。紅外發射模塊電路如圖4 所示,與非門74HC00 芯片與R1、R2、C1構成一個RC振蕩電路,與非門芯片6 腳形成一個方波信號,經過電阻R4驅動三極管Q1不斷地導通和關斷。三極管Q1不斷地導通和關斷,使發光二極管D1也不斷地導通和關斷,發送出一串連續的方波,完成紅外模塊發射紅外信號。

圖4 紅外發射模塊電路圖
紅外接收模塊由LM567 芯片及外圍電路組成,LM567 是一個音頻解碼器,能處理特定的信號。當紅外接收三極管接收到紅外信號時,產生一個方波信號發送到LM567 芯片的IN 腳,LM567 判斷接收的信號和芯片內部設定的信號是否一致,一致則OUT腳輸出一個低電平,不一致則OUT 腳輸出一個高電平,實現故障判斷功能[7-8],紅外接收模塊電路如圖5 所示。

圖5 紅外接收模塊電路圖
掃地機器人遠程監控系統采用微信訂閱號軟件平臺進行2 次開發。監控系統分為設備控制、數據監測、個人中心和智能控制算子系統。設備控制子系統包含自動和手動控制設備模塊,主要負責對紅外模塊、羅盤探測等模塊的控制;數據監測子系統包含實時數據和實時數據查詢模塊,主要對掃地機器人運行記錄數據等的采集;個人中心子系統包括用戶登錄注冊及查詢模塊,負責對用戶信息的管理;智能控制子系統包含設備決策控制模塊和數據信息推送模塊,負責設備智能控制方法的決策及優化[9],軟件系統功能結構如圖6所示。

圖6 軟件系統功能結構圖
掃地機器人控制方式分為手動控制、自動控制和遠程控制3 種方式[10]。手動控制是指在掃地機器人上按前進、后退等按鈕進行控制;自動控制是指通過按自動運行按鈕,掃地機器人按照已設定好的程序自動運行;遠程控制是指在手機微信端進行控制,通過云端實現遠距離的操作。掃地機器人控制按鈕包括前進、后退、掃地、拖地和自動運行等,在微信監控端點擊前進按鈕時,變量ctr_run ==1;當點擊后退按鈕時,變量ctr_run ==0。微信監控系統通過云服務器發送命令給單片機,經處理后控制設備的運行,設備控制子系統流程如圖7 所示。

圖7 設備控制子系統流程圖
掃地機器人在運行過程中,CPU 把相關的參數記錄下來,以便管理者查詢[11]。數據監測子系統中,主要有掃地機器人的掃地/拖地時間、掃地/拖地行走軌跡、設備前進/后退/啟動/停止等操作記錄、設備報警、故障等記錄。數據監測子系統中包含實時數據和歷史數據,實時數據是指掃地機器人現場運行的數據,實時的顯示在微信監控系統上;歷史數據是把以往至今的運行數據保存起來,供管理員查詢,如:掃地機器人從出廠至今的運行記錄,數據監測流程如圖8 所示。

圖8 數據監測子系統流程圖
根據用戶權限的不同,分為游客、普通用戶和管理員[12-13]。游客權限最低,只能查看監控系統;普通用戶指一般的使用者,權限比游客高,可以監控掃地機器人;管理員權限最高,可以查看系統中的任何信息。系統中默認給掃地機器人使用者一個管理員賬號,登錄管理員賬號,可以查看普通用戶的注冊申請、分配用戶的操作權限、增加或刪除用戶的信息。用戶成功注冊后,點擊登錄界面,登錄的信息通過Java 等技術驗證格式、內容等是否正確。同時,系統對用戶名密碼進行算法加密,防止數據被盜,個人中心子系統設計流程如圖9 所示。

圖9 個人中心子系統設計流程圖
系統測試是一個重要且必不可少的環節,是保證系統穩定可靠運行的關鍵[14-15]。在系統測試之前,首先組裝好單片機控制系統、羅盤探測、紅外檢測等模塊。在微信監控系統測試端,為方便更多消費者使用,選擇市場占有率較高、價格較便宜的Note8 智能手機,它采用Android系統、高通驍龍665 八核處理器、6GB RAM/ 128GB ROM,掃地機器人實物如圖10 所示。

圖10 掃地機器人實物
在微信監控系統界面端,設計有遠程、就地、掃地、拖地、前進等按鈕。點擊“遠程”按鈕,掃地機器人只接受微信控制,掃地機器人上的控制按鈕無法操作;點擊“就地”按鈕,情況剛好相反。點擊“掃地”按鈕,掃地機器人啟動掃地程序;點擊“拖地”,掃地機器人執行拖地程序;點擊“自動運行”按鈕,掃地機器人按照預設的程序和算法自動運行,掃地機器人軟件測試界面如圖11 所示。

圖11 掃地機器人軟件測試圖
本文設計了一種以STC 單片機為中央控制器、微信為上位機的掃地機器人遠程監控系統。與傳統的掃地機器人相比,該系統能遠距離啟動、停止掃地機器人,并能監視它的運行狀態。掃地機器人自試運行以來,性能穩定、運行可靠、工況良好,各項數據均達標,得到了同行的好評。該系統主要的創新點在于利用手機微信、以太網和云服務器技術,實現了掃地機器人的遠程監控,為研發人員遠程監控技術改造提供參考。