ST X - logoUM2225
Manual pangguna

Miwiti perpustakaan E-Kompas MotionEC wektu nyata ing ekspansi X-CUBE-MEMS1 kanggo STM32Cube

Pambuka

MotionEC minangka komponen perpustakaan middleware saka piranti lunak X-CUBE-MEMS1 lan mlaku ing STM3z2. Nyedhiyakake informasi wektu nyata babagan orientasi piranti lan status gerakan adhedhasar data saka piranti.
Iki nyedhiyakake output ing ngisor iki: orientasi piranti (quaternions, sudut Euler), rotasi piranti (fungsi giroskop virtual), vektor gravitasi lan percepatan linear.
Pustaka iki dimaksudaké kanggo bisa karo ST MEMS mung.
Algoritma kasebut kasedhiya ing format perpustakaan statis lan dirancang kanggo digunakake ing mikrokontroler STM32 adhedhasar ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 lan ARM® Arsitèktur Cortex®-M7.
Dibangun ing ndhuwur teknologi piranti lunak STM32Cube kanggo nggampangake portabilitas ing macem-macem mikrokontroler STM32.
Piranti lunak nerangake karo sampimplementasine mlaku ing X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 utawa X-NUCLEO-IKS02A1 papan ekspansi ing papan pangembangan NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE utawa NUCLEO-L073RZ.

Akronim lan singkatan

Tabel 1. Daftar akronim

Akronim Katrangan
API Antarmuka pemrograman aplikasi
BSP Paket dukungan papan
GUI Antarmuka panganggo grafis
HAL Lapisan abstraksi hardware
IDE Lingkungan pangembangan terpadu

perpustakaan middleware MotionEC ing expansion software X-CUBE-MEMS1 kanggo STM32Cube

2.1 MotionEC liwatview
Perpustakaan MotionEC ngembangake fungsi piranti lunak X-CUBE-MEMS1.
Perpustakaan entuk data saka akselerometer lan magnetometer lan menehi informasi babagan orientasi piranti lan status gerakan adhedhasar data saka piranti.
Perpustakaan iki dirancang kanggo ST MEMS mung. Fungsi lan kinerja nalika nggunakake sensor MEMS liyane ora analisa lan bisa Ngartekno beda saka apa diterangake ing document.
A sampimplementasine le kasedhiya ing X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 lan X-NUCLEO-IKS02A1 papan expansion, dipasang ing papan pangembangan NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE utawa NUCLEO-L073.
2.2 Pustaka MotionEC
Informasi teknis kanthi lengkap njlentrehake fungsi lan paramèter saka MotionEC API bisa ditemokake ing HTML sing dikompilasi MotionEC_Package.chm file dumunung ing folder Dokumentasi.

2.2.1 gambaran perpustakaan MotionEC
Perpustakaan MotionEC E-Compass ngatur data sing dipikolehi saka akselerometer lan magnetometer; iku fitur:

  • orientasi piranti (quaternions, sudut Euler), rotasi piranti (fungsi giroskop virtual), vektor gravitasi lan output percepatan linear
  • fungsi mung adhedhasar data tembang macapat lan magnetometer
  • data akselerometer lan magnetometer dibutuhake sampfrekuensi ling nganti 100 Hz
  • syarat sumber daya:
    - Cortex-M0+: 3.7 kB kode lan 0.1 kB memori data
    - Cortex-M3: 3.8 kB kode lan 0.1 kB memori data
    - Cortex-M33: 2.8 kB kode lan 0.1 kB memori data
    - Cortex-M4: 2.9 kB kode lan 0.1 kB memori data
    - Cortex-M7: 2.8 kB kode lan 0.1 kB memori data
  • kasedhiya kanggo arsitektur ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 lan Cortex M7

2.2.2 MotionEC API
MotionEC API yaiku:

  • uint8_t MotionEC_GetLibVersion(char *versi)
    – retrieves versi perpustakaan
    – *Versi minangka pointer menyang array saka 35 karakter
    – ngasilake nomer karakter ing senar versi
    • void MotionEC_Initialize(MEC_mcu_type_t mcu_type, float freq)
    - nindakake initialization perpustakaan MotionEC lan persiyapan mekanisme internal.
    – mcu_type yaiku jinis MCU:
    ◦ MFX_CM0P_MCU_STM32 minangka standar MCU STM32
    ◦ MFX_CM0P_MCU_BLUE_NRG1 yaiku BlueNRG-1
    ◦ MFX_CM0P_MCU_BLUE_NRG2 yaiku BlueNRG-2
    ◦ MFX_CM0P_MCU_BLUE_NRG_LP yaiku BlueNRG -LP
    – freq punika sensor sampfrekuensi ling [Hz]

