上期通過K因子法介紹了LLC仿真如何實現(xiàn)快速閉環(huán),以及相位提升計算與傳遞函數(shù)的詳細推導(dǎo)過程及分析,詳見《LLC環(huán)路計算與仿真分析——K因子法》。
但是使用該方法是有很多局限性的,如果需要自己放置零極點,該如何像K因子一樣根據(jù)功率級波特圖計算出想要的穿越頻率和相位裕度呢?
下面通過運放+光耦的反饋補償一一介紹:
1、獲取功率級波特圖
快速閉環(huán)后在最大增益滿載時設(shè)計獲取功率級波特圖,期望閉環(huán)時穿越頻率4k,讀取此時的增益及相位。
2、補償器增益與相位提升計算
功率級在4k時增益和相位分別為3.54和16.94度。
所以補償器在4k時增益應(yīng)為-3.54。
相位要先減去功率級的16.94度,然后加上期望相位裕度45度,即補償器在4k時相位應(yīng)為28.06度。
又因為補償器為正反饋,初始相位為-90度,所以實際此時提升相位要多加90度,即補償器提升的相位裕度為:
-16.94°+90°+45°=118.06°
這個與上期介紹的一樣,只是這里只通過補償器來理解。
PM(期望相位裕度)、PS(穿越頻率處功率級相位)。boost(需提升相位)。即
boost=PM-PS+90°
3、選擇補償器并搭建正確邏輯
提升相位>90°需要兩個零點(最大提升180度),這里使用運放+光耦的三型補償。
首先選擇運放是推光耦還是拉光耦,因為可以兼容電壓環(huán)電流環(huán)雙環(huán)競爭,這里使用動放拉光耦。
本文VCO邏輯:VFB越大,輸出頻率越高。
根據(jù)壓控振蕩器邏輯選擇光耦連接方式:當Vout ↑,Vop ↓,IF ↑,Ic ↑,VFB ↑ ,fsw ↑,負反饋邏輯正確,所以VFB接在光耦射極。如下:
4、補償器傳遞函數(shù)推導(dǎo)
根據(jù)補償器推導(dǎo)傳遞函數(shù):
運放部分:
光耦部分:
光耦原邊和副邊均有兩種連接方式,運放推或拉,反饋腳接集電極或射極,但因為交流小信號分析中電流源開路,電壓源短路,所以兩種接法的傳遞函數(shù)只有符號不一樣,感興趣的可以仿真驗證一下。
5、求解RLEDmax
運放輸出最低電壓時光耦的二極管側(cè)必須有足夠的電流使光耦工作三極管工作在飽和區(qū)。
光耦的上拉或下拉電阻與C8形成極點。
6、求解光耦的射極外置電容
先用k因子計算出零極點位置
假設(shè)(湊的)上拉電阻10k時光耦極點為12kHz,則可求出光耦內(nèi)部等效電容
根據(jù)上面K因子求得的極點,光耦與下拉電阻形成的極點若與其相同,則光耦電容應(yīng)該為:
而光耦內(nèi)部等效電容已經(jīng)大于配置極點所需的電容:
所以此時K因子已無法通過配置零極點來適應(yīng)K因子計算極點,需要手動放置并重新計算。
7、手動零極點放置計算
先放置兩個極點和一個零點,第1個極點為光耦引入:
第1個零點放1k,第2個極點放50k,這里只是介紹原理,參數(shù)是湊的。
相位提升計算方法參考上期《LLC環(huán)路計算與仿真分析——K因子法》:
根據(jù)上式和第2點所計算出來的增益和相位計算出第二個零點:
按照這幾個零極點極可滿足期望穿越頻率和相位裕度。
8、電阻電容參數(shù)計算
計算方法請參考上期《LLC環(huán)路計算與仿真分析——K因子法》
補償器波特圖(藍色為手動放置零極點,橙色為K因子放置):
從波特圖可見,手動放置計算的值與K因子計算的值在穿越頻率fc處的增益和相位是一樣的,但是k因子計算的相位最大值剛好在fc處。
9、仿真驗證
按前文計算值設(shè)置光耦參數(shù)
補償后的波特圖與期望值符合,計算正確。
補償器波特圖,與計算波特圖相符。
計算與仿真一致。
10、F11窗口公式
*VCO參數(shù)設(shè)置
.GLOBALVAR Fswmin=2*55k * the LLC network will see half this value *
.GLOBALVAR Fswmax=2*160k * the LLC network will see half this value *
.GLOBALVAR DT=420n * this is clock pulse width for DT generation *
.GLOBALVAR VFBmax=3.3 * this is the maximum feedback voltage to get Fswmax *
.GLOBALVAR Ct=10p
.GLOBALVAR Vswing=2.7 * Timing capacitor final swing *
.GLOBALVAR IFMIN=Ct*Vswing/((1/Fswmin)-DT) * charging current when VFB = 0 V *
.GLOBALVAR IDT=-(IFMIN-Ct*Vswing/DT)/5
.GLOBALVAR G2=-(IFMIN+Ct*Vswing/(DT-(1/Fswmax)))/VFBmax
*輸入輸出設(shè)置
.simulator DEFAULT
.VAR Vin = 380
.VAR Pout = 500
.VAR Vout = 26
.VAR RL = Vout^2/Pout
.VAR VREF = 2.5
.VAR R1 = 21.5K
.VAR Rlower = VREF*R1/(Vout-VREF)
*電壓環(huán)求解
.VAR fc = 4k
.VAR Gfc = 3.59
.VAR PS = 16.94
.VAR PM = 45
.VAR boost = PM-PS+90
.VAR G = 10^(-Gfc/20)
.VAR CTR = 0.48
.VAR Rpulldown = 10k
.VAR RLED = 2K
.VAR fp_opto = 11.1587k
.VAR fp1 = 50k
.VAR fz1 = 1k
.VAR fp2 = fp_opto
.VAR fz2 = fc/(tan(boost*(pi/180)-atan(fc/fz1)+atan(fc/fp1)+atan(fc/fp2)))
.VAR G1 = CTR*Rpulldown/RLED
.VAR R2 = (G/G1)R1(sqrt(1+(fc/fp1)^2))(sqrt(1+(fc/fp2)^2))/((sqrt(1+(fz1/fc)^2))(sqrt(1+(fc/fz2)^2)))
.VAR C1 = 1/(2pifz1*R2)
.VAR C3 = (fp1-fz2)/(2piR1fp1fz2)
.VAR R3 = R1*fz2/(fp1-fz2)
*參數(shù)計算結(jié)果查詢
*** Print out values to use in step 2
*** Run simulation. From menu, select
*** Simulator >> Edit Netlist (after preprocess)
{'*'} k = {k}
{'*'} G = {G}
{'*'} Rlower = {Rlower}
{'*'} R2 = {R2}
{'*'} R3 = {R3}
{'*'} C1 = {C1}
{'*'} C3 = {C3}
{'*'} G1 = {G1}
{'*'} wp1 = {wp1}
{'*'} wp2 = {wp2}
{'*'} wz1 = {wz1}
{'*'} wz2 = {wz2}
{'*'} fz2 = {fz2}
11、F11窗口計算結(jié)果
與MATHCAD計算結(jié)果一致。
12、總結(jié)
環(huán)路計算的資料太多了,但萬變不離其宗,主要弄清傳遞函數(shù)推導(dǎo)與相位提升計算,其他的基本就能舉一反三了,而且學(xué)習環(huán)路計算最簡單的方法還是得計算加仿真一起,simplis對環(huán)路仿真學(xué)習非常友好。
-
運放
+關(guān)注
關(guān)注
47文章
1152瀏覽量
52973 -
仿真
+關(guān)注
關(guān)注
50文章
4041瀏覽量
133413 -
光耦
+關(guān)注
關(guān)注
30文章
1411瀏覽量
57572 -
LLC
+關(guān)注
關(guān)注
36文章
558瀏覽量
76682 -
環(huán)路計算
+關(guān)注
關(guān)注
0文章
4瀏覽量
5874
發(fā)布評論請先 登錄
相關(guān)推薦
評論