首页>问题汇总>电机调速与正反转-王进劲
王进劲-电机调速与正反转

实现正转反转调速控制转动圈数?

调速很简单,改变延时时间就好了!这个电机是4相八拍的,步距角为5.625°,每八个脉冲就转动8乘以5.625°,即45度,转一圈需要8乘以8=64个脉冲,而步进电机又是一个减速步进电机,减速比为1/64,所以我们看到的电机外面的轴转一圈,需要里面的轴转动64圈,即最终需要64乘以64=4096个脉冲,我们看到的电机轴就会刚好转过1圈。




相关代码如下:

if(z==1)
{ uint bb;
bb=mm1/m;
for(k=0;k<bb;k++)
{
for (i=0;i<64;i++)
{
for (j=0;j<8;j++)
{
zhengzhuan(s);
}
}
}
z=0;
f=1;
}
if(f==1)
{
uint cc;
cc=mm1/m;
for(k=0;k<cc;k++)
{
for (i=0;i<64;i++)
{
for (j=0;j<8;j++)
{
fanzhuan(s);
}
}
}
z=0;
f=0;
}

z==1可以正转,f==1可以反转。

/** 电机正转程序**/
void zhengzhuan(uint s)
{ uint i = 0;
for(i=0;i<8;i++)
{
PORTA = zheng[i];
delay_ms(s);
}
}
/**电机反转程序**/
void fanzhuan(uint s)
{ uint i = 0;
for(i=0;i<8;i++)
{
PORTA = fan[i];
delay_ms(s);
}
}


Copyright © 2019 作者:张泽zzhang1@gzu.edu.cn. 大学教师. 网站备案号:黔ICP备18012493号