步進電機是將電脈沖信號轉變為角位移或線位移的開環控制元步進電機件,通過控制施加在電機線圈上的電脈沖順序、頻率和數量,可以實現對步進電機的轉向、速度和旋轉角度的控制。配合以直線運動執行機構或齒輪箱裝置,更可以實現更加復雜、精密的線性運動控制要求。
掃碼加入
電機驅動技術交流群

步進電機一般由前后端蓋、軸承、中心軸、轉子鐵芯、定子鐵芯、定子組件、波紋墊圈、螺釘等部分構成,步進電機也叫步進器,它利用電磁學原理,將電能轉換為機械能,是由纏繞在電機定子齒槽上的線圈驅動的。通常情況下,一根繞成圈狀的金屬絲叫做螺線管,而在電機中,繞在定子齒槽上的金屬絲則叫做繞組、線圈、或相。


與所有電機一樣,步進電機也包括固定部分(定子)和活動部分(轉子)。定子上有纏繞了線圈的齒輪狀突起,而轉子為 永磁體或可變磁阻鐵芯。稍后我們將更深入地介紹不同的轉子結構。如圖中顯示的電機截面圖,其轉子為可變磁阻鐵芯。

示意圖

當給一個或多個定子相位通電,線圈中通過的電流會產生磁場,而轉子會與該磁場對齊;依次給不同的相位施加電壓,轉子將旋轉特定的角度并最終到達需要的位置。工作過程如下圖中所示,首先,線圈A通電并產生磁場,轉子與該磁場對齊;線圈B通電后,轉子順時針旋轉60°以與新的磁場對齊;線圈C通電后也會出現同樣的情況。下圖中定子小齒的顏色指示出定子繞組產生的磁場方向。

總之,步進電機是一種特殊的同步電動機,它通過給驅動線圈通以脈沖電流,使轉子按照一定的步長角度移動。步進電機的轉子由殘余極對組成,每個極對的極角稱為步角。輸入一個脈沖信號,轉子就轉動一個步角;輸入多個脈沖信號,轉子按脈沖數旋轉一個固定的角度。

以1.8度兩相步進電機為例:當兩相繞組都通電勵磁時,電機輸出軸將靜止并鎖定位置。在額定電流下使電機保持鎖定的最大力矩為保持力矩。如果其中一相繞組的電流發生了變向,則電機將順著一個既定方向旋轉一步(1.8度)。同理,如果是另外一項繞組的電流發生了變向,則電機將順著與前者相反的方向旋轉一步(1.8度)。當通過線圈繞組的電流按順序依次變向勵磁時,則電 機會順著既定的方向實現連續旋轉步進,運行精度非常高。對于 1.8度兩相步進電機旋轉一周需200步。
步進電機內部材料不是完全統一的,它也包含多種型號,按定子相數進行分類有單相,二相,三相,四相,五相等等。
按照轉子結構進行分類包括反應式步進電機(VR)、永磁式步進電機(PM)、混合式步進電機(HB)。
反應式步進電動機采用高導磁材料構成齒狀轉子和定子,如上面圖形中,其結構簡單,生產成本低,步距角可以做的相當小,一般為三相,可實現大轉矩輸出,步進角一般為1.5度。反應式步進電機的轉子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁導的變化產生轉矩。其動態性能相對較差,噪聲和振動比較大。
永磁式步進電機轉子采用多磁極的圓筒形的永磁鐵,在其外側配置齒狀定子。用轉子和定子之間的吸引和排斥力產生轉動,它的出力大,動態性能好,但步距角一般比較大,步進角一般為7.5度 或15度,一般為兩相,轉矩和體積較小。


步進電機不能直接使用直流電進行控制,需要由脈沖信號驅動其轉動。步進電機的轉動距離正比于施加到驅動器上的脈沖信號數(脈沖數)。步進電機轉動(電機出力軸轉動角度)和脈沖數的關系如下所示:

步進電機的轉速與施加到驅動器上的脈沖信號頻率成比例關系。電機的轉速[r/min] 與脈沖頻率[Hz] 的關系如下(整步模式):

驅動步進電機通常都會使用相關驅動芯片來進行控制,市面上各種驅動驅動芯片都有。簡單的應用只需要普通的幾塊錢的驅動芯片就可以了。但如果要進行高精度的控制不僅需要步進電機精度高,驅動器也需要足夠好,在很多工程領域都會用到專門的驅動器來實現更多元的控制效果。
51單片機控制程序舉例:
/*************** writer:shopping.w ******************/
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code FFW[]=
{
0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09
};
uchar code REV[]=
{
0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01
};
sbit K1 = P3^0;
sbit K2 = P3^1;
sbit K3 = P3^2;
void DelayMS(uint ms)
{
uchar i;
while(ms--)
{
for(i=0;i<120;i++);
}
}
void SETP_MOTOR_FFW(uchar n)
{
uchar i,j;
for(i=0;i<5*n;i++)
{
for(j=0;j<8;j++)
{
if(K3 == 0) break;
P1 = FFW[j];
DelayMS(25);
}
}
}
void SETP_MOTOR_REV(uchar n)
{
uchar i,j;
for(i=0;i<5*n;i++)
{
for(j=0;j<8;j++)
{
if(K3 == 0) break;
P1 = REV[j];
DelayMS(25);
}
}
}
void main()
{
uchar N = 3;
while(1)
{
if(K1 == 0)
{
P0 = 0xfe;
SETP_MOTOR_FFW(N);
if(K3 == 0) break;
}
elseif(K2 == 0)
{
P0 = 0xfd;
SETP_MOTOR_REV(N);
if(K3 == 0) break;
}
else
{
P0 = 0xfb;
P1 = 0x03;
}
}
}
步進電機廣泛應用于對轉動角度有精確控制要求的場合,如工業儀器儀表、醫療儀器、機器人系統、數控設備等。具體應用舉例:
通過控制步進電機的脈沖數和脈沖頻率,可以實現對轉動運動的準確控制和定位,這是步進電機得以廣泛應用的重要原因。在工業革新的進程中學會使用步進電機對于找工作絕對是有加分的,所以初學者在熟悉基礎的控制功能之后也再學習電機來控制原理是有必要的。
掃碼加入
電機技術交流群
