如何控制步进电机旋转规定角度 51单片机

我proteus仿真一个脉冲就转动了45度怎么改
void main()
{
maichong = 10;
while(maichong>0)
{ in1=0;in2=0;in3=1;in4=0;//1
Delay(5000);
in1=0;in2=1;in3=0;in4=0; //2
Delay(5000);
in1=0;in2=0;in3=0;in4=1; //3
Delay(5000);
in1=1;in2=0;in3=0;in4=0; //4
Delay(5000);
maichong--;
}
in1=0;in2=0;in3=0;in4=0;
} 我proteus仿真看电平一次45度

第1个回答  2013-01-17
这个你要看你具体使用的单片机资料.
不过通用性一点的讲,所有的步进电机控制角度,都是取决于驱动步进电机的PWM的占空比,
不同的占空比,转角不同
而步进电机的角速度,则是由PWM的频率控制.

但是具体的数据,与具体的步进电机有关.追问

我proteus仿真一个脉冲就转动了45度怎么改
void main()
{
maichong = 10;
while(maichong>0)
{ in1=0;in2=0;in3=1;in4=0;//1
Delay(5000);
in1=0;in2=1;in3=0;in4=0; //2
Delay(5000);
in1=0;in2=0;in3=0;in4=1; //3
Delay(5000);
in1=1;in2=0;in3=0;in4=0; //4
Delay(5000);
maichong--;
}
in1=0;in2=0;in3=0;in4=0;
} 我proteus仿真看电平一次45度

追答

抱歉抱歉,我上面的回答是错误的,我记忆成了混合电机.
步进电机是这样的,每个步进电机都有一个出厂就固定的几个参数:
1 步进角:
2 相数:
3 转矩

其中步进角是固定的,是指每一次脉冲能前进多少步

因此,你每发一次脉冲,按照一个固定的角度前进,这是步进电机的基本步骤.
举例:步进电机的步进角是 5度,你要转45度,就要发 9个脉冲,如果你想快点转完这45度,
脉冲频率就要快,要慢慢转完45度,这9个脉冲频率就放慢点.

不过一般,每个厂家对驱动的步进电机的脉冲占空比有一定的要求而已.

本回答被提问者采纳
第2个回答  2013-01-17
如果知道步进角,电机旋转规定角度/步进角=步数
步数就是需要转动的步数
相似回答