Шаговые двигатели step/dir

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Azret, 3 мар 2017.

  1. Azret

    Azret Нуб

    Здравствуйте! Не знаю, была ли такая тема ранее, но вроде не нашел. Если была, заранее извиняюсь!

    В общем, подключил шаговый двигатель через драйвер типа step/dir к Arduino Uno. Работает нормально.
    скетч прилагаю.

    #include <Stepper.h>

    const int IN5 = 2;
    const int IN6 = 3;
    const int IN7 = 4;
    const int IN8 = 5;

    const int stepsPerRevolution1 = 200; // шагов за один оборот

    Stepper myStepper1(stepsPerRevolution1, IN5, IN6, IN7, IN8);

    void setup()
    {
    myStepper1.setSpeed(1000); // скорость об/минуту
    }
    void loop()
    {
    myStepper1.step(stepsPerRevolution1); // шаг в одном направлении

    }


    Как только подключаю второй ШД, начинаются рывки на двух двигателях.

    #include <Stepper.h>

    const int IN1 = 2;
    const int IN2 = 3;
    const int IN3 = 4;
    const int IN4 = 5;

    const int IN5 = 8;
    const int IN6 = 9;
    const int IN7 = 10;
    const int IN8 = 11;

    const int stepsPerRevolution1 = 200; // шагов за один оборот
    const int stepsPerRevolution2 = 200; // шагов за один оборот


    Stepper myStepper1(stepsPerRevolution1, IN1, IN2, IN3, IN4);
    Stepper myStepper2(stepsPerRevolution2, IN5, IN6, IN7, IN8);

    void setup() {
    myStepper1.setSpeed(1000); // скорость об/минуту
    myStepper2.setSpeed(1000); // скорость об/минуту
    }

    void loop()
    {
    myStepper1.step(stepsPerRevolution1); // шаг в одном направлении

    {
    myStepper2.step(-stepsPerRevolution2); // шаг в одном направлении
    }
    }
     
    Последнее редактирование: 3 мар 2017
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    [​IMG]
     
  3. vvr

    vvr Инженерище

    библиотека AccelStepper
    там есть пример работы двух шаговиков
     
  4. Azret

    Azret Нуб

    а библиотека Stepper.h не поддерживает работу двух шаговиков?
     
  5. Azret

    Azret Нуб

    На мой взгляд, библиотека Stepper может быть использована только для демонстрации и проверки работы двигателей. В практических приложениях применение этой библиотеки крайне ограничено из-за ряда недостатков:

    • при управлении двигателем функции Stepper подвешивают программу, забирают все вычислительные ресурсы микроконтроллера;
    • в один момент времени может работать только один двигатель;
    • не поддерживаются все основные режимы коммутации обмоток;
    • ограничены функциональные возможности.