我想用ArduinoMega 2560(R3)控制24V NEMA23步進電機。
我正在使用ST-M5045驅動程序。Arduino步進庫工作/ AccelStepper不工作
當我使用默認的Arduino步進庫時,電機運行良好。
我正在使用引腳31的步驟和引腳30的方向。
我的代碼如下所示:
#include <Stepper.h>
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.h>
AccelStepper stepper3(1, 31, 30);
void setup()
{
stepper3.setMaxSpeed(400.0);
stepper3.setAcceleration(100.0);
stepper3.moveTo(100000);
}
void loop()
{
stepper3.run();
}
爲什麼這是行不通的任何想法? 我已經嘗試了幾個變化,沒有運氣。
在此先感謝您的幫助。
問候, 詹姆斯
你試過[恆速示例](http://www.airspayce。 com/mikem/arduino/AccelStepper/ConstantSpeed_8pde-example.html)的庫?當然你應該使用你的步進驅動器的定義.. – frarugi87
我也試過,以及包括變體,我把1,2和4作爲AccelStepper定義的第一個參數。 – user1805103
呃,不,如果你有一個帶有「STEP」和「DIR」輸入的步進驅動器,'AccelStepper stepper3(1,31,30);應該保持這種方式......所以它適用於你的原始代碼,但不適用於這個例子?你讓它跑了很多時間嗎?因爲你的電機似乎很慢(在你的代碼中你每秒發送大約1M步),所以也許它只是慢慢地移動...... – frarugi87