Управление шаговым

Тема в разделе "Arduino & Shields", создана пользователем Михаил123, 27 июл 2021.

  1. использую
    AccelStepper
    делаю так:
    Код (C++):
    #include <AccelStepper.h>
    #define motorInterfaceType 1
    AccelStepper myStepper(motorInterfaceType, 5, 4);
    int cSpeed = 40;
    void setup()
    {  myStepper.setMaxSpeed(1000);
        myStepper.setAcceleration(100);
        myStepper.move(500);
        myStepper.setSpeed(cSpeed);

      myStepper.runSpeed();
    }
    loop
    {
          myStepper.runSpeed();
         
    if (digitalRead(kn3) == HIGH)
      {
          if (cSpeed < mSpeed && (cTime + 250 < millis()))
          {
            cSpeed = cSpeed + 5;
            cTime = millis();
            myStepper.setSpeed(cSpeed);
            //delay(50);
            myStepper.runSpeed();
          }
      }
      if (digitalRead(kn2) == HIGH )
      {
          if (cSpeed > 0 && (cTime + 250 < millis()))
          {
            cSpeed = cSpeed - 5;
            cTime = millis();
            myStepper.setSpeed(cSpeed);
            //delay(50);
            myStepper.runSpeed();
          }
      }    
    }
    [/QUOTE]

    проблема в том, что движок крутится медленно.
    при установке скорости в ноль - останавливается. при увеличении скорости - вроде, прибавляет, но не быстро.
    как регулировать кручение шагового?
     
  2. dmitron1036

    dmitron1036 Гик

    Разгон шагового двигателя погуглите.
    Момент инерции и прочие сложности.
    Потом расскажете.
     
  3. parovoZZ

    parovoZZ Гуру

    Медленно - это что?
    А сколько надо? 6000об/мин? Так шаговики на это не рассчитаны.
     
  4. возвращаясь к данной теме есть вопрос
    вовремя задания изменившейся скорости двигателю, двигатель делает микроостановку и начинает крутиться с новой заданной скоростью.
    Как сделать, что бы никаких пауз не было при изменении скорости?
     
  5. parovoZZ

    parovoZZ Гуру

    задача решена более 200-от лет назад - маховик.
     
  6. как всегда - ответ гениален.
    сообщение засчитано. Теперь понятно, почему форум так тормозит - гении строчат
     
  7. parovoZZ

    parovoZZ Гуру

    ну если бы ты сам писал код и использовал для шаговиков таймеры, то отлично бы знал, в каком месте искать ошибку. А так как ты используешь библиотеку и понятия не имеешь, как оно устроено внутри, то и решение не всегда лежит на поверхности.
     
  8. логично все. Но от того и спрашиваю у знатоков, что могут посоветовать, куда ломиться?
     
  9. Рокки1945

    Рокки1945 Гуру

    надо разобраться что такое шаговый - какой градус на один шаг - биполярный или униполярный - это же круто
     
  10. Onkel

    Onkel Гуру

    Ускорение побольше поставьте.