使用立錡的RT8749A系列最佳化你的風扇
摘要
立錡的RT8749A系列是採用數位設計關鍵參數的直流無刷風扇驅動IC。
有許多設定參數會彼此影響。因此,若只考慮單一參數以調整風扇系統,可能會導致風扇系統的不穩定與錯誤的表現。
立錡建議在最佳化你的風扇系統時,使用全盤考慮的方式,而不是用單一參數逐一決定的方式。本應用須知內容包括了,數位直流無刷風扇驅動IC的理論基礎、微調方法和設計準則。
1. 直流無刷風扇系統介紹
直流無刷風扇(Brushless DC Motor)是指沒有電刷的直流風扇。其結構為永久磁鐵及線圈,永久磁鐵是轉子,線圈是定子。
透過線圈輸入不同方向的電流,輪流開關。當磁鐵與線圈形成的推力減弱時,改變電流方向來保持推力。
與傳統有刷式直流電動機相比,無刷式較為安全和可靠。有刷風扇通連續工作壽命在幾百到一千多個小時,到達使用極限就需要更換碳刷,不然很容易造成軸承的磨損,因此其保養成本較高。
直流無刷風扇系統藉由霍爾開關來偵測換相點,其簡易基礎電路如下 :
圖1. RT8749A應用電路圖
VIN為輸入電壓,VM為風扇電壓。因VM會受到風扇感應電動勢影響使其會大於VIN,為了避免傷害IC,使用二極體來區隔電壓。
圖1右側虛線方框為風扇的等效電路,電感代表風扇線圈的電感,霍爾開關提供RT8731驅動IC換相訊號。
RRNF電阻提供限流功能,以免在風扇剛啟動時,感應電動勢為0的大電流燒毀MOSFET。
圖1的例子中我們推薦使用下表之參數 :
參數
|
建議值
|
Supply Voltage, VDD12
|
5.8V to 15V
|
PWM to GND
|
AMR 20V
|
FG to GND
|
AMR 20V
|
UGBx to GND
|
AMR 20V
|
Other Pins
|
AMR 6V
|
表1. RT8749A建議操作電壓
2. 直流無刷風扇系統之評價方法
一個好的風扇系統,其定義應該為 : 擁有好的散熱能力,以及低的噪音。
好的散熱能力,撇開風扇設計等因素,對風扇驅動IC而言,散熱能力最直觀即是最高轉速的高低。
低的噪音,又區分為風扇啟動時之噪音、風扇運轉時之噪音、風扇震動造成機構共振之噪音等,每個主題都可獨立為一門學問來研究。
本分技術文件將分享如何設計電路與參數,來提高最高轉速,降低啟動噪音之方法。
3. 直流無刷風扇系統調整設計工具
立錡的RT8749A提供客戶一套設計工具,透過該工具使用者將可以調整關鍵參數,其介面如下 :
圖2. RT8749A 可調參數設定畫面
透過此工具軟體,使用者可以將風扇系統之關鍵參數燒錄至RT8749A IC 中。在後續的設計風扇實務中,我們需要進行的動作,包括調整Dead Time、Lock Release Time、Open Loop / Close Loop Ramp Up Speed等關鍵參數,皆須透過此工具軟體進行燒錄。此工具詳細操作方法請向立錡的FAE工程師索取相關說明文件。
4. 直流無刷風扇系統之設計實例
在此段落我們將開始設計一個風扇,立錡推薦使用以下步驟進行設計 :
1. 風扇dead time設計。
2. 決定輸入電容。
3. 風扇轉速設計。
4. 風扇起轉速度設計。
5. 風扇Lock機制設計。
6. 風扇TVS保護挑選。
其設計流程圖如下 :
圖3. RT8749A設計流程圖
由風扇dead time開始設計,決定dead time後進行系統的驗證。若無問題則可進行輸入電容值與起轉速度的設計。當這兩個設計完成,需檢查起轉電流是否符合客戶的規格,調校兩者直到符合規格後,方可進行Lock Detection Time & Lock Release Time 的設計。
透過調整Lock Detection Time時間,確保風扇可在所有電壓範圍內皆可成功起轉,並搭配Lock Detection Time時間來設計Lock Release Time。最後,若是一迴風系統風扇,我們還需要進行迴風狀態下,風扇轉動中啟動的TVS保護設計。
圖4. RT8749A系統異常與設計相關圖
上圖列出了系統異常狀態之關係圖。若使用者發現風扇系統異常,可透過上表來回溯是哪個設計環節出現了問題。
4-1. 風扇dead time設計
當使用RT8749A時,由於挑選的外部MOSFET其導通時間、電容充電時間不盡相同,因此Dead Time的挑選變成一個很重要的一件事情。
我們以單一上下橋來看,其電路如下圖 :
圖5. (左) RT8749A MOSFET半橋電路圖
圖6. (右) MOSFET Gate Charge vs. Drain-Source Voltage
由上圖電路,我們可推導出如下兩式 :
Tu_gate_dead_time_falling (Min.) :
Tu_gate_dead_time_falling (Max.) :
其中P-Ch Turn On voltage Vgs = X (V)、N-Ch Turn On voltage Vgs = Y (V)。電阻誤差為A (%),電容誤差為B (%)。詳細推導過程讀者可參閱本文件之附錄。
藉由此算式,我們在此提供一個設計步驟 :
1. 由Datasheet提供的Total Gate Charge vs. Gate-source voltage圖表,可挑選出P-Ch Turn On voltage Vgs = X (V),N-Ch Turn On voltage Vgs = Y (V)。
2. 使用電阻誤差為A (%),電容誤差為B (%)。
3. 當UGB1 內部MOSFET打開時,其瞬間電流流入UGB1需 < 50mA (參照RT8749A Datasheet)。可列出
VDD12 (peak) / R2 ≤ 50mA (3)
可算出R2 ≥ VDD12 / 50mA (4)
4. 要使上橋MOSFET打開,則須Vg1-VDD12 ≤ X。可列出 (5)
可算出 (6)
5. 挑選電容Cg1, Cg2使Tu_gate_dead_time_rising (Min.) 和Tu_gate_dead_time_falling (Min.) 大於-3.75µs。
(RT8749A最大dead time調整範圍。)
RT8749A允許客戶透過軟體設置dead time參數,設定範圍為0.25µs~3.75µs。
公式為 : 實際系統dead time = IC dead time + MOSFET設計dead time,故可推得可容許的MOSFET設計dead time最小為-3.75µs。
舉例而言,我們選用TPCP8404這顆P-MOSFET + N-MOSFET晶片進行實際設計。注意,在此過程中輸入電容尚未決定,建議進行Dead time 設計時,可以先使用一較大的合適電容,以免IC運轉時換相電壓過大而燒毀,待下一步驟再來進行仔細計算。以筆者的經驗,12V系統可先採用47µF,24V系統採用100µF。
圖7. TPCP8404
1. 其P Channel 的Gate threshold voltage = -5V (故意設定比Datasheet 高以保證Turn On),N Channel 的Gate threshold voltage = 5V。
2. 使用電阻誤差為5 (%),電容誤差為20 (%)。
3. 挑選12V,換項時尖峰電壓24V的應用,則R2 ≥ 24 / 0.050 = 480 (7)
,挑選600 (Ω)。
4.
,挑選600 (Ω)。
5. Cg2使用MOSFET內建電容190pF。
6. 試算可得 : Cg1 = 2nF,R3 = 5kΩ,Tu_gate_dead_time_rising = 470~1000 (ns),Tu_gate_dead_time_falling = 330~520 (ns)。
接下來藉由將RT8749A的數位dead time由高慢慢降低,檢查輸入電流變化,以最佳化dead time設計。
4-2. 決定輸入電容
當風扇換相時,因電感的電流連續性,導致電感電流需要一段時間才會換相。
在電感電流換相前,上橋MOSFET打開,則電流會流到輸入端。
大量電流的流入,將導致輸入電壓提高。
如何挑選一個適當的電容量,使得輸入電壓不會超過RT8749A的耐壓是我們這段落的目的。
圖8. 換相電流使輸入電壓升高之電流路徑圖
T = 0時,能量L : ,能量C :
因此當L電流為0時,約花費t µs,C能量為 :
其中R為藍色電流路徑上的電阻,主要由風扇阻值所貢獻。
舉例而言,Vpeak希望最大20V,操作電壓12V,L = 2mH,R = 10Ω,t約20µs,Ipeak = 1.2A。則C應挑選約10µF。
4-3. 風扇轉速設計
RT8749A 是一個可以選擇閉迴路或開迴路的馬達驅動晶片
其Output Duty解析度為100% / 128 = 0.78%,呈現線性分佈,如下圖 :
圖9. 位址與輸出Duty對照圖
假設風扇轉速對上Output Duty為線性關係,則可舉一例如下表 :
Output Duty(%)
|
轉速(RPM)
|
100%
|
10000
|
99.22%
|
9922
|
98.44%
|
9844
|
表2
但實際上RT8749A輸出的Duty,並非使用者輸入的PWM Duty。
其原因為: Driver Dead Time。
如下圖,理想輸出Duty因被Dead Time佔掉的關係,其實際輸出Duty會比理論值略小。
圖10. 設定之輸出Duty與實際之輸出Duty比較圖
因此實際上表2需表示為下表3 :
User Input Duty(%)
|
Real Output Duty(%)
|
轉速(RPM)
|
100%
|
100%
|
10000
|
99.22%
|
95.32% (Dead Time佔掉)
|
9532
|
98.44%
|
94.54% (Dead Time佔掉)
|
9454
|
表3
使用者在設計轉速曲線前,需明白RT8749A其開迴路曲線,99.22%~100%間的轉速落差會比其他Duty還大。
此現象也影響到閉迴路的設計。
讓我們回憶一下RT8749A做為閉迴路的使用狀況:
RT8749A分析FG訊號,轉換成轉速資訊,若轉速比目標值低,則會提高Output Duty;若轉速比目標值高,則會降低Output Duty。
以表二作為例子,當使用者鎖定轉速界於9532~10000RPM間時,舉例而言鎖定9700RPM,則風扇的輸出將在95.32%~100%間跳動。
假設此為0.6A電流風扇,使用者將會在輸入端看到24mA的電流跳動。
除此之外,將近500RPM的轉速落差,在應用上也會明顯感受到忽大忽小的風切。
為了避免此現象發生,工程師在挑選風扇時,需依照客戶的規格,來挑選風扇的最高轉速,以避開此應用區段。
我們在此提供一個設計步驟 :
1. 拿到試產的風扇後,使用開迴路記錄99.22%的轉速,其值為X (RPM)
2. 風扇設計公差約10%,可使用的轉速區間為 0 (RPM) 到X * 90% (RPM)
舉例: 客戶需求6000 RPM以下可控,量產公差 10%,99.22%的開迴路轉速為6700RPM,則工程師設計風扇轉速範圍為 0 (RPM) ~ 6030 (RPM)。
風扇挑選後,我們就可依照客戶需求來設計風扇的閉迴路 PWM轉速曲線。
當您在填閉迴路轉速曲線時,有個技巧:填入一個風扇到達不了的轉速,代表RT8749A會一直增加Output Duty試圖追到該轉速,最終使其輸出Output Duty 100%。
雖然最終轉速都是Duty 100%,但填入越大的值,風扇Duty變化越快,因此可利用此技巧微調0% Duty到100% Duty的起轉速度。
下圖為一設計範例 : 客戶需求6000RPM全速,6030RPM以下可控,當輸入Duty > 4%後,則使風扇全轉速運轉。
圖11. 實際轉速設計範例圖
4-4. 風扇起轉速度設計
工程師在設計風扇時,常遇到的規格就是 : 風扇由0%到達全速100%,花費X秒。
RT8749A提供工程師可微調轉速變化速度。
在閉迴路中,起轉速度受到底下幾個因素影響,依影響程度由大到小排列 :
1. 最終轉速,即100%時”欲鎖定”的轉速。
2. 離目標轉速尚遠時使用的Gain (Close loop far ramp speed)。
3. 閉迴路轉速差距尚遠到接近之判斷門檻 (Close loop far to near threshold)。
4. 接近目標轉速時使用的Gain (Close loop near ramp speed)。
5. 起轉時使用的Gain (Close loop start-up ramp speed)。
6. 脫離Soft Start之轉速判斷門檻 (RPM threshold to leave Soft Start period)。
RT8749A的轉速變化公式為 :
Duty變化量 = Gain * (目標轉速 – 目前轉速)
在起轉時,目標全轉速為6000RPM的風扇,和目標全轉速為12000RPM的風扇,可預期前者每次Duty變化的量為後者的一半,則其到達100%的時間前者為後者的兩倍。
圖12. 起轉時不同加速度曲線與參數相關示意圖
前述公式中提到的Gain,會隨著不同情況而有變化。主要可分為三種 :
1. Close loop start-up ramp speed。
2. Close loop far ramp speed。
3. Close loop near ramp speed。
其中比重佔最大的為Close loop far ramp speed,一般調整到達全速100%花費時間,最先調整的就是這個項目。若Close loop far ramp speed仍不能達到需求,可試著調整剩餘兩項。
當調整完成後,請檢查幾個風扇特性 :
1. 風扇是否到達全速後,電流會忽大忽小,直到若干秒後才穩定。
2. 風扇是否起轉電流過大。
3. 風扇啟動是否不良。
狀況1代表Close loop near ramp speed太大或是Close loop far to near threshold太小,導致風扇轉速變化太快,轉速衝過頭又減速過頭。可優先減少Close loop near ramp speed,若效果不大,則再調整Close loop far to near threshold。
狀況2代表Close loop start-up ramp speed太大,請降低其速度以符合規範。
狀況3代表Close loop start-up ramp speed太小,請提高其速度以利起轉。若同時發生狀況2及狀況3,請減小Close loop start-up ramp speed並增加Lock Detection Time,讓其起轉速度變慢以降低電流,但同時把判斷是否Lock的時間往後延長,以免誤判Lock。
判定Lock的機制如下圖 :
圖13. 起轉Lock示意圖
4-5. 風扇Lock機制設計
風扇處於Lock Detection Time時,會試圖將風扇由靜止啟動。此時由於沒有反電動勢,大電流導通將會導致MOSFET發熱。
若設定的Lock Release Time休息時間不足,導致熱累積,則會使晶片的過溫度保護機制啟動,導致重啟動失敗。
風扇Lock機制一般都是1:10。即Lock Detection Time : Lock Release Time = 1:10。後者所佔比例隨著風扇電流增加而增加。
因此我們挑選適宜的Lock Detection Time (約0.6sec~1sec),使風扇可以順利起轉,再把Lock Release Time 設定為10倍的Lock Detection Time開始著手設計。
若客戶要求的Lock Detection Time規格較原設計大,則可直接放大至規格,並不會造成任何設計上的不良。反之若客戶要求的Lock Detection Time較小,則要驗證此設計是否可行 : 請把風扇用膠帶Lock住,並放入應用環境溫度最高溫中,觀察風扇Retry時MOSFET的溫度,是否在MOSFET的容許規格內。
4-6. 風扇TVS保護挑選
風扇在轉動中上電時,此時風扇為發電機,Retry時晶片電壓會瞬間加上發電電壓,若此電壓太大將會導致晶片燒毀。
為了預防此現象,晶片有個保護機制 : 0RPM Start Up。若晶片針測到HP、HN有動作,將會停止啟動風扇。
此保護機制在有迴風的系統中不建議使用,因迴風會導致風扇持續轉動,二使風扇無法啟動。建議在此系統中使用TVS來進行過壓保護。
TVS的導通電壓挑選原則是 : 只有在轉動中上電時啟動,而不在風扇換相時啟動。
因為前者是我們避不開且必須保護的應用情況,但後者是可透過增大電容來抑制的狀況。且風扇換相時啟動TVS保護,將會使能量無謂的消耗,導致風扇效率降低。
設計方法如下 :
1. 無TVS狀態下,觀察Diode後風扇轉動中MOSFET受到的最大換相電壓X (V)。
2. 挑選TVS啟動電壓為X~20V之間的電壓。
3. 若X > 20V,代表輸入電容過小,請增加輸入電容。
5. 實驗結果與驗證
圖14. 風扇設計驗證實驗波形圖 (1)
CH1 : VDD12,CH2 : VUGB1,CH3 : VLG1,CH4 : Input Current,CHM : CH1-CH2 = VDD12-VUGB1
挑選Dead Time = 1µs 避免系統發生short through現象。
圖15. 風扇設計驗證實驗波形圖 (2)
CH2 : OUT1,CH4 : Input Current.
挑選CIN與TVS,使OUT1最大電壓小於20V。
6. 總結
此份應用文獻提供給工程師一份系統化的RT8749A之設計流程。包括了Dead Time的計算、應用電路元件的挑選以及關鍵參數的設計考量。
透過上述的計算搭配實驗,帶領使用者一步步完成風扇系統的設計,避開潛藏在暗處的系統隱患,並解說每個關鍵參數與元件挑選原因。
期許此應用文獻,能幫助工程師減少開發新風扇系統的困難度。
7. 附錄
圖16. RT8749A UGB1 pin & LG1 pin dead time state definition
A、 計算上橋導通和關閉時間 :
P-Ch 導通電壓 Vgs = X (V),N-Ch導通電壓 Vgs = Y (V)。
當UGB1導通,可列出方程式 :
由 (12), (13) 化簡 :
可列成一階微分方程式 :
積分因子 :
同乘積分因子 :
(22) 代入初始值求解Turn On方程式 : 當t = 0, Vg1 = VDD12
可解出方程式 :
因此要達到Turn On voltage ≤ X (V),所需時間為 :
一般而tON會是µs等級,因此可忽略ns等級的mosfet充Cds時間。
當UGB2關閉,可列出方程式 :
由 (26), (27) 化簡 :
積分因子 :
同乘積分因子 :
(34) 代入初始值求解Turn Off方程式 : 當t = 0,
可解出方程式 :
因此要達到Turn Off voltage ≥ X (V),所需時間為 :
B、 計算下橋導通和關閉時間 :
套用電容充放電公式,可得 :
C、 計算Dead Time並考慮電容電阻誤差
假設電阻誤差A (%),電容誤差B (%),假設晶片 dead time = 0,則
TU_gate_dead_time_rising (Min.) = tup_on (Min.) – tdown_off (Max.)
TU_gate_dead_time_rising (Max.) =
TU_gate_dead_time_falling (Min.) = tdown_on (Min.) – tup_off (Max.)
TU_gate_dead_time_falling (Max.) =