步進(jìn)電動(dòng)機(jī)(stepping motor)把電脈沖信號(hào)變換成角位移以控制轉(zhuǎn)子轉(zhuǎn)動(dòng)的微特電機(jī)。在自動(dòng)控制裝置中作為執(zhí)行元件。每輸入一個(gè)脈沖信號(hào),步進(jìn)電動(dòng)機(jī)前進(jìn)一步,故又稱脈沖電動(dòng)機(jī)。步進(jìn)電動(dòng)機(jī)多用于數(shù)字式計(jì)算機(jī)的外部設(shè)備,以及打印機(jī)、繪圖機(jī)和磁盤等裝置。步進(jìn)電動(dòng)機(jī)的驅(qū)動(dòng)電源由變頻脈沖信號(hào)源、脈沖分配器及脈沖放大器組成,由此驅(qū)動(dòng)電源向電機(jī)繞組提供脈沖電流。
步進(jìn)電動(dòng)機(jī)的運(yùn)行性能決定于電機(jī)與驅(qū)動(dòng)電源間的良好配合。步進(jìn)電機(jī)的優(yōu)點(diǎn)是沒有累積誤差,結(jié)構(gòu)簡單,使用維修方便,制造成本低,步進(jìn)電動(dòng)機(jī)帶動(dòng)負(fù)載慣量的能力大,適用于中小型機(jī)床和速度精度要求不高的地方,缺點(diǎn)是效率較低,發(fā)熱大,有時(shí)會(huì)“失步”。步進(jìn)電動(dòng)機(jī)分為機(jī)電式、磁電式及直線式三種基本類型。
機(jī)電式步進(jìn)電動(dòng)機(jī)機(jī)電式步進(jìn)電動(dòng)機(jī)由鐵心、線圈、齒輪機(jī)構(gòu)等組成。螺線管線圈通電時(shí)將產(chǎn)生磁力,推動(dòng)其鐵心心子運(yùn)動(dòng),通過齒輪機(jī)構(gòu)使輸出軸轉(zhuǎn)動(dòng)一角度,通過抗旋轉(zhuǎn)齒輪使輸出轉(zhuǎn)軸保持在新的工作位置;線圈再通電,轉(zhuǎn)軸又轉(zhuǎn)動(dòng)一角度,依次進(jìn)行步進(jìn)運(yùn)動(dòng)。
磁電式步進(jìn)電動(dòng)機(jī)磁電式步進(jìn)電動(dòng)機(jī) 其結(jié)構(gòu)簡單, 可靠性高, 價(jià)格低廉, 應(yīng)用廣泛。主要有永磁式、 磁阻式和混合式。
(1)永磁式步進(jìn)電動(dòng)機(jī)。
永磁式步進(jìn)電動(dòng)機(jī)的基本原理其轉(zhuǎn)子有永磁體的磁極,在氣隙中產(chǎn)生極性交替磁場,定子由四相繞組組成(見圖)。當(dāng)A相繞組通電時(shí),轉(zhuǎn)子將轉(zhuǎn)向該相繞組所確定的磁場方向。當(dāng)A相斷電、B相繞組被通電勵(lì)磁時(shí),就產(chǎn)生一個(gè)新的磁場方向,這時(shí),轉(zhuǎn)子就轉(zhuǎn)動(dòng)一角度而位于新的磁場方向上,被勵(lì)磁相的順序決定了轉(zhuǎn)子轉(zhuǎn)動(dòng)方向。
若定子勵(lì)磁的變化太快,轉(zhuǎn)子將不能和定子磁場方向的變化保持一致,轉(zhuǎn)子即失步。起動(dòng)頻率和運(yùn)行頻率較低,是永磁式步進(jìn)電動(dòng)機(jī)的一個(gè)缺點(diǎn)。但永磁式步進(jìn)電動(dòng)機(jī)消耗功率較小,效率較高。20世紀(jì)80年代初,出現(xiàn)了轉(zhuǎn)子是盤式的永磁盤式步進(jìn)電動(dòng)機(jī),使步距角及工作頻率達(dá)到磁阻式步進(jìn)電動(dòng)機(jī)的水平。
(2)磁阻式步進(jìn)電動(dòng)機(jī)。
其定、轉(zhuǎn)子鐵芯的內(nèi)外表面上設(shè)有按一定規(guī)律分布的相近齒槽,利用定、轉(zhuǎn)子鐵芯齒槽相對(duì)位置變化引起磁路磁阻的變化,從而產(chǎn)生轉(zhuǎn)矩。其轉(zhuǎn)子鐵芯由硅鋼片或軟磁材料做成,當(dāng)定子某相被勵(lì)磁時(shí),轉(zhuǎn)子將轉(zhuǎn)到使磁路磁阻最小的位置。當(dāng)另一相被勵(lì)磁,轉(zhuǎn)子轉(zhuǎn)到另一位置,使磁路磁阻為最小時(shí),電動(dòng)機(jī)就停止轉(zhuǎn)動(dòng)。這時(shí),轉(zhuǎn)子轉(zhuǎn)過一個(gè)步距角θb,即式中N為轉(zhuǎn)子轉(zhuǎn)過一個(gè)齒距的運(yùn)行拍數(shù);ZR為轉(zhuǎn)子齒數(shù)。磁阻式步進(jìn)電動(dòng)機(jī)結(jié)構(gòu)形式較多。定子鐵芯有單段式、多段式;磁路有徑向、軸向;繞組相數(shù)有三相、四相、五相。磁阻式步進(jìn)電動(dòng)機(jī)步距角可做到1°~15°,甚至更小,精度容易保證,起動(dòng)與運(yùn)行頻率較高,但功耗較大,效率較低。
(3)混合式步進(jìn)電動(dòng)機(jī)。
它的定、轉(zhuǎn)子鐵芯結(jié)構(gòu)與磁阻式步進(jìn)電動(dòng)機(jī)相似。轉(zhuǎn)子有永磁體在氣隙中產(chǎn)生單極性磁場,此磁場還被轉(zhuǎn)子上軟磁材料的齒槽調(diào)制。混合式步進(jìn)電動(dòng)機(jī)兼有永磁式步進(jìn)電動(dòng)機(jī)與磁阻式步進(jìn)電動(dòng)機(jī)兩者的優(yōu)點(diǎn),電動(dòng)機(jī)步距角小,精度高,工作頻率高,且功耗小,效率高。
步進(jìn)電機(jī)正反轉(zhuǎn)控制方式:
1、步進(jìn)電機(jī)有四相繞組A、B、C、D,當(dāng)一繞組通電時(shí)在電動(dòng)機(jī)內(nèi)部形成N-S極,產(chǎn)生磁場,當(dāng)通電的相發(fā)生變化,磁場發(fā)生旋轉(zhuǎn),在磁場的作用下,轉(zhuǎn)子將轉(zhuǎn)動(dòng),若步進(jìn)電機(jī)按雙四拍的方式來工作。
/2、在A、B、C、D四相繞組上輸入脈沖的順序?yàn)锳B→BC→CD→DA→AB,步進(jìn)電機(jī)沿順時(shí)針方向轉(zhuǎn)動(dòng),即正轉(zhuǎn);若在A、B、C、D四相繞組上依次輸入脈沖AB→DA→CD→BC→AB;步進(jìn)電機(jī)將沿逆時(shí)針方向旋轉(zhuǎn),即反轉(zhuǎn)。電機(jī)內(nèi)部數(shù)據(jù)參數(shù),初始的即可,不用調(diào)改。
整體程序的結(jié)果:
(1)先正轉(zhuǎn)一圈,等待一秒后再反轉(zhuǎn)一圈。這一過程可以自己修改程序,把它去掉,即整體main函數(shù)while循環(huán)的前面那部分,只會(huì)執(zhí)行一次。
while(1)
{
(2)按下按鈕1,整個(gè)電機(jī)開始正轉(zhuǎn)N圈,當(dāng)檢測按鈕一直按下時(shí),整個(gè)電機(jī)就一直正轉(zhuǎn)下去。當(dāng)檢測到其他按鈕按下時(shí),立即跳轉(zhuǎn)到其他按鈕對(duì)應(yīng)的程序。
(3)按下按鈕2,和按鈕1相反。
(4)按鈕3,使整個(gè)電機(jī)停止工作。
}
上面2,3,4部分是一直在循環(huán)掃描檢測的。
#include
#include
unsigned char code z[]={0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03//315,270,225......360(0)
};//八拍
unsigned char code f[]={0x01,0x09,0x08,0x0c,0x04,0x06,0x02,0x03//45,90,145......360(0)
};
sbit K1 = P3^0;//定義正轉(zhuǎn)按鈕
sbit K2 = P3^1;//定義反轉(zhuǎn)按鈕
sbit K3 = P3^2;//定義停止按鈕
void zz(unsigned char n);
void fz(unsigned char n);
void delay();
void step();
void main()
{
unsigned char N = 1;//由于設(shè)定好了轉(zhuǎn)一圈的數(shù)據(jù),所以N在此設(shè)定為轉(zhuǎn)多少圈。
TMOD=0X10;
TL1=0XF0;
TH1=0XD8;
EA=0;
ET1=0;//這里沒有使用定時(shí)器中斷,這里只是使用定時(shí)器的定時(shí)功能。
zz(N);
delay();
fz(N);
while(1)
{
if(K1 == 0)
{
while(1)
{
P0 = 0xfe;
zz(N);
if(K3 == 0||K2==0) break;
}
}
else if(K2 == 0)
{
while(1)
{
P0 = 0xfd;
fz(N);
if(K3 == 0||K1==0) break;
}
}
else
{
P0 = 0xfb;
P1 = 0x03;
}
}
}
void zz(unsigned char n)//正轉(zhuǎn)
{
unsigned char i,j;
for(i=0;i
{
for(j=0;j<8;j++)//整個(gè)for循環(huán),正轉(zhuǎn)一個(gè)步距角,因?yàn)樗南喟伺模允前雮€(gè)步距角,即半步。
{
if(K3 == 0) break;
P1 = z[j];
step();
}
}
}
void fz(unsigned char n)//反轉(zhuǎn)
{
unsigned char i,j;
for(i=0;i
{
for(j=0;j<8;j++)
{
if(K3 == 0) break;
P1 = f[j];
step();
}
}
}
void delay()//定義1s
{
unsigned char i,j,k;
_nop_();
i=8;
j=154;
k=122;
do
{
do
{
while(--k);
}while(--j);
}while(--i);
}
void step()//定時(shí)器計(jì)時(shí)10ms
{
TF1=0;
TR1=1;
while(TF1==0);
TR1=0;
TL1=0XF0;
TH1=0XD8;
}
1.程序中用到的延時(shí),這個(gè)根據(jù)自己的習(xí)慣,可以寫相對(duì)應(yīng)的函數(shù)延時(shí),但是由于電機(jī)轉(zhuǎn)的過程中的延時(shí),就我上文中for循環(huán)里面的定時(shí)10ms,這個(gè)是根據(jù)實(shí)際情況來調(diào)的,理論上來說,使用proteus仿真的電機(jī)延時(shí)最低是1ms,如果低于1ms實(shí)驗(yàn)起來,不會(huì)看到自己編寫代碼的理想結(jié)果。
2.步距角的不同,那么想要電機(jī)轉(zhuǎn)一圈,執(zhí)行zz或者fz函數(shù)的參數(shù)就要有所不同。以我上面程序?yàn)槔?/p>
八拍轉(zhuǎn)一個(gè)循環(huán),轉(zhuǎn)過360度,步距角是90°。
那么步距角是45°時(shí),要想轉(zhuǎn)過360°,那么就需要16拍。
這里需要各位自己去修改程序去實(shí)驗(yàn),這里只提供一個(gè)提醒。如果超過256拍的話,那么unsigned char是不夠你玩的,需要unsigned int。
步進(jìn)電機(jī)驅(qū)動(dòng)器是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的。可以通過控制脈沖個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的接下來,詳細(xì)為你說下步進(jìn)驅(qū)動(dòng)器怎么控制方向 步進(jìn)驅(qū)動(dòng)器怎么設(shè)置電機(jī)正反轉(zhuǎn)。
脈沖控制,因?yàn)槊}沖有數(shù)量,利于精確控制。所以步進(jìn)電機(jī)方向是靠脈沖控制的,
怎么控制:一般高電平控制一個(gè)方向,低電平控制另一個(gè)方向。
也有用兩路脈沖控制的。就是一路脈沖的高電平控制一個(gè)方向,另一路脈沖的高電平控制另一個(gè)方向。
只要控制在四相繞組上輸入脈沖的順序,就可以控制電機(jī)的正轉(zhuǎn)/反轉(zhuǎn)。(控制延時(shí)就能控制轉(zhuǎn)速。)
方向電平信號(hào)DIR用于控制步進(jìn)電機(jī)的旋轉(zhuǎn)方向。當(dāng)該端高時(shí),電動(dòng)機(jī)沿一個(gè)方向旋轉(zhuǎn),當(dāng)該端低時(shí),電動(dòng)機(jī)沿另一方向旋轉(zhuǎn)。電機(jī)換向必須在電機(jī)停止后執(zhí)行,并且換向信號(hào)必須在前一個(gè)方向的最后一個(gè)CP脈沖之后和下一個(gè)方向的第一個(gè)CP脈沖之前發(fā)送。
如果控制器(主機(jī))發(fā)送雙脈沖(例如正脈沖和負(fù)脈沖)或脈沖信號(hào)的幅度不匹配,則需要使用信號(hào)模塊將其轉(zhuǎn)換為5v單脈沖(脈沖) 。中文加方向))。
1.輸入為單個(gè)脈沖
信號(hào)模塊的DIP開關(guān)應(yīng)設(shè)置在“單脈沖”位置。如果有脈沖輸出,則電動(dòng)機(jī)將旋轉(zhuǎn)。改變方向信號(hào)的高電平和低電平可以改變旋轉(zhuǎn)方向。有關(guān)特定時(shí)序,請(qǐng)參閱信號(hào)模塊手冊(cè)。
2,輸入為雙脈沖
信號(hào)模塊的DIP開關(guān)應(yīng)置于?雙麥:中間?位置。發(fā)送正脈沖會(huì)使電動(dòng)機(jī)正向旋轉(zhuǎn),而發(fā)送負(fù)脈沖會(huì)使電動(dòng)機(jī)反向。正脈沖和負(fù)脈沖不能同時(shí)給出,具體時(shí)序請(qǐng)參考信號(hào)模塊手冊(cè)。
步進(jìn)電機(jī)的運(yùn)行方向與要求相反。我應(yīng)該如何調(diào)整? Shanshe Motor的技術(shù)工程師提出了兩種實(shí)現(xiàn)方法:
一種方法是更改控制系統(tǒng)的方向信號(hào)。
另一種方法是通過調(diào)整步進(jìn)電機(jī)的接線來改變方向。具體方法如下:
對(duì)于兩相電機(jī),只需將其中一根電機(jī)線切換到A +和A交換等步進(jìn)電機(jī)驅(qū)動(dòng)器即可。
對(duì)于三相電動(dòng)機(jī),不能更換其中一根電動(dòng)機(jī)電線,但必須依次更換兩相,例如交換A +和B +。
A-和B-互換。
原文標(biāo)題:如何實(shí)現(xiàn)步進(jìn)電機(jī)的正反轉(zhuǎn)?步進(jìn)電機(jī)正反轉(zhuǎn)程序詳解
文章出處:【微信公眾號(hào):電氣控制技術(shù)知識(shí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
變頻器
+關(guān)注
關(guān)注
251文章
6585瀏覽量
145828
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論