久久久国产精品视频袁燕,99re久久精品国产,亚洲欧美日韩国产综合v,天天躁夜夜躁狠狠久久,激情五月婷婷激情五月婷婷

電源漫談
認(rèn)證:優(yōu)質(zhì)創(chuàng)作者
作者動(dòng)態(tài)
數(shù)字電源控制器大電流I/O pin特性解析
2024-01-03 08:17
SiC功率器件的H3TRB測(cè)試規(guī)范解析
2024-01-03 08:15
SiC MOSFET柵極電阻的影響分析
2024-01-03 08:14

PowerSmart DCLD設(shè)計(jì)電壓模式BUCK數(shù)字補(bǔ)償器

大家好,我是電源漫談,很高興和各位一起分享我的24原創(chuàng)文章,喜歡和支持我的工程師,一定記得給我點(diǎn)贊、收藏、分享。

加微信[13764329639]與作者微信及進(jìn)群溝通交流。

Power Smart™ Digital Control Library Designer是一個(gè)新的用于設(shè)計(jì)數(shù)字補(bǔ)償器的工具,相比于之前的DCDT工具更靈活簡(jiǎn)單,通過本文,我們以電壓模式BUCK電路的補(bǔ)償器設(shè)計(jì)及創(chuàng)建demo程序?yàn)槔?,探討一下如何建立一個(gè)完整的工程,并且基于DCLD設(shè)計(jì)數(shù)字補(bǔ)償器,且包含一定的保護(hù)功能,并且驗(yàn)證數(shù)字補(bǔ)償器的閉環(huán)性能。

.數(shù)字電源開發(fā)板及基本代碼框架介紹

我們建立工程基于dsPIC33CK的數(shù)字電源開發(fā)套件,上面的控制芯片為dsPIC33CK256MP505,上面包含一個(gè)同步buck和一個(gè)boost電路,這里我們使用其同步buck電路。

圖1 DPSK3開發(fā)板

圖2 同步BUCK的電路結(jié)構(gòu)

此同步BUCK的電路中,包含一個(gè)對(duì)負(fù)載控制的按鍵,通過此按鍵可以控制加載到BUCK電路的負(fù)載,當(dāng)然板上也安裝了最大1ABUCK電路負(fù)載。

圖3 同步BUCK的軟件框架結(jié)構(gòu)

在這個(gè)電路中,我們將通過dsPIC33C內(nèi)部DSP運(yùn)行一個(gè)數(shù)字補(bǔ)償器,通過分壓電阻采樣輸出電壓和數(shù)字基準(zhǔn)比較產(chǎn)生誤差,最終計(jì)算的結(jié)果經(jīng)過anti-windup限制范圍后,輸出給片上的PWM模塊去控制BUCK電路的占空比。為了避免給輸出電容充電產(chǎn)生的過充電流,我們添加軟起動(dòng)代碼,通過一個(gè)定時(shí)器實(shí)現(xiàn),同時(shí),我們也會(huì)添加一些保護(hù)代碼,如輸入欠壓UVLO和輸出過壓OVLO,及輸出電壓范圍誤差代碼。按照慣例,我們也通過一個(gè)用定時(shí)器控制的LED來指示軟件的運(yùn)行狀態(tài)。

圖4 用MCC產(chǎn)生配置的部分模塊

圖5 通過DCLD產(chǎn)生數(shù)字控制器代碼

.基本模塊的MCC代碼構(gòu)建

新建一個(gè)工程,就開始分別進(jìn)行模塊設(shè)置,關(guān)于新建工程的步驟,我們不在此詳述。具體而言,我們通過MCC來建立各個(gè)模塊的代碼,MCC的安裝及使用我們?cè)诖瞬辉斒?。我?/span>首先需要做的是設(shè)置一個(gè)滿足各個(gè)外設(shè)及CPU運(yùn)行的時(shí)鐘。

圖6 系統(tǒng)主時(shí)鐘的配置

通過圖6所示的配置參數(shù),將主時(shí)鐘配置為最高主頻100M,對(duì)應(yīng)FOSC為200M,注意此處,我們使用片上內(nèi)部8M的振蕩器FRC為源振蕩器,且不進(jìn)行FRC分頻。

圖7 系統(tǒng)輔助時(shí)鐘的配置

輔助時(shí)鐘按照?qǐng)D7所示,配置為500M,PWM模塊使用,規(guī)格書規(guī)定,如在高精度模式下運(yùn)行PWM,則必須使用500M的時(shí)鐘輸入。

在系統(tǒng)設(shè)置部分,其非關(guān)鍵部分,這里我們不做特別說明。

