當(dāng)前位置:首頁 > 消費電子 > 消費電子
[導(dǎo)讀]摘要本應(yīng)用筆記介紹了基于C2000內(nèi)核和片內(nèi)12位ADC實現(xiàn)軟件電能計量的方案。C2000是德州儀器半導(dǎo)體有限公司生產(chǎn)的32位高性能實時微控制器,廣泛應(yīng)用于諸如馬達驅(qū)動,數(shù)字電源

摘要

本應(yīng)用筆記介紹了基于C2000內(nèi)核和片內(nèi)12位ADC實現(xiàn)軟件電能計量的方案。C2000是德州儀器半導(dǎo)體有限公司生產(chǎn)的32位高性能實時微控制器,廣泛應(yīng)用于諸如馬達驅(qū)動,數(shù)字電源等各種和功率控制相關(guān)的實時控制領(lǐng)域,而電能和功率的計算在以上應(yīng)用中往往作為反饋控制的輸入信號存在。因此,將軟件電能計量算法集成到C2000平臺上是實現(xiàn)各種實時控制SOC方案的關(guān)鍵。本文介紹了在C2000上實現(xiàn)軟件計量算法的具體方法以及TI基于C2000的軟件計量庫的使用方法,同時給出了測試結(jié)果。

1 C2000 計量庫介紹

1.1 應(yīng)用背景

節(jié)能環(huán)保的倡導(dǎo)和推行使大部分家用電器都有對能耗統(tǒng)計的需求,對于這個巨大的應(yīng)用市場,將C2000芯片在家電電機電源上的應(yīng)用優(yōu)勢在最小硬件成本添加代價下兼容拓展能耗統(tǒng)計功能是本次設(shè)計的目的。

C2000芯片專注于電機電源控制,其優(yōu)秀的性能已被業(yè)界普遍認可。本次設(shè)計是基于C2000 Piccolo 系列芯片搭建的軟件測試平臺,實現(xiàn)一套滿足智能家居能耗計量的軟件庫,使用最小的硬件代價實現(xiàn)對C2000應(yīng)用領(lǐng)域的豐富。

1.2 硬件平臺及軟件庫介紹

本次參考設(shè)計硬件平臺使用C2000 Piccolo Entry Line Control Pad, 這是TI提供的一套低成本C2000開發(fā)板,基于此平臺搭建的電路進行計量庫開發(fā)可以使用戶在逐步學(xué)C2000開發(fā)編程的同時實現(xiàn)一套能耗計量軟件。

此參考設(shè)計實現(xiàn)一個單相電能計量方案。參考設(shè)計的目的旨在實現(xiàn)一個完整的單相計量庫。使用戶在這個參考設(shè)計的基礎(chǔ)上快速建立自己的單相計量方案。代碼庫提供有功功率,無功功率,視在功率,有功能量以及無功能量,同時還能測量回路電流有效值,電壓有效值,功率因數(shù),頻率等參數(shù),滿足單相電能計量的需求,軟件支持數(shù)字校表。

2 第二部分 計量電路及功能描述

2.1 計量代碼庫

調(diào)用計量庫時,只需要將 emeter 目錄下的所有文件都添加進來,就能夠使用計量功能了。其中文件emeter-interface.h 中聲明了所有對外調(diào)用接口,供程序調(diào)用,以實現(xiàn)校表和計量數(shù)據(jù)讀取等功能。

算法庫默認配置ADC轉(zhuǎn)換率為3200點/秒,轉(zhuǎn)換數(shù)據(jù)為12bit,數(shù)據(jù)范圍0—4096,實現(xiàn)單相計量。函數(shù)adc_interrupt()實現(xiàn)對原始轉(zhuǎn)換數(shù)據(jù)的運算,measurement_callback()負責(zé)進一步處理adc_interrupt()中預(yù)處理的數(shù)據(jù)。因此可以在ADC每個中斷中調(diào)用adc_interrupt(adc_raw[2]),也可以緩存多個點然后再循環(huán)調(diào)用此函數(shù),函數(shù)入?yún)dc_raw為信號輸入,adc_raw[0]為電壓轉(zhuǎn)換數(shù)據(jù),adc_raw[1]為電流轉(zhuǎn)換數(shù)據(jù)。

adc_interrupt(),measurement_callback()實現(xiàn)流程如圖1所示:

圖 1 計量軟件流程圖

計量前端電路由電壓信號調(diào)理電路和電流信號調(diào)理電路組成。電壓信號調(diào)理電路使用電阻器對輸入工頻信號分壓,并經(jīng)過運算放大器緩沖后送至MCU ADC輸入引腳。電流互感器輸出電流信號通過負載電阻轉(zhuǎn)換成電壓信號,經(jīng)過運算放大器放大后送至MCU ADC輸入引腳。推薦電路如圖2所示:

