MMA7361 Accelerometer ile Açı Ölçümü…

Yayınlandı: 21 Ekim 2011 / İncelemeler
Etiketler:, , , , , , , ,

Geçen hafta E-Bay’dan sipariş verdiğimiz MMA7361  dün elimize ulaştı. Açıkçası ilk defa bir ivmeölçer inceleyeceğim için heyecanlıydım. Eve gelir gelmez MMA7361’i ve breadboardu önüme koyup elbiselerimi bile değiştirmeden çalışmaya koyuldum.

İvmeölçerler adı üstünde, belli doğrultularda ivmelenmeyi ölçen cihazlardır. Genelde otonom denge sağlanması istenilen yerlerde kullanılırlar. Açı ölçümünde de kullanılabilirler.  Statik durumda iken, yani hareket etmez iken de yerçekimine maruz kaldıkları için ( Dünya üzerindeki bütün cisimler gibi ) çıkışlarından, yer ile yaptıkları açıya göre çıkış üretirler.   Resimde gördüğünüz MMA7361 ivmeölçer kartının ortasında bulunan siyah parça bizim asıl sensörümüz.  Bu sensör kartın üzerine montajlanmış ve çıkış verebilmesi için gerekli minimum düzeydeki elemanlar ile birleştirilerek kullanıma hazır hale getirilmiş.

MMA7361 üç eksenli bir ivmeölçer. Yani üç farklı doğrultuda çıkış bilgisi üretbiliyor.  Ayrıca bu sensörün iki farklı G-kuvveti (1.5g,  6g) düzeyi ölçüm şansı var. Aynı zamanda 0g yani serbest düşüş uyarı çıkışı da var. Örneğin dizüstü bilgisayarların yere düşerken harddisklerini kapatması için kullanılan yapıda kullanılıyorlar. Kartın üzerinde bir de 3.3 V regülatör bulunuyor ve istersek direkt olarak 3.3V ile, istersek de 5V ile sürebiliyoruz bu kartı. Eğer 5V ile süreceksek 3.3V ucundan regüle edilmiş 3.3V değerinde gerilim alabiliyoruz.

Resimden de görülebildiği gibi 4 adet çıkışımız var. 0g çıkışının ne olduğunu yukarıda anlatmıştık. Diğer üç çıkışımız ise x,y, ve z çıkışları. Bu çıkışlar sensörün aldığı açı değerlerine göre  0.85 V ve 2.45V arasında değişen analog bilgi üretiyorlar.  Hal böyle iken bu çıkışların okunması da çok kolay oluyor tabiki. Aşağıdaki video da bir adet PIC18F2550 kullanarak sensör çıkışlarını okuduğum ve usb üzerinden bilgisayara aktardığım anları izleyebilirsiniz…Video kalitesi mecburen cep telefonu kamerasını kullandığımdan biraz düşük…


Burada ise MMA7361’in kataloğu yer almakta. Herkese iyi çalışmalar…