圖8 定時(shí)器T1的配置

通過如圖8所示的配置,選擇指令時(shí)鐘FOSC/2 100M,我們將定時(shí)器Timer1進(jìn)行適當(dāng)分頻設(shè)為2ms的周期,用于做一些指示燈功能,及啟動(dòng)電路狀態(tài)機(jī),且使能其中斷,在中斷中處理任務(wù)。

圖9 PWM模塊配置1

圖10 PWM模塊配置2

圖11 PWM模塊配置3

圖12 PWM模塊配置4

通過圖9到圖12進(jìn)行PWM模塊的配置,在本示例中使用PWM1模塊,使能高精度模式,采用500M時(shí)鐘驅(qū)動(dòng)。設(shè)置為互補(bǔ)模式輸出,設(shè)置一定死區(qū),開關(guān)頻率為500k,通過閉環(huán)控制占空比。PWM的觸發(fā)為自觸發(fā),由于需要它觸發(fā)ADC的轉(zhuǎn)換,所以使用了ADCtrigger AADC triggerB這兩個(gè)觸發(fā)信號(hào),信號(hào)A用于觸發(fā)輸入電壓采樣,信號(hào)B用于觸發(fā)輸出電壓采樣。

PWM更新模式設(shè)為改寫占空比后觸發(fā)更新,更新模式為立即更新。

圖13 ADC模塊的配置

我們采用ADC的時(shí)鐘為100M,則按照默認(rèn)設(shè)置ADCcore的轉(zhuǎn)換時(shí)鐘為50M,保持默認(rèn)的采樣時(shí)間設(shè)置。由于需要采樣輸入電壓和輸出電壓,我們根據(jù)硬件連接選擇AN12為輸入電壓采樣,AN13為輸出電壓采樣,且使能AN13中斷,由于優(yōu)先級(jí)問題,當(dāng)AN13中斷服務(wù)程序中AN13的轉(zhuǎn)換結(jié)果得到時(shí),AN12的轉(zhuǎn)換結(jié)果也是完成的。由于AN13的結(jié)果需要參與環(huán)路運(yùn)算,所以我們使能AN13的中斷,當(dāng)AN13的轉(zhuǎn)換結(jié)果完成后觸發(fā)進(jìn)入ADC中斷,去進(jìn)行反饋環(huán)的調(diào)用。

圖14 LED指示設(shè)置

圖15 RB6設(shè)為指示燈輸出

如圖14所示,在pin manager中設(shè)置RB6為輸出功能,我們?cè)O(shè)置它為用戶指示燈的功能,重新在圖15中的pin Module給它命名。

圖16 設(shè)置中斷的優(yōu)先級(jí)

定時(shí)器的中斷優(yōu)先級(jí)可以設(shè)的不用太高,此處我們?cè)O(shè)置為1,高于CPU的優(yōu)先級(jí),而AN13中斷需要參與反饋環(huán)調(diào)整,所以將它的優(yōu)先級(jí)設(shè)為較高,此處設(shè)為6,確保AN13結(jié)果出來后能及時(shí)進(jìn)入AN13中斷中執(zhí)行反饋換運(yùn)算。

.DCLD的功能簡(jiǎn)介

圖17 通過PowerSmart DCLD實(shí)現(xiàn)環(huán)路補(bǔ)償器設(shè)計(jì)

此時(shí)我們已經(jīng)完成了PWMADC的設(shè)置,接下來通過PowerSmart DCLD來設(shè)計(jì)數(shù)字補(bǔ)償器,這是一個(gè)連接通用仿真計(jì)算工具如Matlab或者Simplis等和數(shù)字環(huán)路補(bǔ)償設(shè)計(jì)的工具。

圖18 DCLD的結(jié)構(gòu)框圖

DCLD的結(jié)構(gòu)框圖,由基本補(bǔ)償器部分,擴(kuò)展功能部分,及API函數(shù)組成,可以實(shí)現(xiàn)dsPIC33F,dsPIC33E, dsPIC33C系列的環(huán)路補(bǔ)償設(shè)計(jì)。

圖19 DCLD實(shí)現(xiàn)平均電流模式的示例

通過DCLD可以實(shí)現(xiàn)較為復(fù)雜的控制模式,如平均電流模式控制,可以建立兩個(gè)獨(dú)立的控制環(huán)路,電壓環(huán)和電流環(huán),電壓環(huán)輸出作為電流環(huán)的輸入?yún)⒖?,兩個(gè)環(huán)路之間的互聯(lián)由用戶代碼結(jié)合API完成,后續(xù)我們會(huì)介紹。

