什么是ZigBee?
ZigBee是一種成熟的無線通信協議,在智能燈控領域有著悠久的應用歷史。
ZigBee本身是一種帶有自愈功能的Mesh網絡,在ZigBee網絡中設備分為三種類型:協調器、路由器、終端節點。
協調器:建立ZigBee網絡,管理路由器和終端節點接入網絡,同時具備數據路由中繼的功能。
路由器:可以輔助協調器維持已存在的ZigBee網絡的設備連接,同時也具備數據路由中繼的功能。路由器的路由中繼功能可以幫助協調器擴大信號覆蓋距離和范圍。
終端節點:終端節點接入ZigBee網絡后不能直接通信,需要協調器或者路由器作為父節點轉發其數據收發。但是終端節點可以在連接狀態下關閉無線收發電路,降低功耗。

在ZigBee的應用層協議即ZCL協議把若干種不同應用以“簇”進行了細分類,每個“簇”即一種應用規范,在一個簇規范中細分了設備控制端的行為和受控端的行為,包括控制端發出什么指令,受控端執行什么操作,受控端返回什么狀態。通常一個ZigBee設備會同時支持多個簇規范,并且ZigBee設備又具備協調器、路由器、終端節點三種不同的角色。ZigBee設備通過對不同簇規范的排列組合和三種角色的排列組合,實現各種各樣不同的設備功能。

燈控系統和智能燈控系統
在典型的燈控系統中,按照傳統的架構,該系統共有兩種設備:控制端設備和受控端設備。控制端設備就是開關,受控端就是燈。傳統的燈控系統中,開關通過通斷燈泡的供電的方式實現對燈的控制。這種應用方式只能控制燈的亮滅,對于亮度和色彩的控制很難實現,特別是現今的燈都是采用半導體照明技術的LED燈更無法通過通斷供電電路的方式調節亮度和顏色。
在流行半導體照明的LED燈時代,智能燈控技術也開始普及。這類燈具通常基于會集成一個MCU用于控制LED。該類燈具在使用時會接在一個連通的供電電路上,使其有持續的供電。而燈具的控制端通常以無線遙控的方式對燈具進行控制,當然也有一些采用有線控制的協議如DALI總線或電力載波,采用有線控制的智能燈控系統需要解決控制信號線路和供電線路的兼容問題增加了施工難度,而無線燈控則不存在施工問題,因此主流智能燈控多采用無線控制的方式。

為什么ZigBee適合智能燈控系統?
由于ZigBee是Mesh結構的無線網絡,在智能燈控系統中,受控端設備(燈泡)可以以路由器的角色實現,在智能燈控系統中通過增加燈泡數量來增加信號覆蓋范圍。特別是一些需要安裝在信號死角盲區的燈具,可以通過路由器來解決盲區問題。
而ZCL協議針對每個應用簇都有完整的閉環控制機制,針對智能燈控ZCL協議定義了三個不同的應用簇規范,分別對應通斷控制,亮度(級數)控制和顏色控制。在燈泡端可根據需要,選擇性的支持這三種簇的排列組合,就能實現亮滅燈、調光燈、彩色燈三種不同的燈具,它們可以采用同一個控制端來控制。
ZigBee智能燈控系統中的控制端和受控端
之前提到了燈控系統必須具備兩樣設備——控制端和受控端,其實任何一種控制系統都是由控制端和受控端構成。在基于ZigBee的智能燈控系統中,受控端通常有2類設備,分別是獨立的燈泡和帶繼電器的開關(俗稱單控開關)。控制端通常有2類設備:分別是無線開關(俗稱單控開關或燈控遙控器)和帶APP的網關。在后續的介紹中,這4類設備分別叫做:燈泡、開關、遙控器、網關。
ZigBee燈泡的功能實現
在ZCL協議規范中,對于燈泡的功能有豐富成熟的ZCL協議插件可用。其中和燈泡相關的簇(cluster)主要有“ON_OFF”(cluster ID=0x0006)開關簇、”LEVEL” (cluster ID=0x0008)亮度簇、”LIGHTING_COLOR” (cluster ID=0x0300)燈控顏色簇。各個不同的簇下都有各自的控制指令(Specific Command)、以及表示當前狀態的屬性(Attribute)。
① ZigBee燈泡的開關控制功能實現
下面以開關簇作為示例講解ZCL協議的閉環控制,根據ZCL協議規范開關簇的控制指令和屬性如下表格所示:

開關簇的控制命令
開關簇的屬性
當燈泡接收到關燈(off)、開燈(on)、切換(toggle)三種不同的控制命令時,燈泡需要執行對應的亮或滅的操作,同時開關狀態(OnOff)這個屬性設置成燈泡亮滅對應的值0或1。
ZCL屬性可以被控制端設備讀取(Read),也可以主動上報到控制端(Report)。如果需要主動上報燈泡開關狀態,需要燈泡綁定控制端的MAC地址。通常燈泡在入網的時候協調器會自動設備燈泡綁定自己的MAC地址,這樣無論是遙控器操作燈泡的開關或網關操作燈泡的開關,燈泡的開關狀態都可以自動上傳給網關。通過ZCL屬性的機制,就實現了燈控系統的閉環控制。
② ZigBee燈泡的亮度控制功能實現
如果燈泡是可調光燈泡,則需要支持亮度簇,該簇定義的控制指令和屬性如表格所示:

