Робот-балансир на ESP32: три контури керування

Десять днів, один робот, три контури керування. Як наш робот-балансир на ESP32 і колекторних моторах навчився стояти, повертатися після поштовху, тримати своє місце та їздити через Wi-Fi — з числами з його журналів і прошивкою, завдяки якій усе запрацювало.

Я зібрав робота-балансира: три контури керування

Колекторні мотори, ESP32 і MPU-6500 — і три контури керування, кожен виправляє те, чого не вмів попередній. Контур кута (PID, 500 разів на секунду) тримає його вертикально, але робот відкочується на 27 см. Контур швидкості повертає його в смугу 30 см. Контур положення повертає його додому з точністю до 3 см — а потім робот їздить по Wi-Fi і стрибає з підлогових ваг. Три контури, один LQR чи нейромережа — на що ви поставите?

У телефоні є обидва. Я все одно зібрав свій: DIY-рівень і компас

Рівень і компас: у вашому телефоні є обидва, тож, звісно, я зібрав свій. Один корпус, надрукований на Creality Ender-3 V3 KE, чотири латунні вставки, три плати (TTGO T-Display з ESP32, акселерометр і гіроскоп MPU-6500, магнітометр BMM150) і одна банка 18650 із зарядкою через USB-C. У межах пів градуса від горизонту він стає зеленим і пищить один раз. Урок: магнітометр помічає все — від магніту зумера до кабелю зарядки й телефона поруч. Отже: купити чи зібрати?

Я штовхаю. Він повертається: мій балансир на пропелері з ESP32

Я штовхаю — він повертається. Ця рама балансує в одній площині на тязі одного пропелера: датчик MPU-6500 вимірює нахил, а на ESP32 працює PID-регулятор (у цьому досліді Kp 8 · Ki 2 · Kd 2,2), який через DRV8833 керує мотором. Bluetooth передає нахил і команду мотору на мій комп'ютер, на сторінку, де я можу міняти налаштування PID. Перші спроби? Гравітація не підвела. Що далі: дві площини чи колеса?

Я перевірив чуття рівноваги робота: MPU-6500

Шість дротів, 100 вимірювань на секунду і три спроби калібрування — я витратив усі три. MPU-6500 (3-осьовий акселерометр + 3-осьовий гіроскоп у чипі 3 × 3 мм) спілкується через SPI з ESP32 (LILYGO T-Display), а сторінка в браузері перетворює його дані на 3D-модель, паперовий літачок і лабіринт із кулькою. Що робот має отримати далі: колеса чи очі?

Я зібрав Bluetooth-колонку на ESP32

Три деталі, п'ять дротів, 35 точок пайки. ESP32 (LILYGO T-Display) приймає музику через Bluetooth A2DP, I2S-підсилювач MAX98357A розкачує крихітний динамік на 2 Вт, а на екрані — живий аналізатор спектра. Що додати далі: корпус, надрукований на 3D-принтері, чи плеєр з SD-карткою?

ESP32-S3-CAM N16R8: якою мала бути ESP32-CAM

Плата на ESP32-S3 з камерою OV5640 на 5 Мп, двома USB‑C, microSD, 16 МБ Flash і 8 МБ PSRAM. Що до чого підключено, які з 36 GPIO справді вільні, як налаштувати Arduino під камеру — і довідник з виводів для завантаження.

LILYGO TTGO T-Display: ESP32, який одразу показує результат

Плата на ESP32 з уже розпаяним кольоровим екраном 1,14 дюйма. Що до чого підключено, які GPIO можна брати без ризику, скільки вона живе від акумулятора — і де закінчується класична T-Display і починається S3.