關(guān)于DCLD的詳細(xì)功能介紹,我們放在后面。

.DCLD參數(shù)配置及補(bǔ)償器設(shè)計(jì)

圖20 DCLD配置位置路徑及連接MPLAB XIDE

由于DCLD是一個(gè)獨(dú)立的設(shè)計(jì)工具,因此在圖20中,我們給出了DCLD配置位置的設(shè)置,通過這個(gè)窗口將DCLD的配置和MPLAB XIDE的工程連接起來,此處給配置命名為Voltage_loop,這個(gè)名稱將自動(dòng)放到代碼中作為變量定義的名稱。

圖21 DCLD和MPLAB XIDE工程的連接設(shè)置

通過設(shè)置如圖21的項(xiàng)目工程路徑,我們就將MPLAB XIDE當(dāng)前工程和DCLD的設(shè)置連接了起來,窗口會(huì)顯示如圖20中的綠色打勾。

圖22 DCLD的配置窗口

圖23 對(duì)DCLD代碼的裁剪

此處我們對(duì)DCLD產(chǎn)生的代碼進(jìn)行一定裁剪,由于我們采用MCC產(chǎn)生的中斷服務(wù)程序去調(diào)用控制環(huán)路,控制環(huán)路本身不需要關(guān)注CPU的背景信息,因此在默認(rèn)設(shè)置上我們將Context Management去掉。

圖24 Context Management優(yōu)化中斷延時(shí)

關(guān)于通過管理不同器件的背景信息,以便優(yōu)化中斷延時(shí)的說明如圖24所示,當(dāng)有存儲(chǔ)背景和恢復(fù)背景需要時(shí),可以通過這個(gè)選項(xiàng)處理。

圖25 Add Enable/Disable Switch功能

對(duì)使能和去使能的選項(xiàng),當(dāng)增加這個(gè)選項(xiàng)時(shí),會(huì)在NPNZ16b_t中增加一個(gè)控制位status.enable,當(dāng)需要更新控制庫(kù)時(shí),需要將這一位置位。當(dāng)清零時(shí),控制代碼就會(huì)被忽略。

我們需要連續(xù)運(yùn)行控制環(huán)路,因此Add Enable/Disable Configuration選項(xiàng)也會(huì)去掉。

圖26 ADC觸發(fā)位置的精確設(shè)置

當(dāng)需要精確設(shè)置ADC的觸發(fā)位置時(shí),我們可以通過選擇Add ADC Trigger Placement來自動(dòng)設(shè)置在最新的控制輸出位置的50%,同時(shí)通過ADCTriggerAOffsetADCTriggerBOffset去增加偏置量。

由于我們這里采取周期內(nèi)固定的采樣點(diǎn)設(shè)計(jì),所以去掉Add Automatic Placement of Primary ADC Trigger A, Add Automatic Placement of Primary ADC Trigger B這兩個(gè)選項(xiàng)。

這里我們需要用到Anti-windupClamp Control Output MaximumClamp Control Output Minimum對(duì)計(jì)算最大值和最小值進(jìn)行Clamp。

圖27 Anti-Windup設(shè)置

我們需要用Anti-Windup來控制環(huán)路計(jì)算結(jié)果在一個(gè)定義的范圍內(nèi),一旦超出這個(gè)范圍,控制計(jì)算結(jié)果就會(huì)被Clamp,這就不會(huì)造成在模擬控制中的飽和問題,如圖27描述所示。

圖28 Andi-Windup對(duì)低頻率范圍的支持

當(dāng)沒有使能Limit Control Loop Output to Positive Numbers時(shí),控制庫(kù)是支持-3276832767之間的Q15有符號(hào)數(shù)據(jù)的,而此時(shí)在dsPIC33C高精度模式下,最低能達(dá)到的控制開關(guān)頻率為144k,為了支持更低頻率,我們可以使能這個(gè)選項(xiàng),使得控制庫(kù)支持無(wú)符號(hào)16位計(jì)算結(jié)果,將計(jì)算結(jié)果擴(kuò)大到0-65535,使得高精度PWM模式下最低的開關(guān)頻率達(dá)到61k。我們現(xiàn)在這個(gè)實(shí)驗(yàn)案例開關(guān)頻率較高,不需要使能這一選項(xiàng)。

此時(shí),我們就可以進(jìn)行濾波器的設(shè)計(jì)了。

.DCLD設(shè)計(jì)數(shù)字補(bǔ)償器

在設(shè)計(jì)控制器零極點(diǎn)之前,我們通過P控制器測(cè)試出功率級(jí)電路的Bode圖。