Cathetan: Fungsi iki kudu diarani sadurunge nggunakake perpustakaan E-Kompas lan modul CRC ing mikrokontroler STM32 (ing jam periferal RCC ngaktifake register) kudu diaktifake sadurunge nggunakake perpustakaan

  • void MotionEC_SetFrequency (frekuensi ngambang)
    - nyetel sampfrekuensi ling (ngowahi paramèter panyaring)
    – freq punika sensor sampfrekuensi ling [Hz] • void MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
    - mlaku algoritma E-Kompas (akselerometer lan gabungan data magnetometer)
    – *data_in minangka penunjuk menyang struktur kanthi data input
    - paramèter kanggo jinis struktur MEC_input_t yaiku:
    ◦ acc[3] minangka susunan data akselerometer ing konvensi ENU, diukur ing g
    ◦ mag[3] minangka susunan data kalibrasi magnetometer ing konvensi ENU, diukur ing μT/50
    ◦ deltatime s yaiku wektu delta (yaiku wektu tundha antarane set data lawas lan anyar) diukur ing s
    – *data_out minangka penunjuk menyang struktur kanthi data output
    - paramèter kanggo jinis struktur MEC_output_t yaiku:
    ◦ quaternion [4] yaiku array sing ngemot quaternion ing konvensi ENU, makili orientasi 3Dangular piranti ing spasi; Urutan unsur yaiku: X, Y, Z, W, kanthi unsur positif W
    ◦ euler[3] minangka susunan sudut Euler ing konvènsi ENU, makili orientasi sudut 3D saka piranti ing angkasa; urutan unsur: yaw, pitch, roll, diukur ing deg
    ◦ i_gyro[3] minangka array saka tarif sudut ing konvensi ENU, makili sensor giroskop virtual, diukur ing dps
    ◦ gravitasi [3] minangka susunan percepatan ing konvensi ENU, sing makili vektor gravitasi, diukur ing g
    ◦ linear[3] minangka susunan akselerasi ing konvensi ENU, sing nuduhake percepatan linier piranti, diukur ing g
    ST X CUBE MEMS1 MotionEC minangka Pustaka Middleware-
  • void MotionEC_GetOrientationEnable(MEC_state_t *state)
    - nemu status ngaktifake / mateni pitungan sudut Euler
    - *negara minangka penunjuk menyang status aktif / mateni saiki
  • void MotionEC_SetOrientationEnable(MEC_state_t state)
    – nyetel status ngaktifake / mateni pitungan sudut Euler
    - negara minangka status aktif / mateni anyar sing kudu disetel
  •  void MotionEC_GetVirtualGyroEnable(MEC_state_t *state)
    - entuk status ngaktifake / mateni pitungan giroskop virtual
    - *negara minangka penunjuk menyang status aktif / mateni saiki
  • void MotionEC_SetVirtualGyroEnable(MEC_state_t state)
    - nyetel status ngaktifake / mateni pitungan giroskop virtual
    - negara minangka status aktif / mateni anyar sing kudu disetel
  • void MotionEC_GetGravityEnable(MEC_state_t *state)
    - entuk status ngaktifake / mateni pitungan vektor gravitasi
    - *negara minangka penunjuk menyang status aktif / mateni saiki
  • void MotionEC_SetGravityEnable(MEC_state_t state)
    - nyetel status ngaktifake / mateni pitungan vektor gravitasi
    - negara minangka status aktif / mateni anyar sing kudu disetel
  • void MotionEC_GetLinearAccEnable(MEC_state_t *state)
    - entuk status ngaktifake / mateni pitungan akselerasi linear
    - *negara minangka penunjuk menyang status aktif / mateni saiki
  • void MotionEC_SetLinearAccEnable(MEC_state_t state)
    – nyetel status ngaktifake / mateni pitungan akselerasi linear
    - negara minangka status aktif / mateni anyar sing kudu disetel

2.2.3 diagram alur API

ST X CUBE MEMS1 MotionEC punika Middleware Library- urutan

2.2.4 Kode demo
Kode demonstrasi ing ngisor iki maca data saka sensor accelerometer lan magnetometer lan entuk data ECompass (yaiku, quaternion, sudut Euler, lsp.).

ST X CUBE MEMS1 MotionEC punika Middleware Library- kode demoST X CUBE MEMS1 MotionEC punika Middleware Library- kode demo1

2.2.5 Kinerja algoritma
Algoritma E-Compass mung nggunakake data saka akselerometer lan magnetometer. Iku mlaku ing frekuensi kurang (nganti 100 Hz) kanggo ngurangi konsumsi daya.

ST X CUBE MEMS1 MotionEC minangka Middleware Library- Data Injection1

Sampl aplikasi

Middleware MotionEC bisa gampang dimanipulasi kanggo mbangun aplikasi pangguna; minangkaampAplikasi kasedhiya ing folder Aplikasi.
Iki dirancang kanggo mlaku ing papan pangembangan NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE utawa NUCLEO-L073RZ sing disambungake menyang papan X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1or X-NUCLEO02expansion1A.

ST X CUBE MEMS1 MotionEC punika Middleware Library- adaptor

Aplikasi ngenali orientasi piranti lan rotasi ing wektu nyata. Data bisa ditampilake liwat GUI.
Algoritma kasebut nyedhiyakake output ing ngisor iki: orientasi piranti (quaternions, sudut Euler), rotasi piranti (fungsi giroskop virtual), vektor gravitasi lan akselerasi linear.
3.1 Aplikasi MEMS-Studio
Para sampaplikasi le nggunakake aplikasi MEMS-Studio, kang bisa diundhuh saka www.st.com.
Langkah 1. Priksa manawa driver sing dibutuhake wis diinstal lan papan STM32 Nucleo kanthi papan ekspansi sing cocog disambungake menyang PC.
Langkah 2. Bukak aplikasi MEMS-Studio kanggo mbukak jendhela aplikasi utama.
Yen papan STM32 Nucleo kanthi perangkat kukuh sing didhukung disambungake menyang PC, port COM sing cocog bakal dideteksi kanthi otomatis. Pencet tombol [Sambungake] kanggo nggawe sambungan menyang papan evaluasi.

ST X CUBE MEMS1 MotionEC punika Middleware Library- Nyambung

Langkah 3. Nalika disambungake menyang papan STM32 Nucleo karo firmware didhukung tab [Evaluasi Pustaka] dibukak.
Kanggo miwiti lan mungkasi streaming data, pilih [Mulai] sing cocog. ST X CUBE MEMS1 MotionEC punika Middleware Library- lambang utawa [Stop] ST X CUBE MEMS1 MotionEC punika Middleware Library- icon1 tombol ing toolbar vertikal njaba.
Data sing teka saka sensor sing disambungake bisa viewed milih tab [Data Table] ing toolbar vertikal njero.

ST X CUBE MEMS1 MotionEC punika Middleware Library- Tabel Data

Langkah 4. Klik ing [E-Kompas] kanggo mbukak kaca darmabakti kanggo perpustakaan iki.

ST X CUBE MEMS1 MotionEC punika Middleware Library- Kompas

Gambar ing ndhuwur nuduhake model grafis STM32 Nucleo. Orientasi model lan rotasi adhedhasar data E-Kompas (quaternions) sing diitung dening algoritma.
Kanggo nyelarasake gerakan piranti nyata karo model grafis, arahake piranti menyang layar banjur push [Reset model].
Nilai judhul nuduhake judhul piranti nyata.
Nuding piranti terus munggah utawa mudhun (sadawane sumbu munggah pigura referensi ENU, kanthi toleransi ± 5 derajat) menehi nilai N / A kanggo judhul: ora bisa mbedakake titik kardinal sing dituju piranti kasebut.
Nilai kabecikan menehi 0 nganti 3 nilai lan ana hubungane karo kalibrasi magnetometer: sing luwih dhuwur nilai kasebut, luwih apik asil algoritma data E-Compass.
Langkah 5. Klik ing [Simpen kanggo File] kanggo mbukak jendhela konfigurasi dataloging. Pilih sensor lan data E-Kompas sing bakal disimpen ing file. Sampeyan bisa miwiti utawa mungkasi nyimpen kanthi ngeklik tombol sing cocog.

ST X CUBE MEMS1 MotionEC punika Middleware Library- Simpen kanggo File

Langkah 6. Mode Injeksi Data bisa digunakake kanggo ngirim data sing dipikolehi sadurunge menyang perpustakaan lan nampa asil. Pilih tab [Data Injection] ing toolbar vertikal kanggo mbukak darmabakti view kanggo fungsi iki.

ST X CUBE MEMS1 MotionEC punika Middleware Library- Data Injeksi

