Arduino Servo MG90S не двигается

Я новичок в Arduino (nano). У меня проблемы с сервоприводом MG90S, я не могу заставить его двигаться. Я провожу самый простой тест: подключены сервокабели:

Коричневый -> земля
Красный -> 5в
Оранжевый -> контакт 9

мой код Arduino:

#include <Servo.h>
Servo servo;

const int servoPin = 9;

void setup()
{
  servo.attach(servoPin);
  Serial.begin(9600);
}

void loop()
{ 
  servo.write(40);
  delay(2000);
  servo.write(0);
  delay(2000);
}

Как видите, это очень простой пример, но в результате сервопривод слегка вибрирует.

Дополнительные данные: сервопривод начинает вибрировать с помощью servo.attach(servoPin); не имеет значения, устанавливаю ли я servo.write(40);

, 👍0

Обсуждение

Параметр Servo.write() имеет значение от 0 до 180, поэтому -40 недопустимо. Изменится ли что-нибудь, если вместо этого использовать 50 и 130?, @chrisl

Нет, тот же результат. Даже если я установил только присоединение без сервопривода. Напишите, сервопривод вибрирует без остановки. Я не знаю, нормально ли это поведение, @Juan MP

Источник питания Arduino — одна из самых распространенных проблем. Например, батарея на 9 В может питать Arduino, но вряд ли ей будет достаточно энергии для запуска двигателя. Что вы используете в качестве источника питания?, @st2000

Кроме того, если вы измените свой код, отредактируйте вопрос, чтобы отразить это изменение., @st2000

Поскольку я занимаюсь разработкой процессов, я использую провод мини-USB, который подключается к порту USB 3.0 моего настольного компьютера., @Juan MP

Подключили ли вы сервопривод к GND Arduino *И* порту USB? Это может быть вашей проблемой. Нигде об этом не сказано. Вы только что сказали «Коричневый -> земля». Это не значит так., @Austin

Кроме того, вы можете подключить его только к Arduino, и это тоже может быть проблемой. Как обычно, все Arduino имеют очень малый ток., @Austin

Подожди, так... к чему подключен USB? Сервопривод? Можно, пожалуйста, подробнее? Я мог бы дать ответ, но я не уверен, в чем состоит *ТОЧНАЯ* проблема., @Austin

Я отредактировал сообщение и добавил изображение того, как оно подключено, все подключено к прототипу, а это к Arduino (в моем CAD arduino nano), провод USB - это тот, который питает плату Arduino, и идет от моего компьютера через USB. порт, @Juan MP

Хорошо... попробуйте следующее: используйте для сервопривода отдельный источник питания *5 В*. Подключите красный к плюсу источника питания, а черный к GND источника питания. Тогда дайте мне знать, если он все еще дергается. Это может быть вашей проблемой., @Austin

И еще, какая модель сервопривода? Мол, как оно называется? Это зависит от того, почему он дергается. Если это микросервопривод, все *ДОЛЖНО* подойти. Просто погуглите то, что у вас есть, и опубликуйте, что это такое. Чем больше деталей, тем лучше., @Austin

Также помните: в этом случае Google — ваш лучший друг., @Austin

Я скомпилировал код, он работает. Итак, похоже, проблема в аппаратном обеспечении. Я пытаюсь определить одно из двух: это либо ваш Arduino Nano, либо сам сервопривод. Или *ВОЗМОЖНО* и то и другое., @Austin

О, и я ДЕЙСТВИТЕЛЬНО использовал ту же самую проводку., @Austin

О верно. Я не читал. Извини. Модель сервопривода MG90S. Я прочитаю даташит на это., @Austin


2 ответа


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

0

Хорошо, вот в чем дело: я нашел техническое описание Arduino Nano и MG90S. Проблема в том, что вы, возможно, убили свой Arduino Nano. Как указано в техническом описании Arduino Nano: «Максимальный постоянный ток на контакт ввода-вывода... 40 мА». (Техническое описание Arduino Nano). Я не уверен, что это 100% проблема, поэтому я посмотрел на MG90S, и там написано: «Ток (типичный во время движения)... 120–250 мА». (А также еще одна таблица данных). По сути, все это означает, что вам МОЖЕТ купить еще один Arduino, потому что вы, возможно, использовали сервопривод, который требует слишком большой (из-за отсутствия лучшего термина) «мощности». Используя некоторые математические вычисления, мы видим, что вы превысили примерно 210 миллиампер. Извините.

,

0

Хорошо, мой первый ответ НЕПРАВИЛЬНЫЙ. Причина в том, что MG90S и SG90 (очень похожие сервоприводы, за исключением зубчатой передачи и некоторых других) МОГУТ работать от этого Arduino. Как показано в этой статье: Как управлять MG90S с помощью Nano. Однако СТОИТ лучше всего запускать сервопривод от отдельного источника питания (5 В). Проблема кроется в вашей проводке. Каким-то образом между нами, вами и Arduino возникло некоторое недопонимание.

,

Я проверил выходное напряжение Контакт 5 В -> 4,6 В контакт 9 с servo.write(0) -> 0,13 В контакт 9 с servo.write(180) -> 0,56 В Я не знаю, являются ли эти значения приемлемыми., @Juan MP

Вы понимаете, что я имею в виду под «отдельным питанием»? Я думаю, тебе нужно время, чтобы подумать. Кажется, вы постоянно *НЕ* хотите использовать другой источник для своего сервопривода. Почему? Я вам ответил, дал статью и даже попросил, любезно, подробнее. Чего еще ты хочешь от меня?, @Austin

В этой статье приведены **ТОЧНЫЕ** инструкции. *Изменить. Пожалуйста, отредактируйте свой ответ более подробно, поскольку я все еще не могу вам помочь (что я действительно и делаю)., @Austin

Честно говоря, мне кажется, что я начинаю сомневаться в своем первом ответе. Я опубликую это ради вас. Я думаю, ты СОЖГАЛ свой Arduino. Выводя эти результаты, они кажутся ужасными. Так что да, я думаю, что вы СОЖГЛИ свой Arduino., @Austin

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

Ну, как я уже сказал, первый ответ (который вы приняли) совершенно неверен. Это было мое предположение. Но со мной все в порядке, пока с тобой все в порядке, конечно, с ответом. И извините, если я посчитал себя придурком или расстроенным. Это не было намерением. Надеюсь, ваш проект пройдет хорошо! Я просто хочу, чтобы вы узнали об этом гугле. Еще раз извините., @Austin