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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于數(shù)字電源控制器UCD3138的一種新的輸入電流檢測方法(二)

          基于數(shù)字電源控制器UCD3138的一種新的輸入電流檢測方法(二)

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

          3 讀取三角波的平均值

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

          3.1 測試原理簡述

          UCD3138 的EAP1/EAN1 引腳(如圖4)接入直流電平信號或三角波信號,然后配置合理的

          oversample,averaging 和采集的周期個(gè)數(shù),最終在KI_YN 寄存器可以得到樣本總和。

          然后將樣本總和與樣本個(gè)數(shù)相除,便得到了樣本的平均值。

          3.2 直流電平信號平均值的讀取

          在EAP1 引腳接入直流電平信號(如圖9 左中的CH1),實(shí)測平均值為220mV。

          通過配置oversample 為8 次,averaging 為8 次,在兩個(gè)周期內(nèi)得到的平均值為-156÷8=-19.5。此時(shí),DAC_Value 寄存器中寫入的值為2048,因此,根據(jù)軟件采樣確定的平均值為:

          (2048÷16)×1.5625mV - (-19.5)= 219.5mV

          該值與實(shí)際值的偏差小于-0.5%。上述公式的含義可以參考“參考文獻(xiàn)5”。

          Figure 9. 直流信號平均值讀取

          3.3 三角流平均值的讀取

          在EAP1 引腳接入三角波信號(如圖10 左中的CH1),實(shí)測平均值為136mV。

          通過配置oversample 為8 次,averaging 為8 次,在兩個(gè)周期內(nèi)得到的平均值為466÷8=58.25。此時(shí),DAC_Value 寄存器中寫入的值為2048,因此,根據(jù)軟件采樣確定的平均值為:

          (2048÷16)×1.5625mV - 58.25= 141.75mV

          該值與實(shí)際值的偏差小于5%。

          Figure 10. 三角波信號平均值讀取

          3.4 軟件流程與代碼

          圖11 是整個(gè)數(shù)據(jù)處理的軟件流程圖,主要包含主程序中的初始化與配置,快中斷程序中的數(shù)據(jù)處理等兩個(gè)部分。

          對快中斷部分,使用周期快中斷,中斷間隔為256 個(gè)周期。每次處理都是連續(xù)三次進(jìn)入快中斷,在第一次進(jìn)入快中斷后,配置EADC 和Filter;在第二次進(jìn)入后進(jìn)行數(shù)據(jù)讀取,此時(shí)在KI_YN 中共有8×256=2048 個(gè)樣本的累加和。(oversample 設(shè)置為8)

          Figure 11. 軟件處理流程

          關(guān)鍵代碼如下:

          1. 配置Dpwm0 周期中斷及打開中斷功能

          2. 快中斷處理程序

          僅在第二次和第三次進(jìn)入快中斷后進(jìn)行數(shù)據(jù)的讀取。

          3. 配置函數(shù)handle_current_averaging_config()

          該函數(shù)主要完成EADC1 與Filter1 的連接配置、EADC 的基本配置(包括DAC_VALUE 的寫入, AFE_GAIN 的配置,Averaging 的配置等)、Oversample 的配置及Filter 的配置。

          4. 配置函數(shù)handle_current_averaging()

          該函數(shù)主要完成KI_YN 寄存器中數(shù)據(jù)的讀取,F(xiàn)ilter 的復(fù)位(需要對KI_YN 寄存器清零,不

          然該寄存器會溢出)及Filter 的使能等。

          4 實(shí)測單板輸入電流

          4.1 測試單板概述

          在一款基于UCD3138 的硬開關(guān)全橋EVM 板(UCD3138HSFBEVM-029)上進(jìn)行輸入電流的實(shí)際測試。該單板的關(guān)鍵技術(shù)規(guī)格如下:

          ● 輸入電壓:36V~72V

          ● 輸出功率:12V×30A

          ● 功率拓?fù)?/strong>:單級硬開關(guān)全橋

          ● 電流互感器:如圖2 所示,T1 的匝比為100:1,Rs 為10 ohm。

          為實(shí)現(xiàn)EADC1 和Filter1 讀取和計(jì)算輸入電流,需要將電流互感器副邊側(cè)的輸出連接到EAP1 和EAN1。單板其余部分保留原有設(shè)計(jì)。

          4.2 實(shí)測數(shù)據(jù)

          1. 輸出電流設(shè)定為3A,輸入電壓設(shè)定為50V

          實(shí)測電流互感器的輸出信號如圖12(左),其平均值為89.26mV。此時(shí)輸入電流為850mA,二者存在近似比例關(guān)系。比例系數(shù)主要由互感器的匝比與采樣電阻決定:0.01×10=0.1。

          Figure 12. 實(shí)測波形及實(shí)際讀取數(shù)據(jù)1

          將DAC_VALUE 設(shè)定為1024,通過軟件計(jì)算后,讀取到的current_x16 變量(該變量含義參考3.4小節(jié))值為9,如圖12(右)所示。因此,計(jì)算出的平均值為:

          (1024÷16)×1.5625mV – 9 = 91mV

          該值與實(shí)測值的誤差小于5%,與實(shí)際輸入電流的誤差小于7%。

          2. 輸出電流設(shè)定為3A,輸入電壓設(shè)定為55V

          實(shí)測電流互感器的輸出信號如圖13(左),其平均值為82.48mV。此時(shí)輸入電流為780mA。

          Figure 13. 實(shí)測波形及實(shí)際數(shù)據(jù)讀取2

          將DAC_VALUE 設(shè)定為1024,通過軟件計(jì)算后,讀取到的current_x16 變量值為15,如圖13(右)所示。因此,計(jì)算出的平均值為:

          (1024÷16)×1.5625mV – 13 = 87mV

          該值與實(shí)測值的誤差小于5%,與實(shí)際輸入電流的誤差小于12%。

          5 總結(jié)

          通過上文描述可知,在對UCD3138 的EADC 和Filter 進(jìn)行相應(yīng)配置后,可以完成對EAP/EAN 引腳輸入信號平均值的讀取,而且讀取值與實(shí)際值的誤差較小。

          同樣,該功能可以應(yīng)用于單板輸入電流的讀取,實(shí)測結(jié)果亦證實(shí)了這一點(diǎn)。受限于輕載條件下實(shí)際輸入電流與電流互感器的輸出存在較大誤差,因此,軟件讀取值與實(shí)際輸入電流存有一定誤差。



          評論


          技術(shù)專區(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); })();