摘 要:介紹一種基于CPLD (復雜可編程邏輯器件) 的直流無刷電機驅(qū)動電路,給出驅(qū)動電路的軟硬件設計用軟件代替邏輯門實現(xiàn)電機的保護邏輯。采用EPM7064SLC4410 CPLD為核心控制器,實現(xiàn)電機驅(qū)動所需的換相譯碼、死區(qū)發(fā)生器和IPM(智能功率模塊)接口電路。系統(tǒng)軟件采用VHDL語言編程,代替原來的RC電路實現(xiàn)的死區(qū)時間發(fā)生器。該電路具有體積小、調(diào)試方便、死區(qū)時間設置靈活等優(yōu)點。
關(guān)鍵詞:CPLD;直流無刷電機;死區(qū)發(fā)生器;IPM;VHDL
中圖分類號:TP274+.53文獻標識碼:B
文章編號:1004-373X(2008)08-004-03
A Drive Circuit Design for BLDC Motor Based on CPLD
TAN Zhenfan,LIN Rongsen,WANG Hongbo,GUO Lidong
(College of Automation,Harbin Engineering University,Harbin,150001,China)
Abstract:This paper presents a drive circuit for BLDC motor based on CPLD.Its hardware and software design are described in detail,to realize motor protection by using software instead of logic gate.The phaseswitch coding,dead time generator and IPM interface circuit are implemented by using the EPM7064SLC4410 CPLD as the central controller.The software design is implemented by VHDL,instead of RC to realize clead time generator.The design has advantages of small size,convenient debugging and flexible dead time.
Keywords:CPLD;BLDC motor;dead time generator;IPM;VHDL
直流無刷電機廣泛應用于計算機外圍設備、數(shù)控機床、機器人、伺服系統(tǒng)、汽車、家電等領(lǐng)域。本文介紹的電機驅(qū)動電路就是某穩(wěn)定平臺的角度伺服控制回路的驅(qū)動部分。本文中設計的基于CPLD的電機驅(qū)動電路,充分利用CPLD的硬件可編程和實現(xiàn)邏輯運算方便的特點,用一片CPLD代替原有十幾片邏輯門和一部分模擬電路。采用VHDL語言編程實現(xiàn)相關(guān)邏輯。利用CPLD在線可編程的特點,可以很方便的對系統(tǒng)進行調(diào)試。
1 無刷直流電機的驅(qū)動原理
直流無刷電動機是由電動機本體、轉(zhuǎn)子位置傳感器和電子開關(guān)電路組成一個閉環(huán)系統(tǒng)。與一般的有刷電機不同,他的定子為電樞繞組,轉(zhuǎn)子采用永磁體。本文介紹的電動機采用了3相Y型聯(lián)結(jié)的全控電路,其基本構(gòu)成如圖1所示。
其電子開關(guān)電路為6個IGBT組成的三相逆變電路。直流無刷電機驅(qū)動電路的作用就是對來自電機轉(zhuǎn)子位置傳感器的位置信號、來自外部的PWM控制信號以及其他控制信號采樣并進行譯碼,使A,B,C三相繞組能按要求的順序?qū)ǎ瑢崿F(xiàn)定子繞組的正確換相,從而使電機正常運行。在實際應用中還要對電機的過壓、欠壓、過流、過熱保護等進行設計。并按要求進行光電隔離和基極驅(qū)動電路設計。
圖1 直流無刷電動機的基本構(gòu)成
2 系統(tǒng)總體方案設計
電動機驅(qū)動電路包括3個部分,即:
(1) CPLD核心控制電路;
(2) 驅(qū)動及隔離電路;
(3) IPM接口電路;其系統(tǒng)框圖如圖2所示。
3 硬件電路設計
3.1 CPLD控制電路
該部分是電動機驅(qū)動電路的核心部分見圖3,其信號采集、換相譯碼、死區(qū)發(fā)生器設計以及故障處理均由該部分完成。采集的信號有:電機控制器的PWM信號;正反轉(zhuǎn)控制信號;經(jīng)過整形的電機的霍爾位置傳感器的位置信號;來自IPM模塊的電機的欠壓、過壓、過流、過熱等故障檢測信號。這些信號輸入到CPLD后,通過CPLD的軟件實現(xiàn)換相譯碼、編程死區(qū)和電機保護邏輯,最后輸出控制信號UP,VP,WP,UN,VN,WN到IPM的三相逆變電路。控制電機的三相電樞正確換相,從而使電機正常運行。
圖2 系統(tǒng)方案設計圖
圖3 電機的CPLD控制電路
霍爾傳感器信號的整形電路如圖4所示:
圖4 霍爾傳感器的整形電路
采用4路精密電壓比較器LM339完成。對來自霍爾傳感器的信號進行整形,并對輸出到CPLD的信號加濾波電容濾波。
3.2 驅(qū)動隔離電路
驅(qū)動隔離電路包括光電隔離電路和基極驅(qū)動電路。
光電隔離電路的作用是實現(xiàn)CPLD控制電路與IPM模塊之間的電氣隔離。隔離信號有2部分:
(1) CPLD輸出到IPM模塊的UP等控制信號;
(2) IPM反饋給CPLD的電機故障診斷信號F1,F(xiàn)2,F(xiàn)3,F(xiàn)4;
UP等信號的電氣隔離采用高速光電耦合芯片6N137,該芯片的最大延遲時間為75 ns。可實現(xiàn)3 000 V DC的高電壓隔離,適合于電氣控制場合。IPM反饋給CPLD信號的電氣隔離由光電耦合芯片4N25完成,如圖5所示。
圖5 光電隔離電路
基極驅(qū)動電路采用9014三極管,并使三極管工作在開關(guān)狀態(tài)。增加控制信號的驅(qū)動能力,并最終輸出控制電壓給IPM模塊的三相逆變電路。如圖6所示:
圖6 基極驅(qū)動電路
3.3 IPM接口電路設計
IPM(智能功率模塊)將多個IGBT集成到一起,廣泛應用于無噪聲逆變器、低噪聲UPS和伺服控制器中。一般含有柵極驅(qū)動、短路保護、過壓、過流保護等。本文采用三菱電機生產(chǎn)的PM75CSA120的IPM模塊實現(xiàn)驅(qū)動電機所需的三相逆變電路。他內(nèi)部集成6只IGBT,每2只對應電機的一相。其額定負載電流為75 A,額定控制電壓為1 200 V。另外還集成過流、過熱、欠壓、短路等故障檢測電路,其示意圖如圖7所示。
出現(xiàn)故障時,IPM會將檢測信號FO送到CPLD進行處理,采取相應的措施,提高系統(tǒng)的可靠性。
IPM工作需要單獨的電源供電,與控制電路電源嚴格分開。其中上橋臂的3個IGBT各自需要1路電源,下橋臂的3個IGBT共用1個電源,這樣就需要4路電源。其電源模塊的電路如圖8所示。
智能功率模塊將功率電子器件和驅(qū)動電路集成到一起,并且內(nèi)藏有故障檢測電路,不僅體積小,而且可靠性高。
圖7 IPM模塊故障檢測電路
圖8 IPM模塊電源電路
4 系統(tǒng)軟件設計
4.1 軟件構(gòu)架設計
CPLD的軟件采用VHDL語言編程實現(xiàn)。軟件模塊間的程序并行執(zhí)行,沒有程序流程圖,只能用程序架構(gòu)表示。CPLD的軟件主要有電機的換相譯碼、死區(qū)發(fā)生器設計、故障處理和PWM與轉(zhuǎn)向控制等功能,其軟件構(gòu)架如圖9所示。
圖9 CPLD軟件架構(gòu)圖
4.2 換相譯碼程序設計
換相譯碼器的作用是根據(jù)當前位置信號和PWM控制信號以及轉(zhuǎn)向控制信號Q,確定出UP,VP,WP,UN,VN,WN的相應值。需要實現(xiàn)的邏輯表達式為:
UP={(CH⊕Q)BH⊕Q)}PWM
4.3 死區(qū)發(fā)生器設計
為防止三相逆變電路上下橋臂的IGBT產(chǎn)生“共態(tài)導通”的現(xiàn)象,導致短路。需要給IGBT的控制信號的上升沿設置死區(qū),使其在一段延時之后才真正達到高電平。
死區(qū)發(fā)生器設計采用飽和計數(shù)器的方式,類似于電容的充放電過程,需產(chǎn)生如圖10所示的時序。其規(guī)則為:
(1) 當UP_IN輸入為0時,如果計數(shù)值T等于0,則計數(shù)值T保持不變,否則作減1計數(shù);
(2) 當UP_IN輸入為1時,如果計數(shù)值T等于max,則計數(shù)值T保持不變,否則做加1計數(shù);
(3) 當輸入為1且死區(qū)計數(shù)器數(shù)值T為MAX時,UP=1對應IGBT導通;
(4) 當死區(qū)計數(shù)器數(shù)值在0 ~ MAX之間時,UP=0,對應IGBT關(guān)閉;
圖10 死區(qū)發(fā)生器時序圖
下面為死區(qū)時間為N個時鐘周期的VHDL程序,程序的運行結(jié)果如下。
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_unsigned.ALL;
ENTITY dead_time IS
PORT(
clk,UP_IN: IN STD_LOGIC;
UP: OUT STD_LOGIC
);
END dead_time;
ARCHITECTURE fun OF dead_time IS
CONSTANT DEADTIME:INTEGER:=N;//設置死區(qū)
[JY]時間
signal count: integer range 0 to DEADTIME;
BEGIN
process(clk)
begin
if(clk′event and clk=′1′) then
if(UP_IN=′1′ and count/=deadtime) then
count<=count+1;
elsif(UP_IN=′0′ and count/=0) then
count<=count1;
UP<=′0′;
end if;
if(UP_IN=′1′ and count=deadtime) then
UP<=′1′;
end if;
if(UP_IN=′0′ and count=0) then
UP<=′0′;
end if;
end if;
end process;
END FUN;
[BT3-*3]4.4 IPM故障處理
在系統(tǒng)中故障檢測信號的處理是把信號引入到CPLD中,然后UP實現(xiàn)UPout=UPF1UN的邏輯后輸出,既保證IPM出現(xiàn)故障時,UP無輸出,又保證UP與UN的反邏輯。
5 結(jié) 語
介紹一種采用CPLD做核心控制器的無刷直流電動機的驅(qū)動電路的設計。實現(xiàn)電機驅(qū)動所需的換相邏輯、電機運行故障處理以及可以靈活設置死區(qū)時間的死區(qū)發(fā)生器。該電機驅(qū)動電路可以用于高精度的伺服控制系統(tǒng)中。
參 考 文 獻
[1]閻石.數(shù)字電子技術(shù)基礎[M].北京:高等教育出版社,1998.
[2]張琛.直流無刷電動機原理及應用[M].北京:機械工業(yè)出[LL]版社,1999.
[3]穆磊,姜德生,戴珩.基于VHDL的線陣CCD驅(qū)動電路的設計\\[J\\].現(xiàn)代電子技術(shù),2007,30(22):138139.
[4]林明權(quán),馬維旻.VHDL數(shù)字控制系統(tǒng)設計范例[M].北京:電子工業(yè)出版社,2003.
[5]佩德羅尼,喬廬峰,王志功.VHDL數(shù)字電路設計教程[M].北京:電子工業(yè)出版社,2005.
[6]廖日坤.CPLD/FPGA嵌入式應用開發(fā)技術(shù)白金手冊[M].北京:中國電力出版社,2005.
[7]宋萬杰,羅豐,吳順君.CPLD技術(shù)及其應用[M].西安:西安電子科技大學出版社,1999.
[8]張熠,丁輝.基于CPLD的CCD驅(qū)動時序電路設計\\[J\\].現(xiàn)代電子技術(shù),2007,30(24):169170,176.
[9]葉金虎,徐思海.無刷直流電動機[M].北京:科學出版社,1982.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文