田 云,張宏龍
(1.黑龍江農業經濟職業學院,黑龍江牡丹江157041;2.貴州電子信息高級技工學校,貴州都勻558001)
步進電動機是一種將電脈沖信號轉換為角位移的控制電機。步進電動機每接收一個脈沖信號所轉過的角度叫步距角,步距角決定了步進電動機的控制精度,步距角的大小與生產工藝要求有關。
步進電動機的物理結構使得步進電動機的步距角偏大,控制不夠精確。要使步進電動機的步距角變得更小,只能改變步進電動機的驅動方式,細分驅動技術就是目前被廣泛采用的一種步進電動機驅動方式。本文采用正弦脈寬調制SPWM方式進行細分。給三相步進電動機的三相定子繞組通入三相對稱的階梯正弦電流,步進電動機每步所轉過的角度由一個周期的正弦波的階梯數來確定,合理地選擇正弦電流階梯數,就可以實現恒轉矩等步距角的細分。這種細分技術使驅動器結構更簡單,細分精度更高,可靠性更強。
SPWM信號產生設計方法多種多樣,以往都是采用分立元件構成SPWM波發生器,這種電路比較復雜,調試困難。近些年來,數字化專用SPWM集成芯片應用越來越廣泛,SA4828是一種三相SPWM信號發生器,與單片機連接方便,可產生相位互差120°的SPWM波形,電路結構簡單,軟件控制方便。

通過以上分析可知,如果把步進電動機的每相繞組通過的正弦電流分成N個階梯,就能夠實現步距角N細分。若把每相繞組電流進行八細分如圖1所示。

圖1 三相電流八細分圖
根據采樣控制理論可知,加在具有慣性環節上的沖量相等而形狀不同的窄脈沖,效果基本相同。這里所說的沖量是指窄脈沖的面積,而效果基本相同,指的是具有慣性環節的波形響應基本相同。因為將輸出的波形進行傅里葉變換,可以看出它們的低頻段特性是一致的,僅僅在高頻段有較小的差異。正弦脈沖調制(SPWM)正是根據這一理論,將一個正弦半波進行N等分,每一等分的正弦曲線的面積用一個與該面積相等的矩形脈沖代替。這樣就會得到N個不同寬度的矩形脈沖。根據上述采樣控制理論,得到的脈沖序列的效果和正弦半波是一樣的。
步進電動機實質就是一個沖量環節,所以結合前面所述步進電動機細分技術原理可知,為步進電動機每相繞組通過SPWM脈沖,進行正弦脈寬調制,與通以N等分的正弦電流的效果是一樣的,由此可見SPWM可以對步進電動機步距角進行任意的細分[3]。
SPWM信號可由數字電路、模擬電路、專用集成芯片等硬件電路來產生,也可由計算機、單片機通過軟件產生。近些年來很多廠家研制出了產生三相SPWM信號的大規模集成芯片,比如英國Mitel公司推出的三相SPWM波形發生器SA4828芯片,可以大大簡化硬件電路,控制方式簡潔,控制精度高,減輕CPU負擔,使CPU有更多的資源用于整個系統的細分控制。
SA4828芯片是專門用來產生三相SPWM信號發生和控制的專用集成芯片,可以方便地與單片機等處理器相接,通過單片機的數據處理控制功能,驅動SA4828產生SPWM信號。SA4828采用全數字控制,兼容大部分的單片機;16位調節頻率的分辨率;8位調節電壓的分辨率;可以設定死區電壓;具有看門狗定時器;有三種可選波形固化在芯片ROM中。每一種波形都有1 536個采用值[4]。
基于SA4828的三相步進電動機細分驅動器的硬件系統如圖2所示。

圖2 硬件系統框圖
系統中以STC89C52RC單片機為核心,其總線結構與SA4828芯片完全兼容,可以直接相連,單片機把步進電動機細分數設定信號轉換為SA4828相應的控制信號,寫入到SA4828相應的控制寄存器中,從 BPHT、YPHT、RPHT 和 BPHB、RPHB、YPHB6個信號輸出引腳輸出相應的SPWM波形信號,經驅動電路隔離后控制智能功率模塊IPM,產生對稱的三相SPWM電流信號,驅動步進電動機旋轉。
逆變主電路IPM典型結構如圖3所示。

