Bu proje, ESP32 mikrodenetleyicisi kullanılarak sıfırdan geliştirilmiş bir quadcopter uçuş kontrol sistemidir. Hem donanım tasarımı hem de yazılım algoritması (PID kontrol, sensör füzyonu) tamamen açık kaynaklı olarak geliştirilmektedir.
Projede kullanılan temel bileşenler ve kontrolcü yapısı:
- Mikrodenetleyici: ESP32 (Dual-Core, 240MHz)
- IMU (Sensör): MPU6050 (Akselerometre & Jiroskop)
- Haberleşme: ESP-NOW veya Wi-Fi üzerinden UDP (Düşük gecikme için)
- Motor Sürücüler: 4x fırçasız (BLDC) motor için ESC kontrolü
- Güç: 3S (11.1V) Lipo Batarya
| Bileşen | ESP32 Pin | Protokol |
|---|---|---|
| MPU6050 SDA | GPIO 21 | I2C |
| MPU6050 SCL | GPIO 22 | I2C |
| ESC 1 (Front-R) | GPIO 13 | PWM |
| ESC 2 (Front-L) | GPIO 12 | PWM |
| ESC 3 (Back-R) | GPIO 14 | PWM |
| ESC 4 (Back-L) | GPIO 27 | PWM |
Yazılım, ESP32'nin çift çekirdekli yapısından faydalanacak şekilde tasarlanmıştır:
- Core 0: Sensör verilerinin okunması ve PID hesaplamaları (Yüksek öncelikli döngü).
- Core 1: Yer kontrol istasyonu ile haberleşme ve telemetri verilerinin iletilmesi.
- PID Kontrolü: Roll, Pitch ve Yaw eksenleri için stabilize uçuş algoritması.
- Complementary Filter: Sensör gürültüsünü engellemek için ivmeölçer ve jiroskop verilerinin birleştirilmesi.
- Otonom Görevler: (Geliştirme aşamasında) GPS tabanlı rota takibi.
- Bu depoyu klonlayın:
git clone [https://github.com/FatihAksoyEEE/ESP32_Drone.git](https://github.com/FatihAksoyEEE/ESP32_Drone.git)