圖29 P控制器代碼生成選項(xiàng)

圖30 反饋增益的設(shè)置

通過對(duì)反饋增益的設(shè)置,我們得到正常的反饋ADC采樣數(shù)字量為2048,對(duì)應(yīng)輸出電壓為Vout 3.3V時(shí)的ADC采樣值2048。

圖31 典型控制量計(jì)算

設(shè)置PWM模塊的工作頻率為4G(500MHz*8),在500k電源開關(guān)頻率下,自動(dòng)得到周期為8000個(gè)tick,通過系統(tǒng)自帶的計(jì)算器去對(duì)效率進(jìn)行估算,以得到合理的占空比計(jì)算值,如圖32.最終得到計(jì)算的典型控制輸出為3188,如圖29所示。

圖32 合理占空比計(jì)算

圖33 產(chǎn)生P控制器代碼

通過菜單中的Export Files可以產(chǎn)生P控制器代碼,用以測(cè)量功率級(jí)Bode圖,如圖34所示。

圖34 P控制器匯編代碼

圖35 在DCLD目錄中添加代碼

圖36 DCLD添加代碼

如圖35,36所示,將DCLD的產(chǎn)生的相應(yīng)控制環(huán)代碼添加到當(dāng)前工程目錄中,包括2個(gè)頭文件,1個(gè)C文件,1個(gè)匯編文件。

圖37 添加頭文件和定義輸入輸出及參考變量

圖38 添加ADC中斷調(diào)用代碼及控制器初始化代碼

圖39 添加控制器初始化調(diào)用及中斷服務(wù)程序Handler

控制器的初始化,主要是對(duì)控制器初始化函數(shù)進(jìn)行初始化,并且指定控制器的輸入變量adc_vbuck,輸出目標(biāo)變量PG1DC,及控制參考ref_vbuck。

圖40 自行Debug驗(yàn)證ADC中斷

經(jīng)測(cè)試,可以看到ADCAN13中斷可以正常進(jìn)入,調(diào)試窗口可以看到輸入電壓的測(cè)量值為0x598。

圖41 輸入電壓采樣電路

根據(jù)輸入電壓硬件采樣電路,當(dāng)輸入電壓為9.2V時(shí),可以測(cè)試出TP47電壓為1.152V,對(duì)應(yīng)調(diào)試窗口測(cè)試出的數(shù)值0x598,根據(jù)ADC的模擬數(shù)字量基本關(guān)系,不難確定這一點(diǎn)是正確的。

在主程序中添加對(duì)控制器的初始化代碼調(diào)用,并且將相應(yīng)的ADC的中斷服務(wù)程序和TMR1的中斷服務(wù)程序指定給相應(yīng)的中斷Handler

TMR1的中斷服務(wù)程序如下所示,主要用于處理狀態(tài)指示,欠壓鎖定及軟起動(dòng)功能,此處代碼中VBUCK_REF代表正常輸出電壓。

voidTMR1_Int(void)

{

    static int led_tmr =0;

    static int fsm_state = 0;

    static int start_tmr = 0;

    static int err_tmr = 0;

   

    // blink LED 1Hz

    if(++led_tmr>=500)

    {

        led_tmr = 0;

        USER_LED_Toggle();

    }

    

     switch(fsm_state)

    {

        case 0:     // State 0: wait for Vin>threshold(delay time)

            ref_vbuck = 0;

            err_tmr = 0;

            if (adc_vin<VIN_TH_ON)

            {

                start_tmr = 0;

            }

            else if (++start_tmr>2000)

            {

                fsm_state = 1;

            }

        break;

        case 1:     // State 1: ramp up buck reference value(soft-start)

            if (ref_vbuck < VBUCK_REF)

            {

                ref_vbuck += VBUCK_RAMP;

            }

            if ((adc_vin<VIN_TH_OFF) ||(err_tmr>200))

            {       // low input voltage OR error for>200ms

                start_tmr = 0;

                fsm_state = 0;

            }

        break;

    }

}

接下來我們測(cè)試開發(fā)板的P控制器對(duì)應(yīng)的環(huán)路,即功率級(jí)傳遞函數(shù)曲線。

圖42 滿載時(shí)P控制器測(cè)試功率級(jí)Bode圖

從測(cè)試出的功率級(jí)Bode圖來看,功率級(jí)LC轉(zhuǎn)折頻率約為5k,ESR零點(diǎn)約為60k,這些信息為設(shè)計(jì)數(shù)字補(bǔ)償器零極點(diǎn)提供參考。

