1 引言 無刷直流電機以其重量輕,體積小,加速性能好,運行平穩,噪音低等優點而廣泛用于丁業和民用產品中。無刷直流電機的功率因數高,無轉子損耗,其轉子轉速能嚴格地與電源頻率保持同步。轉子磁場由永久磁鐵產生。通常,采用電壓源型脈寬調制(PWM)控制作為無刷直流電機調速系統用的驅動器。近年來,國外紛紛推出以單片機(MCU)為核心的單片電機控制器,它南一個MCU再配備外圍驅動電路構成,能大大降低成本,縮小體積,緊湊結構,提高可靠性。在此,介紹r采用Atmega48單片機實現三相無刷直流電機控制器的方法。 2 ATmega48單片機 ATmega48單片機是Atmel公司基于自動電壓調整器(Automatic Voltage Regulator,簡稱AVR)增強型精簡指令集計算機(RISC)結構的低功耗8位CMOS微控制器。具有先進的指令集及單時鐘周期指令執行時間,其數據吞吐率可以達到1 MIPS/MHz。AVR內核具有豐富的指令集和32個通用工作寄存器。這些寄存器都直接與算術邏輯單元(ALU)相連接.可在一個時鐘周期內通過一條指令同時訪問兩個獨立的寄存器,因此可提高代碼效率。 ATmega48的硬件資源有:4 KB的系統內可編程Flash:256字節的EEPROM:512字節的SRAM;23個通用I/0口線;32個通用工作寄存器;2個帶獨立預分頻器和比較器的8位定時器/計數器;1個帶預分頻器、比較器和捕捉功能的16位定時器/計數器;帶獨立振蕩器的實時計數器;6個通道PwM;8路10位A/D轉換器;6路10位A/D轉換器;可編程的串行USART接口;可工作于主機/從機模式的SPI串行接口;面向字節的2線串行接口;獨立片內振蕩器的可編程看門狗定時器;片內模擬比較器及5種可通過軟件選擇的省電模式。ATmega48具有豐富的I/0口、A/D轉換器、定時器/計數器、PWM通道等資源,為實現三相無刷直流電機的控制、換相檢測等提供了方便。 3 三相無刷電機的控制實現方法 圖1示出采用ATmega48單片機實現三相無刷電機控制器的原理圖。圖中,PC0、PCI和PC2為輸入,用以接收來自電機U,V,W換相的霍爾傳感器檢測信號;PD5和PD6用于控制電機U相的功率驅動器件;PBl和PB2用于控制電機V相的功率驅動器件;PD3和PB3用于控制電機W相的功率驅動器件;PC3為電機給定轉速的輸入電壓。 作為一種同步電機,直流無刷電機的轉子轉速受定子旋轉磁場速度及轉子極數的影響。當轉子的極數固定時,只要改變定子的旋轉磁場頻率,即可改變轉子的轉速。直流無刷電機是一種控制定子的旋轉磁場頻率,并將電機轉子轉速回饋控制中心進行反復校正.以達到接近直流電機的特性。當負載變化時,它能在額定負載范圍內控制電機的轉子維持一定的轉速。 圖2給出用于圖1中的功率驅動電路。該驅動部分由上臂VQl,VQ3,VQ5和下臂VQ2,VQ4,VQ6的6個功率晶體管組成,用于連接電機作為控制流經電機繞組的開關。控制部分提供PWM,用于決定功率晶體管開關頻率及換相的時刻。在控制直流無刷電機轉速時.通常希望在負載變化時也能使電機轉速穩定在設定值內,而不發生太大的波動。因此,在無刷電機內部設置霍爾傳感器.以感應磁場變化,該傳感器既可作為電機轉速中閉環控制的速度反饋部件,也可作為相序控制的依據。 當控制器工作時,可根據霍爾傳感器檢測到電機轉子的當前位置,依照定子繞組決定開啟或關閉功率晶體管的順序,使電流依序流經電機線繞組,以產生順向或逆向的旋轉磁場,并與轉子的磁鐵相互作用,使電機順時或逆時轉動。當電機轉子轉動到霍爾傳感器檢測出另一組信號的位置時,再開啟下一組功率晶體管,如此循環,電機就能依據同一方向繼續轉動,直到控制器決定使電機轉子停止時,則關閉功率晶體管;決定使電機轉子反向時,則開啟功率晶體管,但順序相反。PWM是決定電機轉速快或慢的方式,如何產生PWM是實現準確控制速度的核心。 圖2中的開關器件采用MOSFET,它們是不能在關斷瞬間切換的。如果UH和UL是反向信號,那么,在同一時刻,一個開關器件導通,另外一個開關器件截止。在這段過渡時期,會有一個短暫的時間,其中一個開關器件并未完全截止,而另一個也是導通的,這樣會使電源與地直接連接,使得大電流流經晶體管。在工程應用中必須避免這種情況,因為若電路中沒有必要的硬件保護,極有可能損壞驅動裝置。因此,在控制電路中,每個PWM過渡期都應增加死區時間。要求在一個很小的時間內,上臂開關和下臂開關都不導通,即產生帶死區的PWM信號。 圖3示出采用ATmega48形成帶死區時間的PWM信號原理。ATmega48中定時器/計數器的雙斜率模式可產生帶死區時間的PWM信號,它能產生一個關于B0TTOM對稱的波形。圖3中三角線表示雙斜率相位修正模式下定時器/計數器T0的計數值。在向上計數時,當計數值與沒定值匹配時,輸出引腳OCOA清0;在向下計數時,當計數值與設定值匹配時,輸出引腳OCOA置l。輸出引腳OCOB也采用同樣的設置。PWM占空比則通過輸出比較寄存器OCROA和輸出比較寄存器OCROB來設置;A,B兩路PWM相位的輸出相反。當設置的兩個輸m端比較值相同時,這兩個PWM的輸出互補。 為了在上臂開關與下臂開關切換時插入死區時間,必須改變0CROB和OCROA的比較值,兩者之差值為插入的死區時間。如果3個計時/計數器都采用同樣的設置,就可產生3對帶死區的PWM波形,但必須保證PWM的輸出是同步的。當采用8位定時器/計數器產生2路具有不同比較值的PWM信號時,其最大設定值為255。若采用16位定時器/計數器,則必須設定為8位相位修正PWM模式。此時,PWM的基本頻率可由下式確定: 式中:fCPU為CPU的頻率。 無刷直流電機常采用三相正弦驅動方式。常用的方法是把一個正弦波形數據存儲在存儲器中,通過程序查表輸出所需的正弦驅動信號。由于3個正弦電壓之間的相位差為120°,因此可以采用一個正弦波形移位產生所有的正弦驅動信號。圖4給出各相驅動信號的產生機制和換相時序。圖中Hl,H2,H3為霍爾傳感器的輸出狀態;S1~S6為波形產生的步驟;虛線為相位切換波形;實線為輸出的正弦驅動信號。圖5給出用于控制器的換相控制程序設計流程。 4 結語 無刷直流電機的功率因數高,又無轉子損耗,因此用于無刷直流電機調速系統的驅動器大都采用電壓源型PWM控制。由于三相無刷直流電機借助ATmega48單片機進行控制.且通過軟件實現了帶死區的PWM、霍爾傳感器的換相處理、正弦驅動信號的產生和電機的轉速控制,因而所需的外圍器件少,成本低,并且還可提高系統的可靠性。 |