步进电机的用法(步进电机使用注意事项小提示)
导读: 不同规格的步进电机要选择相应的驱动器,驱动器的相数、通电方式和电压、电流都满足步进电动机的需要。
注意事项小提示
1、不同规格的步进电机要选择相应的驱动器,驱动器的相数、通电方式和电压、电流都满足步进电动机的需要。步进电动机的驱动电源主要由脉冲发生器、脉冲分配器和脉冲放大器(也称功率放大器)三部分组成。单片机发送指令通过控制驱动器来控制步进电机。脉冲发生器是一个脉冲频率在几赫到几十千赫内可连续变化的脉冲信号发生器。脉冲分配器根据指令把脉冲按一定的逻辑关系加到各相绕组的功率放大器上,使电机按一定方式运行,实现正、反转和定位。
2、步进电机的控制方法,拿三相步进电机来说,不只只有三相三拍的方法。也可以用软件实现三相六拍的方式。三相六拍的方式较三相三拍的方式步距角小了一半。比如,三拍的步距角为30度,六拍的步距角就是15度。这种将步距角精度提高的手段叫做细分。
3、上面的代码所用指令是STC 89C52单片机,如需用其它芯片请另行更改。
实现代码
#include
#include
#define uc unsigned char
#define ui unsigned int
uc code zz[4]={0x01,0x02,0x04,0x08}; //正转表格,
uc code fz[4]={0x08,0x04,0x02,0x01}; //反转表格,
ui k,z,y;
void delay(ui z) //z毫秒
{
ui x,y;
for(x=z;x>0;x--)
for(y=125;y>0;y--);
}
/******正转*****************/
void zz() //相序为A->B->C
{
for(i=0;i<4;i )
{
P0=zz[i];
delay(100); //100ms转动一个步距角
}
}
/******反转*****************/
void fz() //相序为C->B->A
{
for(i=0;i<4;i )
{
P0=fz[i];
delay(100); //100ms转动一个步距角
}
}
void main() //正转5s,反转5s后停止。
{
while(1)
{
ZZ();
delay(5000);
fz();
delay(5000);
while(1);
}
}
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com