ICM20689 Jiroskop ve İvmeölçer Sensörü
ICM20689, 3 eksenli jiroskop, 3 eksenli ivmeölçer ve Dijital Hareket İşlemcisini (DMP) küçük bir 4×4×0,9 mm (24-pin QFN) pakette birleştiren 6 eksenli bir Hareket İzleme cihazıdır.
ICM-20689, çip üzerinde 16 bitlik ADC’ler, programlanabilir dijital filtreler, entegre sıcaklık sensörü, programlanabilir interrupt’lar içeriyor ve iletişim portları arasında
I2C ve 8 MHz’de yüksek hızlı SPI bulunuyor.
Sensörün diğer özellikleri arasında FSR ±250dps, ±500dps, ±1000dps, ±2000dps’ye sahip programlanabilir jiroskop ve FSR ±2g, ±4g, ±8g ve ±16g’ye sahip programlanabilir ivmeölçer yer alıyor.
Ayrıca bu sensörde bulunan 4K_byte’lık FIFO buffer işlemcinin verileri ardışık olarak okumasına olanak sağlar.
Bu sensör, cep telefonları ve tabletler, drone’lar, hareket tabanlı oyun kumandaları, internet bağlantılı DTV’ler ve set-top kutular için 3D uzaktan kumandalar, sağlık, fitness ve spor için giyilebilir sensörler gibi uygulamalarda kullanılabilir.
Özellikler
- Eksen Sayısı: 6 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
- Jiroskop FSR: ±250, ±500, ±1000, ±2000(dps)
- Jiroskop Hassasiyeti SF: 131, 16,4 (LSB/dps), 32,8, 65,5
- Acc. & Gyro ADC: 16 Bit
Uygulamalar
- Cep telefonları ve tabletler
- İnsansız hava araçları
- Hareket tabanlı oyun kumandaları
- İnternet bağlantılı DTV’ler için 3D uzaktan kumandalar
- set top kutular, 3D fareler
- Sağlık, fitness ve spor için giyilebilir sensörler.
Gebra ICM20689 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 ICM20689 devresini hazırladı. Kullanıcılar bu sensörün en önemli pinlerine bu devre aracılığıyla kolaylıkla erişebilirler
- Gebra ICM20689 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 ICM20689 ilgili sokete takıp kablolama yapmadan kodlamaya başlayabilirsiniz
Gebra ICM20689 Modülünün Temel Özellikleri
- Kullanıcı tarafından seçilebilen modül güç kaynağı voltajı 1V8 ile 3V3 arasındadır
- Kullanıcı tarafından seçilebilen modül I/O logic voltajı 1V8 ile 3V3 arasında
- Kullanıcı tarafından seçilebilen arayüz protokolü (I2C veya SPI)
- Kullanıcı tarafından seçilebilen I2C adresi (AD0)
- Sensörün tüm veri pinlerine erişim
- 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 ICM20689 Modül pinleri
Besleme pinleri
- 3V3: Bu pin, “VDD SEL” ve “VDIO SEL” jumper’larının durumuna göre sensörün ana güç kaynağını ve sensörün dijital bağlantısının (I2C veya SPI) mantık seviyesini besleyebilir .
- 1V8: Bu pin, “VDD SEL” ve “VDIO SEL” jumper’larının durumuna göre sensörün ana güç kaynağını ve sensörün dijital haberleşmesinin (I2C veya SPI) logic seviyesini besleyebilir .
- GND: Sensörün güç ve logic seviyesi için ortak topraklama pinidir.
I2C pinleri
Bord üzerindeki Jumperları kullanarak, modül iletişim türünü seçebilirsiniz. Tüm Selector Jumper’ların 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. “VDIO SEL” jumper’ının durumuna göre, “1V8” veya “3V3” voltajlı logic seviyesini kullanabilirsiniz. Bu pin 10K bir dirençle pull up durumundadır.
- SCL: Bu pin, mikrodenetleyicideki (işlemcideki) karşılık gelen saat pinine bağlanan I2C iletişim saat pinidir. “VDIO SEL” 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.
SPI pinleri
Modülle iletişim türü, bord üzerimdeki jumper’lar aracılığıle seçilir. Tüm jumperların 0R dirençleri sağ taraftaysa, SPI protokolü seçilmiştir. Bu durumda “AD0 SEL” jumperinin 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 ICM20689 modülünü kullanmak istiyorsanız, tüm modüllerin ve mikrodenetleyicinin (işlemcinin) SDO, SDI, SCK pinlerini birbirine bağlayıp her bir CS’ye ayrı bir pin atamanız yeterlidir.
Diğer pinler
- INT: : ICM20689 sensörü interrupt pini, veri sayfasına göre, kullanıcı interrupt koşullarını, interrupt 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 direnci modülden çıkarılmalıdır (sökülmelidir).
Modül bölümlerinin tanıtımı
ICM20689 sensörü
Aşağıdaki modülün merkezine yerleştirilen ve devresi tasarlanan ana IC’dir.
İletişim Potocol jumperları
Tüm Jumper’ların 0R dirençleri sol tarafta ise I2C protokolü seçilmiştir.
Tüm Jumper’ların 0R dirençleri sağ tarafta ise SPI protokolü seçilidir.
varsayılan olarak I2C protokolü seçilidir
AD0 SEL jumperi
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).
VDIO SEL jumperi
Bu jumper’ın 0R direncinin durumuna göre sensörün dijital haberleşme logic seviyesi (I2C veya SPI) “1V8” ile “3V3” arasında seçilir.
Sensörün dijital haberleşme logic seviyesi (I2C veya SPI) 3V3 (varsayılan olarak) olarak seçilmiştir.
VDD SEL jumperi
Bu jumperın 0R direncinin durumuna göre sensör güç kaynağının ana voltajı “1V8” ile “3V3” arasında seçilir.
Ana sensör güç kaynağı voltajı 3V3’tür (varsayılan olarak).
güç LED’i
“VDD SEL” jumper’ının durumuna göre ve ilgili pinden modüle 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 olun, ardından Gebra ICM20689 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ı izleyin:
- ICM20689 modülünün “3V3” pinini mikrodenetleyici modülünün “3V3” çıkış pinine bağlayın. (kırmızı kablo)
- ICM20689 modülünün “GND” pinini mikrodenetleyici modülünün “GND” pinine bağlayın (siyah kablo)
- ICM20689 modülünün “SCL” pinini mikrodenetleyici (SCL) modülünün PB8 pinine bağlayın (mavi kablo)
- ICM20689 modülünün “SDA” pinini mikrodenetleyici (SDA) modülünün PB9 pinine bağlayın. (sarı kablo)
Not: Gebra STM32F303 mikrodenetleyici modülünün PA14 pininin mikrodenetleyiciyi programlamak için kullanıldığı düşünüldüğünde, bu versiyonda PA14 ve PA15 pinlerinde I2C ayarı yapmak mümkün olmadığından, bu versiyonda Gebra STM32F303 mikrodenetleyici modülüyle I2C bağlantısı için Gebra ICM20689 modülü Pin to Pin olarak üzerine yerleştirilemez. İki modül arasında daha rahat bir bağlantı yapmak için, yerleşik jumper’ları kullanarak SPI protokolünü seçebilir ve ardından Gebra ICM20689 modülünü Pin to Pin olarak Gebra STM32F303 modülüne yerleştirebilirsiniz
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 ICM20689 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) Gebra ICM20689 modülünü Pin to Pin Gebra STM32F303 modülüne kolayca yerleştirin. Burada modüllerin ayrı ayrı bağlantısı daha iyi anlaşılması için gösterilmiştir
Gebra ATMEGA32A ile SPI veya I2C bağlantısı
ATMEGA32A mikrodenetleyicisinin SPI ve I2C pinlerinin GEBRABUS standardına dayalı olduğu ve diğer GEBRA modüllerinin SPI ve I2C pinlerine karşılık geldiği düşünüldüğünde, Gebra ICM20689 modülü, Gebra ATMEGA32A modülü üzerinde pin-pin konumlandırılabilir ve protokol seçim jumper dirençlerinin durumu değiştirilerek SPI veya I2C üzerinden Gebra ICM20689 modülü ile haberleşebilir:
I2C Connection
SPI Connection
NOT: Eğer Gebra mikrodenetleyici modüllerini kullanıyorsanız, Gebra ICM20689’un güç seçici jumper’larının “3V3” olarak ayarlandığını, böylece mikrodenetleyici modülünden “3V3” voltajını alarak Gebra ICM20689 modülünü kolayca çalıştırabileceğinizi unutmayın.
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 ICM20689 modülünü I2C aracılığıyla ARDUINO UNO’ya bağlayın:
- ICM20689 modülünün “3V3” pinini ARDUINO UNO kartının “3V3” çıkış pinine bağlayın. (kırmızı kablo)
- ICM20689 modülünün “GND” pinini ARDUINO UNO kartının “GND” pinine (siyah kablo) bağlayın.
- ICM20689 modülünün “SCL” pinini ARDUINO UNO kartının A5 pinine bağlayın (SCL). (mavi kablo)
- ICM20689 modülünün “SDA” pinini ARDUINO UNO kartının (SDA) A4 pinine bağlayın. (turuncu 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 ICM20689 modülünü SPI aracılığıyla ARDUINO UNO’ya bağlayın:
- ICM20689 modülünün “3V3” pinini ARDUINO UNO kartının “3V3” çıkış pinine bağlayın. (kırmızı kablo)
- ICM20689 modülünün “GND” pinini ARDUINO UNO kartının “GND” pinine (siyah kablo) bağlayın.
- ICM20689 modülünün “SDI” pinini ARDUINO UNO kartının (SDI) D11 pinine bağlayın. (sarı kablo)
- ICM20689 modülünün “SDO” pinini ARDUINO UNO kartının (SDO) D12 pinine bağlayın. (Mor kablo)
- ICM20689 modülünün “SCK” pinini ARDUINO UNO kartının D13 pinine bağlayın (SCK). (Turuncu kablo)
- ICM20689 modülünün “CS” pinini ARDUINO UNO kartının (SS) D10 pinine bağlayın. (mavi kablo)