Шаг в два раза больше нужного

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем ledpinD9, 29 июн 2013.

  1. ledpinD9

    ledpinD9 Нерд

    Здравствуйте! Я столкнулся с проблемой, что мой шаговик (FL42STH25-0404) делает шаг в два раза больше нужно. Например, если необходимо повернуться на 90 градусов, поворот происходит на 180. Для того чтобы повернуться на 90, приходиться писать 45 градусов. В чем может быть дело?

    Имею:
    - Arduino Uno
    - Драйвер L293D
    - Шаговый двигатель FL42STH25-0404
    - Питание двигателя от кроны (9V)

    Код:
    Код (C):
    #include <Stepper.h>
    #define STEPS 200
    Stepper stepper(STEPS, 8, 9, 10, 11);
    void setup()
    {
      stepper.setSpeed(150);  
    }
    void loop()
    {
      stepper.step(90);
      delay(2000);  
      stepper.step(-90);
      delay(2000);
    }
    Вращение происходит на 180 градусов в одной сторону, а потом в другую, хотя должно на 90. Не могу понять, что сделал не так, вроде собрал все точно также как указано на официальном сайте Arduino.
    [​IMG]
     
  2. ledpinD9

    ledpinD9 Нерд

    Я сглупил, step - это не угол поворота, а количество шагов которое должен сделать двигатель. Так как шаг моего двигателя 1,8 градуса, то написав step(90), поворот происходит на 162 градуса (1,8 ∙ 90). Поправили меня тут.
     
    nailxx и Megakoteyka нравится это.