Как подключить сервопривод SG90 к Arduino

Сигнал на D9, питание 5 В отдельно, общий минус.

Схема подключения

Открыть в конструкторе

Соединения

ШагОткудаКудаЦвет
1USB-C 6P GNDSG90 GNDчёрный
2Arduino Uno GNDUSB-C 6P GNDчёрный
3USB-C 6P VBUSSG90 VCCкрасный
4Arduino Uno ~9SG90 PWMШИМ, салатовый

Проверка питания и проводов

  • Проверка схемы, та же, что в конструкторе, не нашла ошибок: напряжения выводов совпадают, земля общая, шины подключены целиком.
  • SG90 берёт до 650 мА (обычно около 200) с вывода VBUS USB-C 6P, вывод даёт около 1500 мА: USB-C с резисторами 5,1 кОм: блок до 1,5–3 А, порт компьютера 500–900 мА.

Ток всей схемы и сколько она проработает от аккумулятора: расчёт питания. Где что втыкать: схема на макетке.

Пример кода

Arduino IDE, Servo 1.2 (входит в Arduino IDE).

#include <Servo.h>

Servo servo;

void setup() {
  servo.attach(9);
}

void loop() {
  servo.write(0);
  delay(1000);
  servo.write(90);
  delay(1000);
  servo.write(180);
  delay(1000);
}

Распиновки деталей

Как подключено

Сигнал SG90 (оранжевый провод) идёт на D9: библиотека Servo выдаёт импульс 1-2 мс каждые 20 мс. Питание (красный) и минус (коричневый) на схеме идут от отдельной платы USB-C с блоком 5 В, её минус соединён с GND Arduino. Без общего минуса серва дёргается или стоит.

SG90 на ходу берёт 100-250 мА, в упоре до 650 мА. Вывод 5V Uno от USB даёт около 400 мА, поэтому при питании сервы от него проверка схемы ставит замечание: при упоре плата перезагружается, а USB-порт может отключиться.

Частые вопросы

Почему серва дёргается и Arduino перезагружается?
Серва в момент старта и в упоре берёт больше, чем даёт вывод 5V, напряжение проседает. Питайте серву отдельно от источника 5 В на 1-2 А и соедините минусы.
Можно ли подключить SG90 к ESP32?
Да. Сигнал 3,3 В SG90 обычно понимает, питание 5 В отдельно, минусы общие. Библиотека для ESP32: ESP32Servo.
Сколько серв потянет Arduino?
Сигналов хватит на 12 серв у Uno с библиотекой Servo, но питать их нужно от отдельного блока. Для 16 серв удобнее плата PCA9685 по I2C.

Пригодится ещё