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

ledpinD9
ledpinD9 аватар
Offline
Зарегистрирован: 19.06.2013

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

Имею:
- Arduino Uno
- Драйвер L293D
- Шаговый двигатель FL42STH25-0404 (http://motioncontrolproducts.co.uk/motionnews/wp-content/uploads/2012/05/FL42STH-stepper-motor.pdf)
- Питание двигателя от кроны (9V)

Код:



#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.

Клапауций
Offline
Зарегистрирован: 10.02.2013

ledpinD9 пишет:
необходимо повернуться на 90 градусов, поворот происходит на 180. Для того чтобы повернуться на 90, приходиться писать 45 градусов. В чем может быть дело?

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

Если нет или не хочется заморачиваться, то введите поправочный коэффициент в 

stepper.step(a);

пишите так 

stepper.step(a/2);

где "a" - угол поворота.

Предварительно протестировав корректную работу при a = 1 и a = 360.

...так думаю.

maksim
Offline
Зарегистрирован: 12.02.2012

ledpinD9 пишет:

Вращение происходит на 180 градусов в одной сторону, а потом в другую, хотя должно на 90.

С чего бы это вдруг? Как переводится слово step знаете? Так а с чего тогда stepper.step(90); должна задавать угол ,если она задает количество шагов?

В вашем случеа шаг 1.8 градуса умножаем на 90 получаем 162 градуса.

Клапауций
Offline
Зарегистрирован: 10.02.2013

Ага... всё даже проще, чем кажется.

ledpinD9
ledpinD9 аватар
Offline
Зарегистрирован: 19.06.2013

maksim, спасибо, действительно все элементарно!