圖3 IPM模塊內部結構圖
該電路的核心為6個IGBT,由SPWM信號來分別控制6個IGBT的通斷。最后在3個輸出端產生三相對稱的電流驅動步進電動機運轉。目前已經有許多生產廠商將該逆變電路中的保護電路、驅動電路、傳感電路整合起來,集成為一個模塊,稱之為智能功率模塊IPM。這種IPM在出廠時廠家已經設定好IGBT最佳的驅動參數,并且還有短路、過流、欠壓等保護功能,出現異常并可給出報警信號[5]。IPM的參數可由電動機的額定功率P0和峰值電流IP來確定。智能功率模塊使電路更加緊湊,避免了分布參數的影響。
因為 IGBT開關信號的幅值為 ±10 V,而SA4828輸出的6路 SPWM信號為TTL電平,SA4828產生的SPWM不能直接驅動IGBT。所以SA4828輸出的6路SPWM信號要經過驅動電路才能驅動逆變電路的6個IGBT。IGBT一般選用集成驅動電路來驅動。比較常用的集成IGBT驅動電路有三菱公司的M5796系列、富士公司的EX850系列等產品。我們這里用東芝公司的TLP250集成驅動芯片來驅動6個IGBT,電路如圖4所示。

圖4 TLP250驅動電路
SPWM控制算法的關鍵就是求出SPWM脈沖寬度TW。SPWM控制算法有很多,通常都可采用,但是太復雜的算法會使單片機的編程難度成倍增加,單片機ROM容量也有限,不宜采用。本文采用雙極性等面積調制算法,該算法體系清晰,易于編程實現。該算法的是將某一相正弦周期電流分成若干個區段,由于三相步進電動機三相繞組正弦電流相位相差120度,所以在劃分區段數的時候應為6的倍數。雙極性等面積調制算法脈沖寬度TW計算公式如下:

三相步進電動機一個周期內的細分數即為通入正弦電流一個周期內的階梯數,為S×N,S為正弦電流劃分的區段數,N為每個區段的等效脈沖數。采用8位單片機,S最大為240,N最大為255,則三相步進電動機最大的細分數為240×255=61 200,電機的分辨率還和電機本身有很大的關系,根據不同的S和N的取值,可以得到任意想要的步距角,即步進電動機可以進行“任意”細分。但是過分的細分,單片機在計算TW時的計算工作量會很大,所以在選擇S和N的取值時,要注意保證S被6整除后的數值為偶數,這樣可以產生正負半周對稱的SPWM波,S和N的取值如表1所示。

表1 不同細分區段的S和N值選擇
3.2.1 確定SPWM波的脈寬周期T
確定SPWM的脈寬周期T主要是由智能功率模塊的開關頻率來確定的,比如PS21255-E型智能功率模塊的開關頻率能夠達到15 kHz,但是過高的開關頻率,單片機會頻繁地響應中斷,以致于單片機沒有足夠的CPU資源去處理其他事情。比如說智能功率開關的頻率F設定為5 kHz,則脈寬周期T。單片機的晶振頻率為12 MHz,則可得到單片機的定時器初值為6。
3.2.2 確定SPWM波的脈沖寬度TW
根據單片機外設鍵盤輸入的細分步數,可以按表1確定S值,再由計算出K值。假設區段S有8個,則K值也有8個。函數cos(ωt1)-cos(ωt2)值是由S值確定的,也有8個。這里面,我們把K的值和cos(ωt1)-cos(ωt2)的值做成數據表格存入ROM中,一共有8張函數表。這樣,根據鍵盤輸入的細分數值,用單片機的查表可以獲取相應的K和cos(ωt1)-cos(ωt2)的數值,由式(5)可以計算出 S個脈沖寬度的定時初值,把這些初值存放在單片機的RAM中,這樣便求得了三相步進電U相的輸出脈沖。根據三相步進電動機三相電流對稱的關系,將U相的地址指針后移個單元便可求得V相的輸出脈沖,將U相的地址指針前移個單元,便可求得W相的輸出脈沖。將V相和W相輸出脈沖寬度的定時初值依次存入RAM,等待單片機查用。單片機程序流程圖如圖5所示。

圖5 控制程序流程圖

本文使用SA4828作為三相SPWM波發生器,單片機做為控制器,按表1設定不同的細分數,可通過示波器觀察到驅動器輸出電流波形如圖6、圖7所示。從圖中可以看出,步進電機12細分時,電流波形臺階較明顯,但電流脈動值較小;步進電機64細分時,電流波形較平滑,已很難分辨出臺階的個數,此時電機運行平穩流暢,低速無振蕩現象,達到了控制要求。此外,該系統的硬件結構簡單,體積小、成本低廉、實現容易、細分精度高。采用雙極性等面積調制算法,可以方便地改變步進電機的細分步數。該系統在中小型步進電機驅動系統中有較強的應用價值。
[1] 舒大松.基于STC單片機的SPWM步進電機細分控制研究與實現[J].制造業自動化,2011,33(6):92-94.
[2] 王曉明.電動機的單片機控制[M].北京航空航天大學出版社,2002:102.
[3] 王兆安,黃俊.電力電子技術[M].北京:機械工業出版社,2000:78.
[4] 徐志躍.基于SA4828的變頻器設計[J].電氣傳動,2006,36(1):14-16.
[5] 鄭宇.步進電機細分控制的單片機實現[J].貴州師范大學學報(自然科學版),2012,30(2):106-109.