ROBOTKODLA
ROBOTKODLA Genç Mucit

Eğlen, Kodla, Geleceği Tasarla

Model: ICM-20948 Sensör Modülü (Breakout) İleri Seviye Üretici: InvenSense / TDK

ICM-20948 Düşük Güç Tüketimli 9 Eksen Robotik Hareket İzleme Sensörü

InvenSense'in en gelişmiş 9 eksen IMU sensörüdür. MPU-9250'ye göre yarı yarıya düşük güç tüketimi ve dahili DMP 3.0 donanımsal füzyon motoru sunar.

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

MPU-9250'nin doğrudan yeni nesil halefidir; güç tüketimi %50 düşürülmüş ve manyetik pusula gürültüsü azaltılmıştır.

Teknik Özellikler ve Elektriksel Parametreler

Çalışma Voltajı 1.71V - 3.60V Lojik Seviye Giriş/Çıkış
Akım Tüketimi 2.5 mA (tam 9 eksen aktif), 3 µA (uyku) Tipik çalışma modu
Haberleşme Arayüzü I2C (0x69 veya 0x68) ve SPI (7 MHz) Protokol türü
Ölçüm Aralığı İvme: ±16g, Jiro: ±2000 dps, Manyetometre: ±4900 µT Etkili çalışma sınırı
Hassasiyet / Doğruluk16-Bit bağımsız ADC kanallarıÖlçüm sapma payı
Tepki SüresiDahili DMP 3.0Örnekleme hızı
Ölçüm Türü3 Eksen İvme + 3 Eksen Jiroskop + 3 Eksen PusulaFiziksel 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 VIN Güç 3.3V / 5V DC (SparkFun modülü)
2 GND Toprak Toprak 0V
3 SCL Saat I2C SCL / SPI SCLK
4 SDA Veri I2C SDA / SPI SDI

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

SparkFun ICM-20948 ile 9 Eksen Okuma

Gerekli Kütüphaneler: SparkFun 9DoF IMU Breakout ICM 20948
#include "ICM_20948.h"

ICM_20948_I2C myICM;

void setup() {
  Serial.begin(115200);
  Wire.begin();

  myICM.begin(Wire, 1);
  if (myICM.status != ICM_20948_Stat_Ok) {
    Serial.println("ICM-20948 bulunamadı!");
    while (1);
  }
}

void loop() {
  if (myICM.dataReady()) {
    myICM.getAGMT(); // İvme, Jiro, Mag ve Sıcaklığı oku
    Serial.print("İvme (mg): ");
    Serial.print(myICM.accX()); Serial.print(", ");
    Serial.print(myICM.accY()); Serial.print(", ");
    Serial.println(myICM.accZ());
  }
  delay(100);
}
Seri Monitör Çıktısı (Simülasyon):
İvme X/Y/Z: 0.04, -0.02, 1.01 g

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

ICM-20948 Neden Tercih Edilir?

MPU-9250 üretimden kalktıktan sonra yerini alan ICM-20948, giyilebilir cihazlar ve otonom İHA'lar için en popüler 9 eksen sensördür.

  • Güç tüketimi 2.5 mA'e düşürülmüştür.
  • Dahili DMP (Digital Motion Processor) 3.0 motoru kuaterniyon hesaplarını donanımsal yapar.
  • Manyetik doyuma karşı koruması artırılmıştır.
  • Artıları ve Sınırlamaları

    Güçlü Yönleri (Avantajlar)
  • MPU-9250'ye kıyasla %50 daha düşük güç tüketimi
  • Dahili DMP 3.0 donanımsal yönelim motoru
  • 4900 µT geniş manyetometre ölçüm aralığı
  • Sınırlamaları (Dezavantajlar)
  • 3.6V mutlak maksimum gerilim sınırı
  • Sık Karşılaşılan Sorunlar ve Çözümleri

  • I2C arayüzünde kullanıcı bankaları (User Bank 0-3) bulunur; gelişmiş kütüphaneler bu banka geçişlerini otomatik yapar.