yorum
  1. Anonim dedi ki:

    Merhaba, blogunuz çok güzel bir amaca hizmet ediyor.Tebrik ederim, yazıların devamını bekliyorum.

  2. Murat dedi ki:

    Merhaba x, y ve z değerlerini rs232 ile bilgisayara göndermeyi düşünüyorum ancak yazdığım arayüz programında x, y ve z değerlerini nasıl ayrıştıracağım yani gelen verinin x olduğunu nasıl anlayacağım noktasında kaldım. Bu noktada nasıl bir algoritma takip etmemi tavsiye edersiniz. Teşekkür ederim.

    • mikrodunya dedi ki:

      Kaç bit ADC kullanıyorsunuz? Direk Açı değeri mi göndereceksiniz yoksa okuduğunuz voltaj değerini mi göndereceksiniz?
      Benim tavsiyem ADC biriminden okuduğunuz değeri göndermenizdir. Örnek olarak şu şekilde 3 byte veri gönderebilirsiniz her kanal için: “XHL” ,”YHL”, “ZHL”.
      Buradaki H ve L ADC biriminizi 10 bitlik olarak düşündüğüm için, ADC’den okunan değerin yüksek değerlikli ve alçak değerlikli bytelarıdır. Karşı tarafta da toplam 9 byte veri okuduktan sonra üçer üçer ayırıp her kanalın değerini elde edebilirsiniz.

  3. halil dedi ki:

    Merhaba ;

    Ben Halil, GYTE’de bilgisayar mühendisliği okuyorum. bitirme projesi için ivmeölçer ve gyro kullanarak geliştirmiş olduğum uçak uygulamasını kontrol etmem gerekiyor fakat rica etsem kullanmam gereken malzemler konusunda biraz bilgi verir misiniz? ne almam gerekiyor microişlemci olarak kesinlikle ardinuo kullanamam onu söylim pic programlama ile yapacağım.
    yardımcı olursanız sevinirim.

    • mikrodunya dedi ki:

      Daha önce uçan bir cihaz tasarlamadığım için korkarım size tecrübe aktaramayacağım. Fakat en az 18 serisi bir PIC işlemci kullanmanız gerektiğini söyleyebilirim. Ayrıca PID kontrol hakkında bilgi edinmeniz gerekiyor. Motor olarak fırçasız dc tip kullanmalısınız. Bu tür motorları sürmek için ESC ismi verilen sürücüleri kullanmanız gerekiyor. Hobi forumlarında daha çok destek bulabilirsiniz.

  4. halil dedi ki:

    Teşekkür ederim cevap verdiğiniz sipariş vermiş olduğum imu devresi şu an elime geçti. Pic programlama kullanarak gyro ve ivmeölçer verilerini alıp lcd ekranda göstermem lazım ilk aşama olarak fakat bağlantıların nasıl olacağını kodu nasıl yazacağımıı bilmiyorum. Rica etsem yukardaki uygulamayı gerçekleştirmek için çizdiğiniz şemaları ve kullandığınız malzemeleri falan bana gönderebilir misiniz? Zaman ayırdığınız için teşekkür ederim.

    • mikrodunya dedi ki:

      Kullandığım malzemeler PIC18f2550,20MHz osilatör, 2 adet 15pF kondansatör, mma7361, usb kablosu, 100nf kondansatör sadece. Önemli olan sizin PIC programlamayı öğrenmeniz. Yoksa bu proje bu şekilde bitmez. Size tavsiyem Not1’den itibaren özümseyerek çalışmanız..

  5. Tarık dedi ki:

    merhabalar hocam ;

    Öncelikle son derece faydalı site olmuş ellerine sağlık.MMA7361 kullandım ancak ADC den sonra hesaplamayı nasıl yaptınız?? yani sensör lineer mi çalışıyor? 2.sorum şu olacak X,Y eksenlerinde 0 derece için okuduğunuz adc değeri nedir?
    Şimdiden teşekkürler.

    İyi çalışmalar…

    • mikrodunya dedi ki:

      Merhaba, teşekkürler.
      Kataloğun 6. sayfasında çıkış voltajları verilmiş.
      Ayrıca bu linkten açı hesaplama hakkında fikir sahibi olabilirsiniz.

  6. mithat barış dedi ki:

    merhaba
    ivme sensörü ile sabit veya hareketli bir cismin kaç derece sola veya sağa döndüğünü bulabilir miyiz?

    • mikrodunya dedi ki:

      sadece ivme sensörü kullanarak hareketli bir cismin eğimini sağlıklı bir şekilde bulamazsınız. İvmeölçer+ gyro kombinasyonu kullanmanız gerekir. Bunun için de kalman filtresi kullananız lazım.

  7. dracula dedi ki:

    sensör SL ucuna 0 V versek sıkıntı olur mu ?
    sensör 0 g kaç volt analog çıkış üretiyor?

  8. fikret dedi ki:

    Merhaba hocam,

    Yukarıda verdiğiniz bilgiler için teşekkür ederim.
    Öğrenmek istediğim sensörden gelen 10 bit ham ADC değerini açıya çevirmek için nasıl bir işlem yapmalıyız.

    Şimdiden teşekkür ederim.
    İyi çalışmalar.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s