Friday, March 23, 2012

Zigbee power switch with metering capability


這小東西約是一年前替客戶製作的,目的是要透過Zigbee來作home automation,需求為可以透過Zigbee HA profile來控制power switch的開與關,這部份倒是簡單,只要透過ZCL_CLUSTER_ID_GEN_ON_OFF實作,並無太大問題;主要是在這小玩意上面需要能讀取目前插座上的功率消耗同時透過Zigbee network回傳功率消耗給遠端Server來作節能控制;這就需要有讀取功率消耗能力的IC了,我們選用的是ADI ADE7763這個IC透過shunt resistor來讀取功率消耗,TI CC2530這個Zigbee IC是透過SPI interface來去跟ADE7763溝通,完成生產校正以及使用中讀取功率消耗。

至於功率消耗的回傳在Zigbee HA profile並無定義,所以我們只能透過自訂的格式或是借用Zigbee SE profile裡面的ATTRID_SE_CURRENT_SUMMATION_DELIVERED或ATTRID_SE_INSTANTANEOUS_DEMAND來送出功率消耗到Zigbee network,之後在後送到後端Server作節能控制。

P.S. 在使用ADI ADE7763這個IC時發生過個小問題讓我們頭痛了好幾週,原因是ADE7763預設是會有負功率累計的,如果不需要這個功能必須透過mode register把他關掉,不然的話,有時你就會在空載時讀到很奇怪的值,而且這現象在台灣使用110V並無法重製,客戶端使用220V就會發生,著實讓我們吃足苦頭,多方Debug後才發現原來是負功率累計造成,關閉後已無此問題。

1 comment: