Arduino 5V步进电机移动极慢
我有一个步进电机5V 4相5线和一个驱动板 不幸的是,我没有原理图,在互联网上的任何地方都找不到驱动板的原理图。无论如何,我连接了所有的东西,就像它应该连接的那样,并在下面的代码中打孔,它工作正常,但是它以大约20转/分的速度旋转,速度非常慢 我不能再减少延迟微秒的时间,因为如果我这样做,马达就会停止旋转,开始大声振动。请帮忙,我被卡住了: 端口8连接到驱动程序上的IN1,端口9位于IN2,端口10位于IN2 在IN3中,端口11在IN4中Arduino 5V步进电机移动极慢,arduino,arduino-uno,motordriver,Arduino,Arduino Uno,Motordriver,我有一个步进电机5V 4相5线和一个驱动板 不幸的是,我没有原理图,在互联网上的任何地方都找不到驱动板的原理图。无论如何,我连接了所有的东西,就像它应该连接的那样,并在下面的代码中打孔,它工作正常,但是它以大约20转/分的速度旋转,速度非常慢 我不能再减少延迟微秒的时间,因为如果我这样做,马达就会停止旋转,开始大声振动。请帮忙,我被卡住了: 端口8连接到驱动程序上的IN1,端口9位于IN2,端口10位于IN2 在IN3中,端口11在IN4中 我还不熟悉Arduino和步进电机,所以有什么可以帮助
我还不熟悉Arduino和步进电机,所以有什么可以帮助我的。你能发布你的电机的图片吗?我刚刚找到了这个教程。我不知道这是否对你有帮助。不管怎样,我的建议是尝试一个示例代码,在google your motor上有很多示例查找
int Pin0 = 8;
int Pin1 = 9;
int Pin2 = 10;
int Pin3 = 11;
int _step = 0;
boolean dir = true;// gre
void setup()
{
pinMode(Pin0, OUTPUT);
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
}
void loop()
{
switch(_step){
case 0:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, HIGH);
break;
case 1:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, HIGH);
break;
case 2:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, LOW);
break;
case 3:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, LOW);
break;
case 4:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
break;
case 5:
digitalWrite(Pin0, HIGH);
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
break;
case 6:
digitalWrite(Pin0, HIGH);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
break;
case 7:
digitalWrite(Pin0, HIGH);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, HIGH);
break;
default:
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
break;
}
if(dir){
_step++;
}else{
_step--;
}
if(_step>7){
_step=0;
}
if(_step<0){
_step=7;
}
delayMicroseconds(800);
}