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