Langkah 7. Klik tombol [Browse] kanggo milih file karo data sing dijupuk sadurunge ing format CSV.
Data bakal dimuat menyang tabel ing saiki view.
Tombol liyane bakal aktif. Sampeyan bisa klik ing:
- Tombol [Mode Offline] kanggo ngaktifake / mateni mode offline perangkat kukuh (mode nggunakake data sing dijupuk sadurunge).
– Tombol [Mulai]/[Stop]/[Langkah]/[Baleni] kanggo ngontrol feed data saka MEMS-Studio menyang perpustakaan.

Referensi

Kabeh sumber daya ing ngisor iki kasedhiya gratis ing www.st.com.

  1. UM1859: Miwiti gerakan X-CUBE-MEMS1 MEMS lan ekspansi piranti lunak sensor lingkungan kanggo STM32Cube
  2.  UM1724: Papan STM32 Nucleo-64 (MB1136)
  3. UM3233: Miwiti karo MEMS-Studio

Riwayat revisi

Tabel 4. Riwayat revisi dokumen

Tanggal Versi Owah-owahan
18-Mei-17 1 Rilis wiwitan.
25-Jan-18 2 Nambahake referensi menyang papan pangembangan NUCLEO-L152RE lan Tabel 2.
Algoritma wektu liwati (μs).
21-Mar-18 3 Dianyari Pambuka lan Bagean 2.1 MotionEC liwatview.
26-November-18 4 Ditambahake Tabel 3. Korteks -M0+: algoritma wektu (µs). Referensi ditambahake menyang ARM®
Papan pangembangan Cortex® - M0 + lan NUCLEO-L073RZ.
19-Feb-19 5 Dianyari Gambar 1. Bingkai referensi ENU, Tabel 2. Korteks -M4 lan Korteks-M3: algoritma wektu (µs), Tabel 3.
Korteks -M0+: algoritma wektu liwati (µs), Gambar 3. Adaptor papan ekspansi sensor disambungake menyang STM32
Nucleo, Gambar 4. Jendela utama Unicleo, Gambar 5. tab User Messages, Gambar 6. Jendela E-Compass lan Gambar 7. Jendela Datalog. Ditambahake informasi kompatibilitas papan ekspansi X-NUCLEO-IKS01A3.
25-Mar-20 6 Dianyari Pambuka, bagean 2.2.1: gambaran perpustakaan MotionEC lan bagean 2.2.5: kinerja algoritma.
Nambahake informasi kompatibilitas arsitektur ARM Cortex-M7.
17-Sep-24 7 Dianyari bagean Pambuka,
Bagean 2.1: MotionEC rampungview,
Bagean 2.2.1: perpustakaan MotionEC
gambaran, Bagean 2.2.2: MotionEC
API, Bagean 2.2.5: Algoritma
kinerja, Bagian 3: Sample
aplikasi, bagean 3.1: aplikasi MEMS-Studio

WARTA PENTING - Wacan kanthi ati-ati
STMicroelectronics NV lan anak perusahaan ("ST") nduweni hak kanggo nggawe owahan, koreksi, dandan, modifikasi, lan dandan kanggo produk ST lan / utawa dokumen iki sawayah-wayah tanpa kabar. Para panuku kudu entuk informasi paling anyar babagan produk ST sadurunge nggawe pesenan. Produk ST didol miturut syarat lan kahanan adol ST nalika diakoni pesenan.
Para panuku mung tanggung jawab kanggo milih, milih, lan nggunakake produk ST lan ST ora duwe tanggung jawab kanggo pitulung aplikasi utawa desain produk para panuku.
Ora ana lisensi, nyata utawa diwenehake, kanggo hak properti intelektual sing diwenehake dening ST ing kene.
Adol maneh produk ST kanthi pranata sing beda karo informasi sing kasebut ing kene bakal ngilangi garansi sing diwenehake dening ST kanggo produk kasebut.
ST lan logo ST iku merek dagang saka ST. Kanggo informasi tambahan babagan merek dagang ST, waca www.st.com/trademarks. Kabeh jeneng produk utawa layanan liyane minangka properti sing nduweni.
Informasi ing dokumen iki ngganti lan ngganti informasi sing diwenehake sadurunge ing versi sadurunge dokumen iki.

© 2024 STMicroelectronics – Kabeh hak dilindhungi undhang-undhang

Dokumen / Sumber Daya

ST X-CUBE-MEMS1 MotionEC minangka Pustaka Middleware [pdf] Manual Pamilik
X-CUBE-MEMS1 MotionEC minangka Pustaka Middleware, X-CUBE-MEMS1, MotionEC minangka Pustaka Middleware, Pustaka Middleware, Pustaka

Referensi

Ninggalake komentar

Alamat email sampeyan ora bakal diterbitake. Kolom sing dibutuhake ditandhani *