<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

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

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

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

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


圖片


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

 

驗證方法

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

 

1、搭好電路

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

 

2、根據公式直接畫(huà)波特圖

根據前面推導的公式,我們可以直接列出這個(gè)電路的開(kāi)環(huán)傳遞函數的表達式,有了表達式,我們就可以直接根據表達式畫(huà)出波特圖。

 

3、測試得到波特圖

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

 

4、對比

如果根據公式得到的波特圖和測試出的波特圖一樣的話(huà),就說(shuō)明我們先前推出的公式是沒(méi)問(wèn)題的,即完成了驗證。


下面開(kāi)始驗證 


搭建buck電路


圖片


我們根據buck的系統框圖,搭建電路如下:

圖片


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

 

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

 

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

 

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

 

我們運行下,輸出波形如下圖

圖片


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

 

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

 

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

 

根據公式直接畫(huà)波特圖


根據“兩種誤差放大器的傳遞函數”這一章節可知,反饋級和誤差放大級的傳遞函數表達式如下:

圖片


代入到前面構建的電路中就可以求得采樣和放大補償級的傳遞函數如下圖:

圖片


由前面章節“脈沖調制級傳遞函數Gpwm(s)”可知,傳遞函數表達式如下:

圖片        我構建的電路的鋸齒波幅值為12V,即VM=12,所以調制級傳遞函數表達式為:圖片        再根據上一節“開(kāi)關(guān)變換器的傳遞函數Gvd(s)”可知,開(kāi)關(guān)級的傳遞函數Gvd表達式如下:圖片


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

圖片

 

好了,我們現在4個(gè)級的傳遞函數已經(jīng)求出來(lái)了,我們把它們全部乘起來(lái)就是開(kāi)環(huán)傳遞函數了。

圖片


有了表達式,我們就可以直接畫(huà)出開(kāi)環(huán)傳遞函數的波特圖了,這里我們可以直接使用LTspice就能達到目的,具體方法我專(zhuān)門(mén)寫(xiě)了個(gè)小文章介紹,見(jiàn)下面鏈接。


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

 

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

 

最終波特圖如下圖:

圖片


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

圖片

 

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

 

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

 

測試得到波特圖


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

 

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

 

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


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

 

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

 

這是不是有點(diǎn)類(lèi)似AD采樣?如果我們想得到非常平滑的曲線(xiàn),那么就需要采樣更多的點(diǎn),那么也就意味著(zhù)更高的采樣率。

 

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

 

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


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


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

 

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

圖片

 

以上就是現實(shí)工作中通過(guò)測試的方法得到波特圖的原理。

 

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

 

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


電路圖如下圖所示:

圖片


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

 

右面的spice命令加了很多,看著(zhù)有點(diǎn)費勁,其實(shí)也不難,意思大致是這樣的:









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


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

 

Freq是頻率,是一個(gè)變量,因為會(huì )測量很多頻率點(diǎn)。

 




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


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

 

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

 

仿真運行

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

 

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

15表示的是會(huì )測量15個(gè)頻點(diǎn),1表是正在測量第一個(gè)頻點(diǎn)。

圖片

 

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


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

圖片                           

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

圖片


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

圖片


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

圖片


生成的波特圖如下:

圖片


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

 

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

 

波特圖對比


圖片

 

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

 

小結

本節內容就寫(xiě)到這里了,主要是使用LTspice進(jìn)行仿真驗證前面推導的公式,不過(guò)這個(gè)仿真相對于以前來(lái)說(shuō)還是比較復雜的,需要折騰一下。


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

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

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


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


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

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>