<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于 C2000 內(nèi)置 12 位 ADC 的電能計(jì)量方案

          基于 C2000 內(nèi)置 12 位 ADC 的電能計(jì)量方案

          作者: 時(shí)間:2016-12-06 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要

          本文引用地址:http://www.ex-cimer.com/article/201612/326813.htm

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

          1 C2000 計(jì)量庫(kù)介紹

          1.1 應(yīng)用背景

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

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

          1.2 硬件平臺(tái)及軟件庫(kù)介紹

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

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

          2 第二部分 計(jì)量電路及功能描述

          2.1 計(jì)量代碼庫(kù)

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

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

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

          圖 1 計(jì)量軟件流程圖

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

          圖 2 CT計(jì)量前端參考電路

          上圖電壓輸入分析如下:

          市電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, 輸入信號(hào)3.3V以內(nèi)。

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

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

          圖 3 錳銅計(jì)量前端參考電路

          2.2 函數(shù)說(shuō)明

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

          int32_t get_parameter(int address)

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

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

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

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

          uint8_t set_parameter(int address, int32_t value)介紹:設(shè)置各種校表參數(shù)和表參數(shù)到地址address。

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

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

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

          void measurement_setup (void)

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

          入?yún)ⅲ簾o(wú)

          出參:無(wú)

          void measurement_callback (void)

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

          入?yún)ⅲ簾o(wú)

          出參:無(wú)

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

          void adc_interrupt(int16_t * adc_raw)

          Application Report

          ZHCA501 – Jan 2013

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

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

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

          出參:無(wú)

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

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

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

          獲取實(shí)時(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,

          };

          以下對(duì)每個(gè)地址進(jìn)行解析:

          AFE_GET_ACTIVE_POWER

          描述:有功功率

          單位:10mW

          AFE_GET_REACTIVE_POWER

          描述:無(wú)功功率

          單位: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ù)

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

          AFE_GET_REACTIVE_ENERGY

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

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

          AFE_GET_FREQUENCY

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

          單位:0.01Hz

          AFE_GET_POWER_GAINA0

          描述:功率增益

          AFE_GET_PHASEOFFSET_A0

          描述:電壓電流角差補(bǔ)償

          AFE_GET_VGAINA

          描述:電壓增益

          AFE_GET_IGAINA

          描述:電流增益

          AFE_GET_IOFFSETA

          描述:電流偏置

          單位:1mA

          AFE_GET_POFFSETA

          描述:功率偏置

          單位:10mW

          AFE_GET_ENERGY_MODE

          描述:能量累計(jì)模式

          單位:0 絕對(duì)值累計(jì) 1 正能量累計(jì)

          ZHCA501 – Jan 2013

          描述:?jiǎn)?dòng)電流

          單位:1mA

          AFE_SET_PULSE_CONST

          描述:脈沖常數(shù)

          獲取實(shí)時(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

          描述:電壓電流角差補(bǔ)償

          AFE_SET_VGAINA

          描述:電壓增益

          AFE_SET_STARTUP_I

          描述:?jiǎn)?dòng)電流

          單位: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描述:用戶設(shè)置校表數(shù)據(jù)保存函數(shù)

          3 校表介紹

          3.1 校表寄存器

          校表寄存器在火線零線等同對(duì)待。

          功率增益寄存器

          電壓電流角差補(bǔ)償寄存器

          有功偏置寄存器

          電流增益寄存器

          電流偏置寄存器

          電壓增益寄存器

          3.2 校表方法

          本計(jì)量庫(kù)提供了專(zhuān)門(mén)的接口對(duì)計(jì)量參數(shù)進(jìn)行校準(zhǔn)。校表軟件在pc端運(yùn)行,通過(guò)串口通訊,進(jìn)行參數(shù)設(shè)置。

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

          3.2.1 功率增益及偏置校準(zhǔn)

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

          功率增益校驗(yàn)公式:

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

          功率偏置校驗(yàn)公式:

          PGEN 是在小電流時(shí)的標(biāo)準(zhǔn)功率值。

          無(wú)功的增益和偏置類(lèi)似于有功,可參考有功校準(zhǔn)。以下是一個(gè)單點(diǎn)校表的例子,說(shuō)明如何編寫(xiě)校表軟件:

          1. EH =0.5%

          2. 原始的P1_GAINn = 10000

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

          3.2.2 電壓電流角差校準(zhǔn)

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

          角差補(bǔ)償使用下面公式

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

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

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

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

          公式計(jì)算如下例:

          1. E =0.3%

          2. 原始的 P1_PHASEn = 6

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

          3.2.3 電壓增益校準(zhǔn)

          電壓增益校準(zhǔn)步驟如下:

          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 電流增益校準(zhǔn)

          此校準(zhǔn)類(lèi)同電壓增益校準(zhǔn)。

          3.3 校表軟件使用

          3.3.1 校表軟件界面介紹

          圖 4 校表軟件界面

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


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: C2000AD

          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();