袁婧,吳宇
(江西理工大學電氣工程與自動化學院,江西贛州,341000)
隨著經(jīng)濟的發(fā)展,人民生活會水平的提高,人民可支配的收入逐漸增多,對家居環(huán)境的要求也越來越高,因此智能家居的發(fā)展就顯得尤為重要[1]。20 世紀80 年代出現(xiàn)智能家居開始,有許多智能化的居家電器慢慢地出現(xiàn)并且變得常見起來,其中就包括智能晾衣桿。由于無法受到陽光的正常照射的陽臺在45%左右,因此可以設(shè)計一種智能晾衣桿根據(jù)天氣自動控制晾衣桿收回,防止衣物淋濕的晾衣桿,解決了雨天不能及時收衣物的困擾;在陰天的時候收回晾衣桿,晴天的時候?qū)⒁挛锪莱鋈?,使得晾曬衣物更加方便簡潔,提高晾衣桿操作的可靠性、穩(wěn)定性。多功能環(huán)保智能晾衣系統(tǒng)設(shè)計成功,不僅解決人們?nèi)粘I畹碾y題,而且極大的方便居民的生活,具有良好的社會效益和經(jīng)濟效益[2]。
本次設(shè)計使用了機智云平臺,機智云平臺是廣州杰升信息科技有限公司旗下品牌,是一款由機智云物聯(lián)網(wǎng)公司推出的。相對于市場上同類的管理系統(tǒng),其具有獨一無二的優(yōu)點:一是借助機智云平臺,可以根據(jù)服務(wù)的場景布置不同的傳感器,在云平臺經(jīng)過處理后反饋給用戶;二是系統(tǒng)基于機智云平臺,方便二次開發(fā),可以根據(jù)功能需求屬性等關(guān)聯(lián)查詢和上傳圖片檢測對應目標[3]。
本次設(shè)計的智能晾衣桿系統(tǒng)使用了機智云平臺、雨滴傳感器、光敏傳感器和電機等部分。用到了 L298N 電機驅(qū)動模塊、ATK_ESP8266 的超高性價比的串口-無線模塊和穩(wěn)壓芯片等。
系統(tǒng)的電源模塊是為了給整個系統(tǒng)提供一個電源使得系統(tǒng)可以正常穩(wěn)定地運行所以電源在整個設(shè)計中也是非常重要的一部分。電源電路一般采用LDO 電源芯片為系統(tǒng)供電,可以供3.3V、5V 等電源[4]。本次設(shè)計中電源有兩個,3.3V 的電源接單片機,12V 的電源就接 L298N。電源模塊的 VCC 接口接電源,GND 接口接地,3.3V 輸出接單片機,12V 輸出接 L298N 驅(qū)動模塊。接線需要將VCC 接口接電源,GND 接口接地,3.3V 輸出電壓接單片機,12V電壓輸出接L298N 驅(qū)動模塊。
圖1 智能晾衣桿系統(tǒng)框圖
芯片的選擇:STC89C51 芯片可以使用其他開發(fā)者已經(jīng)編寫好的程序代碼,不需要自己編寫,非常的方便,但是直接引用可能會導致自己不理解程序的編寫規(guī)則,沒有親自體驗設(shè)計的詳細過程,最終結(jié)果可能達不到預期的效果。而STC8A8K64S4A12 芯片需要自己編寫程序代碼,雖然有些復雜,但是我們也可以在編寫過程中學習到很多,發(fā)現(xiàn)一些自己平時不太注意的問題,及時的進行改進,從而讓自己得到提升。由于STC8A8K64S4A12 芯片的代碼與STC15F2K60S2 芯片一致,所以在設(shè)計的過程中使用STC15F2K60S2 芯片。
圖2 L298N 原理圖
通過比較STC8A8K64S4A12 和STC89C5 兩種芯片的優(yōu)點以及缺點,選擇STC8A8K64S4A12 芯片。STC8A8K64S4A12芯片的內(nèi)部是自帶晶振的,所以不需要再外接晶振,只需要電源和復位電路即可。其原理圖如圖3 所示。
圖3 STC8A8K64S4A12 芯片原理圖
雨滴傳感器的主要功能是檢測,它檢測是否下雨及雨量的多少,廣泛運用在智能燈光系統(tǒng)、汽車的自動刮水系統(tǒng)及智能天窗系統(tǒng)中。雨滴傳感器的工作原理是當傳感器檢測到有雨水時,可以自動發(fā)生電平的轉(zhuǎn)換,從而操控電機運行,帶動晾衣桿及時將晾曬的衣物收回屋內(nèi),這樣就可以避免衣物被雨水淋濕而給人們帶來的二次清洗的麻煩。
圖4 雨滴傳感器電路圖
光敏傳感器的工作原理是當光敏傳感器檢測到日照充足時,其阻值就會相應地變換。經(jīng)過測試,在室外光照強的照射下和光照弱的照射下,光敏電阻分別為小于320Ω 和大于15.6kΩ,知道光敏電阻在兩種情況下的電阻值,就可以判斷光照的強弱[5]。當光敏傳感器檢測到日照充足的時候,控制電動機操控晾衣桿伸出窗外,對衣物進行晾曬,而當光敏傳感器檢測到日照不足的時候,其阻值也會相應的做出改變,來控制電動機操控晾衣桿收回屋內(nèi),這樣就可以在人們忘記收回衣物時幫助人們自動收回所晾曬衣物。
在本次設(shè)計中使用了直流電機,各個部分都通過不同的方式來最終目的是操控電機運作的,結(jié)果就是改變電機正反轉(zhuǎn)從而帶動晾衣桿動作,而不需要人為的提拉晾衣桿,可以說電機在本次研究中是十分重要的部件。其參數(shù)為電壓12V,電流 2A,額定功率24W。
使用ATK_ESP8266 模塊,采用串口與 MCU 進行通信,內(nèi)置 TCP/IP 協(xié)議線,可以實現(xiàn)串口與無線的直接轉(zhuǎn)換,其兼容 3.3V 和5V 單片機系統(tǒng),可以很方便地與產(chǎn)品連接。該模塊支持STA/AP/STA+AP 三種工作模式,可以實現(xiàn)遠程控制和局域網(wǎng)絡(luò)無線控制,方便設(shè)備操作。
圖5 光敏傳感器電路圖
USB 轉(zhuǎn) ESP8266 模塊的作用是把ESP8266 無線模塊通過串口連接 PC 機的一種設(shè)備,它可以讓調(diào)試 ESP8266無線模塊變得更加方便。
穩(wěn)壓模塊使用了AMS1117 芯片進行穩(wěn)壓,設(shè)計用于提供1A 輸出電流且工作壓差可低至1V。該穩(wěn)壓器是一個正向低壓降穩(wěn)壓器,內(nèi)部具有過熱保護和限流電路,可以在過度受熱時切斷操作。
驅(qū)動模塊使用L298N 電機驅(qū)動模塊。L298N 驅(qū)動板可以驅(qū)動兩路直流電機,但本次設(shè)計只需要控制一個電機即可,所以只使能一個通道即可,使能端ENA 高電平有效,需要設(shè)置IN1 和IN2,確定電機的轉(zhuǎn)動方向。
穩(wěn)壓模塊接12V 輸入電壓,3.3V 輸出電壓接單片機,12V 電壓輸出接L298N 驅(qū)動模塊。
本次設(shè)計使用了獨立 MCU 的方式,創(chuàng)建了四個數(shù)據(jù)點,分別為兩個只讀數(shù)據(jù)點和兩個可寫數(shù)據(jù)點,分別代表著電機的正反轉(zhuǎn)和光敏傳感器和雨滴傳感器的信息。
機智云平臺主要目的是為了給開發(fā)者們提供物聯(lián)網(wǎng)設(shè)備的自助開發(fā)工具、后臺技術(shù)支持服務(wù)、設(shè)備遠程操控管理、數(shù)據(jù)存儲分析、第三方數(shù)據(jù)整合、硬件社交化等技術(shù) 服務(wù),它不僅面向企業(yè)開發(fā)者,同時也面向個人開發(fā)者。
本次設(shè)計使用了手機 APP 來調(diào)試,對于機智云的調(diào)試,需要在有無線路由器有信號并能連接到網(wǎng)絡(luò)時,將 USB 轉(zhuǎn)ESP8266 模塊和ESP8266 連接,也就是電源和串口的四根線相連接,ESP8266 通過調(diào)試工具供給穩(wěn)定電源,再進行APP 的設(shè)置。在手機 APP 上需要單獨再注冊和登陸,并將設(shè)備進行配置,然后就可以和電腦上的數(shù)據(jù)點配合使用完成相應的功能。
我們需要進入機智云官網(wǎng)進行數(shù)據(jù)點修改。本次設(shè)計使用了四個數(shù)據(jù)點,其中,兩個可寫的數(shù)據(jù)點分別代表著電機的正轉(zhuǎn)和電機的反轉(zhuǎn),兩個只讀的數(shù)據(jù)點分別代表光敏傳感器和雨滴傳感器接受的數(shù)據(jù),數(shù)據(jù)點fout01 代表電機的正轉(zhuǎn),數(shù)據(jù)點fout02 代表電機的反轉(zhuǎn),數(shù)據(jù)點fin01 是讀取光敏傳感器的數(shù)據(jù),數(shù)據(jù)點fin02 是讀取雨滴傳感器的數(shù)據(jù)的。
創(chuàng)建數(shù)據(jù)點時,需要填寫數(shù)據(jù)的標識名,并選擇數(shù)據(jù)的讀寫類型和數(shù)據(jù)類型。需要注意的是在MCU 硬件方案選擇處需要填寫一個產(chǎn)品密碼,這個密碼我們可以在“基本信息”選項中查看完整密碼,填寫產(chǎn)品密碼之后點擊“生成代碼包”,這樣就完成了機智云的創(chuàng)建。
對于機智云的調(diào)試,需要在有無線路由器有信號并能連接到網(wǎng)絡(luò)時,將USB 轉(zhuǎn)ESP8266 模塊和ESP8266 連接,也就是電源和串口的四根線相連接,ESP8266 通過調(diào)試工具供給穩(wěn)定電源,再進行APP 的設(shè)置。
本設(shè)計的系統(tǒng)流程圖如圖6 所示。
圖6 程序流程圖
本設(shè)計的程序流程是首先對單片機進行初始化,這里用電腦模擬代替單片機;其次讀取雨滴傳感器的狀態(tài);再次讀取光敏傳感器的狀態(tài);然后讀取云消息狀態(tài)并設(shè)置反饋狀態(tài);接下來由兩個傳感器狀態(tài)和 云消息狀態(tài)決定電機運行狀態(tài),最后由串口中斷函數(shù)完成云消息的接收和反饋。
由于使用了機智云平臺,我們不需要自己編寫程序,只需要在機智云平臺下載然后在Keil 中打開,并修改頭文件即可。
可以知道,如果需要修改內(nèi)容則需要在串口驅(qū)動程序中修改底層串口,串口通信在工作時一般需要設(shè)置數(shù)據(jù)格式,波特率和工作方式。但是對STC15 芯片和STC8A8K64 S4A12 串口相關(guān)寄存器進行比較可發(fā)現(xiàn),這兩款芯片的寄存器設(shè)置都是相同的,STC8A8K64S4A12 完全可以應用STC15 的程序,兩者的功能與地址一致,所以在這里不需要修改底層串口。
頭文件的更改也是很簡單的,只需要在工具欄的搜索那里填寫“STC15F2K60S2”并搜索,然后將其改為“STC8.h”就可以了。
同時,我們需要更改程序的對象,在左邊工程列表中找到文件夾“MCU_STC15F2K60S2_source”并點擊右鍵,然后在“Device”中選擇需要的“STC8A8K64S4A12”即可。
本次設(shè)計IO 口的配置需要用到P4 口,所以需要對P4口進行設(shè)置。將P4.2 和P4.3 設(shè)置為輸入,輸入的是傳感器狀態(tài);P4.0 和P4.1 為輸出,輸出高3.3V 電平和低電平;外接傳感器作為電源的輸出。
還需要進行兩處修改。第一處的修改是打開Keil 軟件,找到gizwits_prodct.c 程序,搜索“user handle”,并對這幾處進行修改,第一個“user handle”處改為 P20=0,第二個“user handle”處改為 P20=1,第三個“user handle”處改為 P21=0,第四個“user handle”處改為P21=1。
第二處修改是搜索“userHandle”程序并對P4 口和P2 口進行相關(guān)的設(shè)置。添加如下程序:“P4M0=0x33;P4M1=0x00;P2M0=0x33;P2M1=0x00;P4=0xfe;”這些程序設(shè)置了P4 的輸入輸出狀態(tài)。還需添加“currentDataPoint.valuefin01=P42;currentDataPoint.valuefin02=P43;”這兩句程序是為了將P4 高6 位設(shè)置為準雙向輸入I/O 口。
針對智能晾衣桿的設(shè)計主要是以51 單片機為基礎(chǔ),使用了機智云、雨滴傳感器和光敏傳感器,并使用了電機來操控晾衣桿。智能晾衣系統(tǒng)最大的特點就是操作簡單、價格低、占地面積小、省時省力,達到了節(jié)約時間、便捷的目的。[5]該設(shè)計中用到了遙控系統(tǒng),可以遠程操控晾衣桿,同時也實用了傳感器,可以在天氣不適合晾曬衣物時自動檢測并使晾衣桿回到屋內(nèi),防止衣物被雨淋濕,通過遙控的方式或者通過傳感器來控制,不需要人們親自在現(xiàn)場操控,極大地節(jié)省了人們的時間和精力,使得晾衣桿的實用性增強,并且變得更加的方便簡潔。