Подключение сервопривода SG90 к ESP32
Сервопривод
SG90 к ESP32 — три провода: питание 5 В (красный), земля (коричневый) и сигнал (оранжевый) на GPIO. Угол задаёт ШИМ 50 Гц с импульсом 1–2 мс; библиотека ESP32Servo делает это на любом выводе.
Схема подключения сервопривода SG90 к ESP32
| Сервопривод SG90 | ESP32 |
|---|---|
| PWM | GPIO13 |
| V+ | 3V3 |
| GND | GND |
Схема из примера «Сервопривод: развёртка».
⚡ В примере «Сервопривод SG90» питается от 3V3 — в симуляторе так проще, и модель это допускает. Настоящий модуль рассчитан на 5 В: подключайте V+ к VIN (5 В от USB) или к отдельному источнику 5 В с общей землёй.
Выводы Сервопривод SG90
| Вывод | Назначение |
|---|---|
| PWM | сигнал угла (оранжевый или жёлтый) |
| V+ | питание (красный) |
| GND | общий провод (коричневый) |
Код для ESP32
#include <ESP32Servo.h>
Servo servo;
const int PIN = 13;
void setup() {
servo.attach(PIN);
}
void loop() {
for (int angle = 0; angle <= 180; angle += 2) {
servo.write(angle);
delay(15);
}
for (int angle = 180; angle >= 0; angle -= 2) {
servo.write(angle);
delay(15);
}
}
Скетч можно править и запускать в симуляторе без платы и установки среды.
Что учесть на ESP32
- Питание сервы берите отдельно, с VIN или от внешнего источника 5 В; общая земля с ESP32 обязательна.
- Стандартная библиотека
Servo.hдля AVR на ESP32 не подходит: нужна ESP32Servo.
В железе
В примере симулятора сервопривод питается от 3V3 платы для простоты. В железе SG90 питают 5 В от отдельного источника (или от VIN при питании от USB для одного привода), а землю соединяют с землёй контроллера. От вывода 3V3 привод дёргается и перезагружает плату.
Частые ошибки при подключении к ESP32
- Питать SG90 от вывода 3V3: ток при движении превышает возможности стабилизатора, и плата перезагружается.
- Не соединить землю внешнего питания с землёй ESP32: сигнал «плавает», серва дёргается.
- Питание от платы — при старте мотора напряжение проседает, контроллер перезагружается. Нужен отдельный источник 5 В.
- Нет общей земли между источником привода и контроллером — сигнал не читается, привод дёргается.
- Привод упирается в механику на краях — гудит, греется и берёт полный ток. Ограничьте угол в коде.
- Дрожание вала в покое — помехи по питанию; конденсатор 100–470 мкФ у привода помогает.
Ещё по теме
Другие детали для ESP32
HC-SR04DHT22 (AM2302)BME280DS3231SSD1306 OLED 0,96″LCD 1602 с I2CMAX7219TM1637MPU6050 (GY-521)Модуль релеWS2812B (NeoPixel)KY-040Клавиатура 4×4HX711ФоторезисторМодуль microSDRGB-светодиод74HC595ИК-приёмник (VS1838B)TFT ST7735 1,8″Шаговый двигательКнопкаПотенциометрПьезопищалкаСветодиодDS18B20Ползунковый переключательHC-SR501TTP223Датчик влажности почвыMQ-2LM35Джойстик KY-023DHT11HTU21DSN65HVD230