Серво не двигается

Я подключил свой сервомотор (MG996R) к моему моторному щиту L293D, который подключен к плате Arduino Uno R3.

Я использую 4x AA 1.2 V NiMH батареи для питания экрана, и обычный 9V аккумулятор для питания Arduino отдельно. Я снял перемычку на щите.

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

Есть ли хоть что-нибудь, что я мог бы увидеть, если мой сервомотор сломан ? Может быть, проводка не та, но я так не думаю. Оранжевый-сигнал, красный -+, коричневый-GND.

Может кто-нибудь помочь устранить проблему ? Спасибо!

PS : вот пример кода, который я использую

#include <Servo.h>

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

int pos = 0;    // переменная для хранения положения сервопривода

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

void loop() {
  for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // ждет 15 мс, пока сервопривод достигнет нужного положения
  }
  for (pos = 180; pos >= 0; pos -= 1) { // переходит от 180 градусов к 0 градусам
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // ждет 15 мс, пока сервопривод достигнет нужного положения
  }
}

, 👍1

Обсуждение

Вы сказали, что используете щит L293D. Что же тогда такое контакт 9? И почему ты пытаешься использовать<Servo.h>... Ваш код предназначен для работы с сервоприводами, подключенными непосредственно к Arduino. Он не будет работать с сервоприводами, прикрепленными к какому-то внешнему щиту. Предполагается, что ваш щит имеет свою собственную библиотеку/протокол для управления вещами, прикрепленными к нему., @AnT

Контакты 9 и 10 используются для управления серво - контактами на L293D. Я только что попытался подключить другой серводвигатель, и он отлично работает, когда я использую контакт 10, который совпадает с выводом "SERVO1" на L293D., @Riemann


1 ответ


1

У вас две проблемы Оба они связаны с вашим блоком питания :

  • 1-й, макс. Напряжение для вашего сервомотора составляет 6 вольт, а не 9 вольт

  • 2-й، ваши батареи слабее, чем нужно сервоприводу. Вашему сервомотору нужно 2,5 ампера. В макс. Крутящий момент.

Итак, перенапряжение и недостаточный ток-это ваша вина (Согласно схеме данных сервомотора 996Р). Измените свой источник питания на подходящий

,