技術頻道

娓娓工業(yè)
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > uln2003驅動步進電機原理分析

uln2003驅動步進電機原理分析

時間:2018-01-02 11:40:33來源:網絡轉載

導語:?步進電動機是一種將電脈沖信號轉換成角位移或線位移的機電元件。步進電動機的輸入量是脈沖序列,輸出量則為相應的增量位移或步進運動。正常運動情況下,它每轉一周具有固定的步數;

步進電機是一種將電脈沖信號轉換成角位移或線位移的機電元件。步進電動機的輸入量是脈沖序列,輸出量則為相應的增量位移或步進運動。正常運動情況下,它每轉一周具有固定的步數;做連續(xù)步進運動時,其旋轉轉速與輸入脈沖的頻率保持嚴格的對應關系,不受電壓波動和負載變化的影響。由于步進電動機能直接接受數字量的控制,所以特別適宜采用微機進行控制。

該步進電機為一四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉動。圖1是該四相反應式步進電機工作原理示意圖。

開始時,開關SB接通電源,SA、SC、SD斷開,B相磁極和轉子0、3號齒對齊,同時,轉子的1、4號齒就和C、D相繞組磁極產生錯齒,2、5號齒就和D、A相繞組磁極產生錯齒。當開關SC接通電源,SB、SA、SD斷開時,由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉子轉動,1、4號齒和C相繞組的磁極對齊。

而0、3號齒和A、B相繞組產生錯齒,2、5號齒就和A、D相繞組磁極產生錯齒。依次類推,A、B、C、D四相繞組輪流供電,則轉子會沿著A、B、C、D方向轉動。四相步進電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉動力矩又可以提高控制精度。

單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖2.a、b、c所示:

uln2003驅動步進電機程序

#include《reg52.h》

//unsignedcharIRCOM[]={0x00,0x00,0x00,0x00,0x10,0x10};

unsignedcharzhuangtai=0;

unsignedcharcodeF_Rotaion[4]={0x03,0x05,0x0d,0x09};

voiddelay(uchardelay){

uchari;

for(delay;delay》0;delay--){

for(i=123;i》0;i--)

}

}

/*

voiddelay1(intms)

{

uchary;

while(ms--)

{

for(y=0;y《250;y++)

{

_nop_();

_nop_();

_nop_();

_nop_();

}

}

}

*/

voidmoto(){

unsignedchari;

for(i=0;i《4;i++){

P0=F_Rotaion[i];

delay(500);

}

}

voidnmoto(){

unsignedchari;

for(i=3;i》=0;i--){

P0=F_Rotaion[i];

delay(500);

}

}

voidstopmoto(){

P0=0x00;

}

voidyunxing(){

if(zhuangtai==0){

stopmoto();

}

elseif(zhuangtai==1){

moto();

}

elseif(zhuangtai==2){

nmoto();

}

}

voidjude(){

if(P3==0xef){

zhuangtai=0;

}

elseif(P3==0xdf){

zhuangtai=1;

}

elseif(P3==0xbf){

zhuangtai=2;

}

}

main(){

/*

IE=0x81;

TCON=0x01;

*/

P1=0x00;

P3=0xff;

jude();

yunxing();

}

/*voidIR_IN()interrupt0

{

ucharj,k,N=0;

EX0=0;

delay(15);

if(IRIN==1)

{

EX0=1;

return;

}

while(!IRIN)

delay(1);

for(j=0;j《4;j++)

{

for(k=0;k《8;k++)

{

while(IRIN)

delay(1);

while(!IRIN)

delay(1);

while(IRIN)

{

delay(1);

N++;

if(N》=30)

{

EX0=1;

return;

}

}

IRCOM[j]=IRCOM[j]》》1;

if(N》=8)

IRCOM[j]=IRCOM[j]|0x80;}

N=0;

}

if(IRCOM[2]!=~IRCOM[3])

{

EX0=1;

return;

}

if(IRCOM[0]!=0x00)

{

EX0=1;

return;

}

IRCOM[4]=IRCOM[2]&0x0F;

IRCOM[5]=IRCOM[2]》》4;

play();

beep();

EX0=1;

}

標簽:

點贊

分享到:

上一篇:ULN2003如何驅動5V步進電機

下一篇:多電機變頻傳動系統(tǒng)在短纖維...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(m.u63ivq3.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業(yè)自動化與智能制造的全媒體“互聯網+”創(chuàng)新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號