您的位置 首页 技术

51单片机的步进电机操控,正转回转等

步进电机应用广泛,例如打印机、磁盘驱动器、玩具、汽车雨刷、手机震动、机械夹具、刻录机等各种机械控制场合一些概念:拍数N定子控制绕组每改变一次通

步进电机使用广泛,

例如打印机、磁盘驱动器、玩具、轿车雨刷、手机轰动、机械夹具、刻录机等各种机械操控场合

一些概念:

拍数N

定子操控绕组每改动一次通电方法,即为一拍

一个磁场通电周期是 A-B-C-D-A

完结一个磁场周期性改变所需脉冲数,

也指电机转过一个齿距角所需脉冲数,用N表明

拍数又等于相数的1倍或2倍,

以四相电机为例,

有4相4拍, A-B-C-D-A…

4相8拍, A-AB-B-BC-C-CD-D-DA-A…

齿距角θz

一个通电循环周期(比方4拍)转子转过一个齿距角

齿距角又等于360除以转子齿数Z, θz=360/Z

步距角θs

步距角,即在没有减速齿轮的情况下,关于一个脉冲信号,转子所转过的机械视点.

也就是说,每一拍转子转过的视点称之为步距角,通常用θs表明

θs=齿距角/拍数

θs=360/(N*Z)

步距角的差错不会长时间堆集,只与输入脉冲信号数相对应,

能够组成结构较为简略而又具有必定精度的开环操控体系,

也能够在要求更高精度时组成闭环体系。

转速X

每分钟电机转了多少转?设脉冲频率f

一个脉冲,转子转过视点为1/(ZN),

X=60*f/(ZN) 拍数与齿数表明法

=(f*θs)/6 步距角表明法

24BYJ48-5v 减速永磁步进电机

功用特色:

选用ULN2003驱动,使用方便,带齿轮减速,噪音低,作业平稳,5V即可驱动,

器材参数:

1.额外电压:5-10V DC

2.直流电阻:60Ω±7%(25℃).

3.减速比:1/64

4.步距角:5.625°*(1/64), 含减速比

5.驱动方法:4相8拍

6.牵入转距:≥350gf.cm(作业频率:100PPS)

7.打滑扭力:800~1300gf.cm

8.温升:≤55K(5VDC 作业频率:100PPS)

9.噪音:≤35dB(空载,100PPS,水平距马达10cm)

10.绝缘耐压:600V AC/1秒

11.引线拉力强度:1Kgf/条

12.接线方法:5线4相

1.VCC 赤色

2.A 橙色

3.B 黄色

4.C 粉色

5.D 蓝色

============================================================

C代码

#include my51.h

//4相8拍

u8 code tableCCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时针旋转相序表

u8 code tableCW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //顺时针旋转相序表

sbit S3=P3^5; //回转 按键

sbit S4=P3^6; //正转 按键

sbit S5=P3^4; //中止 按键

void motorTurn_ccw() //转1圈,逆时针

{

u8 i,j;

for(j=0;j8;j++) //电机内部的转子旋转一周

{

if(S5==0) //按键没处理颤动

{

break; //假如中止键按下,退出此循环

}

for(i=0;i8;i++) //旋转45度, 8*5.625°=45°

{

P1=tableCCW[i];

delayms(2); //调理转速

}

}

}

void motorTurn_cw() //转1圈 ,顺时针

{

u8 i,j;

for(j=0;j8;j++) //8*45°=360°

{

if(S5==0)

{

break; //假如中止键按下,退出此循环

}

for(i=0;i8;i++) //旋转45度,8*5.625°=45°

{

P1=tableCW[i];

delayms(2); //调理转速

}

}

}

void main()

{

u8 r;

u8 N=64; //减速步进电机,减速比1/64,所以N=64时,步进电机外主轴转一圈

P1=0xff; _nop_();

ledLock= LOCK; //咱们的P1口接有8个led灯,先确定,不要让它们亮 ,节能环保

while(1)

{

if(S3==0) //按键了

{

for(r=0;r

{

motorTurn_ccw(); //电机逆时针转

if(S5==0)

{

break; //俺S5键立马中止

}

}

}

else if(S4==0)

{

for(r=0;r

{

motorTurn_cw(); //电机顺时针转

if(S5==0)

{

break;

}

}

}

else

{

P1=0xf0; //平常也是中止的

}

}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/jishu/151149.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部