LM317的愛好者會認出圖1是傳統的LM317恒流源拓撲。它通過迫使OUTPUT引腳電壓比ADJ引腳高Vadj = 1.25 V,來嚴格調節Iout = Vadj/Rs。因此,Iout可以非常近似地等于Vadj/Rs。這正是芯片大師Bob Dobkin精心設計的成果!

通常應用中,Iout遠大于Iadj(Iadj的典型值為50 μA,最大值為100 μA)。這使得Iadj偏置電流可以被安全地忽略,從而簡化了計算,且不影響精度。五十年來這一直很好用,但它有一個明顯的缺點:必須通過改變Rs來編程設定Iout。
圖2展示了一種(較)新的拓撲,它采用了一種不同的(更靈活的)方法來使Iout可編程。

通常,Rc > 100Rs,這使得圖2僅用幾毫安的Ic就能控制高達1.5 A的Iout。當然,現在可能不再能輕易忽略Iadj了。
圖3將該構思具體化為一個完整的、包含Iadj補償的、PWM控制的15 V、1 A、負載接地型恒流源。其工作原理如下。

圖3 采用新穎LM317拓撲的1A、15V、PWM編程、負載接地型恒流源。帶星號電阻為1%或更高精度,Rs = 1.25 ?。
5V峰峰值的PWM輸入頻率(Fpwm)假定為10 kHz左右。如果不是,請按以下公式相應調整C1:
C1 = 22μF * 10kHz / Fpwm
Q2的PWM開關動作產生了一個可變電阻,經C1平均后等效為Rc(1 + 1/Df),其中Df是0到1的PWM占空比。因此,流入Z1求和點的電流Ic = 2.5V / Rc(1 + 1/Df) = (0 到 2.5V)/2Rc = 3.11 mA。
Z1通過伺服控制Q1的柵極驅動V1,使其源極保持精確的2.5V基準電壓用于PWM轉換,并將Ic電平移位以跟蹤U1的ADJ引腳。通過R1提供的Iadj偏置補償電流(2.5V/51k = 50μA)也與Ic相加。
那串不太美觀的六個1N4001二極管堆疊,是為Q1提供偏置工作點所必需的。我坦率承認這看起來不太漂亮。希望圖2拓撲的新穎性能彌補這一點!
需要注意的是,精度和線性度主要只取決于Rc電阻的匹配度以及Z1和U1內部基準的精度。TL431的2.5V基準與LM317的1.25V基準恰好是2:1的比例,這巧妙地允許我們方便地使用三個相同的Rc電阻。
如果Rs = 1.25 ?,則Iout(max) = 1 A,Iout與Df的關系如圖4所示。

圖4 Iout相對于Df的曲線,其中Df(x軸)為PWM占空比,Iout(y軸)= Vadj/1.25 = 1 A滿量程 = 1 – 2/(1 + 1/Df)。
Df相對于Iout的關系繪制在圖5中。

圖5 Df相對于Iout的曲線,其中Iout(x軸)為1 A滿量程,Df(y軸)= 1/(2/(1 – Iout) – 1)。
請注意,U1可能需要耗散高達以下功率:
如果Rs = 1.25 ?且Iout(max) = 1 A,則為20 W
如果Rs = 0.83 ?且Iout(max) = 1.5 A,則為30 W
所以故事的寓意是:散熱器絕不能吝嗇!同時注意,Rs的額定功率至少應為1.252 / Rs。
此外還需考慮上電/掉電瞬態過程。系統首次上電時,C1處于放電狀態,控制器大約有4到8毫秒的時間在C1充電到足以使U1啟動并開始輸出電流之前,將PWM邏輯初始化到1.0(占空比)。軟件開發時別忘了這個細節!掉電時,當+5 V降至約2 V以下,Q3開啟。這會使Q1飽和,強制Iout為零以保護負載,同時為下次上電放電C1。
最后,再次感謝敏銳的讀者Ashutosh,他建議圖2的拓撲值得擁有一個專門的設計創意;同樣感謝編輯Aalyia,她創造了富有成效的設計創意環境,使得這種團隊協作成為可能。

圖6 C3增加了二階PWM紋波濾波,使建立時間縮短約500%。感謝常客Christopher R. Paul提出此建議的評論。

圖7 通過R4進行模擬紋波相減,提供了另一種二階PWM紋波抑制方法。感謝評論者Val Filimonov的建議!

圖8 常客Christopher R. Paul貢獻的建議:用電容Cc改善PSRR,并使編程與Df成線性關系。對于建立時間不重要的應用,這是一個有用的修改。謝謝Chris。