Tower Pro MG996R сервопривод с высоким крутящим моментом 180 °, управляющий с помощью Arduino
Мы пытаемся управлять манипулятором с помощью сервопривода Tower Pro MG 996R 180° с высоким крутящим моментом.
Сначала мы попытались запитать сервопривод от Arduino по умолчанию 5В, но это не сработало, затем мы запитали его от внешнего источника, сервопривод заработал, но только в одном направлении. Потом перестал вращаться. Мы использовали код развертки из примеров Arduino для тестирования двигателя.
Вот код:
#include <Servo.h>
Servo myservo; // создаем сервообъект для управления сервоприводом
// на большинстве плат можно создать двенадцать сервообъектов
int pos = 0; // переменная для хранения положения сервопривода
void setup() {
myservo.attach(9); // присоединяем сервопривод к контакту 9 к объекту сервопривода
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // переход от 0 градусов к 180 градусам
// с шагом в 1 градус
myservo.write(pos); // сообщаем сервоприводу перейти в позицию в переменной 'pos'
delay(15); // ждем 15 мс, пока сервопривод не достигнет позиции
}
for (pos = 180; pos >= 0; pos -= 1) { // переход от 180 градусов к 0 градусам
myservo.write(pos); // сообщаем сервоприводу перейти в позицию в переменной 'pos'
delay(15); // ждем 15 мс, пока сервопривод не достигнет позиции
}
}
Кто-нибудь может указать, что мы делаем неправильно и как это сделать правильно.
2 ответа
Лучший ответ:
5 В Arduino вряд ли хватит для управления сервоприводами. Я обнаружил, что даже простой микросервопривод 9 г потребляет более 1 А, что приводит к перезагрузке платы.
- Запитайте сервопривод от внешнего аккумуляторного блока (например, 3xAA или 4xAA батареи);
- Убедитесь, что GND аккумуляторной батареи подключен к GND сервопривода, а также к GND Arduino;
- Таким образом, у вас будет два провода между Arduino и двигателем: GND и управляющий сигнал.
Это должно работать, сервоприводы довольно стандартны. Однако есть много жалоб на этот конкретный тип по этой ссылке Towerpro MG996R 10kg Servo 10kg/0.20 сек / 55г.
У них есть этикетка с надписью "towardpro"? Возможно подделка, нужно срочно вернуть в магазин., @Paul
@Gee Bee, мы сделали именно это, за исключением того, что вместо аккумуляторной батареи мы использовали внешний источник питания постоянного тока 5 В. основания подключены, как вы описали, но он по-прежнему вращается в одном направлении и перестает вращаться под определенным углом. однако я чувствую, что двигатель работает, но вал не вращается... есть предложения?? at_Paul... это "towerpro**", так что я думаю, что это не подделка...., @Sashanka Kumar Pramanik
Можете ли вы попробовать управлять сервоприводом простой стандартной модели? Это исключит любые проблемы с программным обеспечением и соединениями. Я обнаружил, что даже микро-сервоприводы при запуске потребляют 1,5 А, поэтому вам нужен очень хороший источник питания 5 В. Блок питания от ПК подойдет, а зарядное устройство USB — нет. Хотя это звучит глупо, попробуйте батарейки типа АА. Они обеспечивают гораздо лучшие переходные характеристики, чем стандартные блоки питания. У меня был проект, где меня сводили с ума аномалии сервоприводов — все из-за сбоев питания., @Gee Bee
Большое спасибо, братан... ты спасаешь жизнь :D :D ... на этот раз мы питали сервопривод напрямую от USB компьютера, а не от внешнего источника питания... и это РАБОТАЛО :D очень ценю твою помощь... и Усвоенный урок... власть может быть жестоко нелепой., @Sashanka Kumar Pramanik
Хорошо, что это сработало. Обратите внимание, что USB-порт компьютера слишком слаб для питания сервопривода, иногда мне удавалось активировать защиту ПК от короткого замыкания только потому, что внезапное энергопотребление сервопривода может быть огромным. Вы можете немного улучшить ситуацию, подключив электролитический конденсатор 1000 мкФ/10 В к контактам питания разъема сервопривода, но я советую использовать специальный источник питания или хорошую батарею с небольшим внутренним сопротивлением., @Gee Bee
Si no me quivoco tiene 64 pasos. El servo no deberia ir de grado en gradosino por c/u de los 64 pasos. 180 град / 6r es 3 grado x cada cambio de paso шаг за шагом. ? Атте.
Если не ошибаюсь в 64 шага. Сервопривод не должен переходить из разряда в разряд, а по c/u из 64 ступеней. 180 градусов / 6r - это 3 градуса x каждый шаг шаг за шагом. ? Атте.
- Плавное сервомоторное движение роботизированной руки: постоянный ответ и решение
- Как изменить скорость нескольких сервоприводов, работающих одновременно с модулем PCA9685?
- Питание нескольких сервоприводов от одной батареи. Чего не хватает в схеме?
- LM7805 сильно нагревается с четырьмя серводвигателями
- Запускаю робота с двумя передними датчиками, но он тормозит
- Как заставить сервопривод вращаться на угол больше 180°
- Пповорот сервопривода на 90 градусов
- Как синхронно управлять двумя сервоприводами?
Покажите, как вы подключили сервопривод к Arduino. Вы не забыли подключить землю от сервопривода к земле Arduino?, @JRE