四川交通職業技術學院信息工程系 唐俊濤 劉謙
隨物聯網發展,越來越多的物品都能連接無線網絡,功能單一的傳統開關已經不能夠滿足人們的需求,智能開關不但有利于對家庭電器的掌控,而且還提高了家庭開關電路的安全性。為此開發設計了無線局域網智能開關。主控部分采用單片機STM8S,傳輸部分采用ESP8266WiFi模塊,傳感部分采用光敏傳感器收集環境信息,采用PWM模塊和固態繼電器作為控制部分,采用NE555芯片作為觸控部分。
目前,大部分家庭仍在使用傳統機械式開關,在不斷使用過程中開關很容易損壞,而且傳統的機械開關采用直接接通220V的方式,一旦漏電,人體將會直接接觸220V,同時機械開關接通時容易產生電火花。智能開關開關電路時不存在機械操作,延長了開關的使用壽命,接通電路時不會產生電火花,減少了發生火災的可能性,智能開關采用的弱電壓、弱電流控制強電壓、強電流,大大降低觸電的風險。
智能開關采用一體式面板,沒有縫隙,可以有效的防止水進入開關,所以可以濕手開關燈,這個開關面板材料在夜間時會發出夜光,方便人們定位開關位置。采用交流PWM調節器,通過觸摸開關按鈕改變燈的開關狀態,也可以通過長按開關按鈕實現實時自動調節燈亮度,開關通過WiFi模塊連接路由器,實現遠程控制。智能開關硬件結構圖如圖1所示。

圖1 智能開關硬件結構圖Fig.1 Hardware structure of intelligent switch
智能開關的主控部分是一個STM8S105K4T6單片機(簡稱STM8S),通過這個單片機來實現智能開關的控制,數據通訊部分是采用一個ESP8266WiFi模塊進行數據收發,觸摸模塊采用NE555定時器構成一個電容式觸摸電路進行檢測觸摸操作,控制部分是采用PWM模塊和固態繼電器控制開關的工作狀態,光敏傳感器部分采用一個PCF8591收集環境信息,電源部分采用一個220V轉9V的變壓器和一個9V轉3.3V的LDO元器件轉換電壓,為整個系統提供電壓。
當人體觸摸開關時,人體感應的雜波信號電壓由一個電容加至555的觸發端,使555的輸出管腳由低電平變為高電平,連接單片機STM8S的引腳就會收到高電平信號,從而做出開關操作。當開關處于關閉狀態時,觸碰一下感應面板,開關由關閉狀態改變為打開狀態;當開關處于關閉時,觸碰感應面板超過一秒鐘,開關先打開,再進入自動模式,根據環境輸出相應的電壓,若是開關處于打開狀態,則會直接進入自動模式。
當單片機的WiFi模塊部分收到信息時,單片機就會產生一個中斷去接收WiFi模塊,然后單片機就會處理收到的信號,判斷出是哪個指令,并在完成操作后回饋信息給WiFi模塊,并由WiFi模塊將信息發送出去。在手機App上點擊一個開關切換按鈕,就可以遠程切換開關狀態,打開自動模式開關就可以遠程控制開關進入自動模式。
智能開關主要由五個部分組成:主控部分、傳輸部分、傳感部分、控制部分、觸控部分。主控部分采用單片機STM8S,傳輸部分采用ESP8266WiFi模塊,傳感部分采用光敏傳感器收集環境信息,采用PWM模塊和固態繼電器作為控制部分,采用NE555芯片作為觸控部分。以下從主控部分、傳輸部分、控制部分進行硬件設計說明。
STM8S單片機電路圖設計如圖2所示。