圖 2 CT計量前端參考電路

上圖電壓輸入分析如下:

市電220V交流輸入,經(jīng)10k和15k并聯(lián)再串聯(lián)2M電阻分壓,輸入交流電壓為 220V*(6/(2000+6)) = 0.66V,直流電壓3.3*10/25=1.32V. 總的輸入電壓幅值 0.66*1.414+1.32= 2.25V, 輸入信號3.3V以內(nèi)。

電流互感器輸入5A/2.5mA(根據(jù)互感器具體型號定),取樣電阻電壓2.5*10=25mV,經(jīng)運放20倍放大(具體放大倍數(shù)調(diào)整R9,R10),輸入交流信號25*20=0.5V, 總的輸入電流幅值(10A) 1*1.414+1.6= 3.014 V, 輸入信號3.3V以內(nèi)。

當(dāng)使用錳銅電阻獲得電流信號時,電流信號調(diào)理電路形式如下:

圖 3 錳銅計量前端參考電路

2.2 函數(shù)說明

emeter-interface.h 文件中聲明的主要函數(shù)和宏定義如下:

int32_t get_parameter(int address)

介紹:獲取各種計量參數(shù)從地址address。

入?yún)ⅲ?6位整型address 地址

出參:返回該地址上的數(shù)據(jù)。

可中斷重入,可中斷中使用。

uint8_t set_parameter(int address, int32_t value)[!--empirenews.page--]

介紹:設(shè)置各種校表參數(shù)和表參數(shù)到地址address。

入?yún)ⅲ?6位整型,address地址 32位有符號整型 value 值

出參:返回1 表示操作成功,返回0表示操作失敗.

不可中斷重入,不可中斷中使用。

void measurement_setup (void)

介紹:代碼庫初始化,在上電之初調(diào)用。

入?yún)ⅲ簾o

出參:無

void measurement_callback (void)

介紹:此函數(shù)周期性(1s)調(diào)用,以更新實時數(shù)據(jù)。

入?yún)ⅲ簾o

出參:無

不可中斷重入,不可中斷中使用。

void adc_interrupt(int16_t * adc_raw)

Application Report

ZHCA501 – Jan 2013

介紹:可以在ADC每個中斷中調(diào)用adc_interrupt(adc_raw[2]),也可以緩存多個點然后再循環(huán)調(diào)用此函數(shù),

函數(shù)入?yún)dc_raw為信號輸入,adc_raw[0]為電壓轉(zhuǎn)換數(shù)據(jù),adc_raw[1]為電流轉(zhuǎn)換數(shù)據(jù)

入?yún)ⅲ弘妷弘娏鬏斎?strong>ADC值數(shù)值,adc_raw [0] 電壓,adc_raw [1] 電流。

出參:無

2.3 地址及相應(yīng)功能介紹

考慮到代碼將來的改動或擴展,地址不具體定義。使用枚舉變量讓編譯器自動生成。用戶可以include的這個變量定義,使用枚舉地址設(shè)置和獲取數(shù)據(jù)。

int32_t get_parameter(int address)函數(shù)地址枚舉變量定義如下:

獲取實時數(shù)據(jù)結(jié)構(gòu)

enum get_parameter_table

{

AFE_BASE_A = 0x0000,

AFE_GET_ACTIVE_POWER,

AFE_GET_REACTIVE_POWER,

AFE_GET_APPARENT_POWER,

AFE_GET_ACTIVE_ENERGY,

AFE_GET_REACTIVE_ENERGY,

AFE_GET_VRMS,

AFE_GET_IRMS,

AFE_GET_POWER_FACTOR,

AFE_GET_FREQUENCY,

AFE_GET_ENERGY_MODE,

AFE_GET_STARTUP_I,

AFE_GET_PULSE_CONST,

AFE_GET_POWER_GAINA0,

AFE_GET_PHASEOFFSET_A0,

AFE_GET_VGAINA,

AFE_GET_IGAINA,

AFE_GET_IOFFSETA,

};

以下對每個地址進行解析:

AFE_GET_ACTIVE_POWER

描述:有功功率

單位:10mW

AFE_GET_REACTIVE_POWER

描述:無功功率

單位:10mVar

AFE_GET_APPARENT_POWER

描述:視在功率

單位:10mVA

AFE_GET_VRMS

描述:電壓有效值

單位:10mV

AFE_GET_IRMS

描述:電流有效值

單位:1mA

AFE_GET_POWER_FACTOR

描述:功率因數(shù)

單位:0.0001

