Использовать библиотеку шаговых двигателей с драйвером A4988?

Я хочу использовать эту библиотеку: https://www.arduino.cc/en/Reference/Stepper

#include <Stepper.h>

Здесь показана проводка для моего драйвера:

https://www.pololu.com/product/1182

Из библиотеки я застрял на выводах двигателя:

#define motorSteps 200
#define motorPin1 2    // ШАГОВЫЙ вывод
#define motorPin2 3    // контакт DIR

Stepper myStepper(motorSteps, motorPin1, motorPin2);

Эта библиотека несовместима с этим драйвером шагового двигателя? Или что нужно определить, чтобы он работал?

Более подробную информацию о библиотеке можно найти здесь: http://www.tigoe.com/pcomp /код/схемы/двигатели/шаговые двигатели

Основной раздел моего кода, который работает без библиотеки, таков:

digitalWrite(stepPin, HIGH);
delay(wait);
digitalWrite(stepPin, LOW);
delay(wait);

Тем не менее, двухпроводная часть библиотеки использует MotorPin1 и MotorPin2 каким-то образом, которого я не понимаю:

switch (thisStep) {
  case 0:  // 01
    digitalWrite(motor_pin_1, LOW);
    digitalWrite(motor_pin_2, HIGH);
  break;
  case 1:  // 11
    digitalWrite(motor_pin_1, HIGH);
    digitalWrite(motor_pin_2, HIGH);
  break;
  case 2:  // 10
    digitalWrite(motor_pin_1, HIGH);
    digitalWrite(motor_pin_2, LOW);
  break;
  case 3:  // 00
    digitalWrite(motor_pin_1, LOW);
    digitalWrite(motor_pin_2, LOW);
  break;
}

https://github.com/arduino-libraries/Stepper/blob/master /src/Stepper.cpp

Как должны быть определены motorPin1 и motorPin2?

, 👍2


1 ответ


1

Эта библиотека несовместима с A4988. Он предназначен для выполнения той же работы, что и A4988. Вы указываете направление шага и инструкцию для шага, и он делает шаг за вас.

Чтобы использовать A4988, вы просто устанавливаете контакт HIGH или LOW для направления, а затем переключаете другой контакт, чтобы сделать его пошаговым. Для этого вам не нужна библиотека.

Однако, если вы хотите абстрагировать его с помощью библиотеки и добавить множество интересных дополнительных функций, вам следует обратить внимание на AccelStepper, который поддерживает двухпроводные драйверы, такие как A4988.

,