日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 電源漫談

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

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

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

1 DPSK3開發(fā)板


2 同步BUCK的電路結構


此同步BUCK的電路中,包含一個對負載控制的按鍵,通過此按鍵可以控制加載到BUCK電路的負載,當然板上也安裝了最大1ABUCK電路負載。

3 同步BUCK的軟件框架結構


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

4 MCC產生配置的部分模塊


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


.基本模塊的MCC代碼構建

新建一個工程,就開始分別進行模塊設置,關于新建工程的步驟,我們不在此詳述。具體而言,我們通過MCC來建立各個模塊的代碼,MCC的安裝及使用我們在此不詳述,可以參考前述文章,dsPIC33C新建工程及MCC插件說明 ,首先需要做的是設置一個滿足各個外設及CPU運行的時鐘。

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


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

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


輔助時鐘按照圖7所示,配置為500M,PWM模塊使用,規(guī)格書規(guī)定,如在高精度模式下運行PWM,則必須使用500M的時鐘輸入。


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

圖8 定時器T1的配置


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

圖9 PWM模塊配置1

圖10 PWM模塊配置2

11 PWM模塊配置3

圖12 PWM模塊配置4


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


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

圖13 ADC模塊的配置


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

圖14 LED指示設置


15 RB6設為指示燈輸出


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

16 設置中斷的優(yōu)先級


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


.DCLD的功能簡介

17 通過PowerSmart DCLD實現(xiàn)環(huán)路補償器設計


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

18 DCLD的結構框圖


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

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


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


關于DCLD的詳細功能介紹,我們放在后面。


.DCLD參數(shù)配置及補償器設計

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


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

圖21 DCLDMPLAB XIDE工程的連接設置


通過設置如圖21的項目工程路徑,我們就將MPLAB XIDE當前工程和DCLD的設置連接了起來,窗口會顯示如圖20中的綠色打勾。

22 DCLD的配置窗口

圖23 DCLD代碼的裁剪


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

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


關于通過管理不同器件的背景信息,以便優(yōu)化中斷延時的說明如圖24所示,當有存儲背景和恢復背景需要時,可以通過這個選項處理。

25 Add Enable/Disable Switch功能


對使能和去使能的選項,當增加這個選項時,會在NPNZ16b_t中增加一個控制位status.enable,當需要更新控制庫時,需要將這一位置位。當清零時,控制代碼就會被忽略。


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

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


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


由于我們這里采取周期內固定的采樣點設計,所以去掉Add Automatic Placement of Primary ADC Trigger A, Add Automatic Placement of Primary ADC Trigger B這兩個選項。


這里我們需要用到Anti-windupClamp Control Output MaximumClamp Control Output Minimum對計算最大值和最小值進行Clamp

27 Anti-Windup設置


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

28 Andi-Windup對低頻率范圍的支持


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


此時,我們就可以進行濾波器的設計了。


.DCLD設計數(shù)字補償器

在設計控制器零極點之前,我們通過P控制器測試出功率級電路的Bode圖。

29 P控制器代碼生成選項


30 反饋增益的設置


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

31 典型控制量計算


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

32 合理占空比計算

33 產生P控制器代碼


通過菜單中的Export Files可以產生P控制器代碼,用以測量功率級Bode圖,如圖34所示。

34 P控制器匯編代碼


35 DCLD目錄中添加代碼


36 DCLD添加代碼


如圖3536所示,將DCLD的產生的相應控制環(huán)代碼添加到當前工程目錄中,包括2個頭文件,1個C文件,1個匯編文件。

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


38 添加ADC中斷調用代碼及控制器初始化代碼


39 添加控制器初始化調用及中斷服務程序Handler


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

40 自行Debug驗證ADC中斷


經測試,可以看到ADCAN13中斷可以正常進入,調試窗口可以看到輸入電壓的測量值為0x598。

41 輸入電壓采樣電路


根據輸入電壓硬件采樣電路,當輸入電壓為9.2V時,可以測試出TP47電壓為1.152V,對應調試窗口測試出的數(shù)值0x598,根據ADC的模擬數(shù)字量基本關系,不難確定這一點是正確的。

在主程序中添加對控制器的初始化代碼調用,并且將相應的ADC的中斷服務程序和TMR1的中斷服務程序指定給相應的中斷Handler。


TMR1的中斷服務程序如下所示,主要用于處理狀態(tài)指示,欠壓鎖定及軟起動功能,此處代碼中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

{

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_vin200))

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

start_tmr = 0;

fsm_state = 0;

}

break;

}

}


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

42 滿載時P控制器測試功率級Bode


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

43 空載時P控制器測試功率級Bode


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

44 設計補償器零極點


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


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

45 調用電壓環(huán)控制代碼


根據新輸入的控制器零極點,重新產生代碼后,我們在AN13的中斷服務程序中調用電壓環(huán)控制函數(shù),如圖45所示,完成閉環(huán)控制。

46 DCLD產生的數(shù)字補償器系數(shù)


圖46為DCLD所產生的補償器AB系數(shù),及相應的Q15格式數(shù)據。


47 空載時PWM驅動波形(CH1-PWM1H-CH2-PWM1L)


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


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


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

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


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


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


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