Сервопривод Ардуино: что такое, как работает и как подключить.

Всем привет! В этой статье я расскажу что такое сервопривод ардуино, как он работает и как устроен.
Сервопривод — это небольшой мотор, который медленно вращается, имея хорошую мощность для поворота каких-либо деталей.
Обычно сервоприводы используются в радиоуправляемых моделях для поворота каких-либо элементов (элероны, закрылки, рули высоты).
Сейчас рассмотрим модель сервопривода SG-90. Этот сервопривод может поворачивать ось на 180 градусов, хотя на AliExpress есть модификации и на 360 градусов. При покупке градусную меру поворота можно определить только по описанию товара в магазине, внешне это не видно.
ПОДКЛЮЧЕНИЕ СЕРВОПРИВОДА SG-90
Имеет сервопривод всего 3 провода для подключения:
- Красный — 5 вольт, 5V;
- Коричневый — земля, GND;
- Оранжевый — сигнальный, по нему идёт управление сервоприводом с помощью специального ШИМ сигнала.
УСТРОЙСТВО СЕРВОПРИВОДА SG-90
Состоит сервопривод из пластикового корпуса с пластиковыми петельками для крепления на корпусе устройства, редуктора (набор шестерёнок), мотора, потенциометра, платы управления и проводов. А также на вал сервопривода устанавливаются специальные рычаги
КАК РАБОТАЕТ СЕРВОПРИВОД SG-90
Работает серво вот так: по проводам приходит питание и сигнал на плату управления (фактически драйвер для мотора), берутся показания с потенциометра (он вращается вместе с осью сервопривода), рассчитывается нынешний угол и крутится мотор до тех пор, пока не настанет нужный угол.
КОМПЛЕКТАЦИЯ СЕРВОПРИВОДА SG-90
Обычная комплектация китайского сервопривода:
- Сам сервопривод, конечно же;
- Три рычага: короткий, длинный и длинный с боковыми отверстиями;
- Маленький винтик для крепления насадок на оси серво;
- Два больших винтика для крепления серво где-нибудь 😊
В рычагах есть много отверстий, они нужны для того, чтобы вставить в них тяги, которые будут крепиться к детали, которую нужно двигать (см. иллюстрация ниже).

УПРАВЛЕНИЕ СЕРВОПРИВОДОМ SG-90 с ARDUINO
Для управления сервоприводами с помощью всеми любимой Arduino (или ESP, не важно) используется специальная библиотека «Servo.h». Она всегда встроена в Arduino IDE, поэтому дополнительно устанавливать её не нужно.
Для управления сервоприводом нужно написать специальный код, я написал здесь пример кода. Сервопривод будет поворачиваться с 0 на 90 градусов, через 2 секунды обратно.
#include <Servo.h> // Подключаем библиотеку для управления сервой
Servo myservo; // Регистрируем наш сервопривод в скетче
void setup(){ // Одноразовое действие, при запуске
myservo.attach(9); // Указываем пин Arduino, к которому подключен сигнальный (оранжевый) провод серво
}
void loop(){ // Цикличное действие
myservo.write(0); // Поворачиваем серво на 0 градусов (исходное положение)
delay(2000); // Ждём 2 секунды = 2 000 миллисекунд
myservo.write(90); // Поворачиваем серво на 90 градусов
delay(2000); // Ждём 2 секунды = 2 000 миллисекунд
}
Функцией «Servo myservo;» мы обращаемся к библиотеке и докладываем, что мы подключили новую серву, назвали её «myservo». Назвать её можно по любому, главное, без пробелов, русских букв, знаков и без цифр в начале названия.
Функцией «myservo.attach(9);» мы докладываем, что серва подключена на 9 пин Arduino. Обращаем внимание, что серво можно подключить ТОЛЬКО на пины с ШИМ!! Они обозначены знаком волны на плате Arduino. Иначе у вас серво не будет работать 🙂
Функцией «myservo.write(0);» мы говорим серво повернуть вал на 0 градусов, то есть в исходное положение.
Функцией «myservo.write(90);» мы говорим серво повернуть вал на 90 градусов.
Функция «delay(2000);» делает задержку в 2000 миллисекунд (2 секунды).
Примеры моих проектов с сервоприводом:
Вот и всё, что нужно знать про сервопривод 😊 Спасибо за внимание!