Неодновременное управление несколькими шаговыми двигателями

Я хочу управлять несколькими шаговыми двигателями один за другим и с разными скоростями/направлениями. Я использую драйвер ULN2003, а шаговый двигатель имеет 5 катушек.

Мой текущий код для управления одним двигателем:

#include <Stepper.h>

const int stepsPerRevolution = 500;  // изменить это, чтобы соответствовать количеству шагов за оборот
// для вашего мотора

// инициализируем библиотеку шаговых двигателей на контактах с 8 по 11:
Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);


void setup() {
  // устанавливаем скорость 60 об/мин:
  myStepper.setSpeed(50);
  // инициализируем последовательный порт:
  Serial.begin(9600);
}

void loop() {
  // делаем один оборот в одном направлении:
  Serial.println("clockwise");
  myStepper.step(stepsPerRevolution);

  // делаем один оборот в другом направлении:
  Serial.println("counterclockwise");
  myStepper.step(-stepsPerRevolution);
}

Как бы я определил каждый шаговый двигатель по-разному?

Извините, если я неправильно задал вопрос. Со временем постараюсь уточнить.

, 👍0

Обсуждение

Как насчет нескольких переменных типа Stepper, каждая из которых представляет один шаговый двигатель? Вы понимаете, как работает приведенный выше код?, @chrisl

@chrisl Да, я понимаю, как работает код. Я просто хочу знать, как управлять двумя разными шаговыми двигателями. Например, выше у нас есть шаговый двигатель, определяемый как myStepper... О, мне просто нужно заменить «myStepper» на «Stepper2»? Верно??, @12944qwerty

Точно. Каждая переменная шагового двигателя управляет одним двигателем. Это должно сработать., @chrisl

просто примечание: это «объект Stepper», а не переменная Stepper, @jsotola


1 ответ


1

Нравится @chris! предложено, вы можете включить две переменные Stepper. Таким образом, в строке, где вы инициализировали переменную, вместо этого вы могли бы указать:

Stepper steppermotor1(stepsPerRevolution, 8, 10, 9, 11);

Stepper steppermotor2(stepsPerRevolution, 4, 5, 6, 7);

а затем продолжите с кодом скорости, вращения и т. д. для каждого двигателя.

,

только что понял, что вы получили свой ответ после прочтения комментариев. Не беспокойся в таком случае. Спасибо :), @Danush