
单片机与步进电机驱动的问题
我用的单片机是52rc的,电机驱动是买来的步进电机驱动http://item.taobao.com/item.htm?id=3948630394然后我写了个很简单的程序实...
我用的单片机是52rc的,电机驱动是买来的步进电机驱动http://item.taobao.com/item.htm?id=3948630394
然后我写了个很简单的程序实验,令p1的1234口分别为0101,然后接到驱动电路的A1,A2,B1,B2,可接上后发现电机不动,用电表一测发现p1的1234口都变成高电平了。然后我不连接驱动再测1234口的电平,发现又变回0101了。也就是说接了驱动后,原本单片机四个口为0101的接了驱动后就变成1111了,想请教下各位这是啥问题啊,想了好几天都没能解决。 展开
然后我写了个很简单的程序实验,令p1的1234口分别为0101,然后接到驱动电路的A1,A2,B1,B2,可接上后发现电机不动,用电表一测发现p1的1234口都变成高电平了。然后我不连接驱动再测1234口的电平,发现又变回0101了。也就是说接了驱动后,原本单片机四个口为0101的接了驱动后就变成1111了,想请教下各位这是啥问题啊,想了好几天都没能解决。 展开
展开全部
用这个程序再试试
#include <reg52.h>
unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10};//正转表格
unsigned char code B_Rotation[4]={0x10,0x08,0x040,0x02};//反转表格
void Delay(unsigned int i)//延时
{
while(--i);
}
main()
{
unsigned char i;
while(1)
{
for(i=0;i<4;i++) //4相
{
P1=F_Rotation[i]; //输出对应的相 可以自行换成反转表格
Delay(500); //改变这个参数可以调整电机转速
}
}
}
#include <reg52.h>
unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10};//正转表格
unsigned char code B_Rotation[4]={0x10,0x08,0x040,0x02};//反转表格
void Delay(unsigned int i)//延时
{
while(--i);
}
main()
{
unsigned char i;
while(1)
{
for(i=0;i<4;i++) //4相
{
P1=F_Rotation[i]; //输出对应的相 可以自行换成反转表格
Delay(500); //改变这个参数可以调整电机转速
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
LZ我记得这个是L297-L298联合的驱动板 用的时候直接将引脚接入驱动板对应的口中,然后你要设置的是CLK CW HF EN 这几个值。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
A1,A2,B1,B2的值是从0001到0004,没有0101这个值,是无效值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用达林顿组合阵列 ULN2003等
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询