Ви не увійшли.
И здрасьте всем, не бейте новичка.
Пытаюсь разобраться в библиотеке AccelStepper, гоняю разные режимы и в простейшем примере уткнулся в стену.
Движок подключен через А4988. Полярность правильная.
Вот это работает, как надо:
#include <AccelStepper.h>
const int pinE = A2;
const int pinS = A6;
const int pinD = A7;
AccelStepper Stepper1(1, pinS, pinD);
int dir = 1;
void setup() {
Stepper1.setMaxSpeed(2000);
Stepper1.setAcceleration(15000);
}
void loop() {
if (Stepper1.distanceToGo() == 0) {
Stepper1.move(20000 * dir);
dir = dir * (-1);
delay(1000);
}
Stepper1.run();
}
А вот это в упор не запускается (простое вращение):
#include <AccelStepper.h>
const int pinE = A2;
const int pinS = A6;
const int pinD = A7;
AccelStepper Stepper1(1, pinS, pinD);
void setup()
{
Stepper1.setMaxSpeed(1500);
Stepper1.setAcceleration(1000);
Stepper1.setSpeed(1500);
}
void loop()
{
Stepper1.runSpeed();
//Stepper1.run(); тоже не крутит
}
Чего только не тыкал. Stepper1.speed() возвращает 1500, а мотор даже не гудит. Есть подозрение, что упускаю какую-то мелочь, а понять не могу. Подскажите, что это может быть?
Неактивний
И здрасьте всем, не бейте новичка.
Пытаюсь разобраться в библиотеке AccelStepper, гоняю разные режимы и в простейшем примере уткнулся в стену.
Движок подключен через А4988. Полярность правильная.
...
Чего только не тыкал. Stepper1.speed() возвращает 1500, а мотор даже не гудит. Есть подозрение, что упускаю какую-то мелочь, а понять не могу. Подскажите, что это может быть?
Вместо гоняния режимов и научного тыка лучше глубже изучите документацию. https://github.com/adafruit/AccelStepper/tree/master/doc Это эффективнее.
Вместо гоняния режимов и научного тыка лучше глубже изучите документацию. https://github.com/adafruit/AccelStepper/tree/master/doc Это эффективнее.
Спасибо,уже третий день изучаю. Уже на русский перевел. По мануалам и гоняю, разбираюсь. Но вот простейший пример - вращение с постоянной скоростью - не стартует.
Неактивний
Спасибо,уже третий день изучаю. Уже на русский перевел. По мануалам и гоняю, разбираюсь. Но вот простейший пример - вращение с постоянной скоростью - не стартует.
Попробуйте:
loop()
{
if (you_stepper.run()) you_stepper.move(YOU_STEP_LENGTH)
}
Если не будет паразитного реверса, из за знаковых переменных, то вам повезло. Это одномерный линейный интерполятор, не предназначенный для бескнечных операций вращения, а только для позиционирования.