亮度簇的屬性

亮度簇的控制命令
Move to Level命令:燈泡收到該命令后,在Transition時間(漸變時間)內把燈泡亮度輸出到Level的對應值,并且同步屬性CurrentLevel的值和收到命令的Level值相等。

Move to Level命令的參數
Move命令:燈泡收到該命令后根據Move mode升高(0)或降低(1)輸出亮度,以Rate為亮度幅值每秒持續改變輸出亮度直到最亮或最暗(熄滅)。燈泡每改變一次輸出亮度就要同步到屬性CurrentLevel上。
Move命令的參數
Step命令:燈泡收到該命令后根據Step mode升高(0)或降低(1)輸出亮度,Step size為調節亮度的步進值,Transition time為亮度的漸變時間。
Step命令的參數
Stop命令:停止亮度變化,該命令無命令參數。
ZCL協議中定義的亮度簇的控制命令和屬性,側面反應了可調光燈的幾個關鍵點:
亮度漸變控制:亮度簇的控制指令均涉及到亮度漸變的控制,亮度漸變也是智能燈控系統中對可調光燈的必備功能,也是ZigBee智能燈泡的關鍵指標。漸變效果做得不好的燈在漸變過程中會出現燈光抖動,或者出現爆閃現象,影響照明體驗效果。通常的漸變方式為線性漸變,即亮度變化的幅度除以漸變時間得到單位時間周期的亮度改變值。單位時間越小越好,通常單位時間大于20ms時燈光漸變頻率小于50Hz人眼能感受到燈光抖動,但是漸變頻率達到100Hz時幾乎感覺不到燈光抖動。
亮度等級劃分:無論從控制命令的Level值還是屬性CurrentLevel來看,ZigBee智能燈泡的亮度值的范圍在0~255之間。但實際上智能燈泡控制亮度的PWM波的精細度必須小于1/255否則就會有抖動。因此在實現ZigBee調光燈時,單位時間內改變的并不是CurrentLevel的值而是PWM波的輸出值,然后才讓CurrentLevel值和PWM波輸出值同步。假設PWM波的等級是1000級,PWM波變化2%的時候CurrentLevel值幾乎不變。
CurrentLevel值主動上報:在ZCL協議中任何屬性都可以設置為主動上報到綁定目標,其中在亮度簇中CurrentLevel值必須上報。通常默認CurrentLevel值有變化就要主動上報給網關。
③ ZigBee燈泡的顏色控制功能實現
燈控顏色簇定義的控制命令和屬性如下表所示:
燈控顏色簇的屬性
燈控顏色簇的控制命令
從燈控顏色簇的控制命令和屬性可以看到,彩色燈泡的控制和狀態反饋并不是直接控制RGB三路顏色的輸出,而是采用XY軸色系坐標或HUE色相環的方式調節RGB三路顏色的比例,同時還要配合亮度簇中的CurrentLevel值來調節RGB三路顏色的整體輸出。
另外從顏色簇的控制命令和屬性看,還有一種特殊的顏色控制方式就是色溫控制,相較于RGB燈,色溫控制只需要控制冷暖兩路光的PWM比例即可實現控制。ZCL協議燈控顏色簇的色溫單位為麥爾德單位而非開爾文單位。
屬性ColorMode和ColorCapabilities用于定義燈泡支持哪種調色方式,如XY軸色系調色,HUE色相環調色,色溫調色。控制端可以從這兩個屬性來選擇燈泡的調色指令。其中XY軸色系調試需要ZigBee SOC具備簡單的浮點運算能力,而顏色輸出的準確度也需要借助專業的儀器和色卡進行校對,同時影響燈泡顏色準確性的還有LED的個體差異。
模組選型推薦
①亮滅燈泡:
推薦E18系列模組,亮滅燈僅需要支持開關簇,僅需要支持GPIO高低電平輸出,模組越便宜越好。
②可調光燈泡:
推薦E18系列模組,可調光燈在亮滅燈基礎上增加了亮度簇和PWM輸出,以CC2530芯片的硬件資源完全可以應付。
③彩色燈泡:
推薦E180-ZG120B模組或E180-Z5812系列模組,E180-ZG120B支持多路PWM,支持浮點運算,而且Silicon Labs的SDK中有對燈控顏色簇的完美支持,甚至有現成的顏色控制算法。而E180-Z5812有4路PWM輸出,可以實現RGBW輸出功能,即可以留一路PWM波作為白光補償。但是E180-Z5812采用泰凌微8258芯片沒有浮點單元和math函數庫,色彩調節算法沒有現成的資源可用。
-
無線通信
+關注
關注
58文章
4739瀏覽量
145072 -
ZigBee
+關注
關注
158文章
2280瀏覽量
245899 -
燈控系統
+關注
關注
0文章
4瀏覽量
6822 -
智能燈
+關注
關注
1文章
44瀏覽量
11442
發布評論請先 登錄
ZigBee Light Link協議燈控方案
ZigBee智能餐廳定位系統
什么是智能燈
ZigBee Light Link智能燈控方案
基于ZigBee的智能樓宇燈光控制系統設計
ZigBee與Android的智能家居控制系統設計
基于ZigBee的智能家居系統設計
畢業設計之 -- 基于ZigBee的智能燈控系統

評論