AFE_GET_ACTIVE_ENERGY

描述:兩回路中較大有功電能脈沖數(shù)

單位:依賴脈沖常數(shù)

AFE_GET_REACTIVE_ENERGY

描述:兩回路中較大無功電能脈沖數(shù)

單位:依賴脈沖常數(shù)

AFE_GET_FREQUENCY

描述:系統(tǒng)頻率

單位:0.01Hz

AFE_GET_POWER_GAINA0

描述:功率增益

AFE_GET_PHASEOFFSET_A0

描述:電壓電流角差補償

AFE_GET_VGAINA

描述:電壓增益

AFE_GET_IGAINA

描述:電流增益

AFE_GET_IOFFSETA

描述:電流偏置

單位:1mA

AFE_GET_POFFSETA

描述:功率偏置

單位:10mW

AFE_GET_ENERGY_MODE

描述:能量累計模式

單位:0 絕對值累計 1 正能量累計

ZHCA501 – Jan 2013

描述:啟動電流

單位:1mA

AFE_SET_PULSE_CONST

描述:脈沖常數(shù)

獲取實時數(shù)據(jù)結(jié)構(gòu)

enum set_parameter_table

{

AFE_SET_BASE = 0x00,

AFE_SET_POWER_GAINA0,

AFE_SET_PHASEOFFSET_A0,

AFE_SET_VGAINA,

AFE_SET_STARTUP_I,

AFE_SET_FREQUENCY,

AFE_SET_SAMPLES_10S,

AFE_SET_IGAINA,

AFE_SET_IOFFSETA,

AFE_SET_POFFSETA,

AFE_SET_ENERGY_MODE,

AFE_SET_PULSE_CONST,

AFE_SET_CAL_INIT,

};

AFE_SET_POWER_GAINA0

描述:功率增益

AFE_SET_PHASEOFFSET_A0

描述:電壓電流角差補償

AFE_SET_VGAINA

描述:電壓增益

AFE_SET_STARTUP_I

描述:啟動電流

單位:1mA

AFE_SET_IGAINA

描述:電流增益

AFE_SET_IOFFSETA

描述:電流偏置

單位:1mA

AFE_SET_POFFSETA

描述:功率偏置

單位:10mW

AFE_SET_PULSE_CONST

描述:脈沖常數(shù)

AFE_SET_CAL_INIT

描述:校表初始化

AFE_SET_CAL_END

描述:校表結(jié)束

AFE_SET_SAVE_FUNC[!--empirenews.page--]

描述:用戶設(shè)置校表數(shù)據(jù)保存函數(shù)

3 校表介紹

3.1 校表寄存器

校表寄存器在火線零線等同對待。

功率增益寄存器

電壓電流角差補償寄存器

有功偏置寄存器

電流增益寄存器

電流偏置寄存器

電壓增益寄存器

3.2 校表方法

本計量庫提供了專門的接口對計量參數(shù)進行校準。校表軟件在pc端運行,通過串口通訊,進行參數(shù)設(shè)置。

具體操作可參考示例代碼。

3.2.1 功率增益及偏置校準

功率增益校準可以進行單點和兩點校準。當(dāng)單點校準時,功率偏置默認為0. 當(dāng)兩點校準時,功率偏置為功率相對0點的截距。校表可以通過脈沖也可以通過多次讀取功率值求平均進行。兩點校表公式如下:(最好取100%Ib 和 5% Ib兩點)

功率增益校驗公式:

EH 和 EL 為大電流和小電流時功率的誤差。(如 100%Ib 和 5% Ib兩點功率的誤差)NH2L 為大電流和小電流的比差。(如 NH2L=100%Ib / 5%Ib = 20)

功率偏置校驗公式:

PGEN 是在小電流時的標(biāo)準功率值。

無功的增益和偏置類似于有功,可參考有功校準。以下是一個單點校表的例子,說明如何編寫校表軟件:

1. EH =0.5%

2. 原始的P1_GAINn = 10000

3. 新的 P1_GAINn+1 =10000/(1+0.5%)=9950

3.2.2 電壓電流角差校準

電壓電流的角度補償使用的是軟件同步。

角差補償使用下面公式

fM是電網(wǎng)頻率. 如果 fM = 50Hz, fm = 256×4096=1MHz, 每個步長是 0.017°,

當(dāng)功率增益和偏置都校準完畢后,才對角差進行校準。步驟如下:

1. 在100%Ib點,設(shè)置功率因數(shù)為0.5L。

2. 獲取當(dāng)前脈沖的誤差E。并將E帶入下面公式

公式計算如下例:

1. E =0.3%

2. 原始的 P1_PHASEn = 6

