Серводвигатель позволяет точно управлять положением вала, задавая определённый угол поворота. Модель MG996R — одна из самых популярных среди энтузиастов Arduino и разработчиков самодельных устройств. В этом уроке описано, как подключить сервопривод MG996R к Arduino, а также приведён пример простого кода, который заставляет мотор поворачиваться под разные углы.
Краткое описание
Сервомотор MG996R часто используется в Arduino-проектах. В отличие от другого популярного сервопривода — SG90, — MG996R способен вращать значительно более тяжёлые нагрузки. Именно поэтому его часто можно увидеть в 3D-печатных роботизированных руках и других механических конструкциях.
Технические характеристики MG996R
| Параметр | Значение |
|---|---|
| Габариты | примерно 40.7 × 19.7 × 42.9 мм |
| Вес | около 55 г |
| Рабочее напряжение | 4.8 В – 6.6 В |
| Рабочий ток | около 600 – 1500 мА |
| Крутящий момент (stall torque) | 9.4 кг·см (при 4.8 В); 11 кг·см (при 6 В) |
| Скорость вращения | 0.19 с/60° (при 4.8 В); 0.15 с/60° (при 6 В) |
| Угол поворота | 0–180° |
⚠️ Важно: характеристики могут немного отличаться у разных производителей.
Пример применения
В данном примере мотор последовательно поворачивается в четыре разные позиции, делая паузу в одну секунду между каждым движением. После достижения последнего положения цикл начинается заново.
Схема подключения
Сервомотор MG996R имеет три провода:
- Коричневый (GND) — земля
- Красный (+5V) — питание
- Оранжевый (PWM) — управляющий сигнал
MG996R нельзя напрямую питать от Arduino, поскольку мотор потребляет слишком большой ток, что может повредить плату. Поэтому для питания используется внешний источник — например, USB-повербанк на 5 В.

Для подключения применён USB-терминальный адаптер.
- Отрицательный контакт («-») адаптера соединён с коричневым проводом сервопривода.
- Положительный («+») контакт — с красным проводом.
- Чтобы обеспечить общий уровень сигнала, минус терминала также соединён с контактом GND на Arduino.
- Оранжевый провод (сигнал PWM) подключается к пину №3 Arduino.
| Цвет провода | Назначение | Подключение |
|---|---|---|
| Коричневый | GND | Минус повербанка и GND Arduino |
| Красный | +5V | Плюс повербанка |
| Оранжевый | Сигнал PWM | Пин №3 Arduino |
Пример кода
Для управления MG996R используется стандартная библиотека Servo.h.
В функции setup() задаётся управляющий пин, а в loop() — мотор поочерёдно поворачивается на несколько угловых позиций.
#include <Servo.h>
Servo servo; // объект для управления сервоприводом MG996R
void setup() {
servo.attach(3); // подключение сигнального провода к цифровому пину 3
}
void loop() {
servo.write(0); // поворот на угол 0°
delay(1000); // пауза 1 секунда
servo.write(45); // поворот на 45°
delay(1000);
servo.write(90); // поворот на 90°
delay(1000);
servo.write(135); // поворот на 135°
delay(1000);
servo.write(180); // поворот на 180°
delay(1000);
}

Если всё подключено и загружено правильно, сервомотор начнёт двигаться, последовательно поворачиваясь под указанные углы.