Не могу управлять сервоприводом

Я купил цифровой сервопривод DS3218MG массой 20 кг с углом управления 270° .

Я пытаюсь заставить его вращаться с помощью следующего кода:

#include <Servo.h>

Servo myservo;  // создаем объект сервопривода для управления сервоприводом

void setup() {
  myservo.attach(9);  // прикрепляет сервопривод к контакту 9 к сервообъекту
}

int restingVal = 0;
int keyDown = 80;

void loop() {
  int minutesDelay = 1;
  Serial.print("Value");
  Serial.println(restingVal);

  delay(10000/2);  

  myservo.write(keyDown);
  delay(500);
  myservo.write(restingVal);

}

Он издает небольшой щелкающий звук, но никогда не двигается. Я пробовал:

  • питание от Arduino с помощью USB-кабеля.
  • подключение с помощью шнура питания, подключенного к электрической розетке.
  • питание от 4 батареек типа АА в аккумуляторном блоке (питание от аккумуляторного блока к сервоприводу с заземлением на землю Arduino и подключение Arduino к розетке)
  • использовал конденсатор емкостью 470 мкФ, а затем попробовал конденсатор емкостью 680 мкФ.

Что я делаю не так? Есть ли что-нибудь еще, на что я мог бы посмотреть?

обновление: изменил код на:

#include <Servo.h>

Servo myservo;  // создаем объект сервопривода для управления сервоприводом

void setup() {
  myservo.attach(9);  // прикрепляет сервопривод к контакту 9 к сервообъекту
  myservo.write(60);
  delay(2000);
  myservo.write(120);
}

int restingVal = 0;
int keyDown = 80;

void loop() {

}

У меня та же проблема.

Шнур питания, который я использую для подключения Arduino, имеет напряжение 12 В постоянного тока, 1 А.

Вот фото проводки в одной конфигурации (с аккумулятором и розеткой):

Оранжевый провод идет к GND на Arduino, длинный зеленый — к ~9, желтый — к VCC на аккумуляторе.

, 👍1

Обсуждение

Для этого может потребоваться пиковый ток 1,8 А. Могут ли аккумуляторы это сделать? Попробуйте небольшой обычный серводвигатель., @Jot

Когда я заменяю его крошечным сервоприводом, он работает нормально., @davidhaskins

Вы должны предоставить схему. Из данного изображения неясно, @Pararera

Возможно, батареи слишком слабые, провода слишком тонкие, и макетная плата не выдерживает таких токов. Возможно, с блоком питания 5В 2А, с хорошими проводами и хорошими соединениями все заработает. Держите заземление подключенным. @SilvioCro, мне удалось проследить за проводами по фотографии, с проводкой все в порядке., @Jot

@Jot Посмотрите на оранжевый провод. Похоже, он подключен к рельсу GTND., @Pararera

@SilvioCro оба оранжевых провода являются проводами заземления. Они соединяют землю Arduino с землей аккумулятора и землей сервопривода., @Jot


2 ответа


Лучший ответ:

3

Серводвигатель DS3218MG является мощным серводвигателем и требует большего тока, чем обычные серводвигатели.

У обычного серводвигателя пиковый ток может составлять 500 мА или даже 1 А. Для этого DS3218MG указан где-то при токе срыва 1,8 А (всего 80-100 мА при нормальной работе). Однако в это видео на YouTube измерен ток опрокидывания 2,3 А.

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

Для этого серводвигателя необходим источник питания 5 В, 2,5 А, а также провода и разъемы, подходящие для этого тока.
Можно немного схитрить, добавив конденсатор. Я предлагаю 2200 мкФ или 4700 мкФ.

Распространенной ошибкой является недооценка тока серводвигателя. Блок питания зачастую дороже серводвигателя.
Если требуется большой крутящий момент, возможно, проще использовать мотор-редуктор.

,

2

Я предполагаю, что сервопривод потребляет слишком большой ток от контакта Arduino 5 В, который может обеспечить до ~ 450 мА при питании от USB и ~ 650 мА от разъема питания.

Попробуйте подать на сервопривод напряжение 5 В от другого источника, сохраняя при этом общий провод GND этого источника питания и Arduino.

,

Я предполагаю, что он использует энергию из двух разных источников., @Pararera

Это может быть очень простой вопрос, но какие еще источники доступны? Я добавил аккумуляторную батарею 4xAA для обеспечения выделенного питания сервопривода, надеясь, что это поможет. Я думал об использовании батареи на 9 В, но сервопривод говорит «4,8-6,8 В постоянного тока»., @davidhaskins