accelstepper 获取方向_Arduino步进库工作/ AccelStepper不工作

在尝试使用Arduino Mega 2560 (R3)和ST-M5045驱动器控制24V NEMA23步进电机时,用户发现默认的Arduino步进库工作正常,但AccelStepper库无法使电机响应。代码示例显示了两种不同的尝试,包括设置最大速度和加速度,以及移动到特定位置,但都没有成功。社区建议尝试库的恒速示例,并检查电机是否可能以非常慢的速度移动。
摘要由CSDN通过智能技术生成

我想用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步),所以也许它只是慢慢地移动...... –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值