博客專欄

EEPW首頁 > 博客 > 開關(guān)電源環(huán)路學(xué)習(xí)筆記(7)-BUCK電源環(huán)路仿真實驗驗證

開關(guān)電源環(huán)路學(xué)習(xí)筆記(7)-BUCK電源環(huán)路仿真實驗驗證

發(fā)布人:yingjian 時間:2022-06-22 來源:工程師 發(fā)布文章

前面花了三節(jié)內(nèi)容,把Buck各個級的傳遞函數(shù)給推導(dǎo)出來了,只需要把它們相乘,就可以得到環(huán)路的開環(huán)傳遞函數(shù)了。


圖片


那有沒有辦法驗證它們是否正確呢?這一節(jié)就來干這個事情。

 

驗證方法

我打算使用LTspice進(jìn)行仿真驗證,方法是這樣的:

 

1、搭好電路

使用分立器件搭建一個Buck電路,設(shè)定好輸入電壓,選定好電感,電阻,電容等器件。

 

2、根據(jù)公式直接畫波特圖

根據(jù)前面推導(dǎo)的公式,我們可以直接列出這個電路的開環(huán)傳遞函數(shù)的表達(dá)式,有了表達(dá)式,我們就可以直接根據(jù)表達(dá)式畫出波特圖。

 

3、測試得到波特圖

我們直接仿真前面搭建的buck電路,從FB輸入小信號,就跟我們現(xiàn)實中測試波特圖一樣,測量出環(huán)路的波特圖。

 

4、對比

如果根據(jù)公式得到的波特圖和測試出的波特圖一樣的話,就說明我們先前推出的公式是沒問題的,即完成了驗證。


下面開始驗證 


搭建buck電路


圖片


我們根據(jù)buck的系統(tǒng)框圖,搭建電路如下:

圖片


鋸齒波RAMP使用電壓源產(chǎn)生,鋸齒波與放大和補(bǔ)償后的信號做比較就能得到PWM了。周期為10us,即開關(guān)頻率為100Khz,也就是說我這個buck的開關(guān)頻率固定為100Khz。

 

類似于我們常用的buck芯片,Vfb設(shè)定為0.8V,我搭建電路的時候,是想輸出3.3V電壓的,所以設(shè)定R3=10K,R2=31.25K,根據(jù)分壓,可以計算得到輸出電壓:Vout=0.8*(1+R2/R3)=3.3V

 

R5=100K,C2=2.2nF的取值我比較隨意,只是隨便試了幾個值,看輸出電壓能夠正常輸出我想要的值就沒有再改了,兄弟們也可以自己去試試別的值看看。

 

圖中除了電阻、電容、電感之外,還用到了PMOS管Si4403,高速比較器LT1720,放大器AD8031,這幾個器件選型也并沒有特別的挑選。不過需要注意,比較器不要用放大器替代,速度會不夠,無法正確的產(chǎn)生PWM信號。

 

我們運(yùn)行下,輸出波形如下圖

圖片


可以看到,輸出在3ms之后穩(wěn)定在3.3V,跟我們的設(shè)定值是一致的,說明這個搭建的電路算是正常跑起來了。

 

不過,也許會覺得剛上電的時候輸出電壓會飆到8V有問題,這個其實因為我們對初始狀態(tài)并沒有額外的處理。另外一方面,我們測量環(huán)路,只測量穩(wěn)定狀態(tài)時的,因此,我們只需要測上電3ms后的環(huán)路就行,也不影響我們的目的。

 

電路已經(jīng)搭起來了,那就進(jìn)入第2步——根據(jù)公式得到波特圖。

 

根據(jù)公式直接畫波特圖


根據(jù)“兩種誤差放大器的傳遞函數(shù)”這一章節(jié)可知,反饋級和誤差放大級的傳遞函數(shù)表達(dá)式如下:

圖片


代入到前面構(gòu)建的電路中就可以求得采樣和放大補(bǔ)償級的傳遞函數(shù)如下圖:

圖片


由前面章節(jié)“脈沖調(diào)制級傳遞函數(shù)Gpwm(s)”可知,傳遞函數(shù)表達(dá)式如下:

圖片        我構(gòu)建的電路的鋸齒波幅值為12V,即VM=12,所以調(diào)制級傳遞函數(shù)表達(dá)式為:圖片        再根據(jù)上一節(jié)“開關(guān)變換器的傳遞函數(shù)Gvd(s)”可知,開關(guān)級的傳遞函數(shù)Gvd表達(dá)式如下:圖片


