ROBOTKODLA
ROBOTKODLA Genç Mucit

Eğlen, Kodla, Geleceği Tasarla

Model: MPU-6500 Sensör Modülü (Breakout) Orta Seviye Üretici: InvenSense / TDK

MPU-6500 6 Eksen Yüksek Hızlı SPI / I2C IMU Modülü

MPU-6050'den %60 daha küçük boyuta, %40 daha düşük güç tüketimine ve 20 MHz süper hızlı SPI arayüzüne sahip yeni nesil 6 eksen hareket sensörüdür.

Önemli Güvenlik ve Teknik Sınırlama Bilgisi

MPU-6050'nin güncellenmiş ve küçültülmüş sürümüdür. 20 MHz yüksek hızlı SPI desteği sayesinde yarış dronlarında Betaflight/INAV uçuş kartlarında standart olarak kullanılır.

Teknik Özellikler ve Elektriksel Parametreler

Çalışma Voltajı 1.71V - 3.45V Lojik Seviye Giriş/Çıkış
Akım Tüketimi 3.2 mA (tam mod), 6 µA (uyku) Tipik çalışma modu
Haberleşme Arayüzü Yüksek Hızlı SPI (20 MHz) ve I2C (400 kHz) Protokol türü
Ölçüm Aralığı İvme: ±2g, ±4g, ±8g, ±16g | Jiroskop: ±250, ±500, ±1000, ±2000 °/s Etkili çalışma sınırı
Hassasiyet / Doğruluk16-Bit bağımsız ADC kanallarıÖlçüm sapma payı
Tepki SüresiDMP donanım füzyon motoru (1 kHz)Örnekleme hızı
Ölçüm Türü3 Eksen İvmeölçer (±16g) + 3 Eksen Jiroskop (±2000 dps)Fiziksel büyüklük
Pin Sayısı8 PinModül header pinleri

Pin Bağlantıları ve Görevleri (Pinout)

Pin #Pin AdıSinyal TürüGörev & Açıklama
1 VCC Güç 3.3V DC besleme
2 GND Toprak Toprak 0V
3 SCL / SCLK Saat I2C SCL / SPI Clock
4 SDA / SDI Veri Giriş I2C SDA / SPI MOSI
5 EDA Yardımcı I2C Harici pusula için I2C Data
6 ECL Yardımcı I2C Harici pusula için I2C Clock
7 AD0 / SDO Adres / MISO I2C Adres seçimi / SPI MISO
8 INT Kesme Veri hazır kesme çıkışı

Geliştirme Kartı Uyumluluk Durumu

Arduino Uno / Nano ✓ Uyumlu
5V Lojik

Doğrudan bağlantı ve yerleşik 5V desteği.

ESP32 (NodeMCU) ✓ Uyumlu
3.3V Lojik

3.3V ile tam uyumlu çalışır.

Raspberry Pi Pico ✓ Uyumlu
3.3V Lojik

MicroPython veya C/C++ SDK ile desteklenir.

BBC Micro:bit ✓ Uyumlu
3.3V Lojik

MakeCode blokları veya MicroPython ile uyumlu.

STM32 (BluePill) ✓ Uyumlu
3.3V (5V Tolerant)

5V tolerant GPIO pinleri doğrudan bağlanabilir.

Örnek Kaynak Kod Kütüphanesi

Arduino Uno Arduino C++ ✓ Test Edildi

MPU6500 I2C İvme ve Jiroskop Okuma

Gerekli Kütüphaneler: MPU6500_WE by Wolfgang Ewald
#include <Wire.h>
#include <MPU6500_WE.h>
#define MPU6500_ADDR 0x68

MPU6500_WE myMPU6500 = MPU6500_WE(MPU6500_ADDR);

void setup() {
  Serial.begin(115200);
  Wire.begin();
  if(!myMPU6500.init()){
    Serial.println("MPU-6500 bulunamadı!");
    while(1);
  }
  myMPU6500.autoOffsets(); // Durgun halde kalibre et
  myMPU6500.enableGyrDLPF();
  myMPU6500.setGyrDLPF(MPU6500_DLPF_6); // Filtreyi ayarla
}

void loop() {
  xyzFloat gValue = myMPU6500.getGValues();
  xyzFloat gyr = myMPU6500.getGyrValues();

  Serial.print("İvme (g): "); Serial.print(gValue.x); Serial.print(", "); Serial.print(gValue.y); Serial.print(", "); Serial.println(gValue.z);
  Serial.print("Jiro (°/s): "); Serial.print(gyr.x); Serial.print(", "); Serial.print(gyr.y); Serial.print(", "); Serial.println(gyr.z);

  delay(100);
}
Seri Monitör Çıktısı (Simülasyon):
Açısal Hız (Jiro) X: 12.4 °/s | Y: -4.1 °/s | Z: 0.2 °/s

Çalışma Mantığı ve Fiziksel İlkeler

MPU-6050 ile MPU-6500 Arasındaki Farklar:

  • SPI Hızı: MPU-6050 yalnızca I2C ve yavaş SPI sunarken, MPU-6500 20 MHz yüksek hızlı SPI destekler. Bu hız FPV yarış dronlarının saniyede binlerce kez motor düzeltmesi yapabilmesi için şarttır.
  • Düşük Güç: Çip boyutu küçülmüş ve akım tüketimi ciddi oranda düşürülmüştür.
  • Dahili DMP: Dahili Dijital Hareket İşlemcisi (DMP) karmaşık Kalman filtrelerini mikrodenetleyiciye yük olmadan çip içinde çözer.
  • Artıları ve Sınırlamaları

    Güçlü Yönleri (Avantajlar)
  • 20 MHz ultra hızlı SPI veri transferi
  • Dahili DMP (Digital Motion Processor)
  • Düşük güç tüketimi ve minyatür paket
  • Sınırlamaları (Dezavantajlar)
  • 3.45V mutlak maksimum gerilim (5V Uno sistemlerinde seviye dönüştürücü önerilir)
  • Sık Karşılaşılan Sorunlar ve Çözümleri

  • Titreşimli ortamlarda ivmeölçer gürültüsünü filtrelemek için dahili DPLF (Low-Pass Filter) ayarı aktif edilmelidir.