最近我投入醫院電動病床的電子設計。這個設計不難,只需要雙向及在幾個按鍵上啟動六個致動器(actuators)。

競爭對手使用一對繼電器(relay)來切換馬達的方向,但我們決定在H橋電路中使用場效電晶體(FET)作控制。這是典型的電路設計,而且並非我們為馬達控制所作的第一個電路設計,但為何會出錯?後來發現問題很多。

完成一開始的原型組裝後,隨即開始測試。一切似乎運作地很正常,但是由於某些原因,當我快速地切換方向時,實驗室的紅色LED電源顯示燈有時候會瞬間閃爍,這代表發生電路跳脫。但為什麼?這個電路板本身正在測試,沒有附加負載量(只有微小的LED),唯一的解釋就是H橋短路。

重新檢查一遍控制驅動器的軟體,用示波器檢驗控制FET驅動器(FET driver)的訊號,並確認我們在相反方向打開H橋之前,已經完全地關掉所有設備。但問題依然存在。

然而,如果在切換方向時,加上至少10ms的延遲,問題就消失了。我想這是一個解決方案,對吧?在實際做法上,這種延遲並沒有任何影響,因為用戶不可能注意到這個微小的差異。但是,我真的不太喜歡在生產設備時,存在任何不明白的狀況。

研究一下電路圖。客戶希望降低成本,因此我們沒有使用任何專用的FET驅動器IC。如圖1所示,上方的閘極(Q1)由非常原始的分壓器(voltage divider)控制,而底部的閘極(Q2)有較為精細的驅動器。實際上,底部驅動器的開關速度約為1μs,而上方驅動器的開關速度約為100μs,這種折衷方案很容易理解。我們不知道是否要在所有六個通道上設置脈衝寬度調變(PWM)功能,例如緩啟/停(soft start/stop)。我們這樣做的理由是讓上面其中一個閘極維持開啟的狀態,並且對下方的閘極進行脈衝寬度調變。因此,只需要降低上方驅動器的速度。

20170710NT01P1 圖1 設計電路圖。

改變方向時,我們發現圖1上方的驅動器速度變慢,在打開左、右邊閘極時會有200μs的延遲時間(反之亦然)。

審視每個閘極切換(gate switching)程序,我們很快地發現問題,與打開下方閘極時所產生的問題一致。當時忽然亂成一團,12V線路遇到電路崩潰(collapse)狀況,24V線路(其電流受到電源控制)也發生電路崩潰,底部驅動器的振盪時間達到10~15μs。

同時,H橋的地迴路(ground return path)顯示極大的突波(surge)。起初我以為是接地反彈(ground bounce)會大到足以關閉Q39,並反過來打開橋底錯誤的那一面。很可能情況也是如此,因為直接連接中央處理器(CPU)接地和橋接地會停止過電流跳脫(overcurrent tripping)。但是原來的接地反彈來自哪裡呢?接地的佈線設計(layout)需要一次又一次地重新檢查,確認沒有任何錯誤。將接地連接起來沒有任何意義,因此也無法解決問題。

後來,我知道原因了。例如,當我打開左邊的閘極(Q1B)後,橋的輸出都是24V(因為它們是透過負載連接,底部閘極是關閉的)。當我打開右邊的閘極(Q2A)時,我有一個電容分壓器(capacitive voltage divider)——Cgd和Cgs,由上方的FET Q1A所形成,閘極為分壓器的中點。電流對電容充電的衝擊使上方的閘極變成12V,與源極(source)相對應,因此導通了右上方的閘極。現在電流直接流過橋的右側,結果出現接地反彈,並打開了左下方的閘極。現在四邊的閘極都被打開了!24V線路開始電路崩潰,這導致12V線路又斷電了。

如果不需要快速切換功能的話,為什麼我們需要設置快速且功能強大的FET驅動器?嗯,不要再將電阻驅動器當作功率FET了!