UM2225
Foydalanuvchi uchun qo'llanma
STM1Cube uchun X-CUBE-MEMS32 kengaytmasida MotionEC real vaqtda E-Compass kutubxonasidan foydalanishni boshlash
Kirish
MotionEC X-CUBE-MEMS1 dasturiy ta'minotining o'rta dasturiy kutubxona komponenti bo'lib, STM3z2 da ishlaydi. U real vaqt rejimida qurilmadan olingan maʼlumotlar asosida qurilma yoʻnalishi va harakat holati haqida maʼlumot beradi.
U quyidagi natijalarni beradi: qurilma orientatsiyasi (kvarternionlar, Eyler burchaklari), qurilma aylanishi (virtual giroskop funksiyasi), tortishish vektori va chiziqli tezlashtirish.
Bu kutubxona faqat ST MEMS bilan ishlash uchun moʻljallangan.
Algoritm statik kutubxona formatida taqdim etilgan va ARM® Cortex®-M32+, ARM® Cortex®-M0, ARM® Cortex®-M3, ARM® Cortex®-M33 va ARM® asosidagi STM4 mikrokontrollerlarida foydalanish uchun mo'ljallangan. Cortex®-M7 arxitekturasi.
U turli STM32 mikrokontrollerlari orqali ko'chirishni osonlashtirish uchun STM32Cube dasturiy ta'minot texnologiyasi ustiga qurilgan.
Dasturiy ta'minot s bilan birga keladiampNUCLEO-F01RE, NUCLEO-U3ZI-Q, NUCLEO-L4RE yoki NUCLEO-L1 ishlanmalarida X-NUCLEO-IKS02A1, X-NUCLEO-IKS401A575 yoki X-NUCLEO-IKS152A073 kengaytirish platalarida ishlaydigan le amalga oshirish.
Qisqartmalar va qisqartmalar
Jadval 1. Qisqartmalar ro'yxati
Qisqartma | Tavsif |
API | Ilova dasturlash interfeysi |
BSP | Kengash qo'llab-quvvatlash to'plami |
GUI | Grafik foydalanuvchi interfeysi |
HAL | Uskuna abstraktsiya qatlami |
IDE | Integratsiyalashgan rivojlanish muhiti |
STM1Cube uchun X-CUBE-MEMS32 dasturiy ta'minotini kengaytirishdagi MotionEC o'rta dastur kutubxonasi
2.1 MotionEC tugadiview
MotionEC kutubxonasi X-CUBE-MEMS1 dasturiy ta'minotining funksiyalarini kengaytiradi.
Kutubxona akselerometr va magnitometrdan ma'lumotlarni oladi va qurilmadan olingan ma'lumotlar asosida qurilma yo'nalishi va harakat holati haqida ma'lumot beradi.
Kutubxona faqat ST MEMS uchun mo'ljallangan. Boshqa MEMS sensorlaridan foydalanishda funksionallik va unumdorlik tahlil qilinmaydi va hujjatda tavsiflanganidan sezilarli darajada farq qilishi mumkin.
A sample amalga oshirish X-NUCLEO-IKS01A3 , X-NUCLEO-IKS4A1 va X-NUCLEO-IKS02A1 kengaytirish platalarida mavjud bo'lib, ular NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE- yoki NUCLEO-L073L-boardga o'rnatilgan.
2.2 MotionEC kutubxonasi
MotionEC API funksiyalari va parametrlarini toʻliq tavsiflovchi texnik maʼlumotlarni MotionEC_Package.chm tuzilgan HTML da topish mumkin. file Hujjatlar papkasida joylashgan.
2.2.1 MotionEC kutubxonasi tavsifi
MotionEC E-Compass kutubxonasi akselerometr va magnitometrdan olingan ma'lumotlarni boshqaradi; u xususiyatlari:
- qurilma orientatsiyasi (kvarternionlar, Eyler burchaklari), qurilma aylanishi (virtual giroskop funksiyasi), tortishish vektori va chiziqli tezlashtirish chiqishlari
- faqat akselerometr va magnitometr ma'lumotlariga asoslangan funksionallik
- zarur akselerometr va magnitometr ma'lumotlar samp100 Gts gacha bo'lgan ling chastotasi
- Resurs talablari:
– Cortex-M0+: 3.7 kB kod va 0.1 kB ma’lumot xotirasi
– Cortex-M3: 3.8 kB kod va 0.1 kB ma’lumot xotirasi
– Cortex-M33: 2.8 kB kod va 0.1 kB ma’lumot xotirasi
– Cortex-M4: 2.9 kB kod va 0.1 kB ma’lumot xotirasi
– Cortex-M7: 2.8 kB kod va 0.1 kB ma’lumot xotirasi - ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 va Cortex M7 arxitekturalari uchun mavjud
2.2.2 MotionEC API
MotionEC API-lari quyidagilardir:
- uint8_t MotionEC_GetLibVersion (char *versiya)
– kutubxona versiyasini oladi
– *versiya 35 ta belgidan iborat massivga ko‘rsatgichdir
– versiya qatoridagi belgilar sonini qaytaradi
• void MotionEC_Initialize(MEC_mcu_type_t mcu_type, float freq)
– MotionEC kutubxonasini ishga tushirish va ichki mexanizmni sozlashni amalga oshiradi.
– mcu_type – MCU turi:
◦ MFX_CM0P_MCU_STM32 standart STM32 MCU hisoblanadi
◦ MFX_CM0P_MCU_BLUE_NRG1 - BlueNRG-1
◦ MFX_CM0P_MCU_BLUE_NRG2 - BlueNRG-2
◦ MFX_CM0P_MCU_BLUE_NRG_LP - BlueNRG -LP
– chastota - sensor sampling chastotasi [Hz]
Eslatma: Bu funksiya E-Compass kutubxonasidan foydalanishdan oldin chaqirilishi kerak va STM32 mikrokontrolleridagi CRC moduli (RCC periferik soatni yoqish registrida) kutubxonadan foydalanishdan oldin yoqilishi kerak.
- void MotionEC_SetFrequency(float chastotasi)
– s ni o‘rnatadiampling chastotasi (filtrlash parametrlarini o'zgartirish)
– chastota - sensor sampling chastotasi [Hz] • bekor MotionEC_Run(MEC_input_t *maʼlumotlar_in, MEC_output_t *maʼlumotlar_out)
- E-Compass algoritmini boshqaradi (akselerometer va magnitometr ma'lumotlarini birlashtirish)
– *data_in – kiritilgan ma’lumotlarga ega strukturaga ko‘rsatgich
- MEC_input_t struktura turi uchun parametrlar:
◦ acc[3] ENU konventsiyasidagi akselerometr maʼlumotlari massivi, g bilan oʻlchangan
◦ mag[3] ENU konventsiyasida mT/50 da oʻlchangan magnitometr kalibrlangan maʼlumotlar toʻplamidir.
◦ deltatime s - delta vaqti (ya'ni, eski va yangi ma'lumotlar to'plami o'rtasidagi kechikish vaqti) s bilan o'lchanadi
– *data_out - chiqish ma'lumotlari bo'lgan strukturaga ko'rsatgich
- MEC_output_t struktura turi uchun parametrlar:
◦ quaternion[4] ENU konventsiyasida kvaternionni o'z ichiga olgan massiv bo'lib, qurilmaning fazodagi 3Dangular yo'nalishini ifodalaydi; elementlarning tartibi: X, Y, Z, W, har doim musbat element V bilan
◦ euler[3] ENU konventsiyasidagi Eyler burchaklarining massivi boʻlib, qurilmaning fazoda 3D burchakli yoʻnalishini ifodalaydi; elementlarning tartibi: yaw, pitch, roll, deg bilan o'lchanadi
◦ i_gyro[3] ENU konvensiyasidagi burchak tezliklari massivi boʻlib, u virtual giroskop sensorini ifodalaydi, dps bilan oʻlchanadi.
◦ tortishish kuchi[3] ENU konventsiyasidagi tezlanishlar massivi boʻlib, g bilan oʻlchangan tortishish vektorini ifodalaydi.
◦ chiziqli[3] ENU konventsiyasidagi tezlashuvlar massivi boʻlib, u qurilmaning chiziqli tezlanishini ifodalaydi, g bilan oʻlchanadi
- void MotionEC_GetOrientationEnable(MEC_state_t *holat)
– Eyler burchagi hisobini yoqish/o‘chirish holatini oladi
– *holat joriy yoqish/o‘chirish holatiga ko‘rsatgichdir - void MotionEC_SetOrientationEnable(MEC_state_t holati)
– Eyler burchagi hisobini yoqish/o‘chirish holatini o‘rnatadi
– holat – o‘rnatiladigan yangi yoqish/o‘chirish holati - void MotionEC_GetVirtualGyroEnable(MEC_state_t *holat)
– virtual giroskop hisobini yoqish/o‘chirish holatini oladi
– *holat joriy yoqish/o‘chirish holatiga ko‘rsatgichdir - void MotionEC_SetVirtualGyroEnable(MEC_state_t holati)
– virtual giroskopni hisoblashni yoqish/o‘chirish holatini o‘rnatadi
– holat – o‘rnatiladigan yangi yoqish/o‘chirish holati - void MotionEC_GetGravityEnable(MEC_state_t *holat)
– tortishish vektorini hisoblashni yoqish/o‘chirish holatini oladi
– *holat joriy yoqish/o‘chirish holatiga ko‘rsatgichdir - void MotionEC_SetGravityEnable(MEC_state_t holati)
– tortishish vektorini hisoblashni yoqish/o‘chirish holatini o‘rnatadi
– holat – o‘rnatiladigan yangi yoqish/o‘chirish holati - void MotionEC_GetLinearAccEnable(MEC_state_t *holat)
– chiziqli tezlanishni hisoblashning yoqish/o‘chirish holatini oladi
– *holat joriy yoqish/o‘chirish holatiga ko‘rsatgichdir - void MotionEC_SetLinearAccEnable(MEC_state_t holati)
– chiziqli tezlanishni hisoblashning yoqish/o‘chirish holatini o‘rnatadi
– holat – o‘rnatiladigan yangi yoqish/o‘chirish holati
2.2.3 API oqim diagrammasi
2.2.4 Namoyish kodi
Quyidagi namoyish kodi akselerometr va magnitometr datchiklaridan ma'lumotlarni o'qiydi va ECompass ma'lumotlarini oladi (ya'ni, quaternion, Eyler burchaklari va boshqalar).
2.2.5 Algoritmning ishlashi
E-Compass algoritmi faqat akselerometr va magnitometr ma'lumotlaridan foydalanadi. Quvvat sarfini kamaytirish uchun past chastotada (100 Gts gacha) ishlaydi.
Sampilova
MotionEC o'rta dasturi foydalanuvchi ilovalarini yaratish uchun osongina boshqarilishi mumkin; kabiample ilovasi Ilova papkasida taqdim etiladi.
U X-NUCLEO-IKS401A575, X-NUCLEO-IKS152A073 yoki X-NUCLEO-IKS01 taxtasiga ulangan NUCLEO-F3RE, NUCLEO-U4ZI-Q, NUCLEO-L1RE yoki NUCLEO-L02RZ ishlab chiqish platalarida ishlashga mo'ljallangan.
Ilova real vaqt rejimida qurilmaning yo'nalishi va aylanishini taniydi. Ma'lumotlar GUI orqali ko'rsatilishi mumkin.
Algoritm quyidagi natijalarni beradi: qurilma orientatsiyasi (kvarternionlar, Eyler burchaklari), qurilma aylanishi (virtual giroskop funksionalligi), tortishish vektori va chiziqli tezlashtirish.
3.1 MEMS-Studio ilovasi
Larample ilovasi MEMS-Studio ilovasidan foydalanadi, uni yuklab olish mumkin www.st.com.
1-qadam. Kerakli drayverlar o'rnatilganligiga va tegishli kengaytirish platasiga ega STM32 Nucleo platasi shaxsiy kompyuterga ulanganligiga ishonch hosil qiling.
2-qadam. Asosiy dastur oynasini ochish uchun MEMS-Studio ilovasini ishga tushiring.
Agar qo'llab-quvvatlanadigan proshivkaga ega STM32 Nucleo platasi kompyuterga ulangan bo'lsa, tegishli MAQOMOTI porti avtomatik ravishda aniqlanadi. Baholash kengashiga ulanishni o'rnatish uchun [Ulanish] tugmasini bosing.
3-qadam. Qo'llab-quvvatlanadigan proshivkali STM32 Nucleo platasiga ulanganda [Kutubxonani baholash] yorlig'i ochiladi.
Maʼlumotlar oqimini boshlash va toʻxtatish uchun tegishli [Boshlash] tugmachasini almashtiring. yoki [To'xtatish]
tashqi vertikal asboblar panelidagi tugma.
Ulangan sensordan keladigan ma'lumotlar bo'lishi mumkin viewichki vertikal asboblar panelidagi [Ma'lumotlar jadvali] yorlig'ini tanlash.
4-qadam. Ushbu kutubxona uchun ajratilgan sahifani ochish uchun [E-Compass] tugmasini bosing.
Yuqoridagi rasmda STM32 Nucleo grafik modeli ko'rsatilgan. Modelning yo'nalishi va aylanishi algoritm tomonidan hisoblangan E-Compass ma'lumotlariga (kvarternionlar) asoslangan.
Qurilmaning haqiqiy harakatini grafik modelga moslashtirish uchun qurilmani ekranga qarating va [Modelni tiklash] tugmasini bosing.
Sarlavha qiymati haqiqiy qurilma sarlavhasini ifodalaydi.
Qurilmani toʻgʻridan-toʻgʻri yuqoriga yoki pastga yoʻnaltirish (ENU mos yozuvlar ramkasining yuqori oʻqi boʻylab, ±5 daraja bardoshlik bilan) sarlavha uchun N/A qiymatini beradi: qurilma qaysi asosiy nuqtani koʻrsatayotganini ajratib boʻlmaydi.
Yaxshilik qiymati 0 dan 3 gacha qiymatlarni beradi va magnitometrni kalibrlash bilan bog'liq: qiymat qanchalik baland bo'lsa, E-Compass ma'lumotlar algoritmining natijalari shunchalik yaxshi bo'ladi.
5-qadam. [Saqlash uchun File] ma'lumotlar jurnali konfiguratsiyasi oynasini ochish uchun. Saqlash uchun sensor va E-Compass ma'lumotlarini tanlang file. Tegishli tugmani bosish orqali saqlashni boshlashingiz yoki to'xtatishingiz mumkin.
6-qadam. Ma'lumotlarni kiritish rejimi avval olingan ma'lumotlarni kutubxonaga yuborish va natijani olish uchun ishlatilishi mumkin. Ajratilganni ochish uchun vertikal asboblar panelidagi [Ma'lumotlarni kiritish] yorlig'ini tanlang view ushbu funksionallik uchun.
7-qadam. ni tanlash uchun [Browse] tugmasini bosing file CSV formatida ilgari olingan ma'lumotlar bilan.
Ma'lumotlar joriy vaqtda jadvalga yuklanadi view.
Boshqa tugmalar faollashadi. Siz bosishingiz mumkin:
– Proshivkaning oflayn rejimini yoqish/o‘chirish uchun [Oflayn rejim] tugmasi (oldindan olingan ma’lumotlardan foydalangan holda rejim).
– [Start]/[Stop]/[Step]/[Repeat] tugmalari yordamida MEMS-Studio-dan kutubxonaga maʼlumotlar uzatishni boshqarish mumkin.
Ma'lumotnomalar
Quyidagi barcha manbalar www.st.com saytida bepul mavjud.
- UM1859: STM1Cube uchun X-CUBE-MEMS32 harakat MEMS va atrof-muhit sensori dasturini kengaytirish bilan boshlash
- UM1724: STM32 Nucleo-64 platalari (MB1136)
- UM3233: MEMS-Studio bilan ishlashni boshlash
Qayta ko'rib chiqish tarixi
4-jadval. Hujjatlarni qayta ko'rib chiqish tarixi
Sana | Versiya | O'zgarishlar |
18-may, 17-yil | 1 | Dastlabki nashr. |
25-18-yanvar | 2 | NUCLEO-L152RE ishlab chiqish kengashi va 2-jadvalga havolalar qo'shildi. O'tgan vaqt (ms) algoritmi. |
21-mart, 18-yil | 3 | Yangilangan Kirish va 2.1-bo'lim MotionEC tugadiview. |
26-noyabr 18 yil | 4 | Qo'shilgan jadval 3. Korteks -M0+: o'tgan vaqt (µs) algoritmi. ARM® ga havolalar qo'shildi Cortex® - M0+ va NUCLEO-L073RZ ishlab chiqish kengashi. |
19-fevral, 19 yil | 5 | Yangilangan rasm 1. ENU mos yozuvlar ramkasi, 2-jadval. Cortex -M4 va Cortex-M3: o'tgan vaqt (µs) algoritmi, 3-jadval. Cortex -M0+: o'tgan vaqt (µs) algoritmi, 3-rasm. STM32 ga ulangan sensorni kengaytirish platasi adapteri Nucleo, 4-rasm. Unicleo-ning asosiy oynasi, 5-rasm. Foydalanuvchi xabarlari yorlig'i, 6-rasm. E-Compass oynasi va 7-rasm. Datalog oynasi. X-NUCLEO-IKS01A3 kengaytirish platasining muvofiqligi haqida ma'lumot qo'shildi. |
25-mart, 20-yil | 6 | Yangilangan kirish, 2.2.1-bo'lim: MotionEC kutubxonasi tavsifi va 2.2.5-bo'lim: Algoritm ishlashi. Qo'shilgan ARM Cortex-M7 arxitektura muvofiqligi ma'lumotlari. |
17-sentabr, 24-yil | 7 | Yangilangan bo'lim Kirish, 2.1-bo'lim: MotionEC tugadiview, 2.2.1-bo'lim: MotionEC kutubxonasi tavsif, 2.2.2-bo'lim: MotionEC API'lar, 2.2.5-bo'lim: Algoritm ishlash, 3-bo'lim: Sample ilova, 3.1-bo'lim: MEMS-Studio ilovasi |
MUHIM OGOHLANTIRISH – DIKQAT O‘QING
STMicroelectronics NV va uning sho‘ba korxonalari (“ST”) istalgan vaqtda ST mahsulotlariga va/yoki ushbu hujjatga o‘zgartirishlar, tuzatishlar, yaxshilanishlar, o‘zgartirishlar va takomillashtirishlar kiritish huquqini o‘zida saqlab qoladi. Xaridorlar buyurtma berishdan oldin ST mahsulotlari bo'yicha so'nggi tegishli ma'lumotlarni olishlari kerak. XT mahsulotlari buyurtmani tasdiqlash vaqtida mavjud bo'lgan XTning sotish shartlari va qoidalariga muvofiq sotiladi.
Xaridorlar XT mahsulotlarini tanlash, tanlash va ulardan foydalanish uchun faqat javobgar bo'ladilar va XT qo'llashda yordam berish yoki xaridor mahsulotlari dizayni uchun hech qanday javobgarlikni o'z zimmasiga olmaydi.
Bu yerda ST tomonidan hech qanday intellektual mulk huquqiga ochiq yoki nazarda tutilgan litsenziya berilmaydi.
XT mahsulotlarini bu yerda bayon etilgan ma'lumotlardan boshqacha shartlar bilan qayta sotish XT tomonidan bunday mahsulot uchun berilgan har qanday kafolatni bekor qiladi.
ST va ST logotipi STning savdo belgilaridir. ST savdo belgilari haqida qo'shimcha ma'lumot olish uchun qarang www.st.com/trademarks. Boshqa barcha mahsulot yoki xizmat nomlari tegishli egalarining mulki hisoblanadi.
Ushbu hujjatdagi ma'lumotlar ushbu hujjatning oldingi versiyalarida ilgari berilgan ma'lumotlarning o'rnini bosadi va almashtiradi.
© 2024 STMicroelectronics – Barcha huquqlar himoyalangan
Hujjatlar / manbalar
![]() |
ST X-CUBE-MEMS1 MotionEC - bu o'rta dastur kutubxonasi [pdf] Foydalanuvchi qo'llanmasi X-CUBE-MEMS1 MotionEC - o'rta dastur kutubxonasi, X-CUBE-MEMS1, MotionEC - o'rta dastur kutubxonasi, o'rta dastur kutubxonasi, kutubxona |