ICM20948 MEMS Jiroskop İvmeölçer ve Manyetometre Hareket Takıp sensörü
ICM20948, tek bir QFN paketine entegre edilmiş iki bölmeden oluşan çok çipli bir modüldür (MCM). Bir bölme, 3 eksenli bir jiroskop, 3 eksenli bir ivmeölçer ve bir Dijital Hareket İşlemcisi (DMP) barındırır. Diğer bölüm, Asahi Kasei Microdevices Corporation’dan AK09916 3 eksenli Magnetometer barındırır. ICM20948, küçük bir 3×3×1 mm QFN paketinde bulunan 9 eksenli bir Hareket takip cihazıdır.
Jiroskopun ±250 dps, ±500 dps, ±1000 dps ve ±2000 dps’lik programlanabilir tam ölçekli aralığı vardır. İvmeölçer, ±2 g , ±4 g , ±8 g ve ±16 g’lik kullanıcı tarafından programlanabilir tam ölçekli aralığına sahiptir .
Diğer önemli özellikler arasında çip üzerinde 16 bitlik ADC’ler, programlanabilir dijital filtreler, gömülü bir sıcaklık sensörü ve programlanabilir interruptları bulunur. Cihaz I2C ve SPI seri arayüzlerine sahiptir.
Özellikler
- Eksen Sayısı: 9-Eksen
- Çıkış türü: Dijital-I2C veya SPI
- İvmeölçer FSR: ±2, ±4, ±8, ±16(g)
- İvmeölçer Hassasiyeti SF: 16384, 2048 (LSB/g), 4096, 8192
- İvmeölçer ADC:16-Bit
- Jiroskop FSR: ±250, ±500, ±1000, ±2000(dps)
- Jiroskop Hassasiyeti SF : 131, 16.4 (LSB/dps), 32.8, 65.5
- Jiroskop ADC: 16-Bit
- Magnetometer FSR: ±4900 µT
- Magnetometer Çözünürlüğü: 16 Bit
Uygulamalar
- Akıllı Telefonlar ve Tabletler
- Giyilebilir Sensörler
- Nesnelerin İnterneti Uygulamaları
Gebra ICM20948 Modülü
- Sensör pinlerine ulaşmanın zor olduğu göz önüne alındığında, sensörünün donanım ve yazılım geliştirmesi için kullanıcının bir starter devresine ve sürücüsüne ihtiyacı vardır. GebraMS kullanıcıların rahatlığı için Gebra ICM20948 devresini hazırladı. Kullanıcılar bu sensörün en önemli pinlerine bu devre aracılığıyla kolaylıkla erişebilirler
- Gebra ICM20948 BreadBoard’a yerleştirmeniz, ardından Arduino, Raspberry Pi, Discovery board’lardan herhangi biriyle uygun voltaj kurulumu uygulayarak kurmanız yeterlidir
- biz özelllikle Gebra STM32F303 kullanmanızı öneriyoruz, Gebra STM32F303 üzerinde dahili 3V3 regülatörünün bulunması ve tüm Gebra modüllerinin pin sırasının birbirine uyumlu olması (GEBRABUS standardı) Gebra ICM20948 ilgili sokete takıp kablolama yapmadan kodlamaya başlayabilirsiniz
Gebra ICM20948 Modülünün Temel Özellikleri
- Kullanıcı tarafından seçilebilen arayüz protokolü (I2C veya SPI)
- Kullanıcı tarafından seçilebilen I2C adresi (AD0)
- Yardımcı I2C arayüzü
- Sensörün tüm veri pinlerine erişim
- 1V8 Voltaj Regülatörü
- 1V8 Çıkış Voltajı
- Bord üstünde, AÇIK/KAPALI LED göstergesi
- GEBRABUS ile Uyumlu Pin
- Gebra MCU Modüllerinin bir yardımcı kartı olarak kullanılabilir
- Castellated pad (SMD Parçası olarak monte edilmiştir)
- Kartın boyutunu küçültmek için ayrılabilir vida parçaları
- Paket: Gebra küçük (36,29 mm x 32,72 mm)
Gebra ICM20948 Modül pinleri
kaynak pinleri
- 5V: Bu pin, modülün ana güç kaynağı pinidir ve kart üzerindeki regülatör giriş voltajını sağlar.
- 1V8: Regülatör modüle monte edilmişse, regülatörün “1.8V” çıkış voltajı bu pin üzerinden kullanılabilir, aksi takdirde bu pine, “1.8V” harici voltaj uygulayarak modülü başlatmak için ana güç kaynağı pini olarak kullanılabilir . Ayrıca, sensörün dijital iletişiminin (I2C veya SPI) logic seviyesini de sağlayabilir.
- GND: Sensörün güç ve logic seviyesi için ortak topraklama pinidir.
I2C pinleri
Devrede bulunan Jumper seçicilerini kullanarak, modül iletişim türünü seçebilirsiniz. Tüm Jumper Seçicilerinin 0R dirençleri sol taraftaysa, I2C protokolü seçilir. AD0 SEL jumper durumu, sensörün I2C adresidir (0x68 veya 0x69).
- SDA: Bu pin, mikrodenetleyicideki (işlemcideki) ilgili veri pinine bağlanan I2C iletişim veri pinidir. VDIOSEL jumper’ının durumuna göre, “1V8” veya “3V3” voltajıyla logic seviyesini kullanabilirsiniz. Bu pin 10K pull up durumundadır.
- SCL: Bu pin, mikrodenetleyicideki (işlemcideki) karşılık gelen saat pinine bağlanan I2C iletişim saat pinidir. VDIOSEL jumper’ının durumuna bağlı olarak, “1V8” veya “3V3” voltajlı logic seviyesini kullanabilirsiniz. Bu pin 10K’lık bir dirençle pull up durumundadır.
- AUX SDA: Bu pin, harici sensörlere bağlanmak için tasarlanmış I2C ana seri verisidir. Bu pin, mikrodenetleyicideki (işlemcideki) karşılık gelen veri pinine bağlanır ve 10K dirençle pull up durumundadır.
- AUX SCL: Bu pin, harici sensörlere bağlanmak için tasarlanmış I2C Master seri saatidir. Bu pin, mikrodenetleyicideki (işlemcideki) karşılık gelen veri pinine bağlanır ve 10K dirençle pull up durumundadır.
NOT : Gebra ICM20948 modülünün logic seviyesi “1.8V”, geliştirme modüllerinin logic seviyesi ise “5V” olduğundan, logik Seviyesi Dönüştürücü modülü ile iki logic seviyesinin birbirine dönüştürülmesi gerekmektedir.
SPI pinleri
Modülle iletişim türü, bord üstünde bulunan jumper’ları kullanılarak seçebilirsiniz. Tüm jumperlar 0R dirençleri sağ taraftaysa, SPI protokolü seçilmiştir. Bu durumda “AD0 SEL” jumper durumu hiçbir etkiye sahip değildir.
- SDI (MOSI): Bu pin, mikrodenetleyiciden (işlemci) modüle (sensör) veri göndermek için kullanılır. Bu pinin kısaltması Latince Serial Data In / Microcontroller Out Sensor In ifadesinden türetilmiştir.
- SDO (MISO): Bu pin, modülden (sensör) mikrodenetleyiciye (işlemci) veri göndermek için kullanılır. Bu pinin kısaltması Latince Serial Data Out / Microcontroller In Sensor Out ifadesinden türetilmiştir.
- SCK: Bu pin, SPI haberleşmesi için saat pinidir, sensörün girişi olarak kabul edilir ve mikrodenetleyicideki (işlemcideki) ilgili saat pinine bağlanır.
- CS: Bu pin, SPI haberleşmesi için modül (sensör) ile Chip Select pinidir, LOW voltaj (0V) uygulanarak seçilir, modül (sensör) SPI haberleşmesi için. Bu pin, sensör için giriş tipidir.
Aynı anda birden fazla Gebra ICM20948 modülünü kullanmak istiyorsanız, tüm modüllerin “SDO”, “SDI”, “SCK” pinlerini mikrodenetleyiciye (işlemciye) bağlamanız ve her bir “CS”ye ayrı bir pin atamanız yeterlidir.
NOT : Gebra ICM20948 modülünün logic seviyesi “1.8V”, geliştirme modüllerinin logic seviyesi ise “5V” olduğundan, Mantık Seviyesi Dönüştürücü modülü ile iki logic seviyesinin birbirine dönüştürülmesi gerekmektedir.
Diğer pinler
- INT: ICM20948 sensörü için interrupt pinidir, veri sayfasına göre, kullanıcı interrupt koşullarını, kesme modlarını ve yöntemlerini vb. ayarlayabilir.
- FSY(FSYNC): Bu pin, sensörü harici bir kaynakla senkronize etmek için kullanılır. Daha fazla bilgi için sensörün veri sayfasını okuyun. Varsayılan olarak, bu pin R3 direnciyle toprağa bağlanır. Pin’i kullanmak için, R3 direncinin modülden çıkarılması (sökülmesi) gerekir.
Modül bölümlerinin tanıtımı
ICM20948 sensörü
Aşağıdaki modülün merkezine yerleştirilen ve devresi tasarlanan ana IC’dir.
İletişim Protokolü Seçim jumper’ i
Tüm Seçici Jumper’ların 0R dirençleri sol tarafta ise I2C protokolü seçilmiştir.
Tüm Seçici Jumper’ların 0R dirençleri sağ tarafta ise SPI protokolü seçilidir.
varsayılan olarak I2C protokolü seçilidir.
AD0 SEL jumper’ i
I2C protokolü seçildiğinde, AD0 SEL jumper’ının durumu, sensörün I2C adresini belirler (0 => 0x68 veya 1 => 0x69).
0R direnci 0 olarak ayarlanmıştır ve 0x68 adresi seçilidir (varsayılan olarak).
1V8 XC6206P182MR-G regülatörü
Bu modülde kullanılan regülatör “5V” voltajını “1.8V”a dönüştürür. Bu regülatörün çıkışı “1V8” pininden erişilebilir.
güç LED’i
Modüle ilgili pin üzerinden voltaj uygulandığında modülün LED’i yanacaktır.
İşlemciye bağlanmak
Gebra STM32F303 ile I2C bağlantısı
Öncelikle kart üzerindeki jumperlar kullanılarak I2C protokolünün seçildiğinden emin olunduktan sonra Gebra ICM20948 ve Gebra STM32F303 mikrodenetleyici modülünün I2C bağlantısı için SDA ve SCL’yi PB9 ve PB8 pinlerine tanımladıktan sonra (STMCUBEMX’te kolaylık olması açısından) aşağıdaki adımları takip edin:
Gebra ICM20948 modülünün logic seviyesi “1.8V” ve Gebra STM32F303 mikrodenetleyici modülünün logic seviyesi “3V3” olduğundan, logic Seviyesi Dönüştürücü modülü aracılığıyla iki logic seviyesinin birbirine dönüştürülmesi gerekmektedir.
- Yukarıdaki açıklamaya göre, ICM20948 modülünün “1V8” pinini bir logic Seviyesi Dönüştürücüsü (sarı ve yeşil kablolar) aracılığıyla mikrodenetleyici modülünün “3V3” çıkış pinine bağlayın.
- Aşağıdaki resimde gösterildiği gibi ICM20948 modülünün “GND” pinlerini mikrodenetleyici modülünün “GND” pinlerine bağlayın. (Siyah kablolar)
- ICM20948 modülünün “SCL” ve “SDA” pinlerini logic Seviyesi Dönüştürücü modülü (mavi kablolar) aracılığıyla mikrodenetleyici modülünün PB8(SCL) ve PB9(SDA) pinlerine bağlayın.
Gebra STM32F303 ile SPI bağlantısı
Öncelikle kart üzerindeki jumper’ları kullanarak SPI protokolünün seçildiğinden emin olun, ardından Gebra ICM20948 modülünü SPI protokolü ile Gebra STM32F303 mikrodenetleyici modülüne bağlamak için PB5, PB4, PB3 ve PC13 pinlerine “SDI”, “SDO”, “SCK” ve “CS” tanımladıktan sonra (STMCUBEMX’te çalışma kolaylığı için) aşağıdaki bağlantıları yapın:
Gebra ICM20948 modülünün logic seviyesi “1.8V” ve Gebra STM32F303 mikrodenetleyici modülünün logic seviyesi “3V3” olduğundan, logic Seviyesi Dönüştürücü modülü aracılığıyla iki logic seviyesinin birbirine dönüştürülmesi gerekmektedir.
Gebra ATMEGA32A ile I2C bağlantısı
Öncelikle, kart üzerindeki jumper’lar kullanılarak I2C protokolünün seçildiğinden emin olun, ardından Gebra ICM20948 ve Gebra ATMEGA32A mikrodenetleyici modülünün I2C bağlantısı için, PC1 ve PC0 pinlerine “SDA” ve “SCL” tanımlarını yaptıktan sonra (STMCUBEMX’te kolaylık olması açısından) aşağıdaki resimde gösterildiği gibi işlemleri yapın:
Gebra ICM20948 modülünün logic seviyesi “1.8V” ve Gebra STM32F303 mikrodenetleyici modülünün logic seviyesi “3V3” olduğundan, logic Seviyesi Dönüştürücü modülü aracılığıyla iki logic seviyesinin birbirine dönüştürülmesi gerekmektedir.
Gebra ATMEGA32A ile SPI bağlantısı
Öncelikle kart üzerindeki jumper’ları kullanarak SPI protokolünün seçildiğinden emin olun, ardından Gebra ICM20948 modülünü Gebra ATMEGA32A mikrodenetleyici modülüne SPI protokolü ile bağlamak için PB5, PB4, PB3 ve PC13 pinlerine “SDI”, “SDO”, “SCK” ve “CS” tanımladıktan sonra aşağıdaki gibi bağlantıları yapın:
Gebra ICM20948 modülünün logic seviyesi “1.8V” ve Gebra STM32F303 mikrodenetleyici modülünün logic seviyesi “3V3” olduğundan, logic Seviyesi Dönüştürücü modülü aracılığıyla iki logic seviyesinin birbirine dönüştürülmesi gerekmektedir.
ARDUINO UNO ile I2C Bağlantısı
Öncelikle kart üzerindeki jumper’ları kullanarak I2C protokolünün seçildiğinden emin olun, ardından aşağıdaki adımları izleyerek Gebra ICM20948 modülünü I2C aracılığıyla ARDUINO UNO’ya bağlayın:
- Aşağıdaki resimde gösterildiği gibi ICM20948 modülünün “1V8” pinini ARDUINO UNO kartının “5V” çıkış pinine bağlayın. (kırmızı kablo)
- ICM20948 modülünün “GND” pinini ARDUINO UNO kartının “GND” pinine (siyah kablo) bağlayın.
- ICM20948 modülünün “SCL” pinini ARDUINO UNO kartının A5 pinine bağlayın (SCL). (mavi kablo)
- ICM20948 modülünün “SDA” pinini ARDUINO UNO kartının (SDA) A4 pinine bağlayın. (mavi kablo)
ARDUINO UNO ile SPI Bağlantısı
Öncelikle kart üzerindeki jumper’ları kullanarak SPI protokolünün seçildiğinden emin olun, ardından aşağıdaki adımları izleyerek Gebra ICM20948 modülünü SPI aracılığıyla ARDUINO UNO’ya bağlayın:
- Aşağıdaki resimde gösterildiği gibi ICM20948 modülünün “1V8” pinini ARDUINO UNO kartının “5V” çıkış pinine bağlayın. (kırmızı kablo)
- ICM20948 modülünün “GND” pinini ARDUINO UNO kartının “GND” pinine (siyah kablo) bağlayın.
- ICM20948 modülünün “SDI” pinini ARDUINO UNO kartının (SDI) D11 pinine bağlayın. (mavi kablo)
- ICM20948 modülünün “SDO” pinini ARDUINO UNO kartının (SDO) D12 pinine bağlayın. (mavi kablo)
- ICM20948 modülünün “SCK” pinini ARDUINO UNO kartının D13 pinine bağlayın (SCK). (mavi kablo)
- ICM20948 modülünün “CS” pinini ARDUINO UNO kartının D10 pinine bağlayın (CS). (mavi kablo)
Değerlendirmeler
Henüz değerlendirme yapılmadı.