51单片机的步进电机控制,正转反转等-凯发旗舰

×
嵌入式 > 嵌入式开发 > 详情

51单片机的步进电机控制,正转反转等

发布时间:2024-08-16 发布时间:
|

步进电机应用广泛,

 

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

一些概念:

拍数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;***;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;***;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; //平时也是停止的

}

}

}



『本文转载自网络,凯发旗舰的版权归原作者所有,如有侵权请联系删除』

热门文章 更多
74ls164功能及工作原理
网站地图