MPU6050 6 Eksen İvme ve Jiroskop Sensörü - GY-521
MPU6050, InvenSense tarafından üretilen ve tek bir çip üzerinde 3 eksen jiroskop ile 3 eksen ivmeölçeri bir araya getiren MEMS tabanlı bir hareket sensörüdür. GY-521 modülü, bu çipi çevresindeki destek devreleriyle birlikte kullanıma hazır bir kart haline getirir. Sensör, X-Y-Z eksenlerindeki açısal hızı ve doğrusal ivmeyi eş zamanlı ölçerek nesnenin eğimi, dönüş hızı ve hareket yönü hakkında veri üretir. Dahili Digital Motion Processor (DMP) birimi sayesinde ham veriler üzerinde bir miktar sensör füzyonu işlemi sensör içinde yapılabilir. Kart, I2C arayüzü üzerinden sadece iki hat (SCL, SDA) ile Arduino, ESP32, ESP8266 gibi mikrodenetleyicilere bağlanır ve denge, yön bulma, titreşim ölçümü gibi projelerde yaygın olarak kullanılır. GY-521 kartı, birlikte verilen pin header lehimlendikten sonra breadboard üzerinde jumper kablolarla hızlıca prototip kurmaya uygun hale gelir; küçük boyutu sayesinde hareketli robot kolu, drone gövdesi veya giyilebilir cihaz gibi yer kısıtlı tasarımlara da rahatlıkla yerleştirilebilir.
Teknik Özellikler
| Sensör tipi | 6 eksen hareket sensörü (3 eksen jiroskop + 3 eksen ivmeölçer), MEMS tabanlı |
| Sensör çipi | InvenSense MPU-6050 |
| Modül | GY-521 breakout kart |
| Jiroskop ölçüm aralığı | ±250 / ±500 / ±1000 / ±2000 °/s (yazılımla seçilebilir) |
| İvmeölçer ölçüm aralığı | ±2g / ±4g / ±8g / ±16g (yazılımla seçilebilir) |
| Analog-Dijital dönüştürücü | Her eksen için 16 bit çözünürlük |
| Jiroskop hassasiyeti | ±250 °/s aralığında 131 LSB / (°/s) |
| İvmeölçer hassasiyeti | ±2g aralığında 16384 LSB / g |
| Dahili işlemci | Digital Motion Processor (DMP) - donanımsal sensör füzyonu desteği |
| Haberleşme arayüzü | I2C (Standart 100 kHz / Fast Mode 400 kHz) |
| I2C adresi | 0x68 (AD0 pini GND'ye bağlıyken) / 0x69 (AD0 pini VCC'ye bağlıyken) |
| Örnekleme hızı | Dahili jiroskop çıkış hızı DLPF kapalıyken 8 kHz, DLPF açıkken 1 kHz; yazılımsal bölenle düşürülebilir |
| Dijital filtre | Yapılandırılabilir Dijital Alçak Geçiren Filtre (DLPF) |
| FIFO tampon | 1024 bayt |
| Güç modları | Normal mod ve düşük güç tüketimli uyku (sleep) modu desteği |
| Dahili sıcaklık sensörü aralığı | -40°C ile +85°C |
| Modül besleme gerilimi | 3V - 5V (kart üzerindeki gerilim regülatörü sayesinde) |
| Pin sayısı | 8 pin: VCC, GND, SCL, SDA, XDA/XCL (yardımcı I2C hattı), AD0, INT |
Öne Çıkan Özellikler
- Tek çip üzerinde 3 eksen jiroskop ve 3 eksen ivmeölçeri bir arada barındırır, iki ayrı sensör kullanma ihtiyacını ortadan kaldırır.
- Dahili Digital Motion Processor sayesinde eğim ve yönelim hesaplamalarının bir kısmı sensör üzerinde yapılabilir, mikrodenetleyicinin işlemci yükü azalır.
- Jiroskop ve ivmeölçer ölçüm aralıkları yazılım üzerinden dört farklı seviyede ayarlanabildiği için proje gereksinimine göre hem hassas hem geniş aralıklı ölçüm arasında seçim yapılabilir.
- I2C arayüzü sayesinde Arduino, ESP8266, ESP32 gibi çoğu geliştirme kartına ek bir kütüphane veya sürücü kurmaya gerek kalmadan sadece iki hat (SCL, SDA) ile bağlanır.
- AD0 pini ile I2C adresi 0x68 veya 0x69 olarak ayarlanabildiğinden aynı I2C hattına, adresleri farklılaştırılmış iki adet MPU6050 modülü aynı anda bağlanabilir.
- Dahili sıcaklık sensörü sayesinde ek bir sıcaklık ölçüm elemanına gerek kalmadan sensörün bulunduğu ortamın yaklaşık sıcaklığı okunabilir.
- Kart üzerindeki gerilim regülatörü sayesinde 3.3V veya 5V ile beslenebilir; I2C hatları açık-drenaj olduğu ve pull-up dirençleri kart üzerinde 3.3V'a çekili olduğu için 5V mantık seviyeli kartlara da seviye dönüştürücü olmadan bağlanabilir; ayrıca 1024 baytlık dahili FIFO tamponu, mikrodenetleyicinin her örneği anında okumasını beklemeden birden fazla ölçümü geçici olarak sensör üzerinde biriktirmesine imkan tanır.
Kullanım Alanları
- Kendi dengesini kendi kuran iki tekerlekli robotlarda gövde eğim açısını sürekli ölçüp motor sürücüsüne düzeltici geri besleme vermek
- Quadcopter ve drone projelerinde uçuş kontrolcüsüne açısal hız ve ivme verisi sağlayarak havada duruş stabilizasyonunu desteklemek
- El hareketiyle kontrol edilen oyun kolu veya kontrol eldiveni projelerinde el ve kol hareketinin yönünü ve hızını algılamak
- Robot kol veya CNC gövdesi üzerindeki istenmeyen titreşimi ölçerek yazılımsal olarak hareket profilini yumuşatmak
- Kamera gimbal veya telefon tutucu projelerinde yatay dengeyi korumak için servo veya motora anlık düzeltici komut üretmek
- Adım sayar veya aktivite takip cihazı prototiplerinde yürüme, koşma ve düşme gibi hareket örüntülerini ayırt edip kaydetmek
- Bisiklet veya araç gövdesine takılıp ani sarsıntı, darbe veya devrilme olaylarını tespit ederek kayıt tutmak
Bağlantı ve Kullanım
VCC pini geliştirme kartının 5V veya 3.3V çıkışına, GND pini ise ortak topraklamaya bağlanır. SCL ve SDA pinleri, kullanılan kartın I2C hatlarına (Arduino Uno'da genellikle A5 ve A4, Mega'da 21 ve 20, ESP32'de tanımlanan I2C pinleri) bağlanır. AD0 pini boşta bırakılır veya GND'ye bağlanırsa I2C adresi 0x68, VCC'ye bağlanırsa 0x69 olarak ayarlanır. INT pini, yeni ölçüm verisi hazır olduğunda mikrodenetleyiciye kesme sinyali göndermek için kullanılabilir; kullanılmadığında boş bırakılabilir. XDA ve XCL pinleri ise sensörün yardımcı I2C hattı olup çoğu projede bağlantı yapılmadan boş bırakılır. Arduino ortamında sensörü okumak için genellikle Wire.h kütüphanesiyle birlikte I2Cdevlib veya Adafruit MPU6050 gibi hazır kütüphaneler kullanılır; bu kütüphaneler ham kayıt değerlerini doğrudan °/s ve g cinsinden okunabilir hale getirir. Sensör güç açılışının hemen ardından uyku (sleep) modunda başlayabildiğinden, kod içinde ilk okumadan önce güç yönetim kaydının uyandırılması gerektiği unutulmamalıdır.
Paket İçeriği
- 1 adet GY-521 (MPU6050) 6 eksen ivme ve jiroskop sensör modülü
- 1 adet 8 pinli header (modül üzerine lehimlenmemiş olarak birlikte verilir)
- Temel kullanım için modül dışında ek bir harici bileşen (regülatör, seviye kaydırıcı vb.) gerekmez; bağlantı kabloları ayrıca temin edilmelidir
Dikkat Edilmesi Gerekenler
- Sensör çipinin kendisi 3.3V mantık seviyesinde çalışır; GY-521 kartındaki regülatör sayesinde 5V beslemeyle de kullanılabilir, ancak farklı bir modül kullanıyorsanız gerilim uyumluluğunu kontrol edin.
- I2C hattına birden fazla cihaz bağlarken adres çakışmasını önlemek için AD0 pininin durumuna dikkat edin.
- SCL ve SDA hatlarının uzun kablolarla çekilmesi sinyal bütünlüğünü bozup okuma hatalarına yol açabilir, mümkün olduğunca kısa kablo kullanın.
- Sensör fabrika çıkışında küçük bir ofset hatasıyla gelebilir; hassas ölçüm gereken projelerde kullanmadan önce yazılımsal kalibrasyon yapılması önerilir.
- Modülü sert darbe veya sürekli titreşime maruz bırakmak, MEMS yapının zamanla hassasiyetini kaybetmesine neden olabilir.
- Aynı I2C hattında başka sensörler de varsa pull-up dirençlerinin (genelde kart üzerinde hazır bulunur) birbiriyle çakışmadığından emin olunmalıdır; ayrıca kartı nemli veya toz oranı yüksek ortamlarda açıkta bırakmak lehim noktalarında zamanla korozyona yol açabileceğinden hassas uygulamalarda kutu içine almak önerilir.