直流無刷電機廣泛應用于計算機外圍設備、數控機床、機器人、伺服系統、汽車、家電等領域。本文介紹的電機驅動電路就是某穩定平臺的角度伺服控制回路的驅動部分。本文中設計的基于CPLD的電機驅動電路,充分利用cPLD的硬件可編程和實現邏輯運算方便的特點,用一片CPLD代替原有十幾片邏輯門和一部分模擬電路。采用VHDL語言編程實現相關邏輯。利用CPLD在線可編程的特點,可以很方便的對系統進行調試。 1 無刷直流電機的驅動原理 直流無刷電動機是由電動機本體、轉子位置傳感器和電子開關電路組成一個閉環系統。與一般的有刷電機不同,他的定子為電樞繞組,轉子采用永磁體。本文介紹的電動機采用了3相Y型聯結的全控電路,其基本構成如圖1所示。 其電子開關電路為6個IGBT組成的三相逆變電路。直流無刷電機驅動電路的作用就是對來自電機轉子位置傳感器的位置信號、來自外部的PWM控制信號以及其他控制信號采樣并進行譯碼,使A,B,C三相繞組能按要求的順序導通,實現定子繞組的正確換相,從而使電機正常運行。在實際應用中還要對電機的過壓、欠壓、過流、過熱保護等進行設計。并按要求進行光電隔離和基極驅動電路設計。 2 系統總體方案設計 電動機驅動電路包括3個部分,即: (1)CPLD核心控制電路; (2)驅動及隔離電路; (3)IPM接口電路;其系統框圖如圖2所示。 3 硬件電路設計 3.1 CPLD控制電路 該部分是電動機驅動電路的核心部分見圖3,其信號采集、換相譯碼、死區發生器設計以及故障處理均由該部分完成。采集的信號有:電機控制器的PWM信號;正反轉控制信號;經過整形的電機的霍爾位置傳感器的位置信號;來自IPM模塊的電機的欠壓、過壓、過流、過熱等故障檢測信號。這些信號輸入到CPLD后,通過CPLD的軟件實現換相譯碼、編程死區和電機保護邏輯,最后輸出控制信號UP,VP,WP,UN,VN,WN到IPM的三相逆變電路。控制電機的三相電樞正確換相,從而使電機正常運行。 霍爾傳感器信號的整形電路如圖4所示: 采用4路精密電壓比較器LM339完成。對來自霍爾傳感器的信號進行整形,并對輸出到CPLD的信號加濾波電容濾波。 3.2 驅動隔離電路 驅動隔離電路包括光電隔離電路和基極驅動電路。 光電隔離電路的作用是實現CPLD控制電路與IPM模塊之間的電氣隔離。隔離信號有2部分: (1)CPLD輸出到IPM模塊的UP等控制信號; (2)IPM反饋給CPLD的電機故障診斷信號F1,F2,F3,F4; UP等信號的電氣隔離采用高速光電耦合芯片6N137,該芯片的最大延遲時間為75 ns。可實現3 000 VDC的高電壓隔離,適合于電氣控制場合。IPM反饋給CPLD信號的電氣隔離由光電耦合芯片4N25完成,如圖5所示。 基極驅動電路采用9014三極管,并使三極管工作在開關狀態。增加控制信號的驅動能力,并最終輸出控制電壓給IPM模塊的三相逆變電路。如圖6所示: 3.3 IPM接口電路設計 IPM(智能功率模塊)將多個IGBT集成到一起,廣泛應用于無噪聲逆變器、低噪聲UPS和伺服控制器中。一般含有柵極驅動、短路保護、過壓、過流保護等。本文采用三菱電機生產的PM75CSA120的IPM模塊實現驅動電機所需的三相逆變電路。他內部集成6只IGBT,每2只對應電機的一相。其額定負載電流為75 A,額定控制電壓為1 200 V。另外還集成過流、過熱、欠壓、短路等故障檢測電路,其示意圖如圖7所示。 出現故障時,IPM會將檢測信號FO送到CPLD進行處理,采取相應的措施,提高系統的可靠性。 IPM工作需要單獨的電源供電,與控制電路電源嚴格分開。其中上橋臂的3個IGBT各自需要1路電源,下橋臂的3個IGBT共用1個電源,這樣就需要4路電源。其電源模塊的電路如圖8所示。 智能功率模塊將功率電子器件和驅動電路集成到一起,并且內藏有故障檢測電路,不僅體積小,而且可靠性高。 4 系統軟件設計 4.1 軟件構架設計 CPLD的軟件采用VHDL語言編程實現。軟件模塊間的程序并行執行,沒有程序流程圖,只能用程序架構表示。CPLD的軟件主要有電機的換相譯碼、死區發生器設計、故障處理和PWM與轉向控制等功能,其軟件構架如圖9所示。 4.2 換相譯碼程序設計 換相譯碼器的作用是根據當前位置信號和PWM控制信號以及轉向控制信號Q,確定出UP,VP,WP,UN,VN,WN的相應值。需要實現的邏輯表達式為: 4.3 死區發生器設計 為防止三相逆變電路上下橋臂的IGBT產生“共態導通”的現象,導致短路。需要給IGBT的控制信號的上升沿設置死區,使其在一段延時之后才真正達到高電平。 死區發生器設計采用飽和計數器的方式,類似于電容的充放電過程,需產生如圖10所示的時序。其規則為: (1)當UP_IN輸入為0時,如果計數值T等于0,則計數值T保持不變,否則作減1計數; (2)當UP_IN輸入為1時,如果計數值T等于max,則計數值T保持不變,否則做加1計數; (3)當輸入為1且死區計數器數值T為MAX時,UP=1對應IGBT導通; (4)當死區計數器數值在0~MAX之間時,UP=0,對應IGBT關閉; 下面為死區時間為N個時鐘周期的VHDL程序,程序的運行結果如下。 4.4 IPM故障處理 在系統中故障檢測信號的處理是把信號引入到CPLD中,然后UP實現的邏輯后輸出,既保證IPM出現故障時,UP無輸出,又保證UP與UN的反邏輯。 5 結 語 介紹一種采用CPLD做核心控制器的無刷直流電動機的驅動電路的設計。實現電機驅動所需的換相邏輯、電機運行故障處理以及可以靈活設置死區時間的死區發生器。該電機驅動電路可以用于高精度的伺服控制系統中。 |