//Logo Image
作者:王崇飛 (1999-08-12);修改:王崇飛 (2000-05-05);核可:徐業良 (2000-05-08)
附註:本文為元智大學機械系大四自動化機械設計實務課程教材。

步進馬達簡介

馬達在工廠自動化中扮演著十分重要的角色,馬達的種類由結構上與控制方法上可分成直流馬達、交流馬達、伺服馬達以及步進馬達。其中若以動力輸出的觀點而言,直流馬達、交流馬達有較佳的動力輸出;但若以控制精度的方向來看,則伺服馬達及步進馬達應該是較佳的選擇。

一、步進馬達的種類與原理

步進馬達的種類依照結構來分可以分成三種:永久磁鐵PM(permanent magnet type)、可變磁阻VR(variable reluctance type)、以及複合式(hybrid type)PM式步進馬達之結構如圖1(a)所示,PM式步進馬達的轉子是以永久磁鐵製成,其特性為線圈無激磁時,由於轉子本身具磁性故仍能產生保持轉矩。PM式步進馬達的步進角依照轉子材質不同而有所改變,例如鋁鎳鈷系(alnico)磁鐵轉子之步進角較大,為45°或90°,而陶鐵系(ferrite)磁鐵因可多極磁化故步進角較小,為7.5°及15°。

                       

(a) PM                                                       (b) VR

1 PM式與VR式步進馬達之結構

1(b)VR式步進馬達之結構,VR式步進馬達的轉子是以高導磁材料加工製成,由於是利用定子線圈產生吸引力使轉子轉動,因此當線圈未激磁時無法保持轉矩,此外,由於轉子可以經由設計提高效率,故VR式步進馬達可以提供較大之轉矩,通常運用於需要較大轉矩與精確定位之工具機上,VR式的步進角一般均為15°。

複合式步進馬達在結構上,是在轉子外圍設置許多齒輪狀之突出電極,同時在其軸向亦裝置永久磁鐵,可視為PM式與VR式之合體,故稱之為複合式步進馬達,複合式步進馬達具備了PM式與VR式兩者的優點,因此具備高精確度與高轉矩的特性,複合式步進馬達的步進角較小,一般介於1.8°~3.6°之間,最常運用於OA器材如影印機、印表機或攝影器材上。

電動機動作原理是當轉子通上電流時由於切割定子所產生的磁力線而生成旋轉扭矩造成電動機轉子的轉動;步進馬達的驅動原理也是如此,不過若以驅動訊號的觀點來看,一般直流馬達與交流馬達所使用的驅動電壓訊號為連續的直流訊號與交流訊號,而步進馬達則是使用不連續的脈波訊號,三種電壓訊號的電壓時間圖如圖2所示。

7 三種馬達電壓訊號的電壓-時間圖

前面介紹過步進馬達的結構,不論是PM式、VR式或複合式步進馬達,其定子均設計為齒輪狀,這是因為步進馬達是以脈波訊號依照順序使定子激磁。圖8所示為步進馬達的驅動原理,圖8將圓周分布的定子展開為直線以方便讀者理解,若脈波激磁訊號依序傳送至A相、A+相、B相、B+相則轉子向右移動(正轉),相反的若將順序顛倒則轉子向左移動(反轉)。值得注意的是在實際狀況下,定子A相與定子B相在位置上是相對的,若同時激磁則可提昇轉矩,相同的若四個相都同時激磁則轉子完全靜止處於電磁煞車狀態。此外,更可以利用電子分相激磁的原理,以電子技術控制各相的脈波電壓值、導通時間,使步進馬達的步進角更細微,做到更精密的定位控制,圖9為步進馬達之控制驅動流程圖。

8 步進馬達驅動原理

 

9 步進馬達控制流程圖

二、步進馬達之運轉特性

9之步進馬達控制流程圖中,步進馬達係由微電腦控制器所控制,當控制訊號自微電腦輸出後,隨即藉由驅動器將訊號放大,達到控制馬達運轉的目的,整個控制流程中並無利用到任何回饋訊號,因此步進馬達的控制模式為典型的開迴路控制(Open loop control)。開迴路控制的優點為控制系統簡潔,無回饋訊號因此不需感測器成本較低,不過正由於步進馬達的控制為開路控制,因此若馬達發生失步或失速的情況時,無法立即利用感測器將位置誤差傳回做修正補償,要解決類似的問題只能從了解步進馬達運轉特性著手。

所謂失速是指當馬達轉子的旋轉速度無法跟上定子激磁速度時,造成馬達轉子停止轉動。馬達失速的現象各種馬達都有發生的可能,在一般的馬達應用上,發生失速時往往會造成繞組線圈燒毀的後果,不過步進馬達發生失速時只會造成馬達靜止,線圈雖然仍在激磁中,但由於是脈波訊號,因此不會燒毀線圈。

失速是指轉子完全跟不上激磁速度而完全靜止,失步的成因則是由於馬達運轉中瞬間提高轉速時,因輸出轉矩與轉速成反比,故轉矩下降無法負荷外界負載,而造成小幅度的滑脫。失步的情況則只有步進馬達會發生,要防止失步可以依照步進馬達的轉速-轉矩曲線圖調配馬達的加速度控制程式。圖10為步進馬達之特性曲線,圖中橫座標的速度是指每秒的脈波數目(pulses per second)。與一般馬達特性曲線最大的不同點是步進馬達有兩條特性曲線,同時步進馬達可以正常操作的範圍僅限於引入轉矩之間。圖10中所示之各個動態特性將分別敘述如下:

10 步進馬達特性曲線

q引入轉矩(pull-in torque)

引入轉矩是指步進馬達能夠與輸入訊號同步起動、停止時的最大力矩,因此在引入轉矩以下的區域中馬達可以隨著輸入訊號做同步起動、停止、以及正反轉,而此區域就稱作自起動區(start-stop region)

q最大自起動轉矩(maximum starting torque)

最大自起動轉矩是指當起動脈波率低於10pps時,步進馬達能夠與輸入訊號同步起動、停止的最大力矩。

q最大自起動頻率(maximum starting pulse rate)

最大自起動頻率是指馬達在無負載(輸出轉矩為零)時最大的輸入脈波率,此時馬達可以瞬間停止、起動。

q脫出轉矩(pull-out torque)

脫出轉矩是指步進馬達能夠與輸入訊號同步運轉,但無法瞬間起動、停止時的最大力矩,因此超過脫出轉矩則馬達無法運轉,同時介於脫出轉矩以下與引入轉矩以上的區域則馬達無法瞬間起動、停止,此區域稱作扭轉區域(slew region),若欲在扭轉區域中起動、停止則必須先將馬達回復到自起動區,否則會有失步現象的發生。

q最大響應頻率(maximum slewing pulse rate)

最大響應頻率是指馬達在無負載(輸出轉矩為零)時最大的輸入脈波率,此時馬達無法瞬間停止、起動。

q保持轉矩(holding torque)

保持轉矩是指當線圈激磁的情況下,轉子保持不動時,外界負載改變轉子位置時所需施加的最大轉矩。

步進馬達轉矩與轉速之關係為指數式反比,也就是當轉速越大時轉矩越小,相反的轉速越小則轉矩越大,這種現象是因為激磁線圈可以視為電感與電阻的串聯電路,當激磁時線圈的電流與電阻、電感的關係如下式所示:

                                                                                                        (1)

其中時間常數。由式(1)可知線圈之激磁電流是隨時間而變,而輸出轉矩則與電流大小成正比,因此當轉速慢時線圈電流有足夠的時間達到最大值,因此輸出轉矩較大;相同的,當轉速提高時激磁訊號變換快速,使得線圈電流減弱造成輸出轉矩下降。

三、步進馬達之應用

由於步進馬達所使用的驅動訊號為脈波訊號,因此以普通直流電源加在馬達繞組時,馬達是不會連續轉動的。此外,步進馬達的電源線最少有五條,其中一條為共接點,其餘四條分別為A相、A+相、B相、B+四相的輸入點,有些步進馬達的電源線共有六條,其中兩條為共接點,將A相、A+相,與B相、B+四相的輸入點分成兩組。要分辨何者為共接點,何者為輸入點以及正、反轉的激磁順序,可以先用三用電表之歐姆檔量測線圈之電阻值,理論上各相的電阻值應相等,找出共接點後再以低於額定電壓電流之直流電源一一測試,便可找出步進馬達正、反轉的激磁順序。

步進馬達所使用的驅動訊號為脈波訊號,因此在實際使用步進馬達時需包含三個部份,分別是脈波訊號產生器、訊號放大器(驅動器driver)、與步進馬達,以下針對脈波訊號產生器、訊號放大器做進一步的介紹。

q脈波訊號產生器

一般而言能夠產生脈波訊號的平台相當多,例如訊號產生器、805168HC11等單晶片製作成的單板電腦、以及利用個人電腦(PC)以程式語言產生訊號再以8255界面卡輸出。

訊號產生器由於輸出的訊號為固定頻率、振幅,因此彈性不大只適合運用在一般的檢測方面;805168HC11等單晶片製作成的單板電腦由於功能強、彈性大且價格低廉,因此常用於工業實務控制方面;至於利用PC以程式語言產生訊號再以8255界面至驅動電路的方式,由於程式撰寫容易且除錯方便、修改容易,因此多為系統開發實驗階段所採用。