這里面L為電感,C為輸出濾波電容,Vi為輸入電壓,R為負(fù)載。代入到我們構(gòu)建的BUCK電路,那么就是L為L1=33uH,C為C1=100uF,R為R1=1Ω,即Gvd表達(dá)式為:

圖片

 

好了,我們現(xiàn)在4個級的傳遞函數(shù)已經(jīng)求出來了,我們把它們?nèi)砍似饋砭褪情_環(huán)傳遞函數(shù)了。

圖片


有了表達(dá)式,我們就可以直接畫出開環(huán)傳遞函數(shù)的波特圖了,這里我們可以直接使用LTspice就能達(dá)到目的,具體方法我專門寫了個小文章介紹,見下面鏈接。


如何使用LTspice畫已知傳遞函數(shù)的波特圖

 

我們使用LTspice直接畫出上面開環(huán)傳遞函數(shù)的表達(dá)式對應(yīng)的波特圖,需要代入電路圖中的各個參數(shù)值(L1=33uH,C1=100uF,C2=2.2nF,R1=1Ω,R2=31.25K,R5=100K)。

 

最終波特圖如下圖:

圖片


從圖中可以看到,穿越頻率是5.56Khz

圖片

 

以上就是先計算出開環(huán)傳遞函數(shù)的公式,然后根據(jù)公式直接畫圖得到的波特圖。寫的比較啰嗦,主要是希望想親自試一下的同學(xué),能照著步驟很快能搞出結(jié)果來。

 

公式法已經(jīng)有了,下面使用測試的方法來得到波特圖。

 

測試得到波特圖


使用LTspice測試得到波特圖有點費(fèi)勁,我在這里卡了很久,這也是我最近一段時間沒有更新的原因之一,不過最終也總算是在一位網(wǎng)友的幫助下解決了我的問題。

 

為了讓兄弟們不至于在這一步卡住,我盡量說得清楚一些。

 

測試得到波特圖的原理,其實就跟我們現(xiàn)實工作中拿儀器測試環(huán)路一樣。


通過給環(huán)路注入正弦波小信號,然后測量輸出信號,輸出信號與輸入信號幅度的比值就是環(huán)路的增益,兩者之間的相位差異就是環(huán)路的相移。

 

注意,小信號的頻率是變化的,因為我們的波特圖,描述的就是在不同頻率下,環(huán)路的增益和相移的關(guān)系。所以我們需要測量很多的頻點,分別測量每一個頻點對應(yīng)的增益和相移,然后將它們連成線,就構(gòu)成了波特圖。如果正弦波小信號只有一個頻率,那么只能得到一個點。

 

這是不是有點類似AD采樣?如果我們想得到非常平滑的曲線,那么就需要采樣更多的點,那么也就意味著更高的采樣率。

 

使用LTspice也是一樣,如果參數(shù)設(shè)置不合理,可能會造成仿真時間特別的長,這一點需要特別注意,我后面也會詳細(xì)介紹。

 

具體現(xiàn)實中怎么測試環(huán)路,我在B站上面看到一個視頻,說得還比較清楚,鏈接是這個:


https://www.bilibili.com/video/BV1tt4y117vL?spm_id_from=333.337.search-card.all.click


感興趣可以去瞅瞅,還比較好

 

下面是視頻的一章截圖,測試原理是一目了然的了。

圖片

 

以上就是現(xiàn)實工作中通過測試的方法得到波特圖的原理。

 

下面進(jìn)入正題:LTspice如何通過測試方法,得到前面構(gòu)建的Buck電路的波特圖呢?

 

首先,在Vout與上面的分壓電阻之間加一個電壓源,用于注入正弦波小信號。注意,里面的頻率是一個變量freq,因為我們要測很多頻率點,幅度是20mV,不能太大,太大會影響電路正常工作。


電路圖如下圖所示:

圖片


如果細(xì)心的話會發(fā)現(xiàn),我還加了一個0.01Ω的電阻R4,之所以加這個,就是我踩的一個坑。如果沒有R4,那么網(wǎng)絡(luò)a就和網(wǎng)絡(luò)out是一個網(wǎng)絡(luò),后面執(zhí)行的時候就一直有問題,所以這個R4僅僅起一個隔離的作用,不讓同一個網(wǎng)絡(luò)被取了兩次名字。

 

右面的spice命令加了很多,看著有點費(fèi)勁,其實也不難,意思大致是這樣的:









.meas Aavg avgV(a)-----測量a點電壓平均值A(chǔ)avg.meas Bavg avgV(b) -----測量b點電壓平均值Bavg.meas Are avg(V(a)-Aavg)*cos(360*time*Freq) -----測量a點交流電壓實部平均值A(chǔ)re.meas Aim avg-(V(a)-Aavg)*sin(360*time*Freq) -----測量a點交流電壓虛部平均值A(chǔ)im.meas Bre avg (V(b)-Bavg)*cos(360*time*Freq) -----測量b點交流電壓實部平均值Bre.meas Bim avg-(V(b)-Bavg)*sin(360*time*Freq) -----測量b點交流電壓虛部平均值Bim.meas GainMagparam 20*log10(hypot(Are,Aim)/hypot(Bre,Bim)) -----測量增益.meas GainPhiparam mod(atan2(Aim,Are)-atan2(Bim,Bre)+180,360)-180-----測量相位


如果不懂也沒關(guān)系,只需要將電路上面的2個測量點命名為a和b,然后將這一段spice命令粘上即可。

 

Freq是頻率,是一個變量,因為會測量很多頻率點。

 




.param t0=3m-----設(shè)置參數(shù)t0=3ms.tran 0 {t0+20/freq} {t0}-----運(yùn)行t0=3ms后開始測試,測試20個周期.step oct paramFreq 1K 10K 4-----測量頻率范圍為1K~10Khz,每倍頻程測量4個點


t0是系統(tǒng)開始運(yùn)行到達(dá)到穩(wěn)定狀態(tài)所需要的時間長度。前面我們運(yùn)行的時候,已經(jīng)知道了3ms后系統(tǒng)達(dá)到穩(wěn)定,所以我們這里設(shè)置為3ms。注意,不同的系統(tǒng)達(dá)到穩(wěn)定的時間是不同的,要根據(jù)實際情況來。不過也需要注意,設(shè)置太長會造成仿真時間太長。

 

頻率測量范圍我選定的是1K~10K,之所以是這個范圍,是因為我已經(jīng)提前知道了穿越頻率是5K左右,所以沒有把頻程設(shè)置很大,因為設(shè)太大會造成仿真時間比較長。當(dāng)然,兄弟們可以自己改一改試一試。

 

仿真運(yùn)行

一切準(zhǔn)備就緒,我們運(yùn)行一下,基于當(dāng)前的設(shè)置,我計時了一下,運(yùn)行時間大概是3分鐘(不同電腦配置可能不同)。

 

運(yùn)行過程中,我們可以在窗口左下方看到仿真進(jìn)度,左下角可以看到Run:1/15;

15表示的是會測量15個頻點,1表是正在測量第一個頻點。

圖片

 

運(yùn)行結(jié)束之后,波形窗口看不到任何波形,因為還需要操作下面幾步:


1、在波形窗口點擊鼠標(biāo)右鍵,選擇“View”菜單下面的“SPICE Error Log”

圖片                           

2、在彈出的log窗口里面,點擊鼠標(biāo)右鍵,選擇“Plot .step’ed .meas data”,在彈出的窗口選擇“是”

圖片


3、在彈出的窗口中點擊鼠標(biāo)右鍵,選擇“View”菜單下面的“Visible Traces”

圖片


4、在彈出的窗口里面選擇“gain”,就可以生成波特圖了

圖片


生成的波特圖如下:

圖片


以上就是采用測試的方法得到波特圖的全過程了,有點繁瑣,我也是折騰了比較久,感興趣的同學(xué)可以自己玩一玩,相關(guān)源文件我文末會分享出來。

 

至此,公式直接畫出的波特圖和測試法得到的波特圖都已經(jīng)出來了,我們下面對比看看它們的差別。

 

波特圖對比


圖片

 

可以看到,二者波形基本一樣,驗證了我們開篇的目的:我們推導(dǎo)的傳遞函數(shù)是正確的。

 

小結(jié)

本節(jié)內(nèi)容就寫到這里了,主要是使用LTspice進(jìn)行仿真驗證前面推導(dǎo)的公式,不過這個仿真相對于以前來說還是比較復(fù)雜的,需要折騰一下。


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

斷路器相關(guān)文章:斷路器原理


電荷放大器相關(guān)文章:電荷放大器原理
高壓真空斷路器相關(guān)文章:高壓真空斷路器原理
漏電斷路器相關(guān)文章:漏電斷路器原理


關(guān)鍵詞: 開關(guān)電源

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