圖43 空載時(shí)P控制器測(cè)試功率級(jí)Bode圖

在圖43中,我們同時(shí)給出了空載時(shí)的功率級(jí)Bode圖,可知二階LC極點(diǎn)轉(zhuǎn)折頻率變?yōu)?/span>1k附近,由于負(fù)載阻抗較大,因此Q值很小,可以看到增益曲線沒有出現(xiàn)像滿載一樣的峰值,高頻ESR零點(diǎn)位置還是60k附近。

圖44 設(shè)計(jì)補(bǔ)償器零極點(diǎn)

根據(jù)P控制器測(cè)試出的功率級(jí)Bode圖,我們找到了相應(yīng)的功率級(jí)零極點(diǎn)大致位置,且根據(jù)前述文章的討論,可以使用3P3Z的數(shù)字補(bǔ)償器,且使用歸一化輸入增益,以便在AB系數(shù)中考慮輸出分壓反饋電阻。參考BUCK電路模擬補(bǔ)償器的數(shù)字化過程,中對(duì)輸入增益歸一化的說明。

此時(shí),我們可以指定相應(yīng)的零極點(diǎn)去得到期望的環(huán)路曲線,這里開關(guān)頻率設(shè)為500k,零頻率極點(diǎn)設(shè)為600Hz,兩個(gè)零點(diǎn)用于抵消LC二階極點(diǎn),分別設(shè)在2k4k,一個(gè)極點(diǎn)用于抵消ESR零點(diǎn)設(shè)在75k,另一個(gè)極點(diǎn)用于衰減高頻分量,設(shè)在低于奈奎斯特頻率的頻率200k,使得奈奎斯特頻率處的分量有一定衰減。

圖45 調(diào)用電壓環(huán)控制代碼

根據(jù)新輸入的控制器零極點(diǎn),重新產(chǎn)生代碼后,我們?cè)?/span>AN13的中斷服務(wù)程序中調(diào)用電壓環(huán)控制函數(shù),如圖45所示,完成閉環(huán)控制。

圖46 DCLD產(chǎn)生的數(shù)字補(bǔ)償器系數(shù)

圖46為DCLD所產(chǎn)生的補(bǔ)償器AB系數(shù),及相應(yīng)的Q15格式數(shù)據(jù)。

圖47 空載時(shí)PWM驅(qū)動(dòng)波形(CH1-PWM1H-CH2-PWM1L)

前述文章,BUCK電路模擬補(bǔ)償器的數(shù)字化過程 ,詳述了通過DCLD產(chǎn)生的數(shù)字補(bǔ)償器AB系數(shù)的過程,后續(xù)我們也會(huì)詳細(xì)分析基于產(chǎn)生的AB系數(shù)結(jié)合數(shù)字補(bǔ)償器,如何在DCLD產(chǎn)生的代碼上執(zhí)行新的控制量計(jì)算。

圖48 滿載時(shí)開環(huán)增益?zhèn)鬟f函數(shù)Bode圖

滿載時(shí)的開環(huán)增益?zhèn)鬟f函數(shù)曲線如圖48所示,我們從圖上得知,帶寬為17.7k,相位裕量為50C,增益裕量為17.2db,且低頻段具有較高的積分增益,高頻200k以上以40db/10倍頻衰減,它是一個(gè)非常穩(wěn)定的符合我們期望的環(huán)路曲線。

圖49 滿載和空載時(shí)開環(huán)增益?zhèn)鬟f函數(shù)Bode圖

從圖49滿載和空載時(shí)的開環(huán)增益曲線對(duì)比來看,空載時(shí)的穿越頻率略低于滿載時(shí)的穿越頻率,相位裕量略高于滿載時(shí)相位裕量,符合同步BUCK的特性。

 

總結(jié),本文通過介紹數(shù)字電源開發(fā)板DPSK3的基本結(jié)構(gòu)及基本代碼框架的形成,接著通過MCC去得到基本的開關(guān)電源外設(shè)配置代碼,最后通過DCLD去設(shè)計(jì)數(shù)字補(bǔ)償器設(shè)計(jì),首先由P控制器測(cè)試出功率級(jí)Bode圖,進(jìn)而得到控制器零極點(diǎn),最終本文設(shè)計(jì)了電壓模式BUCK電路的環(huán)路補(bǔ)償器,并且測(cè)試了典型負(fù)載下的環(huán)路Bode圖。

參考資源:

Creating a Digital Power Supply from Scratch (microchip.com)

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 3
收藏 8
關(guān)注 440
成為作者 賺取收益
全部留言
0/200
成為第一個(gè)和作者交流的人吧