譚一柳,江淘,王軒
(1.江西省水務(wù)集團(tuán)有限公司,江西南昌,330000; 2.江西小贛士咨詢有限公司,江西南昌,330000 ;3.靖安綠地申飛置業(yè)有限公司,江西宜春,336000)
隨著科學(xué)技術(shù)的不斷發(fā)展,各種智能化設(shè)備已經(jīng)進(jìn)入人們的生活。據(jù)調(diào)查,家用設(shè)備待機(jī)時(shí)所產(chǎn)生的平均功率仍占中國(guó)用電量的10%以上。在這種長(zhǎng)待機(jī)模式下,使用的傳統(tǒng)插座的負(fù)載越來(lái)越大,這不僅帶來(lái)了嚴(yán)重的家庭隱患,而且也大大降低了設(shè)備的使用壽命。本文對(duì)家用電器插座進(jìn)行了智能化改造和創(chuàng)新,用單片機(jī)控制繼電器的通斷,并通過(guò)WiFi模塊遠(yuǎn)程控制插座,以便隨時(shí)控制插座的開(kāi)關(guān)和定時(shí)功能設(shè)置。人們無(wú)論在何時(shí)何地,都能隨時(shí)掌控家里的大大小小的電器開(kāi)關(guān)待機(jī)等問(wèn)題,同時(shí)也增加了生活趣味性,增加了生活科技感。
構(gòu)架一種通過(guò)單片機(jī)STM32F103C8T6為核心實(shí)現(xiàn)控制目標(biāo)的定時(shí)開(kāi)關(guān)系統(tǒng),使其可以很好地操控220V/10A規(guī)格的插座,確保其能夠在24H內(nèi)提早設(shè)置定時(shí),持續(xù)精準(zhǔn)地操控用電設(shè)備的自動(dòng)開(kāi)啟與關(guān)停,由于主要憑借其中的時(shí)鐘芯片實(shí)現(xiàn)定時(shí)目標(biāo),因此非常精準(zhǔn),另外能夠憑借WiFi平臺(tái)操控插座開(kāi)關(guān),因此能夠具備便捷、節(jié)能以及智能等優(yōu)點(diǎn)。系統(tǒng)設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)框圖
STM32系列的單片機(jī)是由意法半導(dǎo)體公司制造的,其屬于32位的單片機(jī)芯片,本次設(shè)計(jì)采用的型號(hào)為STM32F103C8T6(以ARM Cortex-M內(nèi)核為基礎(chǔ)),程序存儲(chǔ)器(64KB)內(nèi)置其中,可以在-40℃~85℃溫度區(qū)間穩(wěn)定運(yùn)行,2V~3.6V為其工作電壓范圍,為該芯片提供的工作電壓是3.3V,該元件實(shí)際的內(nèi)核工作頻率能夠達(dá)到72MHz,圖2為該單片機(jī)最小系統(tǒng)板部分?jǐn)U展引腳。
圖2 單片機(jī)最小系統(tǒng)板部分?jǐn)U展引腳圖
由于本次設(shè)計(jì)對(duì)電源的要求并不是很高,用現(xiàn)在5V的USB電源就足以運(yùn)行整個(gè)系統(tǒng)。所以使用USB數(shù)據(jù)電源線來(lái)供電。P3是電源的直流插座開(kāi)關(guān),觸角2和觸角3連接地線,觸角1連接到開(kāi)關(guān)控制,然后輸出至VCC進(jìn)行系統(tǒng)程序化供電(VCC為5V),電源模塊電路如圖3所示。
圖3 電源接口及開(kāi)關(guān) 控制電路圖
本次設(shè)計(jì)是基于STM32單片機(jī)控制Wi-Fi智能插座,所以采用繼電器控制插座的開(kāi)關(guān)。本次設(shè)計(jì)是為了控制220V交流電,設(shè)計(jì)中存在安全隱患,此外,由于繼電器的正常工作電壓為5V,單片機(jī)的I/O接口輸出容量無(wú)法滿足使用需求,因此,決定使用(OC)光電隔離器進(jìn)行控制,如圖4所示。
圖4 繼電器模塊和HLW8032模塊電路圖
ESP8266模塊采用TTL串行口傳輸,可實(shí)現(xiàn)與單片機(jī)的數(shù)據(jù)進(jìn)行通信。模塊內(nèi)置有TCP/IP協(xié)議,基本可以實(shí)現(xiàn)TCP、UPD等協(xié)議,使用時(shí),只需通過(guò)串口發(fā)送相應(yīng)的指令即可。ESP8266 WiFi模塊有八個(gè)引腳,使用起來(lái)十分方便。模塊的電源電壓基本為3.3V, 4腳接3.3V電源腳,8腳接GND,ESP8266 WiFi模塊串行通信腳接STM32單片機(jī)的串口2,ESP8266 WiFi模塊1腳(串口發(fā)送數(shù)據(jù)腳)接STM32的串口數(shù)據(jù)接收腳PA3,ESP8266模塊5腳(串口發(fā)送數(shù)據(jù)腳)接STM32的串口數(shù)據(jù)發(fā)送腳PA2,2腳接R5電阻上拉,模塊進(jìn)入STA指令模式,如圖5所示。
圖5 ESP8266 WiFi 模塊電路圖
溫度傳感器中的DS18B20(“一線總線”接口)和其他測(cè)溫設(shè)備(比如熱敏電阻這種傳統(tǒng)設(shè)備)之間存在著本質(zhì)性差異,有必要引起一定的關(guān)注。以下即其基本特征:與微處理器接口不復(fù)雜、對(duì)寬電壓更適合等,傳感器網(wǎng)絡(luò)搭建可以輕松實(shí)現(xiàn),操作使用更加便捷。因此DS18B20這種直插型的溫度傳感器被本設(shè)計(jì)采用,如圖6所示。
圖6 溫度傳感器 DS18B20模塊電路設(shè)計(jì)圖
本設(shè)計(jì)中加入了交流電檢測(cè)模塊HLW8032,其作用是用于測(cè)量電能參數(shù),并且這個(gè)模塊的供電模式是需要單獨(dú)供電,模塊需要220V的電壓,所以采用單獨(dú)供電。220V的電只是在通電狀態(tài)下經(jīng)過(guò)了此模塊,并且這個(gè)模塊是3.3V供電的,設(shè)計(jì)中的其他模塊,比如WiFi模塊也是3.3V,STM32是5V輸入,3.3V輸出。本次設(shè)計(jì)接入220V,是因?yàn)檩斎氲?20V是本次設(shè)計(jì)的被測(cè)對(duì)象,220V只是經(jīng)過(guò)了這個(gè)模塊,但它并不是電源,只是把輸入的220V作為被測(cè)的對(duì)象,如圖4所示。
主要以WiFi智能插座的WiFi模塊通訊子程序設(shè)計(jì)和顯示子程序設(shè)計(jì)為主要部分進(jìn)行分析。本次設(shè)計(jì)的主要程序功能為: WiFi連接程序,使用APP進(jìn)行微距離遠(yuǎn)程操控開(kāi)關(guān);定時(shí)定溫自動(dòng)通斷,通過(guò)APP設(shè)置定時(shí)通斷功能;顯示時(shí)間、電流、電壓數(shù)據(jù),并可遠(yuǎn)程修改顯示時(shí)間和日期。
系統(tǒng)初始化完成之后,程序進(jìn)行循環(huán),首當(dāng)其沖的就是STM32F103C8T6的串行端口發(fā)送相應(yīng)的指令給STA,從而對(duì)ESP8266WiFi模塊進(jìn)行配置,配置成功,則進(jìn)行標(biāo)識(shí)位為1;不成功則繼續(xù)配置,直至成功。配置完成之后,LED燈亮,等待手機(jī)客戶端的連接,如WiFi熱點(diǎn)鏈接成功,則進(jìn)入手機(jī)互聯(lián)的狀態(tài),STM32F103C8T6芯片以5S為周期向手機(jī)端發(fā)送數(shù)據(jù)一次,以此維持?jǐn)?shù)據(jù)鏈接的狀態(tài)。STM32F103C8T6芯片實(shí)時(shí)接收ESP8266WiFi通信模塊所傳來(lái)的數(shù)據(jù),進(jìn)行對(duì)繼電器的電源開(kāi)關(guān)的掌控和定時(shí)設(shè)置的操作。圖7則是本次設(shè)計(jì)主程序流程圖。
圖7 主程序流程圖
本設(shè)計(jì)采用ESP82666WiFi模塊實(shí)現(xiàn)與移動(dòng)通信和互聯(lián)。ESP82668266本身就是一個(gè)WiFi熱點(diǎn),可以連接到STA或AP。本設(shè)計(jì)將模塊設(shè)置為服務(wù)器模式,監(jiān)控等待連接的端口,首先通過(guò)移動(dòng)應(yīng)用連接模塊生成的WiFi熱點(diǎn),然后開(kāi)始連接服務(wù)器的端口,連接成功后建立TCP通信,服務(wù)器IP為“192.168.4.1”,端口為8888。ESP8266通信流程圖圖8所示。
圖8 Wi-Fi 通訊子程序流程圖
如果引腳信號(hào)(RS、R/W)為1,E引腳從1向0轉(zhuǎn)換結(jié)束,進(jìn)行數(shù)據(jù)讀取。如果R/W、RS這兩個(gè)引腳信號(hào)分別是0、1,E引腳自1向0轉(zhuǎn)換結(jié)束,進(jìn)行數(shù)據(jù)存入。至此即能對(duì)讀取數(shù)據(jù),存入數(shù)據(jù)實(shí)現(xiàn)控制(基于RS、R/W高低電平設(shè)置)。
圖9 LCD采集、收集及顯示流程圖
(1)硬件調(diào)試
完成硬件的焊接和初步檢查后,進(jìn)行上電測(cè)試,發(fā)現(xiàn)顯示器LCD1602上的溫度狀態(tài)沒(méi)有顯示出來(lái),原來(lái)是由于DS18B20插在主板上時(shí)引腳插反造成的。在檢查繼電器裝置之中的模塊電路時(shí),選擇三節(jié)南孚干電池給單片機(jī)供電,主板沒(méi)有正常運(yùn)行,檢查發(fā)現(xiàn)電路板供電電壓較低,其后選擇5V電源時(shí),繼電器正常工作。
(2)軟件調(diào)試
KEIL5 MDK是程序調(diào)試的軟件平臺(tái),此類調(diào)試的重點(diǎn)在于調(diào)試或修改程序設(shè)計(jì)過(guò)程中的技術(shù)缺陷,從而進(jìn)一步完成軟件設(shè)計(jì),保證系統(tǒng)整體運(yùn)行穩(wěn)定。
(3)APP調(diào)試
繼電器通過(guò)WiFi模塊產(chǎn)生局域網(wǎng)熱點(diǎn)信號(hào),通過(guò)遠(yuǎn)程客戶端TCP Tool平臺(tái)手機(jī)APP連接。連接成功則可進(jìn)行下一步系統(tǒng)測(cè)試,局域網(wǎng)連接客戶端端口地址:192.168.4.1,端口號(hào)為:8888。系統(tǒng)通電狀態(tài)下,局域網(wǎng)信號(hào)正常產(chǎn)生。當(dāng)APP提示連接成功,則又開(kāi)始下一步系統(tǒng)測(cè)試,正常運(yùn)行情況下,實(shí)時(shí)監(jiān)控WiFi插座的電流、電壓、時(shí)間等參數(shù)。 通過(guò)客戶端下達(dá)相應(yīng)指令進(jìn)行遠(yuǎn)程操控,O1指令為打開(kāi)繼電器電源指令,C1指令為關(guān)閉繼電器電源指令。當(dāng)局域網(wǎng)連接成功,通過(guò)ON/OF指令設(shè)置定時(shí)開(kāi)關(guān)功能,例如設(shè)置8:00開(kāi)啟,則輸入指令ON8:00,就可直接設(shè)置早上8:00定時(shí)開(kāi)啟繼電器。(繼電器設(shè)置時(shí)間為24小時(shí)制)繼電器溫度檢測(cè)功能設(shè)置為基礎(chǔ)40℃,當(dāng)溫度傳感器檢測(cè)溫度為40℃,繼電器則自動(dòng)斷電,如圖10所示。
圖10 實(shí)物運(yùn)行圖
本次設(shè)計(jì)的WiFi插座達(dá)到了預(yù)期的功能。其能夠很好地控制家用規(guī)格的插座,能夠在24H中隨意設(shè)置定時(shí)開(kāi)關(guān);液晶顯示屏能夠很好地顯示插座實(shí)際的電路運(yùn)行情況,插座正常工作時(shí)指示燈綠燈點(diǎn)亮,不工作時(shí)指示燈不亮。
本文設(shè)計(jì)的插座能較好地實(shí)現(xiàn)一路智能插座的控制功能,后面可以嘗試多加入幾路插座口,并且使各個(gè)插座口互不干涉,但總電路又可以得到控制,且省電、安全,這樣可以更好地滿足人們對(duì)多路插座需求。增加插座路數(shù),可以給定時(shí)插座加上保護(hù)措施,如漏電保護(hù)開(kāi)關(guān)等,以此達(dá)到更加安全的目的。本次設(shè)計(jì)中使用的WIFI模塊的可連接范圍比較小,一般只能在室內(nèi)起作用,如果采用廣域網(wǎng)更大的WIFI模塊并在手機(jī)上進(jìn)行遠(yuǎn)程遙控,人們可以隨時(shí)隨地對(duì)插座進(jìn)行定時(shí)控制,智能插座將可以更好地為人們服務(wù)。