Сервопривод поворачивается на 270 градусов, когда он должен быть на 180 градусов - PullRequest
0 голосов
/ 15 января 2019

У меня сервомотор 270 градусов (LD-3015MG) подключен к Arduino. У меня проблема в том, что угол, на который я его установил, не соответствует фактическому углу, к которому он фактически идет.

Вот код Arduino:

#include <Servo.h>

Servo myservo;  // create servo object to control a servo
void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  myservo.write(180);
}
void loop() {
}

Сначала я установил бы его на 0 градусов, затем я бы установил что-то вроде 180 градусов. Но я отчетливо вижу, что сервопривод повернулся примерно до 270.

Что вызывает это? Библиотека Arduino посылает неправильные сигналы ШИМ для этого типа сервоприводов? Не хватает ли мощности на сервопривод? Есть ли способ откалибровать серводвигатель?

Сервопривод на картинке не совсем та же модель, что и у меня:

1 Ответ

0 голосов
/ 15 января 2019

Функция библиотеки write обрабатывает только ввод от 0 до 180, что означает, что при серво 270 градусов, 180 градусов представляет максимальное значение. Я бы порекомендовал переключиться на использование функции writeMicroseconds, так как более понятно, с каким значением вы работаете.

write(120) должен производить близко к углу 180 градусов.

...