首先,先表達下對老壽先生和尤小翠師父的敬意。本文所介紹的spwm系統,是在他倆的系統基礎上改進時序和電平移位系統后改進而成的。這個系統是第一版,還存在一些小缺陷,例如,基準正弦波的零點還需要手動調整后才能和高頻三角載波對齊,下一版即將在幾個月后更新。到時純硬件系統的調試將變得很簡單,甚至不再需要示波器!
成品pcb鎮樓
1、基準正弦震蕩系統和電壓控制增益放大器。
這部分我在老壽先生電路的基礎上,將rc選頻網絡的兩個電阻換為同軸電位器,這樣可以做到振蕩頻率的微調。老壽先生設計的溫度補償系統和電壓控制增益放大器非常完美,關于這部分大家可以看他的經典帖子:重做用sg3525的純硬件spwm驅動板pcb。關于文氏橋基準振蕩器的一些問題,我曾經非常苦惱,現已解決,相關經驗我會另開一樓分享,這里不再贅述。輸出正弦波形如下,以實地為參考點
2、虛擬雙電源系統和零點對齊系統
改進來了:在老壽先生原本的ne555spwm系統中,他使用了減法器將基準正弦波零點電平向下移動來和ne555組成的高線性度三角波振蕩器零點對齊。我原本打算復制,結果實驗時發現,存在以下兩個問題:1、需要手動調整加法器輸入的直流偏置信號大小,如果調整不好,過零點波形會很難看。2、加法器這一步引入了較多失真,特別是在過零點的地方。思來想去,決定放棄加法器,而直接調整虛擬雙電源系統的虛擬地電平,使其等于555組成的三角波振蕩器的低電壓觸發電平。實測波形和對其情況如下(黃色高密度的波形是ne555振蕩器的波形,藍色為基準正弦波形)
具體實現方法如下:重新通過外部比較器定義555定時器的高低觸發電平,從而調整三角波振蕩器的高低電平,定義低閾值電壓的比較器反相輸入端直接與一個略高于虛擬雙電源系統輸出的虛擬地的電位相接(高50mv左右,這個值略高于差分輸入比較器的差分輸入失調電壓)。這樣就可以自動實現振蕩器零點對齊,因為他們本身的參考零點就是同一個。(具體電路如下,這個振蕩器的設計思路是小翠師父提供的,在這里表達敬佩和感謝)
振蕩器輸出波形如下。(本人用的實驗電源不是很好,紋波有些大,圖中的刺就是這樣引入的,慘痛的教訓,下一版系統一定會在供電中加一級線性穩壓)
重新設計這個振蕩器不只是為了方便對齊零點,還為了方便調整三角波振蕩器的高電平。來方便調整spwm調至比。調至比是三角波電平最高點與正弦最高點的比值。也對應著最大占空比和h橋直流母線高壓利用率。正弦的幅度不方便進行調節,因為所用運放并不是軌至軌的,調整增益容易使得波形削頂或削底。調整三角波振蕩器的電平則容易的多,改變外置比較器的參考電壓即可。
3、在精密整流環節中隱藏的時序系統。
眾所周知,兩種單極性調制spwm時序中,左上管和右上管的波形都是半個基波周期spwm脈沖,半個基波周期低電平的形式。老壽先生和小翠師父都使用了過零比較器和門電路的辦法,將精密整流后的饅頭波形和三角波比較后的spwm波形和同步方波波形做邏輯運算得到。我在學習模擬電路時,看到了半波精密整流電路,發現時序其實暗藏其中。只需將半波精密整流信號與低電平略高于虛擬地電平的三角波進行比較即可得到與他們的電路相同的波形。
產生雙路比較基波的電路如圖所示,包含一個反相器和兩個反相半波精密整流電路。
端口說明:buffer 為電壓控制增益放大器的輸出 基波1 對應左上管驅動信號的基波 基波2對應右上管驅動信號的基波。
對于調制器,我曾經想照搬經典使用lm393,用了以后發現它的響應速度和延遲真的不敢恭維。我就用了高速雙路比較器——lm319
這款比較器為高速比較器,上升沿下降沿干凈利落,響應速度也很不錯,芯片報價也不高,著實良心!需要注意的是,需要使用其單電源接法為宜,否則虛擬雙電源系統無法為其提供可靠的工作電流。(具體電路如下)
實際測得基波1 spwm1 基波2 和原本基準正弦波形如下
對應的,也產生了雙路spwm波形
4、死區時間發生器和h橋自舉驅動電路
這部分我直接用了一個ic ir2104 它可以在輸入上管波形后經門電路和rc延時產生互補并引入死區時間的下管波形,并集成了自舉驅動。
實測四路spwmh橋驅動波形如下
實測四路輸出,成對的兩路互補并引入了死區時間。上臂功率管也成功驅動!