当前位置: 首页 >应用方案 >技术应用 >

ZigBee智能灯控系统实现灯泡控制的方案

前文我们介绍了zigbee智能灯控系统方案简述,本文我们接着介绍ZigBee智能灯控系统中如何实现灯泡控制方案。

ZigBee智能灯控系统控制灯泡的功能实现:

ZCL协议规范中,对于灯泡的功能有丰富成熟的ZCL协议插件可用。其中和灯泡相关的簇(cluster)主要有“ON_OFF”(cluster ID=0x0006)开关簇、LEVEL (cluster ID=0x0008)亮度簇、”LIGHTING_COLOR” (cluster ID=0x0300)灯控颜色簇。各个不同的簇下都有各自的控制指令(Specific Command)、以及表示当前状态的属性(Attribute)。

① ZigBee灯泡的开关控制功能实现:

下面以开关簇作为示例讲解ZCL协议的闭环控制,根据ZCL协议规范开关簇的控制指令和属性如下表格所示:

1  zigbee控制灯泡
开关簇的控制命令

2  zigbee控制灯泡
开关簇的属性

当灯泡接收到关灯(off)、开灯(on)、切换(toggle)三种不同的控制命令时,灯泡需要执行对应的亮或灭的操作,同时开关状态(OnOff)这个属性设置成灯泡亮灭对应的值0或1。

ZCL属性可以被控制端设备读取(Read),也可以主动上报到控制端(Report)。如果需要主动上报灯泡开关状态,需要灯泡绑定控制端的MAC地址。通常灯泡在入网的时候协调器会自动设备灯泡绑定自己的MAC地址,这样无论是遥控器操作灯泡的开关或网关操作灯泡的开关,灯泡的开关状态都可以自动上传给网关。通过ZCL属性的机制,就实现了灯控系统的闭环控制。


② ZigBee灯泡的亮度控制功能实现:

如果灯泡是可调光灯泡,则需要支持亮度簇,该簇定义的控制指令和属性如表格所示

3 ZigBee灯泡的亮度控制
亮度簇的属性

4  ZigBee灯泡的亮度控制
亮度簇的控制命令

Move to Level命令:灯泡收到该命令后,在Transition时间(渐变时间)内把灯泡亮度输出到Level的对应值,并且同步属性CurrentLevel的值和收到命令的Level值相等。

5  ZigBee灯泡亮度控制
Move to Level命令的参数

Move命令:灯泡收到该命令后根据Move mode升高(0)或降低(1)输出亮度,以Rate为亮度幅值每秒持续改变输出亮度直到最亮或最暗(熄灭)。灯泡每改变一次输出亮度就要同步到属性CurrentLevel上。

6  ZigBee灯泡亮度控制
Move命令的参数

Step命令:灯泡收到该命令后根据Step mode升高(0)或降低(1)输出亮度,Step size为调节亮度的步进值,Transition time为亮度的渐变时间。

7  ZigBee灯泡亮度控制
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灯泡的颜色控制功能实现:

灯控颜色簇定义的控制命令和属性如下表所示

8  ZigBee灯泡的颜色控制
灯控颜色簇的属性

9  ZigBee灯泡的颜色控制
灯控颜色簇的控制命令

从灯控颜色簇的控制命令和属性可以看到,彩色灯泡的控制和状态反馈并不是直接控制RGB三路颜色的输出,而是采用XY轴色系坐标或HUE色相环的方式调节RGB三路颜色的比例,同时还要配合亮度簇中的CurrentLevel值来调节RGB三路颜色的整体输出。

另外从颜色簇的控制命令和属性看,还有一种特殊的颜色控制方式就是色温控制,相较于RGB灯,色温控制只需要控制冷暖两路光的PWM比例即可实现控制。ZCL协议灯控颜色簇的色温单位为麦尔德单位而非开尔文单位。

属性ColorMode和ColorCapabilities用于定义灯泡支持哪种调色方式,如XY轴色系调色,HUE色相环调色,色温调色。控制端可以从这两个属性来选择灯泡的调色指令。其中XY轴色系调试需要ZigBee SOC具备简单的浮点运算能力,而颜色输出的准确度也需要借助专业的仪器和色卡进行校对,同时影响灯泡颜色准确性的还有LED的个体差异。

智能灯控系统zigbee模组选型推荐

1、亮灭灯泡方案:

推荐E18系列ZigBee模块,亮灭灯仅需要支持开关簇,仅需要支持GPIO高低电平输出,ZigBee无线模块越便宜越好

2、可调光灯泡方案:

推荐E18系列zigbee自组网模块,可调光灯在亮灭灯基础上增加了亮度簇和PWM输出,以CC2530芯片的硬件资源完全可以应付。

3、彩色灯泡 方案:

推荐E180-ZG120B系列ZigBee模块或E180-Z5812系列ZigBee3.0模组,E180-ZG120B无线模块支持多路PWM,支持浮点运算,而且Silicon Labs的SDK中有对灯控颜色簇的完美支持,甚至有现成的颜色控制算法。而E180-Z5812有4路PWM输出,可以实现RGBW输出功能,即可以留一路PWM波作为白光补偿。但是E180-Z5812采用泰凌微8258芯片没有浮点单元和math函数库,色彩调节算法没有现成的资源可用。


今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多zigbee模块产品和zigbee技术资料,感兴趣的小伙伴可以登录我们的亿佰特官网和企业公众号(微信号:cdebyte)进行了解,也可以直接拨打400电话咨询技术专员!


相关阅读:

1、ZigBee3.0技术通信标准能否一统ZigBee协议?

2、基于Zigbee3.0模块的路灯控制网络

3、ZigBee智能灯控系统



亿佰特官网 4000-330-990

https://www.wjx.cn/jq/84863372.aspx