開關(guān)電源環(huán)路學(xué)習(xí)筆記(7)-BUCK電源環(huán)路仿真實(shí)驗(yàn)驗(yàn)證
前面花了三節(jié)內(nèi)容,把Buck各個(gè)級(jí)的傳遞函數(shù)給推導(dǎo)出來了,只需要把它們相乘,就可以得到環(huán)路的開環(huán)傳遞函數(shù)了。
那有沒有辦法驗(yàn)證它們是否正確呢?這一節(jié)就來干這個(gè)事情。
驗(yàn)證方法
我打算使用LTspice進(jìn)行仿真驗(yàn)證,方法是這樣的:
1、搭好電路
使用分立器件搭建一個(gè)Buck電路,設(shè)定好輸入電壓,選定好電感,電阻,電容等器件。
2、根據(jù)公式直接畫波特圖
根據(jù)前面推導(dǎo)的公式,我們可以直接列出這個(gè)電路的開環(huán)傳遞函數(shù)的表達(dá)式,有了表達(dá)式,我們就可以直接根據(jù)表達(dá)式畫出波特圖。
3、測(cè)試得到波特圖
我們直接仿真前面搭建的buck電路,從FB輸入小信號(hào),就跟我們現(xiàn)實(shí)中測(cè)試波特圖一樣,測(cè)量出環(huán)路的波特圖。
4、對(duì)比
如果根據(jù)公式得到的波特圖和測(cè)試出的波特圖一樣的話,就說明我們先前推出的公式是沒問題的,即完成了驗(yàn)證。
下面開始驗(yàn)證
搭建buck電路
我們根據(jù)buck的系統(tǒng)框圖,搭建電路如下:
鋸齒波RAMP使用電壓源產(chǎn)生,鋸齒波與放大和補(bǔ)償后的信號(hào)做比較就能得到PWM了。周期為10us,即開關(guān)頻率為100Khz,也就是說我這個(gè)buck的開關(guān)頻率固定為100Khz。
類似于我們常用的buck芯片,Vfb設(shè)定為0.8V,我搭建電路的時(shí)候,是想輸出3.3V電壓的,所以設(shè)定R3=10K,R2=31.25K,根據(jù)分壓,可以計(jì)算得到輸出電壓:Vout=0.8*(1+R2/R3)=3.3V
R5=100K,C2=2.2nF的取值我比較隨意,只是隨便試了幾個(gè)值,看輸出電壓能夠正常輸出我想要的值就沒有再改了,兄弟們也可以自己去試試別的值看看。
圖中除了電阻、電容、電感之外,還用到了PMOS管Si4403,高速比較器LT1720,放大器AD8031,這幾個(gè)器件選型也并沒有特別的挑選。不過需要注意,比較器不要用放大器替代,速度會(huì)不夠,無法正確的產(chǎn)生PWM信號(hào)。
我們運(yùn)行下,輸出波形如下圖
可以看到,輸出在3ms之后穩(wěn)定在3.3V,跟我們的設(shè)定值是一致的,說明這個(gè)搭建的電路算是正常跑起來了。
不過,也許會(huì)覺得剛上電的時(shí)候輸出電壓會(huì)飆到8V有問題,這個(gè)其實(shí)因?yàn)槲覀儗?duì)初始狀態(tài)并沒有額外的處理。另外一方面,我們測(cè)量環(huán)路,只測(cè)量穩(wěn)定狀態(tài)時(shí)的,因此,我們只需要測(cè)上電3ms后的環(huán)路就行,也不影響我們的目的。
電路已經(jīng)搭起來了,那就進(jìn)入第2步——根據(jù)公式得到波特圖。
根據(jù)公式直接畫波特圖
根據(jù)“兩種誤差放大器的傳遞函數(shù)”這一章節(jié)可知,反饋級(jí)和誤差放大級(jí)的傳遞函數(shù)表達(dá)式如下:
代入到前面構(gòu)建的電路中就可以求得采樣和放大補(bǔ)償級(jí)的傳遞函數(shù)如下圖:
由前面章節(jié)“脈沖調(diào)制級(jí)傳遞函數(shù)Gpwm(s)”可知,傳遞函數(shù)表達(dá)式如下:
我構(gòu)建的電路的鋸齒波幅值為12V,即VM=12,所以調(diào)制級(jí)傳遞函數(shù)表達(dá)式為: 再根據(jù)上一節(jié)“開關(guān)變換器的傳遞函數(shù)Gvd(s)”可知,開關(guān)級(jí)的傳遞函數(shù)Gvd表達(dá)式如下:這里面L為電感,C為輸出濾波電容,Vi為輸入電壓,R為負(fù)載。代入到我們構(gòu)建的BUCK電路,那么就是L為L(zhǎng)1=33uH,C為C1=100uF,R為R1=1Ω,即Gvd表達(dá)式為:
好了,我們現(xiàn)在4個(gè)級(jí)的傳遞函數(shù)已經(jīng)求出來了,我們把它們?nèi)砍似饋砭褪情_環(huán)傳遞函數(shù)了。
有了表達(dá)式,我們就可以直接畫出開環(huán)傳遞函數(shù)的波特圖了,這里我們可以直接使用LTspice就能達(dá)到目的,具體方法我專門寫了個(gè)小文章介紹,見下面鏈接。
如何使用LTspice畫已知傳遞函數(shù)的波特圖
我們使用LTspice直接畫出上面開環(huán)傳遞函數(shù)的表達(dá)式對(duì)應(yīng)的波特圖,需要代入電路圖中的各個(gè)參數(shù)值(L1=33uH,C1=100uF,C2=2.2nF,R1=1Ω,R2=31.25K,R5=100K)。
最終波特圖如下圖:
從圖中可以看到,穿越頻率是5.56Khz
以上就是先計(jì)算出開環(huán)傳遞函數(shù)的公式,然后根據(jù)公式直接畫圖得到的波特圖。寫的比較啰嗦,主要是希望想親自試一下的同學(xué),能照著步驟很快能搞出結(jié)果來。
公式法已經(jīng)有了,下面使用測(cè)試的方法來得到波特圖。
測(cè)試得到波特圖
使用LTspice測(cè)試得到波特圖有點(diǎn)費(fèi)勁,我在這里卡了很久,這也是我最近一段時(shí)間沒有更新的原因之一,不過最終也總算是在一位網(wǎng)友的幫助下解決了我的問題。
為了讓兄弟們不至于在這一步卡住,我盡量說得清楚一些。
測(cè)試得到波特圖的原理,其實(shí)就跟我們現(xiàn)實(shí)工作中拿儀器測(cè)試環(huán)路一樣。
通過給環(huán)路注入正弦波小信號(hào),然后測(cè)量輸出信號(hào),輸出信號(hào)與輸入信號(hào)幅度的比值就是環(huán)路的增益,兩者之間的相位差異就是環(huán)路的相移。
注意,小信號(hào)的頻率是變化的,因?yàn)槲覀兊牟ㄌ貓D,描述的就是在不同頻率下,環(huán)路的增益和相移的關(guān)系。所以我們需要測(cè)量很多的頻點(diǎn),分別測(cè)量每一個(gè)頻點(diǎn)對(duì)應(yīng)的增益和相移,然后將它們連成線,就構(gòu)成了波特圖。如果正弦波小信號(hào)只有一個(gè)頻率,那么只能得到一個(gè)點(diǎn)。
這是不是有點(diǎn)類似AD采樣?如果我們想得到非常平滑的曲線,那么就需要采樣更多的點(diǎn),那么也就意味著更高的采樣率。
使用LTspice也是一樣,如果參數(shù)設(shè)置不合理,可能會(huì)造成仿真時(shí)間特別的長(zhǎng),這一點(diǎn)需要特別注意,我后面也會(huì)詳細(xì)介紹。
具體現(xiàn)實(shí)中怎么測(cè)試環(huán)路,我在B站上面看到一個(gè)視頻,說得還比較清楚,鏈接是這個(gè):
https://www.bilibili.com/video/BV1tt4y117vL?spm_id_from=333.337.search-card.all.click
感興趣可以去瞅瞅,還比較好
下面是視頻的一章截圖,測(cè)試原理是一目了然的了。
以上就是現(xiàn)實(shí)工作中通過測(cè)試的方法得到波特圖的原理。
下面進(jìn)入正題:LTspice如何通過測(cè)試方法,得到前面構(gòu)建的Buck電路的波特圖呢?
首先,在Vout與上面的分壓電阻之間加一個(gè)電壓源,用于注入正弦波小信號(hào)。注意,里面的頻率是一個(gè)變量freq,因?yàn)槲覀円獪y(cè)很多頻率點(diǎn),幅度是20mV,不能太大,太大會(huì)影響電路正常工作。
電路圖如下圖所示:
如果細(xì)心的話會(huì)發(fā)現(xiàn),我還加了一個(gè)0.01Ω的電阻R4,之所以加這個(gè),就是我踩的一個(gè)坑。如果沒有R4,那么網(wǎng)絡(luò)a就和網(wǎng)絡(luò)out是一個(gè)網(wǎng)絡(luò),后面執(zhí)行的時(shí)候就一直有問題,所以這個(gè)R4僅僅起一個(gè)隔離的作用,不讓同一個(gè)網(wǎng)絡(luò)被取了兩次名字。
右面的spice命令加了很多,看著有點(diǎn)費(fèi)勁,其實(shí)也不難,意思大致是這樣的:
.meas Aavg avgV(a)-----測(cè)量a點(diǎn)電壓平均值A(chǔ)avg.meas Bavg avgV(b) -----測(cè)量b點(diǎn)電壓平均值Bavg.meas Are avg(V(a)-Aavg)*cos(360*time*Freq) -----測(cè)量a點(diǎn)交流電壓實(shí)部平均值A(chǔ)re.meas Aim avg-(V(a)-Aavg)*sin(360*time*Freq) -----測(cè)量a點(diǎn)交流電壓虛部平均值A(chǔ)im.meas Bre avg (V(b)-Bavg)*cos(360*time*Freq) -----測(cè)量b點(diǎn)交流電壓實(shí)部平均值Bre.meas Bim avg-(V(b)-Bavg)*sin(360*time*Freq) -----測(cè)量b點(diǎn)交流電壓虛部平均值Bim.meas GainMagparam 20*log10(hypot(Are,Aim)/hypot(Bre,Bim)) -----測(cè)量增益.meas GainPhiparam mod(atan2(Aim,Are)-atan2(Bim,Bre)+180,360)-180-----測(cè)量相位
如果不懂也沒關(guān)系,只需要將電路上面的2個(gè)測(cè)量點(diǎn)命名為a和b,然后將這一段spice命令粘上即可。
Freq是頻率,是一個(gè)變量,因?yàn)闀?huì)測(cè)量很多頻率點(diǎn)。
.param t0=3m-----設(shè)置參數(shù)t0=3ms.tran 0 {t0+20/freq} {t0}-----運(yùn)行t0=3ms后開始測(cè)試,測(cè)試20個(gè)周期.step oct paramFreq 1K 10K 4-----測(cè)量頻率范圍為1K~10Khz,每倍頻程測(cè)量4個(gè)點(diǎn)
t0是系統(tǒng)開始運(yùn)行到達(dá)到穩(wěn)定狀態(tài)所需要的時(shí)間長(zhǎng)度。前面我們運(yùn)行的時(shí)候,已經(jīng)知道了3ms后系統(tǒng)達(dá)到穩(wěn)定,所以我們這里設(shè)置為3ms。注意,不同的系統(tǒng)達(dá)到穩(wěn)定的時(shí)間是不同的,要根據(jù)實(shí)際情況來。不過也需要注意,設(shè)置太長(zhǎng)會(huì)造成仿真時(shí)間太長(zhǎng)。
頻率測(cè)量范圍我選定的是1K~10K,之所以是這個(gè)范圍,是因?yàn)槲乙呀?jīng)提前知道了穿越頻率是5K左右,所以沒有把頻程設(shè)置很大,因?yàn)樵O(shè)太大會(huì)造成仿真時(shí)間比較長(zhǎng)。當(dāng)然,兄弟們可以自己改一改試一試。
仿真運(yùn)行
一切準(zhǔn)備就緒,我們運(yùn)行一下,基于當(dāng)前的設(shè)置,我計(jì)時(shí)了一下,運(yùn)行時(shí)間大概是3分鐘(不同電腦配置可能不同)。
運(yùn)行過程中,我們可以在窗口左下方看到仿真進(jìn)度,左下角可以看到Run:1/15;
15表示的是會(huì)測(cè)量15個(gè)頻點(diǎn),1表是正在測(cè)量第一個(gè)頻點(diǎn)。
運(yùn)行結(jié)束之后,波形窗口看不到任何波形,因?yàn)檫€需要操作下面幾步:
1、在波形窗口點(diǎn)擊鼠標(biāo)右鍵,選擇“View”菜單下面的“SPICE Error Log”
2、在彈出的log窗口里面,點(diǎn)擊鼠標(biāo)右鍵,選擇“Plot .step’ed .meas data”,在彈出的窗口選擇“是”
3、在彈出的窗口中點(diǎn)擊鼠標(biāo)右鍵,選擇“View”菜單下面的“Visible Traces”
4、在彈出的窗口里面選擇“gain”,就可以生成波特圖了
生成的波特圖如下:
以上就是采用測(cè)試的方法得到波特圖的全過程了,有點(diǎn)繁瑣,我也是折騰了比較久,感興趣的同學(xué)可以自己玩一玩,相關(guān)源文件我文末會(huì)分享出來。
至此,公式直接畫出的波特圖和測(cè)試法得到的波特圖都已經(jīng)出來了,我們下面對(duì)比看看它們的差別。
波特圖對(duì)比
可以看到,二者波形基本一樣,驗(yàn)證了我們開篇的目的:我們推導(dǎo)的傳遞函數(shù)是正確的。
小結(jié)
本節(jié)內(nèi)容就寫到這里了,主要是使用LTspice進(jìn)行仿真驗(yàn)證前面推導(dǎo)的公式,不過這個(gè)仿真相對(duì)于以前來說還是比較復(fù)雜的,需要折騰一下。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)斷路器相關(guān)文章:斷路器原理
電荷放大器相關(guān)文章:電荷放大器原理 高壓真空斷路器相關(guān)文章:高壓真空斷路器原理 漏電斷路器相關(guān)文章:漏電斷路器原理