3. 新的 P1_PHASEn+1 =10+6=16

3.2.3 電壓增益校準

電壓增益校準步驟如下:

1. 將電壓設(shè)置成固定的電壓值,如:220V

2. 如下公式

3. 設(shè)置VRMS_FACTORn+1 到功率增益寄存器,步驟如下:

1) VRMSGEN = 220V and VRMSmeasure = 219V

2) 原始的 VRMS_FACTORn = 2000

3) 新的 VRMS_FACTORn+1 =2000*220/219=2009

3.2.4 電流增益校準

此校準類同電壓增益校準。

3.3 校表軟件使用

3.3.1 校表軟件界面介紹

[!--empirenews.page--]

圖 4 校表軟件界面

圖4的校表軟件界面分為5個模塊:1,串口連接模塊;2,實時數(shù)據(jù)模塊;3,校正數(shù)據(jù)設(shè)置模塊;4,校正數(shù)據(jù)讀出模塊;5、通訊數(shù)據(jù)模塊。

3.3.2 實時數(shù)據(jù)模塊使用

實時數(shù)據(jù)模塊將電表實時測量的數(shù)據(jù)通過串口讀出在校表軟件中顯示,實時顯示數(shù)據(jù)包括:Voltage (V) 有效電壓值(單位:伏特),Current(A) 有效電流(單位:安培),Active Power(W) 有功功率(單位:瓦特),Reactive Power(Var) 無功功率(單位:乏),Apparent Power(VA) 視在功率(單位:伏安),Power Factor 功率因素Frequency(Hz) 頻率(單位:赫茲)。點擊Read按鈕,可以顯示電表實時測量的數(shù)據(jù)。

3.3.3 校正數(shù)據(jù)設(shè)置模塊使用

校表軟件目前只支持Voltage Gain有效電壓增益、Current Gain有效電流增益、Power Gain有功功率增益、Phase Offset相位偏置單點校正。默認電壓校正點為:220V有效電壓,電流校正點為:1A有小電流,有功功率校正點為:220W;相位偏置校正點為:220V、1A、0.5L。

校正步驟:

1,使用校表儀器輸出220V有效電壓,1A有效電流,功率因素1.0的信號,送至電表電壓、電流輸入端;

2,在Volage Gain中輸入默認有效電壓校正值 220, 點擊Setting設(shè)置;

3,在Current Gain中輸入默認有效電流校正值 1,點擊Setting設(shè)置;

4,在Power Gain中輸入默認有功功率校正值 220, 點擊Setting設(shè)置;

5,使用校表儀器輸入有效電壓,1A有效電流,功率因素0.5的信號,送至電表電壓、電流輸入端;

6,在Phase Offset中輸入offset值,一個單位對應(yīng)0.02°,輸入一個數(shù)值,然后通過實時數(shù)據(jù)窗口讀出新的功率因素,反復(fù)校正,直至讀出功率因素接近0.5即可;

7,校正完畢后,點擊Save保存數(shù)據(jù),電表將最后的校正數(shù)據(jù)保存至MCU FLASH中。

3.3.4 校正數(shù)據(jù)讀出模塊使用

校正數(shù)據(jù)讀出模塊可以通過串口將電表FLASH存儲的V Gain,I Gain,Phase Offset,P Gain校正數(shù)值的讀出。

3.3.5 通訊數(shù)據(jù)模塊使用

通訊數(shù)據(jù)模塊實時顯示串口收發(fā)的數(shù)據(jù)。設(shè)置過程中如果出現(xiàn)“Time out!”提示,表示連接超時,應(yīng)當(dāng)檢查通訊線路連接,然后重新發(fā)送命令。校正數(shù)據(jù)設(shè)置成功后,通訊數(shù)據(jù)模塊提示“Set successful!”。通過按鍵Clear Logs,可以清空通訊數(shù)據(jù)窗口歷史數(shù)據(jù)。

4 結(jié)論

4.1 硬件平臺

本方案在C2000F280270 Control Pad上進行搭建了測試平臺,并在標(biāo)準的電能表測試設(shè)備上進行了精度測試。圖5為實際測試的樣機:

圖 5 測試樣機

4.2 軟件資源占用

本方案占用的C2000資源如下表所示。

4.3 測試數(shù)據(jù)

本方案測試精度如下:

電壓電流頻率

有功功率和無功功率:

功率因素:

5 參考文獻

[1] TI. TMS320F28027/28026/28023/28022/28021/28020/280200 Piccolo Microcontrollers

[2] Kes Tam. Current-Transformer Phase-Shift Compensation and Calibration.

[3] Percy Yu. MSP430AFE253 test report for China State Grid specification.

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