以程式控制而言,一般的做法是依照馬達動作需求事先將程式撰寫好,利用微電腦系統產生脈波訊號,其中程式內容包含有步進馬達的起動、加速、減速、停止、歸零、以及緊急情況處置等函式(Function)。我們利用以下的虛擬程式來解釋如何規劃8255界面卡並產生脈波訊號,同時利用8255界面卡的A(port)作為輸出。由於此程式中並未包含馬達加速之功能,同時輸出電流均為固定值,因此若以此程式控制馬達運轉,其運轉情形就如同以低速檔駕車不但轉速慢且馬達容易發熱。

#define Port_A    0x200    定義8255A埠之位址(ADDRESS)200

#define Port_B    0x201    定義8255B埠之位址為201

#define Port_C    0x202    定義8255C埠之位址為202

#define Control_Port   0x203 定義8255控制埠之位址為203

#define TRUE       1

#include<dos.h>

#include<conio.h>

#include<process.h>

 

main()

{

int n, j, k;

int i[4]={0x01,0x02,0x04,0x08}; 正轉脈波訊號

int r[4]={0x08,0x04,0x02,0x01}; 逆轉脈波訊號

outportb(Control_Port,0x80);    規劃8255A.B.C埠均為輸出埠

while(j)                        馬達正轉迴圈

  {

     for (n=0;n<4;n++)

     {

          outportb(Port_A,i[n]);  將脈波訊號由A埠輸出,馬達正轉一個步進角

       if(kbhit())                 

        {

         j=0;

          outportb(Port_A,0x00);  將脈波訊號歸零,馬達停止

         exit(0);

        }

     }

   }

while(k)                        馬達反轉迴圈

    {

     for (n=0;n<4;n++)

     {

      outportb(Port_A,r[n]);    將脈波訊號由A埠輸出,馬達反轉一個步進角

    if(kbhit())

     {

      k=0;

      outportb(Port_A,0x00);    將脈波訊號歸零,馬達停止

      exit(0);

     }

   }

}

outportb(Port_A,0x00);           將脈波訊號歸零

}

q訊號放大器

以微電腦系統作為脈波訊號產生的平台所產生的脈波訊號為小電壓(0~5V)、小電流(0.5mA)之訊號,根本無法產生足夠的電磁場推動轉子,因此還需要一個能夠將訊號放大的驅動器也就是一般俗稱的功率放大器(amplifier)。如圖11所示即為利用四組達靈頓對電晶體(Darlington configuration)所構成的驅動電路,放大倍率為兩顆電晶體射極電流增益b之乘積()

此外,在圖11+12V之外部電源與8255界面卡之間並無隔離保護,倘若外部電源突然升高時極有可能將8255界面卡甚至是PC燒毀,因此在一般工業級的驅動器中多半會利用光耦合器(optical coupler)作為隔離保護的設計。

11 達靈頓對電晶體驅動電路

四、實驗設計

步進馬達之所以能夠以開迴路控制達到定位控制的原因,是由於步進馬達所使用的驅動訊號為脈波訊號,因此只要控制輸入馬達的脈波數目與步進角(step angle)就能達成定位控制,例如若馬達之步進角為1.8°時,輸入200個脈波訊號至馬達時,則馬達將旋轉一圈(1.8°´200=360°),這就是步進馬達名稱的由來。由於驅動簡單、定位準確且為開路控制,因此常常被運用在各類需要定位精確的場合,如印表機、繪圖機、軟式磁碟機、分割定位機構等裝置。

q步進馬達加減速實驗設計

步進馬達為開路控制,為了達到精確的控制與提告高效率,因此如何利用適當的加減速使步進馬達避免失步與失速就顯得格外的重要。本單元中介紹了各式的步進馬達之結構與驅動原理,請設計一套實驗,以程式改變參數的方式控制步進馬達的轉速、轉向、以及加減速,以觀察步進馬達在加減速時的情況,以及步進馬達失步與失速之狀況。

本實驗主要的目的,在於提供同學一個思考如何控制、驅動步進馬達的機會,藉由本實驗設計體驗步進馬達之特性。利用8255界面卡作為驅動電路與控制器之I/O通訊界面,同時利用C程式語言撰寫控制程式,程式的內容包括規劃8255界面卡之輸入、輸出埠,以及計算加速、減速時所需輸出單位時間脈波數目pps,此外程式之變數設計應採用參數方式,以方便修改與觀察步進馬達各種輸出特性之變化。