基于數(shù)字電源控制器UCD3138的一種新的輸入電流檢測方法(二)
3 讀取三角波的平均值
3.1 測試原理簡述
在UCD3138 的EAP1/EAN1 引腳(如圖4)接入直流電平信號或三角波信號,然后配置合理的
oversample,averaging 和采集的周期個數(shù),最終在KI_YN 寄存器可以得到樣本總和。
然后將樣本總和與樣本個數(shù)相除,便得到了樣本的平均值。
3.2 直流電平信號平均值的讀取
在EAP1 引腳接入直流電平信號(如圖9 左中的CH1),實測平均值為220mV。
通過配置oversample 為8 次,averaging 為8 次,在兩個周期內(nèi)得到的平均值為-156÷8=-19.5。此時,DAC_Value 寄存器中寫入的值為2048,因此,根據(jù)軟件采樣確定的平均值為:
(2048÷16)×1.5625mV - (-19.5)= 219.5mV
該值與實際值的偏差小于-0.5%。上述公式的含義可以參考“參考文獻5”。
Figure 9. 直流信號平均值讀取
3.3 三角流平均值的讀取
在EAP1 引腳接入三角波信號(如圖10 左中的CH1),實測平均值為136mV。
通過配置oversample 為8 次,averaging 為8 次,在兩個周期內(nèi)得到的平均值為466÷8=58.25。此時,DAC_Value 寄存器中寫入的值為2048,因此,根據(jù)軟件采樣確定的平均值為:
(2048÷16)×1.5625mV - 58.25= 141.75mV
該值與實際值的偏差小于5%。
Figure 10. 三角波信號平均值讀取
3.4 軟件流程與代碼
圖11 是整個數(shù)據(jù)處理的軟件流程圖,主要包含主程序中的初始化與配置,快中斷程序中的數(shù)據(jù)處理等兩個部分。
對快中斷部分,使用周期快中斷,中斷間隔為256 個周期。每次處理都是連續(xù)三次進入快中斷,在第一次進入快中斷后,配置EADC 和Filter;在第二次進入后進行數(shù)據(jù)讀取,此時在KI_YN 中共有8×256=2048 個樣本的累加和。(oversample 設(shè)置為8)
Figure 11. 軟件處理流程
關(guān)鍵代碼如下:
1. 配置Dpwm0 周期中斷及打開中斷功能
2. 快中斷處理程序
僅在第二次和第三次進入快中斷后進行數(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 的復位(需要對KI_YN 寄存器清零,不
然該寄存器會溢出)及Filter 的使能等。
4 實測單板輸入電流
4.1 測試單板概述
在一款基于UCD3138 的硬開關(guān)全橋EVM 板(UCD3138HSFBEVM-029)上進行輸入電流的實際測試。該單板的關(guān)鍵技術(shù)規(guī)格如下:
● 輸入電壓:36V~72V
● 輸出功率:12V×30A
● 功率拓撲:單級硬開關(guān)全橋
● 電流互感器:如圖2 所示,T1 的匝比為100:1,Rs 為10 ohm。
為實現(xiàn)EADC1 和Filter1 讀取和計算輸入電流,需要將電流互感器副邊側(cè)的輸出連接到EAP1 和EAN1。單板其余部分保留原有設(shè)計。
4.2 實測數(shù)據(jù)
1. 輸出電流設(shè)定為3A,輸入電壓設(shè)定為50V
實測電流互感器的輸出信號如圖12(左),其平均值為89.26mV。此時輸入電流為850mA,二者存在近似比例關(guān)系。比例系數(shù)主要由互感器的匝比與采樣電阻決定:0.01×10=0.1。
Figure 12. 實測波形及實際讀取數(shù)據(jù)1
將DAC_VALUE 設(shè)定為1024,通過軟件計算后,讀取到的current_x16 變量(該變量含義參考3.4小節(jié))值為9,如圖12(右)所示。因此,計算出的平均值為:
(1024÷16)×1.5625mV – 9 = 91mV
該值與實測值的誤差小于5%,與實際輸入電流的誤差小于7%。
2. 輸出電流設(shè)定為3A,輸入電壓設(shè)定為55V
實測電流互感器的輸出信號如圖13(左),其平均值為82.48mV。此時輸入電流為780mA。
Figure 13. 實測波形及實際數(shù)據(jù)讀取2
將DAC_VALUE 設(shè)定為1024,通過軟件計算后,讀取到的current_x16 變量值為15,如圖13(右)所示。因此,計算出的平均值為:
(1024÷16)×1.5625mV – 13 = 87mV
該值與實測值的誤差小于5%,與實際輸入電流的誤差小于12%。
5 總結(jié)
通過上文描述可知,在對UCD3138 的EADC 和Filter 進行相應配置后,可以完成對EAP/EAN 引腳輸入信號平均值的讀取,而且讀取值與實際值的誤差較小。
同樣,該功能可以應用于單板輸入電流的讀取,實測結(jié)果亦證實了這一點。受限于輕載條件下實際輸入電流與電流互感器的輸出存在較大誤差,因此,軟件讀取值與實際輸入電流存有一定誤差。