Периодическое дрожание сервопривода
Я управляю сервоприводом 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, но использует тот же источник питания. (извините, сейчас не рядом)
@DrBwts, 👍0
Обсуждение1 ответ
Лучший ответ:
Серводвигателю требуется большой ток.
У многих возникают проблемы при использовании серводвигателя. Иногда он работает несколько секунд, а затем начинает трястись, или немного двигается, а затем останавливается, или ничего не делает и издает небольшой щелчок.
Проблема в том, что серводвигателям требуется большой ток. Даже небольшим серводвигателям может потребоваться пиковый ток 0,5 А. Более крупным, мощным и быстрым серводвигателям легко может потребоваться пиковый ток в несколько ампер.
Чтобы найти максимальный ток серводвигателя, посмотрите на ток опрокидывания серводвигателя.
Когда сервопривод начинает вращаться, ему необходим кратковременный пиковый ток. Этот пиковый ток может быть близок к току срыва.
Не покупайте «сильный» и «быстрый» серводвигатель.
Это может показаться заманчивым, но лучше начать со скромного и робкого серводвигателя.
Серводвигатели оснащены двигателем постоянного тока с шестернями внутри. Из-за шестеренок он уже крепкий.
Используйте источник питания напряжением 5 В и силой тока, достаточным для обеспечения тока опрокидывания серводвигателя.
Используйте этот источник питания для питания серводвигателя (красный провод).
Подключите GND источника питания к GND серводвигателя (черный провод) и GND платы Arduino.
Вывод 5 В платы Arduino не может обеспечить достаточную мощность для серводвигателя.
Он есть в официальных примерах Arduino, но у многих возникают проблемы с недостаточной мощностью.
- 9 сервоприводов на Arduino Nano?
- Мигающий светодиод при движении сервопривода
- Параллельное сервоуправление?
- Не могу двигать сервопривод с моим Nano
- Сервопривод продолжает сбрасывать положение, когда нет разницы в полученном значении?
- Arduino Servo MG90S не двигается
- DS3218MG Сервопривод - не работает с блоком питания
- Как подключить Mg995 и Arduino Nano, если Nano может выводить только 40 мА максимум?
Мы видим это постоянно. Возможно не хватает мощности серводвигателю. Пожалуйста, обновите свой вопрос, покажите полный эскиз и расскажите, как соединены потенциометр и серводвигатель, или покажите схему., @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