Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 40633|回復: 37

[問題求助] 請問一下 PWM Current mode 如何AC分析??

  [複製鏈接]
發表於 2007-11-28 20:05:51 | 顯示全部樓層 |閱讀模式
在PWM Current mode  如何AC分析??
在 simulation PWM Current mode 時電感是否要考慮?
 樓主| 發表於 2007-11-29 19:04:15 | 顯示全部樓層
圖為我在模擬PWM Voltage mode 的AC分析時的電路接法..
請問如果要模擬Current mode 的AC分析時電路接法要如何實現?

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x
發表於 2007-11-30 11:14:09 | 顯示全部樓層
請問一下你說的ac分析是指只有error AMP的ac分析
還是整個迴路的ac分析?
一般我們在設計 都是先做power stage迴路的ac分析(不包括error AMP)
就是error AMP output到Vfb的轉移函數 這就包括了電感 穩壓電容 二極體 MOS開關 output等效電阻等等
然後再根據這個迴路的波徳圖去設計error AMP補償電路 決定pole zero unit-gain-Bandwidth
最後再做全部的迴路分析看看是否會穩定
不過要做全部迴路的分析 可能要用到MATLAB 因為畢竟PWM是離散系統 開關會切來切去的
要參考一些paper先推導出一些開關的平均model 才能求出迴路的小訊號模型

評分

參與人數 1 +1 收起 理由
allen-leon + 1 good advices!!

查看全部評分

 樓主| 發表於 2007-11-30 14:34:48 | 顯示全部樓層
圖是整個迴路的ac分析,電路圖紅色部分為power stage
請幫我看一下對不對?
在matlab分析全部的迴路,小弟在這一部份沒有經驗,請問一下要從哪裡開始?(能不能有範例可以參考)
發表於 2007-11-30 16:10:33 | 顯示全部樓層
原帖由 monkeybad 於 2007-11-30 11:14 AM 發表
請問一下你說的ac分析是指只有error AMP的ac分析
還是整個迴路的ac分析?
一般我們在設計 都是先做power stage迴路的ac分析(不包括error AMP)
就是error AMP output到Vfb的轉移函數 這就包括了電感 穩壓電容 二極體 ...


Dear monkeybad,
您說的「據這個迴路的波�圖去設計error AMP補償電路 決定pole zero unit-gain-Bandwidth」這部份可不可以說明一下詳細的情況?
另外再請問您一下,Current mode control 的 Error amp 跟 Voltage mode control 的 Error amp 設計方式有一樣嗎?
發表於 2007-11-30 18:00:49 | 顯示全部樓層
原帖由 monkeybad 於 2007-11-30 11:14 AM 發表
請問一下你說的ac分析是指只有error AMP的ac分析
還是整個迴路的ac分析?
一般我們在設計 都是先做power stage迴路的ac分析(不包括error AMP)
就是error AMP output到Vfb的轉移函數 這就包括了電感 穩壓電容 二極體 ...


