MPU-6050 Nedir?
MPU-6050, InvenSense tarafından üretilen 6 eksenli IMU (Inertial Measurement Unit) sensörüdür. İçinde 3 eksenli bir jiroskop (açısal hız ölçer) ve 3 eksenli bir ivmeölçer (akselerometre) bulunur. Bu sensör I2C iletişim protokolü ile Arduino'ya bağlanır ve gerçek zamanlı hareket verileri sağlar.
Teknik Özellikleri
- Çalışma gerilimi: 3.3V - 5V
- İletişim: I2C (400 kHz)
- I2C Adresi: 0x68 (AD0 GND) veya 0x69 (AD0 VCC)
- Jiroskop: ±250, ±500, ±1000, ±2000 °/s
- İvmeölçer: ±2g, ±4g, ±8g, ±16g
- Boyutlar: 15.5 mm x 21.5 mm x 4.5 mm
| Parametre | Min | Tipik | Max | Birim |
|---|---|---|---|---|
| Çalışma Gerilimi | 3.0 | 3.3-5 | 5.0 | V |
| Akım (Uyku) | - | 8 | - | μA |
| Akım (Aktif) | - | 3.8 | - | mA |
| Jiroskop Ölçüm Aralığı | 250 | - | 2000 | °/s |
MPU-6050 Arduino Bağlantısı
Pinout ve Bağlantı Diyagramı
MPU-6050'nin pinout şeması şu şekildedir:
- VCC: 3.3V veya 5V güç girişi
- GND: Toprak
- SDA: I2C Veri linesi (Arduino Uno: A4, Mega: 20)
- SCL: I2C Saat linesi (Arduino Uno: A5, Mega: 21)
- INT: Interrupt çıkışı (isteğe bağlı)
- XDA/XCL: Ek I2C cihazlar için (genellikle kullanılmaz)
Wire.h Kütüphanesi ile Bağlantı
Arduino'da I2C iletişimi Wire.h kütüphanesi ile yapılır. Aşağıda örnek kod yapısı verilmiştir:
#include <Wire.h> manuel yazılabilir.
Açı Hesaplama: Jiroskop ve İvmeölçer Verileri
Drift Sorunu
Jiroskoptan elde edilen verileri direkt integre ederek açı elde etmek, zaman içinde hata biriktirir (drift). İvmeölçer ise yüksek frekans gürültüsüne duyarlıdır. Bu iki sorunu çözmek için filtre algoritmaları kullanılır.
Tamamlayıcı Filtre (Complementary Filter)
Tamamlayıcı filtre, jiroskop ve ivmeölçer verilerini matematiksel olarak birleştirerek daha doğru açı hesaplaması yapar. Formülü:
Angle = α × (Angle + GyroRate × Δt) + (1 - α) × AccelAngle
α genellikle 0.98 ile 0.99 arasında ayarlanır. Bu filtre, gerçek zamanlı uygulamalar için hızlı ve yeterlidir.
Kalman Filtresi
Kalman filtresi, daha karmaşık ancak daha doğru bir filtre algoritmasıdır. Sensör gürültüsünü ve sistem belirsizliğini matematiksel olarak modellenerek optimum tahmin sağlar. Denge robotları ve gimbal sistemlerinde daha iyi sonuç verir.
Servo Motor ile PID Kontrolü
PID Kontrol Sistemi Nedir?
PID, Proportional-Integral-Derivative (Orantılı-İntegral-Türev) kelimelerinin kısaltmasıdır. Kontrol sistemlerinde hata sinyalini azaltmak için kullanılan temel algoritmasıdır.
| Parametre | Açıklama | Etkisi |
|---|---|---|
| Kp (Proportional) | Hata ile doğru orantılı | Yanıt hızı |
| Ki (Integral) | Geçmiş hatanın birikimi | Sabit hata düzeltmesi |
| Kd (Derivative) | Hata değişim hızı | Salınım dampingi |
Denge Robotu Uygulaması
Denge robotu (self-balancing robot), iki tekerlekli bir platform olup MPU-6050'den aldığı eğim verilerine göre servo motorları kontrol ederek denge sağlar. Temel prinsip:
- MPU-6050 sensörü pitch açısını (ileri-geri eğim) ölçer
- PID algoritması hata sinyalini (hedef 0° - gerçek açı) hesaplar
- PWM sinyali servo motorlara gönderilerek tekerlek hızı ayarlanır
- Sistem dinamik olarak dengeyi sağlamaya çalışır
Gimbal Sistemi Yapımı
Gimbal, kamera veya başka bir cihazı 2 veya 3 eksen boyunca dengede tutan mekanik sistemdir. MPU-6050 ile 2 eksen gimbal yapılabilir:
- Pitch (Dikey Dönüş): İleri-geri eğimi düzelten servo
- Roll (Yatay Dönüş): Sağa-sola eğimi düzelten servo
Her eksen için ayrı bir servo motor ve ayrı PID kontrolü gerekir. Servo seçimi, kamera ağırlığına göre yapılmalıdır.
İkinci El Servo Motor Seçimi
BulalGetir'den ikinci el servo motor satın alırken dikkat edilecek noktalar:
- Motor tipi (DC servo, BLDC servo, AC servo)
- Güç çıkışı (W) - gimbal için 20-50W yeterli
- Tork değeri (Nm) - yük kapasitesi
- Enkoder kontrolü - pozisyon geri bildirimi
- Sürücü uyumluluğu - marka ve modeli kontrol edin
MPU-6050 Teknik Referans
| Parametre | Değer / Açıklama |
|---|---|
| Üretici | InvenSense (TDK Group) |
| Eksen Sayısı | 6 DOF (3 jiroskop + 3 ivmeölçer) |
| İletişim | I2C (400 kHz Fast Mode) |
| I2C Adresi | 0x68 (AD0=GND) / 0x69 (AD0=VCC) |
| Çalışma Gerilimi | 3,3V – 5V |
| Akım (Aktif) | 3,8 mA |
| Jiroskop Ölçüm Aralığı | ±250 / ±500 / ±1000 / ±2000 °/s |
| İvmeölçer Ölçüm Aralığı | ±2g / ±4g / ±8g / ±16g |
| Arduino Bağlantısı (Uno) | SDA→A4, SCL→A5 |
| Arduino Bağlantısı (Mega) | SDA→20, SCL→21 |
| Popüler Kütüphane | Wire.h, MPU6050.h, I2Cdevlib |
| Uygulama Alanları | Drone, gimbal, denge robotu, 3D tracking |
MPU-6050 Uygulama Videoları
Robot Orientation Sensor: MPU6050 Accelerometer + Gyroscope
MPU6050 + Arduino Nano — 3D Motion Tracking with Processing
İkinci El Servo Motor ve Elektronik Bileşenler
BulalGetir'de geniş servo motor ve Arduino aksesuarları yelpazesi bulunur.
Kategoriler'i Ziyaret EtSSS
MPU-6050 nedir?
▼MPU-6050, 6 eksenli IMU (İnertial Measurement Unit) sensörüdür: 3 eksen jiroskop + 3 eksen ivmeölçer (akselerometre). I2C protokolü ile Arduino'ya bağlanır. Adres: 0x68 veya 0x69. Drone, gimbal, denge robotu ve hareket algılama projelerinde kullanılır.
MPU-6050 Arduino'ya nasıl bağlanır?
▼VCC→3.3V veya 5V, GND→GND, SDA→A4 (Uno) veya pin 20 (Mega), SCL→A5 (Uno) veya pin 21 (Mega), INT→isteğe bağlı. I2C kütüphanesi: Wire.h veya MPU6050.h
Servo motor ile MPU-6050 gimbal nasıl yapılır?
▼MPU-6050'den açı verisi okunur, PID algoritması ile servo motor PWM sinyali hesaplanır, servo kamera veya nesneyi dengede tutar. 2 eksen gimbal için 2 servo ve 2 eksen (pitch-roll) gerekir.
PID kontrolü nedir Arduino'da?
▼PID (Proportional-Integral-Derivative): hata sinyalini (hedef açı - gerçek açı) üç terimle işleyen kontrol algoritması. Kp, Ki, Kd parametreleri ayarlanarak sisteme özel optimize edilir. Denge robotlarında ve gimbal sistemlerinde kritik öneme sahiptir.
MPU-6050 ile Kalman filtresi nasıl uygulanır?
▼Arduino'da Kalman.h kütüphanesi ile Kalman filtresi kolayca entegre edilir. Filtre, jiroskop ve ivmeölçer verilerini birleştirerek drift'siz ve gürültüsüz açı hesabı yapar. Tamamlayıcı filtreye kıyasla daha hesap yoğunluklu olsa da gimbal ve denge robotlarında çok daha kararlı sonuç verir.