UM2275
Kullanıcı kılavuzu
STM1Cube için X-CUBE-MEMS32 genişlemesinde MotionFD gerçek zamanlı düşme algılama kütüphanesini kullanmaya başlama
giriiş
MotionEC, X-CUBE-MEMS1 yazılımının bir ara yazılım kütüphanesi bileşenidir ve STM3z2 üzerinde çalışır. Bir cihazdan gelen verilere dayanarak cihaz yönü ve hareket durumu hakkında gerçek zamanlı bilgi sağlar.
Aşağıdaki çıktıları sağlar: cihaz yönelimi (kuaterniyonlar, Euler açıları), cihaz dönüşü (sanal jiroskop işlevi), yerçekimi vektörü ve doğrusal ivme.
Bu kütüphane yalnızca ST MEMS ile çalışacak şekilde tasarlanmıştır.
Algoritma statik kütüphane formatında sunulmakta olup, ARM® Cortex®-M32+, ARM® Cortex®-M0, ARM® Cortex®-M3, ARM® Cortex®-M33 ve ARM® Cortex®-M4 mimarilerine dayalı STM7 mikrodenetleyicilerde kullanılmak üzere tasarlanmıştır.
Farklı STM32 mikrodenetleyiciler arasında taşınabilirliği kolaylaştırmak için STM32Cube yazılım teknolojisi üzerine inşa edilmiştir.
Yazılım s ile birlikte gelirampNUCLEO-F4RE, NUCLEO-U1ZI-Q veya NUCLEO-L01RE geliştirme kartındaki X-NUCLEO-IKS3A401 veya X-NUCLEO-IKS575A152 genişletme kartında çalışan uygulama.
Kısaltmalar ve kısaltmalar
Tablo 1. Kısaltma listesi
Kısaltma | Tanım |
API | Uygulama programlama arayüzü |
BSP | Yönetim kurulu destek paketi |
Grafiksel kullanıcı arayüzü | Grafiksel kullanıcı arayüzü |
HÂL | Donanım soyutlama katmanı |
İDE | Entegre geliştirme ortamı |
STM1Cube için X-CUBE-MEMS32 yazılım genişlemesindeki MotionFD ara yazılım kütüphanesi
2.1 MotionFD bittiview
MotionFD kütüphanesi X-CUBE-MEMS1 yazılımının işlevselliğini genişletir.
Kütüphane, ivmeölçer ve basınç sensöründen gelen verileri alarak, bir cihazdan gelen verilere dayanarak kullanıcının düşme olayı hakkında bilgi sağlar.
Kütüphane yalnızca ST MEMS için tasarlanmıştır. Diğer MEMS sensörlerini kullanırken işlevsellik ve performans analiz edilmez ve belgede açıklananlardan önemli ölçüde farklı olabilir.
SampBu uygulama, NUCLEO-F4RE, NUCLEO-U1ZI-Q veya NUCLEO-L01RE geliştirme kartına monte edilmiş X-NUCLEO-IKS3A401 ve X-NUCLEO-IKS575A152 genişletme kartları için mevcuttur.
2.2 MotionFD kütüphanesi
MotionFD API'lerinin işlevlerini ve parametrelerini tam olarak açıklayan teknik bilgiler MotionFD_Package.chm derlenmiş HTML'de bulunabilir file Belgeler klasöründe bulunur.
2.2.1 MotionFD kütüphanesi açıklaması
MotionFD düşme algılama kütüphanesi, ivmeölçer ve basınç sensöründen alınan verileri yönetir; özellikleri şunlardır:
- Kullanıcının düşüp düşmediğini ayırt etme olanağı
- yalnızca ivmeölçer ve basınç sensörü verilerine dayalı tanıma
- gerekli ivmeölçer ve basınç sensörü verileriampling frekansı 25 Hz'dir
- kaynak gereksinimleri:
– Cortex-M3: 3.6 kB kod ve 3.2 kB veri belleği
– Cortex-M33: 3.4 kB kod ve 3.2 kB veri belleği
– Cortex-M4: 3.4 kB kod ve 3.2 kB veri belleği
– Cortex-M7: 3.4 kB kod ve 3.2 kB veri belleği - ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 ve ARM Cortex-M7 mimarileri için kullanılabilir
2.2.2 MotionFD API'leri
MotionFD kütüphanesinin API'leri şunlardır:
- uint8_t MotionFD_GetLibVersion(char *sürüm)
– kütüphane sürümünü alır
– *version, 35 karakterlik bir diziye işaretçidir
– sürüm dizesindeki karakter sayısını döndürür - void MotionFD_Initialize(void)
– MotionFD kütüphanesinin başlatılmasını ve dahili mekanizmanın kurulumunu gerçekleştirir
Not: Bu fonksiyon düşme algılama kütüphanesini kullanmadan önce çağrılmalı ve STM32 mikrodenetleyicisindeki CRC modülü (RCC çevresel saat etkinleştirme kaydında) etkinleştirilmelidir.
- void MotionFD_Update (MFD_input_t *data_in, MFD_output_t *data_out)
– düşme algılama algoritmasını çalıştırır
– *data_in parametresi, giriş verilerine sahip bir yapıya işaretçidir
– MFD_input_t yapı türü için parametreler şunlardır:
◦ AccX, X eksenindeki ivmeölçer sensör değeridir (mg cinsinden)
◦ AccY, Y eksenindeki ivmeölçer sensör değeridir (mg)
◦ AccZ, Z eksenindeki ivmeölçer sensör değeridir (mg)
◦ Basınç, hPa cinsinden basınç sensörü değeridir
– *data_out parametresi, aşağıdaki öğelere sahip bir enum'a işaretçidir:
◦ MFD_NOFALL = 0
◦ MFD_DÜŞÜŞ = 1 - void MotionFD_SetKnobs(float düşme_eşiği, int32_t düşme_irtifası_deltası, float yatma_süresi)
– kitaplık yapılandırma parametrelerini ayarlar
– mg cinsinden fall_threshold ivme eşiği
– fall_altitude_delta cm cinsinden yükseklik farkı
– yatma süresi, darbeden sonra hareketsiz kalma süresi saniye cinsinden - void MotionFD_GetKnobs(float *düşüş_eşiği, int32_t *düşüş_irtifası_deltası, float *yatma_süresi)
– kütüphane yapılandırma parametrelerini alır
– mg cinsinden fall_threshold ivme eşiği
– fall_altitude_delta cm cinsinden yükseklik farkı
– yatma süresi, darbeden sonra hareketsiz kalma süresi saniye cinsinden
2.2.3 API akış şeması
2.2.4 Demo kodu
Aşağıdaki gösteri kodu ivmeölçer ve basınç sensöründen gelen verileri okur ve düşme olayı kodunu alır.
2.2.5 Algoritma performansı
Düşme algılama algoritması yalnızca ivmeölçer ve basınç sensöründen gelen verileri kullanır ve güç tüketimini azaltmak için düşük frekansta (25 Hz) çalışır.
2.3 Sampbaşvuru
MotionFD ara yazılımı, kullanıcı uygulamaları oluşturmak için kolayca kullanılabilir;ampDosya uygulaması Uygulama klasöründe sağlanır.
NUCLEO-F401RE, NUCLEO-U575ZI-Q veya NUCLEO-L152RE geliştirme kartının X-NUCLEO-IKS4A1 veya X-NUCLEO-IKS01A3 genişletme kartına bağlanmasıyla çalışacak şekilde tasarlanmıştır.
Uygulama kullanıcının düşme olayını gerçek zamanlı olarak tanır.
Yukarıdaki şekil, NUCLEO-F1RE kartının B401 kullanıcı düğmesini ve üç LED'ini göstermektedir. Karta güç verildiğinde, LED LD3 (PWR) AÇIK konuma gelir.
Gerçek zamanlı verileri izlemek için bir USB kablo bağlantısı gereklidir. Kart, USB bağlantısı aracılığıyla PC tarafından çalıştırılır. Bu çalışma modu, algılanan kullanıcı düşme olayı, ivmeölçer ve basınç sensörü verileri, zaman stamp ve sonunda diğer sensör verilerini gerçek zamanlı olarak MEMS-Studio kullanarak.
2.4 MEMS-Studio uygulaması
sampUygulama, şu adresten indirilebilen MEMS-Studio uygulamasını kullanır: www.st.com.
Adım 1. Gerekli sürücülerin kurulu olduğundan ve uygun genişletme kartına sahip STM32 Nucleo kartının bilgisayara bağlı olduğundan emin olun.
Adım 2. Ana uygulama penceresini açmak için MEMS-Studio uygulamasını başlatın.
Desteklenen firmware'e sahip bir STM32 Nucleo kartı bilgisayara bağlandığında otomatik olarak algılanır.
Değerlendirme panosuna bağlantı kurmak için [Bağlan] butonuna basın.
Adım 3. Desteklenen yazılıma sahip bir STM32 Nucleo kartına bağlandığında [Kütüphane Değerlendirmesi] sekmesi açılır.
Veri akışını başlatmak ve durdurmak için uygun [Başlat] öğesini değiştirin veya [Dur]
Dış dikey araç çubuğundaki düğme.
Bağlı sensörden gelen veriler viewİç dikey araç çubuğunda [Veri Tablosu] sekmesini seçerek
Adım 4. Özel uygulama penceresini açmak için [Düşme Algılama] öğesine tıklayın.
Adım 5. [Kaydet] öğesine tıklayın File] veri günlüğü yapılandırma penceresini açmak için. Kaydedilecek sensör ve düşme algılama verilerini seçin fileİlgili butona tıklayarak kaydetmeye başlayabilir veya durdurabilirsiniz.
Adım 6. Veri Enjeksiyonu modu, daha önce edinilen verileri kütüphaneye göndermek ve sonucu almak için kullanılabilir. Özel aracı açmak için dikey araç çubuğundaki [Veri Enjeksiyonu] sekmesini seçin view Bu işlevsellik için.
Adım 7. Seçmek için [Gözat] düğmesine tıklayın file Daha önce yakalanan veriler CSV formatında.
Veriler geçerli tabloya yüklenecek view.
Diğer butonlar aktif hale gelecektir. Şunlara tıklayabilirsiniz:
– [Çevrimdışı Mod] düğmesi, aygıt yazılımının çevrimdışı modunu açma/kapatma (önceden yakalanan verileri kullanan mod) için kullanılır.
– MEMS-Studio'dan kütüphaneye veri beslemesini kontrol etmek için [Başlat]/[Durdur]/[Adım]/[Tekrarla] düğmeleri.
2.5 Referanslar
Aşağıdaki kaynakların tamamına www.st.com adresinden ücretsiz olarak ulaşabilirsiniz.
- UM1859: X-CUBE-MEMS1 hareket MEMS'i ve STM32Cube için çevresel sensör yazılımı genişletmesini kullanmaya başlama
- UM1724: STM32 Nucleo-64 kartları (MB1136)
- UM3233: MEMS-Studio'yu kullanmaya başlama
Revizyon geçmişi
Tablo 4. Belge revizyon geçmişi
Tarih | Sürüm | Değişiklikler |
22-Eylül-2017 | 1 | İlk sürüm. |
6-Şub-18 | 2 | NUCLEO-L152RE geliştirme kartına ve Tablo 2'e referanslar eklendi. Geçen süre (μs) algoritması. |
21-Mar-18 | 3 | Güncellenmiş Giriş ve Bölüm 2.1 MotionFDview. |
19-Şub-19 | 4 | Güncellenen Tablo 2. Geçen zaman (μs) algoritması ve Şekil 2. STM32 Nucleo: LED'ler, buton, jumper. X-NUCLEO-IKS01A3 genişletme kartı uyumluluk bilgileri eklendi. |
17-Eylül-24 | 5 | Güncellenen Bölüm Girişi, Bölüm 2.1: MotionFD bittiview, Bölüm 2.2.1: MotionFD kitaplığı açıklaması, Bölüm 2.2.2: MotionFD API'leri, Bölüm 2.2.5: Algoritma performansı, Bölüm 2.3: SampUygulama, Bölüm 2.4: MEMS-Studio uygulaması |
ÖNEMLİ UYARI – DİKKATLİCE OKUYUN
STMicroelectronics NV ve bağlı şirketleri ("ST"), ST ürünlerine ve/veya bu belgeye herhangi bir zamanda bildirimde bulunmaksızın değişiklik, düzeltme, geliştirme, modifikasyon ve iyileştirme yapma hakkını saklı tutar. Alıcılar, sipariş vermeden önce ST ürünleriyle ilgili en son ilgili bilgileri edinmelidir. ST ürünleri, sipariş onayı sırasında yürürlükte olan ST'nin satış şartları ve koşullarına uygun olarak satılır.
Alıcılar, ST ürünlerinin seçimi, seçimi ve kullanımı konusunda münhasıran sorumludur ve ST, uygulama yardımı veya alıcıların ürünlerinin tasarımı konusunda hiçbir sorumluluk kabul etmez.
ST tarafından burada herhangi bir fikri mülkiyet hakkına ilişkin açık veya örtük hiçbir lisans verilmemektedir.
ST ürünlerinin burada belirtilen bilgilerden farklı hükümlerle yeniden satışı, ST tarafından söz konusu ürün için verilen her türlü garantiyi geçersiz kılar.
ST ve ST logosu, ST'nin ticari markalarıdır. ST ticari markaları hakkında ek bilgi için bkz. www.st.com/ticari markalarDiğer tüm ürün veya hizmet adları ilgili sahiplerinin mülkiyetindedir.
Bu belgedeki bilgiler, bu belgenin önceki sürümlerinde sağlanan bilgilerin yerini alır ve bu bilgilerin yerine geçer.
© 2024 STMicroelectronics – Tüm hakları saklıdır
Belgeler / Kaynaklar
![]() |
ST X-CUBE-MEMS1 MotionFD Gerçek Zamanlı Düşme Algılama Kütüphanesi [pdf] Kullanıcı Kılavuzu X-CUBE-MEMS1 MotionFD Gerçek Zamanlı Düşme Algılama Kütüphanesi, X-CUBE-MEMS1, MotionFD Gerçek Zamanlı Düşme Algılama Kütüphanesi, Gerçek Zamanlı Düşme Algılama Kütüphanesi, Düşme Algılama Kütüphanesi, Algılama Kütüphanesi, Kütüphane |