李柳元
摘 要: 目前市面上的智能插座僅具有無線控制其通斷的功能,無法實(shí)現(xiàn)通信組網(wǎng),更不能控制帶紅外遙控的主流家電設(shè)備等。介紹了一種以STM32單片機(jī)為控制核心,集成紅外收發(fā)模塊和無線通信模塊的多功能智能插座系統(tǒng)。該系統(tǒng)可以實(shí)現(xiàn)對帶紅外遙控的主流家電設(shè)備的控制,具有定時(shí)控制、通信組網(wǎng)、紅外信號自學(xué)習(xí)等功能,具有性能穩(wěn)定、擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),隨著智能家居的普及和發(fā)展,該設(shè)計(jì)具有廣闊的市場應(yīng)用前景。
關(guān)鍵詞: 智能插座; 無線通信; 紅外收發(fā); STM32
中圖分類號: TN915?34; TP334 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2015)19?0156?04
Abstract: The smart sockets available in market only has on?off function achieved by wireless remote control, which can realize neither communication networking nor control of the mainstream household appliances with infrared remote control. A multifunction smart socket system which uses MCU STM32 as the control core, and integrates infrared transceiver module and wireless communication module is introduced in this paper. It has the functions of timed control, communication networking and infrared signal self?learning, and can realize the control for mainstream household appliances with infrared remote control, what is more, it has the advantages of stable performance and strong expansibility. With the development and popularization of the smart home system, the design has a wide prospect.
Keywords: smart socket; wireless communication; infrared transceiver; STM32
0 引 言
目前國內(nèi)主流家用電器如電視、空調(diào)等大都是由紅外遙控控制,即其通電后僅處在待機(jī)狀態(tài),并不能夠立即工作。而目前市面上的多數(shù)智能插座并沒有集成紅外模塊,只能通過無線通信實(shí)現(xiàn)對接入插座口的設(shè)備進(jìn)行遠(yuǎn)程通斷電控制,并不能控制設(shè)備的開關(guān)機(jī)狀態(tài),也就算不上真正的智能化,并且不能對多個(gè)插座進(jìn)行統(tǒng)一控制,不利于擴(kuò)展應(yīng)用。因此本文提出了一種基于STM32的紅外無線智能插座系統(tǒng)的設(shè)計(jì)方案,該插座系統(tǒng)具有遠(yuǎn)程控制,通信組網(wǎng),學(xué)習(xí)紅外碼,定時(shí)控制等多種功能,可以實(shí)現(xiàn)對帶紅外遙控的主流家電設(shè)備的智能控制。該系統(tǒng)使用簡單,能極大的便利日常生活,促進(jìn)智能家居推廣和普及。
1 系統(tǒng)工作流程及功能介紹
1.1 系統(tǒng)工作流程
系統(tǒng)整體設(shè)計(jì)方案如圖1所示,主要包括插座節(jié)點(diǎn)[1]、串口轉(zhuǎn)無線模塊和紅外收發(fā)模塊三個(gè)部分。結(jié)合圖1系統(tǒng)整體設(shè)計(jì)方案來看,該智能插座系統(tǒng)的工作流程如下:
(1) 學(xué)習(xí)過程。紅外收發(fā)模塊基于STM32內(nèi)置的I2C通信接口與E2PROM芯片通信,并配合紅外接收器和自學(xué)習(xí)按鍵實(shí)現(xiàn)遙控按鍵學(xué)習(xí)功能。當(dāng)初次使用該插座時(shí),按住紅外收發(fā)模塊上的自學(xué)習(xí)按鍵,同時(shí)對準(zhǔn)紅外收發(fā)模塊上的紅外接收器按下設(shè)備遙控器的待機(jī)/開機(jī)按鍵[2],此時(shí)該設(shè)備遙控器的待機(jī)/開機(jī)鍵的紅外碼值就會寫入E2PROM中,完成自學(xué)習(xí)[2]功能。
(2) 控制過程。經(jīng)過自學(xué)習(xí)后的插座,用戶可以在PC上位機(jī)控制終端的操作界面上設(shè)置插座節(jié)點(diǎn)的工作狀態(tài),比如插座編號、插座通斷、定時(shí)信息等,并通過串口轉(zhuǎn)無線模塊將用戶指令無線傳輸給指定的插座節(jié)點(diǎn)和紅外收發(fā)模塊;插座節(jié)點(diǎn)完成相應(yīng)的通斷動(dòng)作,紅外收發(fā)模塊向相關(guān)設(shè)備發(fā)送紅外信號,將相關(guān)設(shè)備切入待機(jī)狀態(tài)后延遲5 s自動(dòng)切斷電源[2],或是接通電源延時(shí)5 s后由紅外收發(fā)模塊向相關(guān)設(shè)備發(fā)送紅外信號,將設(shè)備從待機(jī)狀態(tài)切入開機(jī)狀態(tài)。
1.2 系統(tǒng)功能介紹
為滿足智能家居系統(tǒng)的需求,該新型智能插座系統(tǒng)除具有電源分配功能外,還應(yīng)該具有以下功能:
(1) 控制功能。該智能插座系統(tǒng)能通過插座節(jié)點(diǎn)的電源通斷控制插座節(jié)點(diǎn)上設(shè)備的供電,并能對接入設(shè)備發(fā)送相應(yīng)的紅外信號,從而實(shí)現(xiàn)對帶紅外遙控的主流家電設(shè)備,如空調(diào)、電視等的遠(yuǎn)程控制。
(2) 組網(wǎng)功能。在該智能插座系統(tǒng)中,通過對插座節(jié)點(diǎn)進(jìn)行編號,可以實(shí)現(xiàn)多個(gè)插座節(jié)點(diǎn)與PC上位機(jī)終端進(jìn)行無線通信,響應(yīng)終端的命令,即多通道無線傳輸。
(3) 定時(shí)功能。在PC上位機(jī)操作界面中設(shè)定時(shí)間,即可完成插座節(jié)點(diǎn)的定時(shí)通斷功能。
(4) 學(xué)習(xí)功能。利用STM32內(nèi)部自帶的I2C通信接口與E2PROM芯片的通信連接,該智能插座系統(tǒng)可以學(xué)習(xí)帶紅外遙控的主流家電設(shè)備的遙控器上的任意按鍵,以實(shí)現(xiàn)其自學(xué)習(xí)功能。
2 硬件電路設(shè)計(jì)
智能插座系統(tǒng)硬件由插座節(jié)點(diǎn)、串口轉(zhuǎn)無線模塊、紅外收發(fā)模塊三個(gè)部分組成。
2.1 微處理器endprint
微處理器選用基于Cortex?M3內(nèi)核的32位增強(qiáng)型閃存微處理器STM32F103RCT6作為控制核心,Cortex?M3內(nèi)核的設(shè)計(jì)集高性能、低功耗、實(shí)時(shí)應(yīng)用、具有競爭性價(jià)格于一體,滿足嵌入式領(lǐng)域的要求。STM32F103RCT6最高工作頻率可達(dá)72 MHz,內(nèi)置高速存儲器(高達(dá)512 KB的閃存和64 KB的SRAM),豐富的增強(qiáng)I/O端口,4個(gè)通用16位定時(shí)器和2個(gè)PWM定時(shí)器,還包含標(biāo)準(zhǔn)和先進(jìn)的通信接口:2個(gè)I2C,3個(gè)SPI,2個(gè)I2S,1個(gè)SDIO,5個(gè)USART,1個(gè)USB和1個(gè)CAN[3]。其豐富的片上資源大大簡化了系統(tǒng)硬件,降低了設(shè)計(jì)成本。
2.2 插座節(jié)點(diǎn)設(shè)計(jì)
插座節(jié)點(diǎn)的硬件原理框圖如圖2所示,可以看出整個(gè)電路以STM32單片機(jī)作為控制核心,包含電源轉(zhuǎn)換模塊、繼電器控制電路、2.4 GHz無線傳輸電路和DS1302時(shí)鐘電路。
(1)電源轉(zhuǎn)換模塊。電源分為三個(gè)部分:市電電源220 V;繼電器控制電路的5 V電源;單片機(jī)等模塊的3.3 V電源。
對于市電部分,考慮安全與功率限制,導(dǎo)線較寬,有較好的過流過載能力,插座節(jié)點(diǎn)采用三孔式,兩相插座供電,標(biāo)準(zhǔn)銅片接觸,保證安全性;并通過繼電器控制實(shí)現(xiàn)插座一端的220 V火線供電,插座的另一端全部連接到220 V的零線上,各個(gè)插座的接地端子連接到電源插頭的地線上[1]。
對于5 V電源部分,因?yàn)殚_關(guān)電源的尺寸遠(yuǎn)小于降壓穩(wěn)壓模塊電路[1],具有很好的輸出效果,輸出功率滿足系統(tǒng)工作要求,因此插座節(jié)點(diǎn)采用的供電方式為開關(guān)電源模塊供電,如圖3所示,采用220 V交流供電輸入,輸出500 mA電流值的5 V電源。
對于3.3 V電源部分,采用AMS1117模塊進(jìn)行電源轉(zhuǎn)換,加入濾波電路,使電源轉(zhuǎn)換更平穩(wěn)。AMS1117的特點(diǎn)包括:固定輸出電壓,低漏失電壓(1 A輸出電流時(shí)僅為1.2 V),限流功能,過熱切斷,工作溫度范圍寬[1](-40~125 ℃)。
(2) 繼電器控制電路。設(shè)計(jì)電路如圖4所示,考慮插座安全,采用光耦隔離將強(qiáng)電弱電進(jìn)行分離控制;繼電器工作電壓為5 V,采用三極管驅(qū)動(dòng),驅(qū)動(dòng)能力強(qiáng);IN1為繼電器控制接口,接單片機(jī)I/O口,低電平吸合,高電平釋放。
(3) DS1302時(shí)鐘電路。插座節(jié)點(diǎn)采用DS1302時(shí)鐘芯片實(shí)現(xiàn)基本定時(shí)通斷功能,時(shí)鐘電路的時(shí)鐘晶振是32.768 kHz。DS1302內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘和31 B的靜態(tài)RAM,實(shí)時(shí)時(shí)鐘提供秒、分、時(shí)、日、周、月、年的信息,每月的天數(shù)和閏年的天數(shù)可以自動(dòng)調(diào)整,并通過同步串行方式與單片機(jī)進(jìn)行通信。
2.3 串口轉(zhuǎn)無線模塊設(shè)計(jì)
串口轉(zhuǎn)無線模塊的整個(gè)電路以STM32單片機(jī)作為控制核心,包含USB接口電路和2.4 GHz無線傳輸電路。
(1) USB接口電路。USB接口電路如圖5所示,該電路基于PL2303設(shè)計(jì),PL2303是一種高度集成的RS 232/USB雙向接口轉(zhuǎn)換器,可完成RS 232與USB接口之間的協(xié)議轉(zhuǎn)換,并為外部串行接口提供電源,從而實(shí)現(xiàn)PC機(jī)的USB接口與單片機(jī)之間的通信問題,通信波特率高達(dá)6 Mb/s。STM32F103RCT6提供5個(gè)內(nèi)置的串口通信模塊,可方便地與PL2303連接,采用兩線連接串口方式,分別將STM32F103RCT6的PA.9(U1_TX),PA.10(U1_RX)與PL2303的P1(TXD),P5(RXD)連接,3.3 V輸出為STM32F103RCT6提供電源。
(2) 2.4 GHz無線傳輸電路。對于實(shí)現(xiàn)數(shù)據(jù)通信的無線模塊采用的是2.4 GHz的24L01模塊,nRF24L01是NORDIC公司產(chǎn)的一款無線通信芯片,可以實(shí)現(xiàn)點(diǎn)對點(diǎn)之間的無線數(shù)據(jù)通信或是一對六的無線數(shù)據(jù)通信,其無線通信傳輸速率為0~10 Mb/s,有125個(gè)可選工作頻道,且為單片機(jī)系統(tǒng)預(yù)留5個(gè)GPIO和1個(gè)中斷輸入引腳,適用于單片機(jī)系統(tǒng)構(gòu)建無線通信功能。對于單片機(jī)控制,所需控制引腳有8個(gè),分別為VDD,VSS,CE(芯片的模式控制線),IRQ(中斷信號),SCK(芯片控制的時(shí)鐘線),MOSI(芯片控制數(shù)據(jù)線),MISO(芯片控制數(shù)據(jù)線),CSN(芯片的片選線)[1]。
2.4 紅外收發(fā)模塊設(shè)計(jì)
紅外收發(fā)模塊的整個(gè)電路以STM32單片機(jī)作為控制核心,包含紅外收發(fā)電路、E2PROM接口電路和2.4 GHz無線傳輸電路。
(1) 紅外收發(fā)電路。紅外收發(fā)電路包括紅外接收電路、紅外發(fā)射電路兩部分。紅外接收電路如圖6所示,采用HX1838紅外接收器,其載波頻率為38 kHz。紅外發(fā)射電路如圖7所示,采用一個(gè)與非門和紅外發(fā)射二極管實(shí)現(xiàn),單片機(jī)通過兩路信號進(jìn)行與非運(yùn)算后,控制二極管下端電平。
(2) E2PROM接口電路。E2PROM(帶電可擦可編程只讀存儲器)是一種掉電后數(shù)據(jù)不丟失的存儲芯片,通過與單片機(jī)的I2C接口進(jìn)行通信,實(shí)現(xiàn)數(shù)據(jù)存儲。電路如圖8所示。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)整體上可分為:插座節(jié)點(diǎn)軟件設(shè)計(jì);串口轉(zhuǎn)無線模塊軟件設(shè)計(jì);紅外收發(fā)模塊軟件設(shè)計(jì);上位機(jī)控制終端軟件設(shè)計(jì)。本文主要介紹插座節(jié)點(diǎn)的程序設(shè)計(jì)和紅外收發(fā)模塊的程序設(shè)計(jì)。
3.1 插座節(jié)點(diǎn)軟件設(shè)計(jì)
插座節(jié)點(diǎn)的整體控制程序主要包括主程序、外部中斷。其中主程序主要負(fù)責(zé)節(jié)點(diǎn)數(shù)據(jù)讀取傳輸功能,程序流程圖如圖9所示。外部中斷用于響應(yīng)上位機(jī)控制終端通過串口轉(zhuǎn)無線模塊發(fā)送的操作指令;采用中斷的方式使節(jié)點(diǎn)能夠準(zhǔn)確響應(yīng)外部操作命令,避免因查詢法丟失用戶命令的情況[4]。
3.2 紅外收發(fā)模塊軟件設(shè)計(jì)
整個(gè)紅外收發(fā)模塊程序主要包括兩部分:紅外接收程序和紅外發(fā)射程序。其中紅外接收程序主要負(fù)責(zé)紅外遙控的解碼和自學(xué)習(xí)功能的實(shí)現(xiàn),程序流程圖如圖10所示;紅外發(fā)射程序負(fù)責(zé)響應(yīng)上位機(jī)發(fā)送的無線控制信號,將存儲在E2PROM中的相應(yīng)紅外碼值提取并發(fā)射出去,程序流程圖如圖11所示。
4 結(jié) 語
本文介紹了新一代智能插座系統(tǒng)的功能和設(shè)計(jì)方案,其具有智能控制、定時(shí)設(shè)置、通信組網(wǎng)、學(xué)習(xí)存儲等多種功能,且具有費(fèi)用低廉,安裝簡單,使用方便,可隨意擴(kuò)充插座的數(shù)量,控制靈活,可以用PC上位機(jī)進(jìn)行遠(yuǎn)程控制等優(yōu)點(diǎn),這將滿足智能家居系統(tǒng)和物聯(lián)網(wǎng)的發(fā)展需求。因此,隨著智能家居系統(tǒng)的快速發(fā)展,該智能插座系統(tǒng)的應(yīng)用將越來越廣泛,具有十分良好的推廣前景和應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 王克權(quán),張莉,滕道祥,等.一種新型家用智能遙控節(jié)能定時(shí)插座的設(shè)計(jì)[J].山東工業(yè)技術(shù),2013(11):254?256.
[2] 杜海濤,田忠?guī)洠顐髅?關(guān)于紅外遙控的自跟隨插座設(shè)計(jì)[J].中國科技信息,2011(24):115?116.
[3] 蒙博宇.STM32自學(xué)筆記[M].北京:北京航空航天大學(xué)出版社,2012.
[4] 陳海旺,張振娟,黃明.智能家居中無線智能插座系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2013(21):80?83.
[5] 姚文軒,騰召勝,熊靜雯,等.多功能智能插座設(shè)計(jì)[J].企業(yè)技術(shù)開發(fā),2010,29(11):28?30.
[6] 文治洪,胡文東,李曉京,等.基于PL2303的USB接口設(shè)計(jì)[J].電子設(shè)計(jì)工程,2010,18(1):32?34.
[7] 徐偉,姜元建,王斌.智能插座在智能家居系統(tǒng)中的設(shè)計(jì)和應(yīng)用[J].中國儀器儀表,2010(10):45?47.
[8] 熊杰.基于nRF2401射頻模塊的溫度測量系統(tǒng)的設(shè)計(jì)[J].電腦知識與技術(shù),2012,8(35):8566?8567.
[9] 鄭嫻,姚銘.智能家庭網(wǎng)絡(luò)的研究現(xiàn)狀與發(fā)展趨勢[J].智能建筑與城市信息,2006(8):109?112.
[10] 李澤光.基于單片機(jī)的紅外遙控解碼器的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2007,30(9):36?37.endprint