涂桂根,黃思慶,熊馮瑞,張敬軒,劉紫君,藍(lán)宗錦,張穩(wěn)祺
(廣東海洋大學(xué),廣東 湛江 524000)
科技發(fā)展是人民生活質(zhì)量的重要保障,我國(guó)居民的生活節(jié)奏日益加快,快節(jié)奏與高質(zhì)量的生活隨之成為人們追求的目標(biāo),智能家居的誕生旨在解決這一問(wèn)題。近年來(lái),結(jié)合物聯(lián)網(wǎng)技術(shù)的智能家居產(chǎn)品越來(lái)越豐富,已經(jīng)走入了大城市居民的生活當(dāng)中。在晾曬衣服方面,傳統(tǒng)的晾衣方式是自然風(fēng)干,這種方法操作簡(jiǎn)單,但是需要一直關(guān)注天氣狀況,當(dāng)雨天突發(fā)時(shí)收衣就會(huì)顯得十分倉(cāng)促,而在外出工作、學(xué)習(xí)時(shí)遇到下雨更是無(wú)奈。雖然目前已經(jīng)有了烘干機(jī),可以快速烘干衣服,但是它價(jià)格較高,耗能大,同時(shí)還容易燙壞衣物,不符合低碳生活的主題。顯然,人們需要一種智能、廉價(jià)、可靠、可遠(yuǎn)程控制的晾衣系統(tǒng)。在已有對(duì)自動(dòng)晾衣系統(tǒng)的研究中,許多作品已經(jīng)達(dá)到一定的智能化,但是仍然有許多產(chǎn)品存在不能遠(yuǎn)距離控制、結(jié)構(gòu)過(guò)大、晾曬不均勻、成本高等問(wèn)題。基于這些問(wèn)題,本文設(shè)計(jì)了一種有結(jié)構(gòu)小巧、智能化、可遠(yuǎn)程遙控等優(yōu)點(diǎn)的智能晾衣系統(tǒng)[1]。
本文設(shè)計(jì)的晾衣系統(tǒng)中,為保證足夠的上升力和壓縮力,采用了絲桿螺母?jìng)鲃?dòng)機(jī)構(gòu)。結(jié)構(gòu)如圖1、圖2所示。
圖1 機(jī)械結(jié)構(gòu)示意圖
圖2 機(jī)械結(jié)構(gòu)示意圖
機(jī)械結(jié)構(gòu)包括活動(dòng)部分和固定部分,活動(dòng)部分包括伸縮架、限位開(kāi)關(guān)、MG996R舵機(jī)、42BYGH34步進(jìn)電機(jī)(下稱(chēng)42 電機(jī))、伸縮絲桿、直流電機(jī)、防雨布等;固定部分包括安裝背板、控制箱(內(nèi)含MCU、電源系統(tǒng)等)、57BYG250H步進(jìn)電機(jī)(下稱(chēng)57電機(jī))、限位開(kāi)關(guān)、升降絲桿等[2]。
在初始狀態(tài),STM32 驅(qū)動(dòng)57 電機(jī)使升降絲桿轉(zhuǎn)動(dòng)讓活動(dòng)部分自動(dòng)位于升降絲桿行程的最下端;同時(shí)驅(qū)動(dòng)42 電機(jī)使收縮絲桿轉(zhuǎn)動(dòng)讓收縮架處于縮回狀態(tài),并且控制舵機(jī)自動(dòng)調(diào)節(jié)掛環(huán),使掛環(huán)平面與伸縮架伸出方向平行,伸縮架處于縮回狀態(tài),以便放置衣物。當(dāng)系統(tǒng)收到曬衣指令,STM32驅(qū)動(dòng)57 電機(jī)使升降絲桿轉(zhuǎn)動(dòng),活動(dòng)部分上升,為了使結(jié)構(gòu)運(yùn)行平穩(wěn),伸縮架仍保持縮回,直到活動(dòng)部分到達(dá)升降絲桿行程最上方后,STM32 驅(qū)動(dòng)42 電機(jī)使收縮架伸出。當(dāng)系統(tǒng)收到收衣指令時(shí),電機(jī)反向旋轉(zhuǎn),先使收縮架縮回,后使活動(dòng)部分下降。由于陽(yáng)臺(tái)的特殊結(jié)構(gòu),越低的位置越容易被雨淋,所以當(dāng)系統(tǒng)收到防雨指令時(shí),STM32 驅(qū)動(dòng)42 電機(jī)轉(zhuǎn)動(dòng)收縮絲桿,使收縮架收回,同時(shí)驅(qū)動(dòng)直流電機(jī)降下防雨布。天氣正常后恢復(fù)晾曬。
電氣控制系統(tǒng)包括MCU、傳感器模塊、電動(dòng)機(jī)模塊、通信模塊、電源模塊。為了使系統(tǒng)穩(wěn)定可靠,采用了模塊化的設(shè)計(jì)方法,控制系統(tǒng)的結(jié)構(gòu)框圖如圖3所示。
圖3 硬件結(jié)構(gòu)框圖
為了滿足本設(shè)計(jì)中的要求,MCU 需要有時(shí)鐘快、信號(hào)處理能力強(qiáng)、低碳節(jié)能、成本低等特點(diǎn)。STM32 是一款基于ARM Cortex M 架構(gòu)的微控制器,與51單片機(jī)相比,擁有強(qiáng)大的時(shí)鐘系統(tǒng),其具有性能高、功耗低、資源豐富、信號(hào)處理快且準(zhǔn)確、通信能力強(qiáng)、I/O 接口多、運(yùn)算速度快等優(yōu)點(diǎn)。本文研究的晾衣系統(tǒng)中,使用了眾多的傳感器,以及電機(jī)、舵機(jī)的控制,需要MCU擁有許多I/O接口進(jìn)行信號(hào)的輸入和輸出,并且能夠準(zhǔn)確識(shí)別傳感器的反饋信號(hào),并輸出相應(yīng)的信號(hào)進(jìn)行控制,同時(shí)在APP 遠(yuǎn)程控制模塊,需要MCU有良好的通信能力,低功耗也是本次設(shè)計(jì)的要求之一,所以選擇STM32作為MCU能夠很好地滿足要求。本設(shè)計(jì)選擇STM32F103C8T6 芯片,它在滿足系統(tǒng)工作要求的前提下,成本更低,并且能夠節(jié)約更多的空間。
步進(jìn)電機(jī)是本系統(tǒng)電壓需求最大的模塊,57 電機(jī)需要供電DC16 V~48 V,42 電機(jī)需要供電DC9 V~24 V,舵機(jī)和電機(jī)供電為DC3 V~6 V,選擇DC5 V;STM32 單片機(jī)選擇DC3.3 V 供電;傳感器都為DC3.3 V/5 V 供電,因?yàn)閿?shù)量較多,所以要增加多個(gè)DC5 V供電口;通信模塊要與STM32連接,通過(guò)STM32 板載電源供電;考慮到以上因素,選擇AC220 V轉(zhuǎn)DC24 V3.5 A的開(kāi)關(guān)電源,和LM2596S模塊完成DC24 V轉(zhuǎn)DC5 V,即可滿足系統(tǒng)供電。
雨滴檢測(cè)使用面積5×4 cm2的雨滴傳感器,當(dāng)檢測(cè)到有雨時(shí),DO 口發(fā)送低電平給STM32 表示有雨,AO 口發(fā)送模擬信號(hào)表示雨量大??;為了檢測(cè)光度,使用光敏電阻傳感器,向STM32發(fā)送模擬信號(hào);為了防止運(yùn)動(dòng)超程,在兩個(gè)絲桿的行程初末位置安裝按鍵式開(kāi)關(guān),反饋數(shù)字信號(hào);為了檢測(cè)溫度和濕度,選擇DHT11溫濕度傳感器反饋模擬信號(hào)。單片機(jī)對(duì)數(shù)字信號(hào)的讀取通過(guò)檢測(cè)GPIO口高低電位的方式進(jìn)行,對(duì)模擬信號(hào)的讀取則是通過(guò)ADC模數(shù)轉(zhuǎn)換的方式進(jìn)行。
為了保證用戶能夠?qū)崟r(shí)準(zhǔn)確地對(duì)系統(tǒng)進(jìn)行控制,通信模塊需要滿足可控距離遠(yuǎn)、功耗低、響應(yīng)速度快的要求。在本文的設(shè)計(jì)中,采用ESP8266作為通信模塊,它是一款性價(jià)比高、功耗低的微控制器,在滿足長(zhǎng)時(shí)間工作的同時(shí)符合綠色低碳的設(shè)計(jì)要求。
設(shè)備端的軟件設(shè)計(jì)主要是STM32 芯片和ESP8266 兩部分,這兩部分都要進(jìn)行相關(guān)代碼的編寫(xiě)。為了使ESP8266能夠達(dá)到使用要求,需要通過(guò)USB 轉(zhuǎn)TTL 模塊連接電腦對(duì)ESP8266 進(jìn)行初設(shè)置,ESP8266 總共有三種模式,分別是STA模式,AP模式以及STA+AP模式[3]。STA模式下可以將ESP8266 連接到用戶家庭WiFi,通過(guò)連接云服務(wù)器等中轉(zhuǎn)站進(jìn)行遠(yuǎn)程控制。首先要給模塊設(shè)置一個(gè)MAC 地址,將用戶家庭WiFi 以及云服務(wù)器的地址傳送給模塊,使模塊連接上服務(wù)器,同時(shí)手機(jī)通過(guò)軟件連接上服務(wù)器,就可以通過(guò)手機(jī)APP 進(jìn)行遠(yuǎn)程遙控。AP 模式下,ESP8266 將會(huì)自己產(chǎn)生一個(gè)WiFi,手機(jī)連接這個(gè)WiFi 后,就可以對(duì)ESP8266 進(jìn)行指令傳輸。ESP8266 不能自動(dòng)連接沒(méi)有連接過(guò)的WiFi,需要重新輸入ssid賬號(hào)和psw密碼,這時(shí)候可以通過(guò)ESP8266的AP 模式將ssid 賬號(hào)和psw 密碼傳輸給ESP8266,就可以切換到STA 模式中,即STA+AP 模式,本設(shè)計(jì)采用STA+AP模式,這樣就可以解決不同用戶有不同WiFi的問(wèn)題。
STM32上的程序使用Keil uVision5 MDK版開(kāi)發(fā),使用C語(yǔ)言進(jìn)行程序設(shè)計(jì)。系統(tǒng)有三個(gè)情況可以觸發(fā)電機(jī)的動(dòng)作,各部分的中斷優(yōu)先級(jí)從高到低分別是:按鍵模塊、無(wú)線通信模塊、傳感器模塊。系統(tǒng)開(kāi)始運(yùn)行后,無(wú)線通信模塊連接服務(wù)器,首先檢測(cè)行程開(kāi)關(guān),控制電機(jī)使活動(dòng)部分置于最低位后,收到指令開(kāi)始晾衣。當(dāng)傳感器、按鍵模塊、無(wú)線通信模塊傳來(lái)信號(hào),系統(tǒng)判斷信號(hào)是否有效,再執(zhí)行動(dòng)作。為了使衣物晾曬均勻,改善通風(fēng)情況,用戶可以通過(guò)按鍵決定系統(tǒng)是否會(huì)定時(shí)旋轉(zhuǎn)舵機(jī)。到了晚上,光線傳感器響應(yīng),系統(tǒng)自動(dòng)收衣。程序流程圖如圖4所示。
圖4 程序流程圖
本設(shè)計(jì)使用的手機(jī)端APP 是 基 于Android 系 統(tǒng)開(kāi)發(fā)的,使用Java 語(yǔ)言開(kāi)發(fā)進(jìn)行開(kāi)發(fā)[4],能夠適用于大多數(shù)安卓手機(jī),軟件的功能包括天氣檢測(cè)和指令發(fā)送。在軟件界面中,一共有6 個(gè)可控按鈕,分別是ssid、psw、一鍵晾衣、一鍵收衣、防雨模式、取消防雨,還有一個(gè)天氣顯示界面,用于顯示實(shí)時(shí)天氣狀況。其中“ssid”按鈕指的是用戶WiFi網(wǎng)絡(luò)的名稱(chēng),“psw”是指用戶WiFi的密碼,在首次使用晾衣架時(shí),用戶應(yīng)先連接系統(tǒng)通信模塊所發(fā)出的WiFi,然后將家庭WiFi 名稱(chēng)輸入到“ssid”中,密碼輸入到“psw”中,稍等片刻便可以激活遠(yuǎn)程控制功能。假如更改了家庭WiFi,按照同樣的方法輸入新WiFi的名稱(chēng)和密碼即可,APP界面如圖5所示。
圖5 APP 界面圖
本文設(shè)計(jì)了一種基于STM32 單片機(jī)控制的智能晾衣系統(tǒng),結(jié)合傳感器和物聯(lián)網(wǎng)以及手機(jī)APP應(yīng)用,將傳統(tǒng)的晾衣模式融入智能化。相比市場(chǎng)上的智能晾衣架,有占用體積小、成本低、工作穩(wěn)定、可控距離遠(yuǎn)、低碳節(jié)能等優(yōu)點(diǎn),解決了人們外出不能應(yīng)對(duì)突發(fā)情況及時(shí)收衣服的問(wèn)題。