章盼梅, 朱萬浩
(華南理工大學(xué)廣州學(xué)院a. 機(jī)械工程學(xué)院;b. 電氣工程學(xué)院,廣州510800)
隨著電子技術(shù)的快速發(fā)展,人們對(duì)生活品質(zhì)要求越來越高,市面上出現(xiàn)了一批掃地機(jī)器人。掃地機(jī)器人集掃地、拖地、吸塵于一體,為人們打掃衛(wèi)生帶來極大的方便。掃地機(jī)器人通常采用一鍵啟動(dòng)方式,當(dāng)人們需要它工作時(shí),只需按下啟動(dòng)按鈕,便按照預(yù)先設(shè)定的程序自動(dòng)運(yùn)行,它的缺點(diǎn)在于人們無法對(duì)它進(jìn)行遠(yuǎn)程監(jiān)控[1]。本文利用STC單片機(jī)為中央控制器,微信訂閱號(hào)為上位機(jī),結(jié)合云服務(wù)器、WiFi、以太網(wǎng)技術(shù)開發(fā)了一套遠(yuǎn)程監(jiān)控系統(tǒng),實(shí)現(xiàn)了掃地機(jī)器人的遠(yuǎn)程監(jiān)控。
基于微信訂閱號(hào)的掃地機(jī)器人遠(yuǎn)程監(jiān)控系統(tǒng)分上位機(jī)、中間層及現(xiàn)場(chǎng)執(zhí)行層3 部分[2]。上位機(jī)主要由基于微信訂閱號(hào)2 次開發(fā)的監(jiān)控軟件,負(fù)責(zé)監(jiān)控掃地機(jī)器人的運(yùn)行狀態(tài),例如:?jiǎn)?dòng)、停止按鈕等;中間層主要由STC89C52 單片機(jī)組成,它是整個(gè)系統(tǒng)的核心部分,主要接收來自現(xiàn)場(chǎng)各傳感器發(fā)送過來的信號(hào),經(jīng)處理后發(fā)送給執(zhí)行元件,控制掃地機(jī)器人工作?,F(xiàn)場(chǎng)執(zhí)行層主要由掃地、拖地、爬行、電子羅盤和紅外線避障等模塊組成,它們負(fù)責(zé)把現(xiàn)場(chǎng)的各種信號(hào)轉(zhuǎn)換為電信號(hào),發(fā)送給單片機(jī),單片機(jī)處理后發(fā)送給各類執(zhí)行元件,保證掃地機(jī)器人正常工作,系統(tǒng)總體方案如圖1所示。
圖1 系統(tǒng)總體方案
掃地機(jī)器人硬件部分由單片機(jī)控制系統(tǒng)、羅盤探測(cè)、紅外、掃地、拖地等模塊組成,它們主要負(fù)責(zé)把現(xiàn)場(chǎng)信號(hào)轉(zhuǎn)換為電信號(hào)、處理信息和控制掃地機(jī)器人運(yùn)行。
掃地機(jī)器人控制系統(tǒng)中央處理器采用STC89C52單片機(jī)。它是一款低功耗、高性能的微控制器,F(xiàn)LASH內(nèi)存為8KB、RAM內(nèi)存為512KB、I/ O接口32 個(gè)、定時(shí)器3 個(gè),可同時(shí)實(shí)現(xiàn)多個(gè)單片機(jī)級(jí)聯(lián),是一款非常適合掃地機(jī)器人的微控制器[3]。STC89C52 最小系統(tǒng)如圖2 所示,UCC引腳接5 V電源,RST引腳接由C1和R1構(gòu)成的復(fù)位電路,XTAL1、XTAL2 接由晶振和電容構(gòu)成的時(shí)鐘電路。
圖2 STC89C52單片機(jī)最小控制系統(tǒng)電路圖
羅盤探測(cè)模塊用磁阻傳感器感應(yīng)地球磁場(chǎng),將感應(yīng)到的地磁信息轉(zhuǎn)換為數(shù)字信號(hào)輸送到單片機(jī)中。它的作用是檢測(cè)掃地機(jī)器人周圍的磁場(chǎng)強(qiáng)度,辨別前進(jìn)的方向[4]。電子羅盤模塊由HMC5883L 芯片及外圍電路組成,當(dāng)掃地機(jī)器人工作時(shí),向羅盤芯片數(shù)據(jù)總線SDA發(fā)送地址0X3C,芯片收到信號(hào)后發(fā)送回0X3D指令應(yīng)答單片機(jī)。此時(shí),單片機(jī)和羅盤芯片建立了連接,單片機(jī)讀取羅盤芯片發(fā)送過來的磁場(chǎng)信號(hào),根據(jù)磁場(chǎng)信號(hào)控制掃地機(jī)器人的運(yùn)動(dòng)方向,羅盤探測(cè)模塊電路如圖3 所示。
圖3 羅盤探測(cè)模塊電路圖
掃地機(jī)器人采用紅外模塊來識(shí)別故障,該模塊由發(fā)射模塊和接收模塊兩部分組成[5-6]。掃地機(jī)器人工作時(shí),紅外發(fā)射模塊發(fā)射紅外線,當(dāng)紅外線碰到故障物時(shí),紅外接收模塊收到返回的紅外線,識(shí)別故障物的存在。紅外發(fā)射模塊發(fā)射紅外線,接收模塊接收紅外線,兩個(gè)模塊需相互配合,缺一不可。紅外發(fā)射模塊電路如圖4 所示,與非門74HC00 芯片與R1、R2、C1構(gòu)成一個(gè)RC振蕩電路,與非門芯片6 腳形成一個(gè)方波信號(hào),經(jīng)過電阻R4驅(qū)動(dòng)三極管Q1不斷地導(dǎo)通和關(guān)斷。三極管Q1不斷地導(dǎo)通和關(guān)斷,使發(fā)光二極管D1也不斷地導(dǎo)通和關(guān)斷,發(fā)送出一串連續(xù)的方波,完成紅外模塊發(fā)射紅外信號(hào)。
圖4 紅外發(fā)射模塊電路圖
紅外接收模塊由LM567 芯片及外圍電路組成,LM567 是一個(gè)音頻解碼器,能處理特定的信號(hào)。當(dāng)紅外接收三極管接收到紅外信號(hào)時(shí),產(chǎn)生一個(gè)方波信號(hào)發(fā)送到LM567 芯片的IN 腳,LM567 判斷接收的信號(hào)和芯片內(nèi)部設(shè)定的信號(hào)是否一致,一致則OUT腳輸出一個(gè)低電平,不一致則OUT 腳輸出一個(gè)高電平,實(shí)現(xiàn)故障判斷功能[7-8],紅外接收模塊電路如圖5 所示。
圖5 紅外接收模塊電路圖
掃地機(jī)器人遠(yuǎn)程監(jiān)控系統(tǒng)采用微信訂閱號(hào)軟件平臺(tái)進(jìn)行2 次開發(fā)。監(jiān)控系統(tǒng)分為設(shè)備控制、數(shù)據(jù)監(jiān)測(cè)、個(gè)人中心和智能控制算子系統(tǒng)。設(shè)備控制子系統(tǒng)包含自動(dòng)和手動(dòng)控制設(shè)備模塊,主要負(fù)責(zé)對(duì)紅外模塊、羅盤探測(cè)等模塊的控制;數(shù)據(jù)監(jiān)測(cè)子系統(tǒng)包含實(shí)時(shí)數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)查詢模塊,主要對(duì)掃地機(jī)器人運(yùn)行記錄數(shù)據(jù)等的采集;個(gè)人中心子系統(tǒng)包括用戶登錄注冊(cè)及查詢模塊,負(fù)責(zé)對(duì)用戶信息的管理;智能控制子系統(tǒng)包含設(shè)備決策控制模塊和數(shù)據(jù)信息推送模塊,負(fù)責(zé)設(shè)備智能控制方法的決策及優(yōu)化[9],軟件系統(tǒng)功能結(jié)構(gòu)如圖6所示。
圖6 軟件系統(tǒng)功能結(jié)構(gòu)圖
掃地機(jī)器人控制方式分為手動(dòng)控制、自動(dòng)控制和遠(yuǎn)程控制3 種方式[10]。手動(dòng)控制是指在掃地機(jī)器人上按前進(jìn)、后退等按鈕進(jìn)行控制;自動(dòng)控制是指通過按自動(dòng)運(yùn)行按鈕,掃地機(jī)器人按照已設(shè)定好的程序自動(dòng)運(yùn)行;遠(yuǎn)程控制是指在手機(jī)微信端進(jìn)行控制,通過云端實(shí)現(xiàn)遠(yuǎn)距離的操作。掃地機(jī)器人控制按鈕包括前進(jìn)、后退、掃地、拖地和自動(dòng)運(yùn)行等,在微信監(jiān)控端點(diǎn)擊前進(jìn)按鈕時(shí),變量ctr_run ==1;當(dāng)點(diǎn)擊后退按鈕時(shí),變量ctr_run ==0。微信監(jiān)控系統(tǒng)通過云服務(wù)器發(fā)送命令給單片機(jī),經(jīng)處理后控制設(shè)備的運(yùn)行,設(shè)備控制子系統(tǒng)流程如圖7 所示。
圖7 設(shè)備控制子系統(tǒng)流程圖
掃地機(jī)器人在運(yùn)行過程中,CPU 把相關(guān)的參數(shù)記錄下來,以便管理者查詢[11]。數(shù)據(jù)監(jiān)測(cè)子系統(tǒng)中,主要有掃地機(jī)器人的掃地/拖地時(shí)間、掃地/拖地行走軌跡、設(shè)備前進(jìn)/后退/啟動(dòng)/停止等操作記錄、設(shè)備報(bào)警、故障等記錄。數(shù)據(jù)監(jiān)測(cè)子系統(tǒng)中包含實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù),實(shí)時(shí)數(shù)據(jù)是指掃地機(jī)器人現(xiàn)場(chǎng)運(yùn)行的數(shù)據(jù),實(shí)時(shí)的顯示在微信監(jiān)控系統(tǒng)上;歷史數(shù)據(jù)是把以往至今的運(yùn)行數(shù)據(jù)保存起來,供管理員查詢,如:掃地機(jī)器人從出廠至今的運(yùn)行記錄,數(shù)據(jù)監(jiān)測(cè)流程如圖8 所示。
圖8 數(shù)據(jù)監(jiān)測(cè)子系統(tǒng)流程圖
根據(jù)用戶權(quán)限的不同,分為游客、普通用戶和管理員[12-13]。游客權(quán)限最低,只能查看監(jiān)控系統(tǒng);普通用戶指一般的使用者,權(quán)限比游客高,可以監(jiān)控掃地機(jī)器人;管理員權(quán)限最高,可以查看系統(tǒng)中的任何信息。系統(tǒng)中默認(rèn)給掃地機(jī)器人使用者一個(gè)管理員賬號(hào),登錄管理員賬號(hào),可以查看普通用戶的注冊(cè)申請(qǐng)、分配用戶的操作權(quán)限、增加或刪除用戶的信息。用戶成功注冊(cè)后,點(diǎn)擊登錄界面,登錄的信息通過Java 等技術(shù)驗(yàn)證格式、內(nèi)容等是否正確。同時(shí),系統(tǒng)對(duì)用戶名密碼進(jìn)行算法加密,防止數(shù)據(jù)被盜,個(gè)人中心子系統(tǒng)設(shè)計(jì)流程如圖9 所示。
圖9 個(gè)人中心子系統(tǒng)設(shè)計(jì)流程圖
系統(tǒng)測(cè)試是一個(gè)重要且必不可少的環(huán)節(jié),是保證系統(tǒng)穩(wěn)定可靠運(yùn)行的關(guān)鍵[14-15]。在系統(tǒng)測(cè)試之前,首先組裝好單片機(jī)控制系統(tǒng)、羅盤探測(cè)、紅外檢測(cè)等模塊。在微信監(jiān)控系統(tǒng)測(cè)試端,為方便更多消費(fèi)者使用,選擇市場(chǎng)占有率較高、價(jià)格較便宜的Note8 智能手機(jī),它采用Android系統(tǒng)、高通驍龍665 八核處理器、6GB RAM/ 128GB ROM,掃地機(jī)器人實(shí)物如圖10 所示。
圖10 掃地機(jī)器人實(shí)物
在微信監(jiān)控系統(tǒng)界面端,設(shè)計(jì)有遠(yuǎn)程、就地、掃地、拖地、前進(jìn)等按鈕。點(diǎn)擊“遠(yuǎn)程”按鈕,掃地機(jī)器人只接受微信控制,掃地機(jī)器人上的控制按鈕無法操作;點(diǎn)擊“就地”按鈕,情況剛好相反。點(diǎn)擊“掃地”按鈕,掃地機(jī)器人啟動(dòng)掃地程序;點(diǎn)擊“拖地”,掃地機(jī)器人執(zhí)行拖地程序;點(diǎn)擊“自動(dòng)運(yùn)行”按鈕,掃地機(jī)器人按照預(yù)設(shè)的程序和算法自動(dòng)運(yùn)行,掃地機(jī)器人軟件測(cè)試界面如圖11 所示。
圖11 掃地機(jī)器人軟件測(cè)試圖
本文設(shè)計(jì)了一種以STC 單片機(jī)為中央控制器、微信為上位機(jī)的掃地機(jī)器人遠(yuǎn)程監(jiān)控系統(tǒng)。與傳統(tǒng)的掃地機(jī)器人相比,該系統(tǒng)能遠(yuǎn)距離啟動(dòng)、停止掃地機(jī)器人,并能監(jiān)視它的運(yùn)行狀態(tài)。掃地機(jī)器人自試運(yùn)行以來,性能穩(wěn)定、運(yùn)行可靠、工況良好,各項(xiàng)數(shù)據(jù)均達(dá)標(biāo),得到了同行的好評(píng)。該系統(tǒng)主要的創(chuàng)新點(diǎn)在于利用手機(jī)微信、以太網(wǎng)和云服務(wù)器技術(shù),實(shí)現(xiàn)了掃地機(jī)器人的遠(yuǎn)程監(jiān)控,為研發(fā)人員遠(yuǎn)程監(jiān)控技術(shù)改造提供參考。