Периодическое дрожание сервопривода

Я управляю сервоприводом Hitech HS-625MG со слайдера 10k через Nano. Некоторое время движение отслеживает положение ползунка, даже если его перемещать быстро.

Затем, по какой-то причине, которую я не могу найти, он перестанет плавно следовать & двигайтесь только нервными шагами и затем снова двигайтесь, как ожидалось!

Код вырезан и amp; вставьте из примера pot-servo..

#include <Servo.h>

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

int potpin_1 = A0;  // аналоговый вывод, используемый для подключения потенциометра

int val_1;    // переменная для чтения значения с аналогового вывода

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

void loop() {
  val_1 = analogRead(potpin_1);             // считывает значение потенциометра (значение от 0 до 1023)

  val_1 = map(val_1, 0, 1023, 0, 180);      // масштабируем его для использования с сервоприводом (значение от 0 до 180)

  myservo_1.write(val_1);                   // устанавливает положение сервопривода в соответствии с масштабированным значением

  delay(15);                                // ждет, пока серво доберется туда
                                            // пробовал значения от 5 до 25, такое же поведение
}

Видео о поведении на YouTube

Кто-нибудь видел подобное раньше?

РЕДАКТИРОВАТЬ: Это полный список кода & вот принципиальная схема, такая же, как пример ручки на странице примеров сервоприводов, за исключением того, что сервопривод не питается от Nano, но использует тот же источник питания. (извините, сейчас не рядом)

, 👍0

Обсуждение

Мы видим это постоянно. Возможно не хватает мощности серводвигателю. Пожалуйста, обновите свой вопрос, покажите полный эскиз и расскажите, как соединены потенциометр и серводвигатель, или покажите схему., @Jot

@Jot отредактировал ОП. Поможет ли крышка на дворнике и земле?, @DrBwts

Если вы находитесь между работой и неработоспособностью, то конденсатор может помочь. Я предпочитаю устранить причину. Это не полный эскиз, в функции цикла отсутствует «}» в конце. Вы подключили землю Arduino к земле источника питания? Что это за источник питания? 5в 1а ? Подскажите пожалуйста, что это за серводвигатель, можно еще и ссылку на него дать? Примерно неделю назад у кого-то был серводвигатель, который мог запросить более 2А, но он не работал, и небольшой серводвигатель был в порядке., @Jot

отредактировал код. Arduino, стеклоочиститель и сервопривод (hitec HAS625MG) используют одни и те же шины питания, V+ = 12 В., @DrBwts

Это не серводвигатель на 12 В. Этому серводвигателю требуется напряжение от 4,8 до 6 В, как и большинству серводвигателей. Этот серводвигатель быстрый и мощный, а его ток при остановке составляет 2,5 А, согласно этому: https://hitecrcd.com/products/servos/sport-servos/analog-sport-servos/hs-625mg/product, для этого вам нужно блок питания 5в 2,5а для серводвигателя. Это действительно проблема власти, которую мы видим постоянно., @Jot

Я чувствую себя идиотом, спасибо, теперь все работает. Возможно, стоит записать это как правильный ответ и использовать его в качестве справочного сообщения, когда об этой проблеме снова спросят?, @DrBwts


1 ответ


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

1

Серводвигателю требуется большой ток.

У многих возникают проблемы при использовании серводвигателя. Иногда он работает несколько секунд, а затем начинает трястись, или немного двигается, а затем останавливается, или ничего не делает и издает небольшой щелчок.

Проблема в том, что серводвигателям требуется большой ток. Даже небольшим серводвигателям может потребоваться пиковый ток 0,5 А. Более крупным, мощным и быстрым серводвигателям легко может потребоваться пиковый ток в несколько ампер.

Чтобы найти максимальный ток серводвигателя, посмотрите на ток опрокидывания серводвигателя.
Когда сервопривод начинает вращаться, ему необходим кратковременный пиковый ток. Этот пиковый ток может быть близок к току срыва.

Не покупайте «сильный» и «быстрый» серводвигатель.
Это может показаться заманчивым, но лучше начать со скромного и робкого серводвигателя.
Серводвигатели оснащены двигателем постоянного тока с шестернями внутри. Из-за шестеренок он уже крепкий.

Используйте источник питания напряжением 5 В и силой тока, достаточным для обеспечения тока опрокидывания серводвигателя.
Используйте этот источник питания для питания серводвигателя (красный провод).
Подключите GND источника питания к GND серводвигателя (черный провод) и GND платы Arduino.

Вывод 5 В платы Arduino не может обеспечить достаточную мощность для серводвигателя.
Он есть в официальных примерах Arduino, но у многих возникают проблемы с недостаточной мощностью.

,