圖2 STM8S單片機電路圖Fig.2 Circuit diagram of STM8S single chip microcomputer
圖2左上角是單片機STM8S的復位電路,當產品上電時,NRST為低電平單片機復位,此時電容C7開始充電,當電容充滿電后,NRST變為高電平。左下角為單片機STM8S的晶振電路,X1為一個8MHz的晶振,與之相連的是兩個20pF的瓷片電容,這兩個瓷片電容是為了減少晶振與單片機的OSCIN和OSOUT引腳構成的振蕩電路中會產生諧波。右上角為單片機STM8S芯片,該芯片處理并輸出相應的信息,30和31引腳連接ESP8266芯片進行數據的接收和發送,28引腳連接光敏傳感器電路,用于接收光敏傳感器收集到的環境信息,27引腳連接觸控電路,當開關被觸碰時,單片機就能收到相應的信號從而做出相應的操作,26引腳連接PWM模塊,通過該引腳輸出相應的信號可以使PWM模塊輸出占空比不同的波形,從而達到控制電壓的目的,25引腳連接開關電路,通過一個三極管控制固態繼電器的開關,20和19引腳連接右下角的LED燈指示單片機的工作模式。
ESP8266是一款超低功耗的UART-WiFi透傳模塊,具有封裝尺寸小和超低能耗等特點,專為移動設備和物聯網應用設計。可將用戶的物理設備連接到WiFi無線網絡上,進行互聯網或局域網通信,實現聯網功能。ESP8266封裝方式多樣,天線可支持板載PCB天線,IPEX接口和郵票孔接口三種形式。ESP8266可廣泛應用于智能電網、智能交通、智能家具、手持設備、工業控制等領域。
本設計選用的ESP8266支持無線802.11b/g/n標準,支持STA/AP/STA+AP三種工作模式,內置TCP/IP協議棧,支持多路TCP Client連接,支持豐富的Socket AT指令。TXD和RXD為ESP8266的數據傳輸引腳,TXD連接STM8S的RXD引腳,RXD連接STM8S的TXD引腳,這樣就ESP8266和STM8S才能相互傳輸數據。ESP8266WIFI模塊電路圖如圖3所示。

圖3 ESP8266WiFi模塊電路圖Fig.3 Circuit diagram of ESP8266WiFi module
該模塊有一個板載天線,模塊可以通過板載天線連接路由器進行遠程數據的發送和接收。該模塊需要與STM8S單片機共地,如果不共地傳輸數據的波特率可能會受到影響,導致ESP8266WiFi模組和單片機STM8S波特率不同導致兩者之間不能傳輸數據。
控制部分的開關電路圖如圖4所示。

圖4 開關電路圖Fig.4 Switch circuit diagram
圖4上面部分為控制部分,下面部分為調節部分。當控制部分的PD0收到高電平時,三極管3904的基極拉高,三極管處于導通狀態,繼電器引腳1電壓超過設定的閾值,繼電器的4、5引腳導通,燈泡就可以發亮了。當工作模式處于自動調節模式時,單片機STM8S對PWM模塊輸入PWM調節信號,PWM模塊根據接收到的信號輸出相應的方波達到調節電壓的功能。
主程序的流程圖如圖5所示。

圖5 主程序流程圖Fig.5 Main program flow chart
主程序代碼:

}
將串口初始化過后,進行URAT收發數據的初始化,再進行WiFi模塊的初始化,就進入觸摸檢測的While循環,直到收到WiFi數據產生中斷。
無線局域網技術的出現滿足了人們對智能家居的向往,而以后智慧城市的建設將為智能開關更快的普及打下厚實的基礎,運用計算機、無線通訊數據傳輸等技術,完成家庭照明遙測、遙控、遙訊的控制系統,能夠實現對照明設備的智能化控制,具備燈光亮度的強弱調節、燈光軟啟動、定時控制、場景設置等功能。智能開關因為移動性強等特點,打破了時空的限制,通過遠程或者集中控制,輕松實現全家庭的家居設備的控制,成為助力無線智能家居發展的重要設備。可以說,智能開關作為智能家居的重要組成部分,可以預見到將來會有更大的發展。