我想用ArduinoMega 2560(R3)控制24V NEMA23步进电机。
我正在使用ST-M5045驱动程序。Arduino步进库工作/ AccelStepper不工作
当我使用默认的Arduino步进库时,电机运行良好。
我正在使用引脚31的步骤和引脚30的方向。
我的代码如下所示:
#include
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
void setup() {
pinMode(30,OUTPUT);
pinMode(31,OUTPUT);
digitalWrite(30,LOW);
digitalWrite(31,LOW);
}
void loop() {
digitalWrite(31,HIGH);
digitalWrite(31,LOW);
}
现在,我想要操作使用AccelStepper相同的电机,但不能得到任何回应。
我的代码看起来谎言:
#include
AccelStepper stepper3(1, 31, 30);
void setup()
{
stepper3.setMaxSpeed(400.0);
stepper3.setAcceleration(100.0);
stepper3.moveTo(100000);
}
void loop()
{
stepper3.run();
}
为什么这是行不通的任何想法? 我已经尝试了几个变化,没有运气。
在此先感谢您的帮助。
问候, 詹姆斯
+1
你试过[恒速示例](http://www.airspayce。 com/mikem/arduino/AccelStepper/ConstantSpeed_8pde-example.html)的库?当然你应该使用你的步进驱动器的定义.. –
+0
我也试过,以及包括变体,我把1,2和4作为AccelStepper定义的第一个参数。 –
+0
呃,不,如果你有一个带有“STEP”和“DIR”输入的步进驱动器,'AccelStepper stepper3(1,31,30);应该保持这种方式......所以它适用于你的原始代码,但不适用于这个例子?你让它跑了很多时间吗?因为你的电机似乎很慢(在你的代码中你每秒发送大约1M步),所以也许它只是慢慢地移动...... –