不好意思,剛又想到一個問題...
您在文中所提的 power stage迴路的ac分析, 是不是指從 Vin 灌 AC 訊號,看 Vout 端在 fco 頻率下的 gain 與 Phase shift?
(fco 為 close-loop cross-over frequency,一般小於 10倍的 Switching frequency)
發表於 2007-12-4 00:25:24 | 顯示全部樓層
說實話這是一個很好的問題 怎樣去做PWM current mode AC分析
可以參考一下之前的討論
[url=http://www.chip123.com/phpBB/viewthread.php?tid=9639&extra=page%3D2]http://www.chip123.com/phpBB/viewthread.php?tid=9639&extra=page%3D2[/url]
還有推導power stage model的方法可以參考paper
V. Vorperian, “Simplified analysis of PWM converters using model of
PWM switch, part I: Continuous conduction mode,” IEEE
裡面有推導mos開關model
還有NS的LM 3430 datasheet 它有提供一個我覺得是PWM的終極公式
小訊號極零點都幫你推導好了 連slope compensation效應也有包括喔
當然這是我的經驗啦 希望能有幫助
也希望其他人有相關經驗的能提供一些意見
有沒有人在立琦 致新 類比科 沛亨這些公司上班的呀
應該對PWM current mode這方面很有研究吧

[ 本帖最後由 monkeybad 於 2007-12-4 12:31 AM 編輯 ]
發表於 2007-12-4 16:11:08 | 顯示全部樓層
一般是使用Average Mode作compensation 的分析..

Switch 並非是線性元作..所以須以一個Model 來替代..
上網看看,,,可以找到一些資料..
發表於 2007-12-5 18:11:16 | 顯示全部樓層
恩 的確要有一個linear model來表示PWM switch
之前上網又看到一些paper 同一個作者對推導PWM current mode model提出了一連串的paper
PWM current mode model還真的有點複雜
首先有關PWM switch的model 除了V. Vorperian之前那篇 另外我又找到一些
K. Kazimierczuk "Application of the principle of energy conservation to modeling the PWM converter" IEEE
--------------------- "Energy conservation approach to modeling PWM dc-dc converters" IEEE

再來是推導PWM current mode 整體的model
K. Kazimierczuk "Voltage Loop of Boost PWM DC–DC Converters With Peak Current-Mode Control" IEEE
這是最後的結論 中間還有很多過程 要在refer to相關的paper

有興趣的可以看看

另外回覆Shaq
Voltage mode跟Current mode誤差放大器補償電路設計原理是一樣的 但是實際上還是不太一樣
因為Voltage mode跟Current mode power satge的架構就不同了
Voltage mode是一個2階系統 Current mode基本上可以看成是一個一階系統

[ 本帖最後由 monkeybad 於 2007-12-5 07:39 PM 編輯 ]
發表於 2007-12-5 19:10:47 | 顯示全部樓層
假如懶得看這麼複雜的推導 就直接用LM 3430的公式下去算就好了

其實說穿了 PWM current mode因為電感電流被監控了 所以它只有一個dominant pole
位在Vout節點  因為通常穩壓電容Co都做蠻大的 形成一個pole=1/(Ro*Co)
不像voltage mode 電感跟穩壓電容會形成一個二階系統 補償比較難
還有一個零點是電容寄生電阻造成的 不過這個通常都在很高頻

另外有關subharmonic oscillation就用斜率補償電路下去做 這個其實不用放在model裡面
但是要防止發震 就是要滿足補償斜率必須大於1/2電感電流下降斜率就可以了
subharmonic oscillation這個現象會發生在D>0.5的時候

誤差放大器補償電路設計 最簡單的方法 就是先做一個OP 然後補償方法就是在OP output串一個Rc跟一個Cc
這樣零點就會產生在1/(Rc*Cc) 可以把這個零點擺在unit gain BW附近 這樣可以提高PM

大致上是這樣 實際電路還要加一些修改
像是ErrorAMP箝位電路來限制最大電感電流
BLANKING來防止感應電阻在MOS開關剛打開時 會有很大的noise pulse 造成誤動作
Soft Start來防止剛啟動時 電感或是MOS開關電流過大燒壞掉的情形

以下是我用Matlab寫一個程式來模擬的結果
圖一為power stage bode diagram
圖二為Error amp bode diagram
圖三為Total loop bode diagram
可以看到DC gain有100db 單位頻寬為16.87k PM=67deg;
這邊我單位頻寬大概位在1/60的操作頻率 不過應該可以在調高一點吧

再來就是Hspice模擬結果 目前還沒有跑 不過之前用別的RC值跑過一次 是有鎖定住
所以這次改了一下應該也可以鎖定吧

這是目前我的經驗 希望能跟各位網友多交流

[ 本帖最後由 monkeybad 於 2007-12-6 12:07 PM 編輯 ]

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?申請會員

x

評分

參與人數 1 +5 收起 理由
happybull + 5 Good answer! Thank you

查看全部評分

發表於 2007-12-6 12:44:57 | 顯示全部樓層
Dear monkeybad

就我所 survey 到的電路架構,以 Synchronous, current mode buck converter 而言,在輸出端還是有 LC filter 耶。
我認為 current mode 與 voltage mode 最大的不同在於 PWM 信號 產生的方式,但 Power stage 應該是一樣的,不知道我這樣的解讀有沒有錯誤?
對了,您所提的 LM3430 裡的公式,是 for boost converter...
我再找一下有沒有 for buck 的,有的話我再貼上來。

By the way, 是否可麻煩 monkeybad 提供 MATLAB 程式,因為我沒寫過穩定性相關的程式,
想看看怎麼寫的,增加一點經驗。
謝謝。

評分

參與人數 1 +5 收起 理由
happybull + 5 Good answer!

查看全部評分

發表於 2007-12-6 13:30:26 | 顯示全部樓層

回復 10# 的帖子

This is a very good one.
Just one question: Is this a real model for a product?
Becasue I think the number on the plot can't be real.
This circuit can't meet all load condition for sure.  DC gain is too high and ErroAmp gain too high. Also you did't counter gain from Current Mode.

Except that ,every thing is great.
發表於 2007-12-6 15:45:57 | 顯示全部樓層
有關BUCK的架構可以看LM 3477
另外就是有關Current mode部分 因為它是有兩個迴路
一個是電流回授迴路 最外面再加上電壓回授迴路
電流迴路就是控制電感電流 所以可以把電感電流想像成一個固定電流源
然後流過一個R C filter 所以系統在低頻時是一個one pole system

Voltage mode因為電感電流沒有受到控制 所以L C會造成一個two pole system

這是用比較直觀的觀點切入 當然你說的產生Clock pulse控制方法不一樣
這樣解釋也可以啦

另外Matlab程式其實也沒有什麼 看一看Help檔用一些指令下去模擬就好了
先建立transfer function 再用margin ,bode這些指令下去看波德圖就可以
Matlab裡面有control system的toolbox 有些內建的指令蠻方便的

這是我自己寫的 不一定要照我的方法 只要能work就可以了
%PWM BOOST
s = tf('s');

% Output voltage
Vo=10;
% Input voltage
Vin=5;
% Diode forward voltage
VD=0.7;
% Output loading current
Io=200e-3;
% R sense
RSNS=0.5;  
% Output capacitance
Co=100e-6;
% Output capacitance parasitic resistor
Resr=3e-3;
% Inductance
L=10e-6;
% PWM operating frequency
fsw=1.35e6;
D=(Vo-Vin-VD)/(Vo-VD);
IL=Io/(1-D);
Ro=Vo/Io;

APS=(1-D)*Ro/(2*RSNS);
WZesr=1/(Resr*Co);
WLEP=1/(0.5*(Ro+Resr)*Co);
WRHP=Ro*(Vin/Vo)^2/L;
Wn=pi*fsw;
Sn=RSNS*Vin/L;
% compensation slope;
Se=9e5;
Qn=1/(pi*(-D+0.5+(1-D)*Se/Sn));
BETA=(124/(124+876));

% compensation resistor;
Rc=1e6;
% compensation capacitance;
Cc=1e-11;
% fp: from HSPICE AC sim in OP, dominant pole location, frequency at phase=145deg;
fp=7.35e1;  
% calculate ro;
ro=1/(2*pi*Cc*fp);
Aerror=10^(90.7/20)*(1+s*Rc*Cc)/(1+s*Cc*(ro+Rc));

Gps=APS*(1+s/WZesr)*(1-s/WRHP)/((1+s/WLEP)*(1+s/(Qn*Wn)+s^2/Wn^2));
Gall=BETA*Aerror*Gps

figure(1)
margin(Gall)
figure(2)
w = {1e-3,1e10};
bode(Aerror,w)

[ 本帖最後由 monkeybad 於 2007-12-6 04:11 PM 編輯 ]
發表於 2007-12-6 22:29:06 | 顯示全部樓層
Dear monkeybad,

首先,非常感謝您分享您的程式,慧我良多!
關於程式方面,有1 個問題想問您。
BETA,這是代表什麼意思啊?  唯獨這個東西沒辦法參悟,還請您勿見笑。
發表於 2007-12-7 10:11:20 | 顯示全部樓層
回覆14 shaq
喔 不好意思沒有註明清楚
BETA就是電壓迴路中 回授電阻的分壓比例
Vfb=BETA*Vo

回覆12 happybull
這是我用實際電路的值下去模擬的, Error Amp的DC gain是用Hspice跑出來的結果
還有不同負載的問題 可能這樣的設計只能滿足某一種情況 面對不同負載 不同Vout
補償電阻跟電容都要重新調整吧 但是目前以我的應用來說 是要做驅動white light LED的昇壓電路
負載跟Vout都是固定的 所以我想應該只要針對應用所需的情況來設計就好了吧

我是照著LM 3430以及網上一些資料下去做 因為也沒有人教 所以不知這樣弄對不對
電路都是東湊西湊的 不過Hspice模擬好像還可以動 希望以後tape out可以work
台灣電源管理IC設計公司一大堆 真的沒有人有做過PWM current mode嗎?
目前網路上看來好像都只有Finster Sjhor這些人在討論
不過Finster之前是做PWM Voltage mode的
所以希望有經驗的人能不吝指導一下吧!

[ 本帖最後由 monkeybad 於 2007-12-7 04:21 PM 編輯 ]
發表於 2007-12-7 22:00:12 | 顯示全部樓層
再次謝謝 monkeybad!
剛在洗澡的時候想到一個問題。

92年游同學的那篇論文,文中設計 Error Amplifier 補償電路的方法,似乎是以 Voltage mode 的觀點下去設計,
但他的架構又是 Current mode 的 buck converter,這樣的設計方式沒問題嗎?
發表於 2007-12-9 18:21:44 | 顯示全部樓層
92年游同學的那篇論文 做得很不錯
不過好像對穩定度分析這個地方沒有做太多的解釋 這也是我存疑的地方
以我的認知是voltage mode跟current mode補償設計應該是不太一樣
我不確定論文是用什麼方法去設計的 但是基本上我們就照自動控制理論的分析下去做應該沒錯吧
先推導系統線性化model => 決定系統頻寬 PM等等 => 根據pole zero位置去設計補償電路電容電阻值
我後來Matlab模擬完 再用Hspice跑 結果PWM就有鎖定住
發表於 2007-12-16 10:50:09 | 顯示全部樓層
就如同 monkeybad 您所說的, Power stage 只有一個 pole
所以,我直覺就是用 Type-2 的 Error Amplifier,因為它剛好提供一個 zero。

但我昨天發現,我設計出來的電容值是 nano 級的,不適用於 IC 內

是不是因為這樣,所以 Current mode, buck converter 的 Error Amplifier 通常是 Gm amplifier?
發表於 2007-12-17 10:35:07 | 顯示全部樓層
原帖由 shaq 於 2007-12-16 10:50 AM 發表
就如同 monkeybad 您所說的, Power stage 只有一個 pole
所以,我直覺就是用 Type-2 的 Error Amplifier,因為它剛好提供一個 zero。

但我昨天發現,我設計出來的電容值是 nano 級的,不適用於 IC 內

是不是 ...



後來發現,只要加大分壓電阻比,就可以降電容值了
前幾天沒想到這點 orz
發表於 2008-4-1 10:17:34 | 顯示全部樓層
in boost  matlab ,有一个问题我有疑问,希望你能帮我解答,等好久也没有收到回信

问题是:在程序中:Se=9e5

对于Vout=10 vin=5,L=10e-6 ,VD=0.7 的条件下: 电感上的电流的下降斜率m2为:(vout-vin)/L=5e5.

作slope compensation  se=0.75* m2

换句话说:你给你的compensation 是不是过大了呢?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-4-16 03:11 PM , Processed in 0.131008 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表