我的是5线4相28BYJ-48电机,5VDC,按照例程调试了电机,正转反转程序如下:用的ULN2003A驱动的,delay函数延时大约10us
下面是问题:
1、延时函数在相位转换间再低于75的时候电机就只振动不转了,是因为时间太短不足以让电机转动起来?
2、我调到最高速度(大约)时,步进电机转一周大约在3.5秒左右,只能这么慢吗?是有什么我不知道的方法?还是需要换更贵更好的电机?
3、我调试了电机转动配合蜂鸣器来模拟图片打印,400*200的图片灰度数据,打印一行要3分钟左右,这玩意如果做什么激光打印之类的东西是不是太扯淡了?
4、为什么KEIL5和论坛里面代码复制来去,中文注释出来都是乱码?????
char motor[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
void setmotor(unsigned long i)//顺时针转动一个周期,64周期为5.625度,64*64周期为360度一圈
{
while(--i)
{
P1=motor[i%8];
delay(85);
}
}
void setmotorN(unsigned long i)//逆时针转动一个周期,64周期为5.625度,64*64周期为360度一圈
{
while(--i)
{
P1=motor[7-i%8];
delay(80);
}
}
void delay(unsigned long us)
{
while(us--);
}
|