Free for Newly Opened Institutions   •   Free for Newly Opened Institutions   •   Free for Newly Opened Institutions   •   Free for Newly Opened Institutions   •   Free for Newly Opened Institutions   •   Free for Newly Opened Institutions   •   Free for Newly Opened Institutions   •   Free for Newly Opened Institutions   •  

Anaokulu veya eğitim kurumunuz için kodlama eğitimi mi arıyorsunuz? Hemen İletişime Geç
Arduino

MPU6050: İvmeölçer ve Jiroskop Bir Arada

2 dk okuma

Altı eksende hareket ölçen modül: ivmeölçer ile jiroskopun farkını ve neden birlikte kullanıldıklarını anlattık.

MPU6050, tek bir çipin içinde üç eksenli ivmeölçer ve üç eksenli jiroskop barındıran bir moduldür. Altı eksenli hareket verisi ürettiği için denge robotlarının, dronların ve hareket algılayan oyuncakların kalbindedir.

İkisi aynı şeyi ölçmüyor

  • İvmeölçer ivmeyi ölçer. Cihaz dururken bile yer çekimini ölçtüğü için hangi yönün aşağı olduğunu, dolayısıyla eğimi söyler. Ama titreşimden ve ani hareketten çok etkilenir.
  • Jiroskop dönüş hızını ölçer. Açının kendisini değil, açının ne kadar hızlı değiştiğini bildirir. Kısa vadede çok kararlıdır; ama hızları toplayarak açı bulmaya çalışırsanız küçük hatalar birikir ve açı yavaşça kayar (sürüklenme).

Biri uzun vadede doğru ama gürültülü, diğeri kısa vadede temiz ama kayan. Bu yüzden ikisi birleştirilir.

Birleştirme

En basit yöntem tamamlayıcı filtredir: açının çoğunu jiroskoptan, küçük bir payını ivmeölçerden alırsınız. Jiroskop hızlı hareketi takip eder, ivmeölçer uzun vadede açıyı yerine çeker.

Daha gelişmiş yöntem Kalman filtresidir; daha doğru sonuç verir ama kurulumu ve anlaşılması ağırdır. Sınıf projelerinin büyük çoğunluğu tamamlayıcı filtreyle fazlasıyla iyi sonuç alır.

Bağlantı

MPU6050 I2C ile konuşur: yalnız iki hat (SDA ve SCL) ve besleme yeterlidir. Aynı iki hatta başka I2C cihazları da bağlanabilir; her birinin farklı adresi olduğu sürece sorun çıkmaz.

Modülün AD0 bacağı adresi seçer: boşta 0x68, 5V'a çekilirse 0x69. İki MPU6050'yi aynı hatta bağlamak isterseniz bu bacak işinizi görür.

Kalibrasyon şart

Hiçbir MPU6050 fabrikadan sıfır hatalı çıkmaz. Cihaz düz ve hareketsiz dururken birkaç yüz ölçüm alıp ortalamasını sıfır noktası olarak kaydetmek, sonraki bütün hesapları düzeltir. Bu adımı atlayan bir denge robotu, hiç dokunulmadan bir tarafa kaymaya başlar.

Hangi eksen hangisi?

Modülün üstünde X, Y ve Z eksenleri okları ile yazılıdır. Kodda açı ters çıkıyorsa çoğu zaman sebep, modülün devreye beklenenden farklı yönde monte edilmiş olmasıdır.

İlk adım her zaman şudur: modülü düz koyup ham değerleri okuyun. Z ekseni yer çekimini görmeli (yaklaşık 1g), diğer ikisi sıfıra yakın olmalıdır. Böyle değilse montaj yönü farklıdır.

Titreşim sorunu

İvmeölçer, motorların titreşimini de ölçer. Bir dron ya da robot arabada ham ivme verisi neredeyse okunamaz hâle gelebilir.

İki çözüm birlikte kullanılır: modülü yumuşak bir malzemeyle (köpük bant) gövdeye bağlamak ve yazılımda alçak geçiren filtre uygulamak. Mekanik yalıtım ihmal edilirse hiçbir filtre yetmez.

Basit eğim algılama yeterliyse tilt switch yazımıza bakabilir, HipoCodes devre simülasyonunda modülü bağlayabilirsiniz.

Etiketler

  • mpu6050
  • ivmeölçer
  • jiroskop
  • i2c
  • denge robotu
  • robotik kodlama

Bunlar da ilginizi çekebilir