鄒恩 霍慶 黃興 黃浩揚
【摘要】在ZigBee技術(shù)的基礎(chǔ)上,設(shè)計了一種基于STC12C5A60S2的手持便攜式簡便智能家居控制終端,并作出底層控制模塊的詳細硬件設(shè)計方案。主ZigBee(coordinator)模塊與手持終端連接,從ZigBee(rounter)模塊與底層單片機通訊,控制照明系統(tǒng)、窗簾系統(tǒng)、風扇系統(tǒng)和空調(diào)系統(tǒng)等。其中著重設(shè)計窗簾系統(tǒng)和風扇系統(tǒng)的閉環(huán)控制,能夠根據(jù)光照度和實時溫度調(diào)節(jié)家居內(nèi)的明暗和溫度。該套智能家居模型已搭建并正常運行,通過測試15m之內(nèi)系統(tǒng)能夠較好地通訊,系統(tǒng)硬件成本低,方便使用并具有較好的實用性。
【關(guān)鍵詞】ZigBee網(wǎng)絡(luò);智能家居;STC12C5A60S2單片機;自動控制
Intelligent home control system Based on zigbee technology
ZOU En1,HUO Qing1,Huang Xing2,HUANG Hao-yang1
(1.College of Engineering,South China Agricultural University,Guangzhou 510642,China;2.Guangzhou Kechuang Energy saving Technology Service Co.,Ltd.Guangzhou 510000,China)
Abstract:Based on the ZigBee technology,a hand-held portable intelligent home controlled terminal is designed on the basis of STC12C5A60S2 MCU,and make a detailed hardware design with floor control module.Main ZigBee(coordinator)module is connected with the handheld terminal and salved ZigBee(rounter)module communicate with the underlying chip so that lighting system,window treatments,fans system and air conditioning system are controlled.This paper focuses on designing closed-loop system by curtain and fan control systems.According to light intensity and real-time temperature,the system control brightness and temperature inside the home.The set of intelligent home model has been set up and run normally,passed the test system better able to communicate within 15m,and system low cost,easy to use and has good practicability.
Key words:ZigBee network;intelligent home;STC12C5A60S2 microcontroller;automatic control
智能家居是一個綜合運用電力自動化技術(shù)、網(wǎng)絡(luò)通訊技術(shù)、自動控制技術(shù)的集成型的家居系統(tǒng)。與傳統(tǒng)家居相比,無論是生活舒適度,工作便利性都提升為較高檔次。通過無線網(wǎng)絡(luò)把家居中各種設(shè)備(照明系統(tǒng)、窗簾系統(tǒng)、空調(diào)系統(tǒng)、風扇系統(tǒng)、安防系統(tǒng)等)有機結(jié)合在一起,由終端控制器綜合管理,從而實現(xiàn)安全舒適且環(huán)保節(jié)能的居住環(huán)境[1]。
當前市場上智能家居一般采用嵌入式linux系統(tǒng)搭建并將家居系統(tǒng)連接互聯(lián)網(wǎng),這種方案能夠通過互聯(lián)網(wǎng)遠程監(jiān)控家居各控制系統(tǒng)的實時狀態(tài)并操作,只是開發(fā)技術(shù)較為復(fù)雜,系統(tǒng)的軟硬件成本比較高[2]。另一種較為常見的智能家居系統(tǒng)采取有線網(wǎng)絡(luò)組建控制系統(tǒng),常見的網(wǎng)絡(luò)為RS485或者電力載波網(wǎng)絡(luò)等。雖然RS485傳輸距離較長,實現(xiàn)網(wǎng)絡(luò)相對容易,但是會帶來額外布線的成本和不能免除傳統(tǒng)有線的線材損耗。而電力載波則會帶給家居系統(tǒng)很多不必要的干擾信號[3]。
針對現(xiàn)時智能家居的組網(wǎng)成本高,有線通訊等缺點,本文提出一種基于ZigBee自組網(wǎng)技術(shù),設(shè)計了以STC12C5A60S2為主控的手持便攜式簡便智能家居控制終端,可控制家居中常用的家電設(shè)備,著重設(shè)計窗簾系統(tǒng)和風扇系統(tǒng)的閉環(huán)控制,能夠根據(jù)光照度和實時溫度調(diào)節(jié)家居內(nèi)的明暗和溫度。該系統(tǒng)模型目前已通過了實驗室調(diào)試過程,能滿足家具內(nèi)設(shè)備控制的要求。
1.智能家居系統(tǒng)總體設(shè)計
智能家居系統(tǒng)包括手持終端控制器、CC2530主Zigbee發(fā)送模塊、CC2530從ZigBee接收模塊、底層MCU、步進電機驅(qū)動模塊、直流電機驅(qū)動模塊、溫度傳感器模塊、光照度傳感器模塊、時鐘模塊。系統(tǒng)總體上可分為兩個部分:手持機的編程與主ZigBee模塊的通訊和從MCU與各底層控制系統(tǒng)的設(shè)計。手持機的菜單系統(tǒng)總共有5層,主要包括單獨控制各設(shè)備和一鍵式設(shè)置模式。單獨控制設(shè)備包括照明燈系統(tǒng)、窗簾系統(tǒng)、風扇系統(tǒng)和空調(diào)系統(tǒng)。一鍵式設(shè)置模式包括上班模式、下班模式、休息模式和設(shè)備自動模式。ZigBee無線網(wǎng)絡(luò)負責發(fā)送設(shè)備信息和傳遞控制信息到各設(shè)備,信息的發(fā)送通過手持機的按鍵發(fā)出控制命令與主ZigBee節(jié)點連接完成。從節(jié)點采集信號以串口形式與MCU通訊,方便地控制照明燈、窗簾、家用電氣等設(shè)備。系統(tǒng)控制框圖如圖1所示。
圖1 控制系統(tǒng)框圖
Fig.1 Diagram of control system
2.系統(tǒng)硬件設(shè)計
硬件設(shè)計主要包括:手持機STC12C5A60S2單片機模塊、CC2530主Zigbee發(fā)送模塊、CC2530從ZigBee接受模塊、底層mcu、步進電機驅(qū)動模塊、直流電機驅(qū)動模塊、溫度傳感器模塊、光照度傳感器模塊、時鐘模塊等部分。
2.1 控制芯片選型
本系統(tǒng)選用STC12C5A60S2單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍,是一款單時鐘、機器周期和低功耗的單片機,滿足手持機菜單系統(tǒng)快速查詢要求和底層MCU大量數(shù)據(jù)運算和指令解析功能。全新的精簡指令集系統(tǒng)結(jié)構(gòu),內(nèi)部集成MAX810專用復(fù)位電路;具有8路10位精度的ADC,滿足光照度傳感器數(shù)模轉(zhuǎn)換要求;具有2路PWM/PCA(可編程計數(shù)陣列)可用于實現(xiàn)兩個定時器或2個外部中斷,可以滿足系統(tǒng)程序設(shè)計的中斷需求;支持UART和IIC,為時鐘芯片的數(shù)據(jù)傳輸提供方便;用戶可利用的程序空間高達60K字節(jié);片上集成了1280字節(jié)的RAM;支持ISP(在系統(tǒng)可編程)和IAP(在應(yīng)用可編程),片上資源豐富,具有較高的性價比[4]。
圖2 手持機控制電路圖
Fig.2 Control circuit of handheld
2.2 手持機核心控制模塊
手持機核心控制模塊的設(shè)計主要包括MCU單片機的最小系統(tǒng)、與時鐘DS1302、儲存模塊AT24C02和液晶顯示器12864的電路設(shè)計。其中P0作為液晶顯示的數(shù)據(jù)口;P1口和P2口的部分引腳作為DS1302和液晶的輸出口,AT24C02的時鐘口和數(shù)據(jù)口分別接P1.7和P1.2;4個獨立按鍵與P3口高四位連接。ZigBeeCC2530的串口發(fā)送端接MCU的接收端,串口的接收端接MCU的發(fā)送端,保證通信正常。手持機控制電路原理圖如圖2所示。
2.3 ZigBeeCC2530模塊
本設(shè)計使用的是TI公司的CC2530芯片ZigBee模塊,該模塊的外圍電路較少,主要包括外部晶振時鐘電路、MCU外圍接口電路和射頻輸入/輸出匹配電路。該芯片集成一個8位的微處理器,具有128KBFLASH和8KSRAM,支持最新的ZigBee協(xié)議棧ZSTACK。ZigBee工作在868MHz,915MHz和2.4GHz三種頻段,2.4GHz頻段是全球免費使用的頻段,因此,智能家居控制采用ZigBee技術(shù)進行自組網(wǎng)是非常適合的[5],從通信層面看,主從節(jié)點的功能主要是實現(xiàn)數(shù)據(jù)的有效交換,模塊的電路如圖3所示。
圖3 ZigBeeCC2530模塊電路
Fig.3 Circuit of ZigBeeCC2530
2.4 照明系統(tǒng)控制模塊
照明系統(tǒng)電路設(shè)計比較簡單,能實現(xiàn)對家居燈具粗獷式控制。底層MCU與4路帶光電隔離的繼電器模塊連接,控制家居模型中的吊燈,客廳燈,主臥室燈和壁燈。光耦隔離采用雙光耦,具有二極管續(xù)流保護電路,工業(yè)應(yīng)用廣泛,性能穩(wěn)定。樓梯燈則采用聲控開關(guān)控制,有人上樓梯,樓梯燈開;反之,則關(guān)。
2.5 窗簾系統(tǒng)控制模塊
窗簾系統(tǒng)主要是一個自閉環(huán)的控制系統(tǒng)。在自動控制模式下,通過實時檢測家居內(nèi)光照度,經(jīng)模數(shù)轉(zhuǎn)換芯片PCF8591轉(zhuǎn)換,單片機采集信號后,根據(jù)已設(shè)定的值與采集信號AD轉(zhuǎn)換后值的差控制步進電機轉(zhuǎn)動的方向和步數(shù),帶動窗簾開合,保證家居處于光照度舒適的環(huán)境[6];在單獨控制模式下,手持機的菜單設(shè)置窗簾的開度,由手持機發(fā)送命令,ZigBee網(wǎng)絡(luò)傳輸,底層MCU控制步進電機,步進電機帶動導(dǎo)軌,進而控制窗簾的拉合。
圖4 窗簾控制模塊電路
Fig.4 Circuit of curtain module
2.6 風扇空調(diào)系統(tǒng)模塊
在本智能家居模型中,考慮空調(diào)工作原理復(fù)雜,真正控制空調(diào)溫度不太實際,所以空調(diào)系統(tǒng)部分只控制其開關(guān)。對于風扇系統(tǒng),在自動控制模式下,通過檢測家居室內(nèi)實時溫度,單片機可控制風扇的開關(guān),而且可通過PWM波控制直流電機的轉(zhuǎn)速,系統(tǒng)以溫度偏差E為輸入量,風扇出風口為輸出量,設(shè)計了增量式控制方法,隨著溫度差的減小,PWN波的占空比也隨之減少[7]。在負載一定的情況下,風扇電機的轉(zhuǎn)速和PWN波的占空比成正比,通過改變PWN波的占空比可調(diào)節(jié)直流電機兩端輸入的平均電壓,以實現(xiàn)轉(zhuǎn)速控制和溫度調(diào)節(jié)。在單獨控制模式下,原理與窗簾控制類似,實現(xiàn)手持機一體控制風扇窗簾。
圖5 風扇系統(tǒng)控制電路圖
Fig.5 control circuit of fan system
圖6 主程序流程圖
Fig.6 Flow chart of master program
3.系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計主要使用C51語言編寫,在Keil uVision4環(huán)境下調(diào)試完成。軟件程序設(shè)計主要包括三部分。手持機菜單系統(tǒng)設(shè)計、ZigBee節(jié)點的軟件配置和底層MCU驅(qū)動程序設(shè)計。
3.1 手持機程序設(shè)計
3.1.1 主程序設(shè)計
主程序流程圖如圖6所示,系統(tǒng)啟動后,首先進行STC12C5A60S2和液晶模塊初始化,單片機的初始化包括串口、定時器、IO端口等初始化;液晶初始化完畢后,手持機顯示一級菜單。然后進入大循環(huán),由于用戶需實時知道時間便于控制,手持機上有時鐘顯示;根據(jù)設(shè)置控制底層的參數(shù),讀取AT24C02的值,實現(xiàn)一鍵控制家居設(shè)備。最后調(diào)用鍵盤掃描,并與ZigBee實時通信。
3.1.2 鍵盤掃描程序設(shè)計
鍵盤掃描主要設(shè)置4個獨立按鍵,分別是返鍵、確認鍵、向上和向下。定義每個顯示界面為(x,y),如(1,1)代表主菜單的第一行,主菜單顯示內(nèi)容為“廣州科創(chuàng)節(jié)能科技服務(wù)有限公司1控制2娛樂3設(shè)置”,向上和向下鍵只改變y值,表示選擇第幾行內(nèi)容。確定鍵和返回鍵可改變x值,進入或者返回各自不同畫面。X變量范圍為:1~2,Y的變量范圍:1~9。根據(jù)顯示不同內(nèi)容設(shè)置變量的取值。掃描程序開始后,調(diào)用鍵盤去抖函數(shù),判斷鍵值,如KEY5按下,判斷此時(x,y)值,然后顯示相應(yīng)內(nèi)容,并處理按鍵執(zhí)行的信息和發(fā)送對應(yīng)終端。各顯示畫面(x,y)有固定的邏輯聯(lián)系,確定鍵和返回鍵有內(nèi)部緊密聯(lián)系,保證整個菜單系統(tǒng)5層結(jié)構(gòu)能順利運行。鍵盤掃描程序流程圖如圖7所示。