ADE7758在新型電能監(jiān)控系統(tǒng)中的應(yīng)用與研究
具體的驅(qū)動程序流程,如圖5所示。本文引用地址:http://2s4d.com/article/177635.htm
3 企業(yè)用戶應(yīng)用程序的實現(xiàn)
利用ADE7758的底層驅(qū)動,實現(xiàn)對三相電、單相電的分時監(jiān)控,需要編寫相應(yīng)的軟件程序。該方案在軟件方面采用將電能監(jiān)控的用戶應(yīng)用程序封裝成任務(wù)的方法,利用μC/OS-Ⅱ軟核進行調(diào)度、管理,實現(xiàn)多種監(jiān)控功能。整體的軟件工作流程如圖6所示。
用戶應(yīng)用程序是ADE7758軟件部分的核心,需要依靠它來獲得企業(yè)所需單相、三相的電壓有效值、電流有效值、有功功率、功率因數(shù)以及累計電量。在應(yīng)用程序中,首先要讀取ADE7758各個寄存器的數(shù)據(jù),在該方案中需要分別監(jiān)控單相、三相電能,因此需要在應(yīng)用程序中進行判斷,單相電監(jiān)控只需要讀取AWATTHR(有功功率累計)、AVAHR(無功功率累計)、AIRMS(電流有效值)、AVRMS(電壓有效值)和FREQ(輸入信號頻率)寄存器。三相電還需要讀取B相和C相相應(yīng)的寄存器。特別需要注意,一些與功率有關(guān)的寄存器的值為正,則需要對這些寄存器的數(shù)據(jù)作取絕對值的操作,而電流電壓有效值是帶符號的,因此不需要作取絕對值的操作,這里需要分別處理。
從ADE7758的功率寄存器讀取的值為累計電量,為了獲得功率值,需要計算累計時間。該方案使用了移動時間戳的方法,調(diào)用μC/OS-Ⅱ提供的OSTimeGet()函數(shù),讀取數(shù)據(jù)之前得到首次的時鐘節(jié)拍,第二次讀取數(shù)據(jù)之前獲得當前時鐘節(jié)拍,就可以利用兩次讀取數(shù)據(jù)的間隔時間,計算得到相應(yīng)的功率。以上所得的數(shù)據(jù)為ADE7758內(nèi)部寄存器的原始數(shù)據(jù),用戶應(yīng)用函數(shù)還需要結(jié)合校準所得的修正系數(shù),對原始數(shù)據(jù)進行修正,才能最終提供給用戶精確的電能監(jiān)控數(shù)據(jù)。
評論