Почему сервопривод вращается на 360 градусов?

Я решил опробовать сервопривод на Arduino. Я новичок в этом и не могу понять, почему это происходит. Мой сервопривод будет вращаться около 5 секунд в одном направлении, затем он будет вращаться в противоположном направлении менее секунды и сделает паузу примерно на 3 секунды. Это код, который я загрузил в свой Arduino:

# include <Servo.h>
const int servopin = 8;
Servo servo;

void setup() {
  Serial.begin(9600);
  servo.attach(servopin);
  servo.write(0);
}

void loop() {
  servo.write(0);
  delay(5000);
  servo.write(180);
  delay(5000);
}

Я полагаю, что это сервопривод Tower Pro Micro Servo 99 (может быть и 9) SG90.

, 👍-1

Обсуждение

Сервопривод любительского типа RC, который вращается более чем на полный оборот, представляет собой модель либо непрерывного вращения, либо, возможно, модель «парусной лебедки», а не обычную. Сервоприводы непрерывного вращения обычно изготавливаются из обычного сервопривода с удаленным потенциометром обратной связи и соответствующим стопором, поэтому их может быть трудно визуально отличить по чему-либо, кроме номера модели и поведения., @Chris Stratton

пауза примерно 3 секунды... и что потом?, @jsotola

вы пробовали только «0» и «180»? никаких экспериментов??, @jsotola

Сколько времени нужно, чтобы развернуться на 180 градусов?, @Nick Gammon


2 ответа


1

Я мог бы попробовать уменьшить диапазон, например, начать с 10 вместо 0 или закончить на 170 вместо 180. Вот пример:

# include <Servo.h>
const int servopin = 8;
Servo servo;

void setup() {
  Serial.begin(9600);
  servo.attach(servopin);
  servo.write(0);
}

void loop() {
  servo.write(10);
  delay(5000);
  servo.write(170);
  delay(5000);
}

Убедившись, что все работает, попробуйте поэкспериментировать с разными диапазонами, чтобы увидеть, как отреагирует ваш сервопривод.

Для меня начало с 7 вместо 0 помогло.

,

1

Когда я начал использовать свой серводвигатель SG90, я столкнулся с той же проблемой и, наконец, решил ее. Я использовал внешний источник питания для сервопривода и моего Arduino с USB-портом ноутбука, а управляющий сигнал от Arduino к серводвигателю заставил мой серводвигатель постоянно вращаться.

Убедитесь, что заземление источника питания серводвигателя и Arduino одинаковое.

,