步进电机驱动器上的开关有D1、D2、D4-D6,其设置方法分别如下:
1、D1设置驱动程序发送脉冲的方式。 如果步进电机驱动器未发送脉冲来控制电机本身,则D1设置为OFF。 如果步进电机驱动器自身发出脉冲,则将D1设置为ON。
2、D2设置也是驱动程序发出脉冲的方式,但条件是D2设置仅在D1设置为OFF时才生效。
3、D4-D6设置步进电机的工作细分数,即步进电机旋转一圈所需的脉冲数。 细分越大,精度越高,但是产生误差越容易。
扩展资料:
步进电机驱动器的工作原理:
步进电机驱动器的原理由单极性直流电源供电。只要步进电动机的相绕组在适当的时机通电,步进电动机就可以逐步旋转。
步进电机不能直接连接到工频交流或直流电源,而必须使用特殊的驱动器。如图所示,它由脉冲发生控制单元,电源驱动单元和保护单元组成。驱动单元必须直接与驱动器耦合,并且也可以理解为微计算机控制器的电源接口。
工作频率由高压UH供电,以增加导电相绕组的电流前沿,并且在通过该前沿之后,使用低压UL来维持绕组的电流。这种效果还改善了驱动器的高频性能,并消除了对串联电阻Rs的需求,从而消除了额外的损耗。
内容:1、本程序用于测试4相步进电机常规驱动2、需要用跳帽或者杜邦线把信号输出端和对应的步进电机信号输入端连接起来
3、速度不可以调节的过快,不然就没有力矩转动了
4、按s4(设置成独立按键模式)可以控制正反转
------------------------------------------------*/
#include
bit Flag//定义正反转标志位
unsigned char code F_Rotation[4]={0xf1,0xf2,0xf4,0xf8}//正转表格
unsigned char code B_Rotation[4]={0xf8,0xf4,0xf2,0xf1}//反转表格
/******************************************************************/
/*延时函数*/
/******************************************************************/
void Delay(unsigned int i)//延时
{
while(--i)
}
/******************************************************************/
/* 主函数 */
/******************************************************************/
main()
{
unsigned char i
EX1=1//外部中断0开
IT1=1//边沿触发
EA=1 //全局中断开
while(!Flag)
{
P0=0x71//显示 F 标示正转
for(i=0i<4i++) //4相
{
P1=F_Rotation[i] //输出对应的相 可以自行换成反转表格
Delay(500) //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
}
while(Flag)
{
P0=0x7C//显示 b 标示反转
for(i=0i<4i++) //4相
{
P1=B_Rotation[i] //输出对应的相
Delay(500) //改变这个参数可以调整电机转速 ,数字越小,转速越大
}
}
}
/******************************************************************/
/* 中断入口函数 */
/******************************************************************/
void ISR_Key(void) interrupt 2 using 1
{
Delay(300)
Flag=!Flag//s3按下触发一次,标志位取反
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)