UM2225
Пайдаланушы нұсқаулығы
STM1Cube үшін X-CUBE-MEMS32 кеңейтіміндегі MotionEC нақты уақыттағы E-Compass кітапханасымен жұмыс істеуді бастау
Кіріспе
MotionEC X-CUBE-MEMS1 бағдарламалық құралының аралық бағдарламалық кітапхана құрамдас бөлігі болып табылады және STM3z2 жүйесінде жұмыс істейді. Ол құрылғыдан алынған деректер негізінде құрылғының бағдары мен қозғалыс күйі туралы нақты уақыттағы ақпаратты қамтамасыз етеді.
Ол келесі нәтижелерді қамтамасыз етеді: құрылғының бағдары (кватерниондар, Эйлер бұрыштары), құрылғының айналуы (виртуалды гироскоптың функционалдығы), гравитация векторы және сызықтық үдеу.
Бұл кітапхана тек ST MEMS-пен жұмыс істеуге арналған.
Алгоритм статикалық кітапхана пішімінде берілген және ARM® Cortex®-M32+, ARM® Cortex®-M0, ARM® Cortex®-M3, ARM® Cortex®-M33 және ARM® негізіндегі STM4 микроконтроллерлерінде пайдалануға арналған. Cortex®-M7 архитектуралары.
Ол әртүрлі STM32 микроконтроллерлерінде тасымалдануды жеңілдету үшін STM32Cube бағдарламалық жасақтама технологиясының үстіне құрастырылған.
Бағдарламалық құрал s-мен бірге келедіampX-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 немесе NUCLEO-F02RE, NUCLEO-U1ZI-Q, NUCLEO-L401RE немесе NUCLEO-L575 тақтасындағы X-NUCLEO-IKS152A073 кеңейту тақтасында жұмыс істейтін іске асыру.
Қысқартулар мен аббревиатуралар
Кесте 1. Акронимдердің тізімі
Акроним | Сипаттама |
API | Қолданбалы бағдарламалау интерфейсі |
BSP | Басқарманың қолдау пакеті |
GUI | Графикалық пайдаланушы интерфейсі |
ХАЛ | Аппараттық абстракция қабаты |
IDE | Интеграцияланған даму ортасы |
STM1Cube үшін X-CUBE-MEMS32 бағдарламалық құрал кеңейтіміндегі MotionEC аралық бағдарламалық құрал кітапханасы
2.1 MotionEC аяқталдыview
MotionEC кітапханасы X-CUBE-MEMS1 бағдарламалық құралының функционалдығын кеңейтеді.
Кітапхана акселерометр мен магнитометрден деректерді алады және құрылғыдан алынған деректер негізінде құрылғының бағдары мен қозғалыс күйі туралы ақпаратты береді.
Кітапхана тек ST MEMS үшін жасалған. Басқа MEMS сенсорларын пайдалану кезіндегі функционалдылық пен өнімділік талданбайды және құжатта сипатталғаннан айтарлықтай өзгеше болуы мүмкін.
А сample іске асыру NUCLEO-F01RE, NUCLEO-U3ZI-Q, NUCLEO-L4RE- немесе NUCLEO-L1RE- тақтасына орнатылған X-NUCLEO-IKS02A1, X-NUCLEO-IKS401A575 және X-NUCLEO-IKS152A073 кеңейту тақтасында қол жетімді.
2.2 MotionEC кітапханасы
MotionEC API функциялары мен параметрлерін толық сипаттайтын техникалық ақпаратты MotionEC_Package.chm құрастырылған HTML файлынан табуға болады. file Құжаттама қалтасында орналасқан.
2.2.1 MotionEC кітапханасының сипаттамасы
MotionEC E-Compass кітапханасы акселерометр мен магнитометрден алынған деректерді басқарады; оның ерекшеліктері:
- құрылғының бағдары (кватерниондар, Эйлер бұрыштары), құрылғының айналуы (виртуалды гироскоптың функционалдығы), гравитация векторы және сызықтық үдеу шығыстары
- функционалдылық тек акселерометр мен магнитометр деректеріне негізделген
- қажетті акселерометр және магнитометр деректері sampжиілігі 100 Гц дейін
- ресурстарға қойылатын талаптар:
– Cortex-M0+: 3.7 кБ код және 0.1 кБ деректер жады
– Cortex-M3: 3.8 кБ код және 0.1 кБ деректер жады
– Cortex-M33: 2.8 кБ код және 0.1 кБ деректер жады
– Cortex-M4: 2.9 кБ код және 0.1 кБ деректер жады
– Cortex-M7: 2.8 кБ код және 0.1 кБ деректер жады - ARM Cortex M0+, Cortex-M3, Cortex-M33, Cortex-M4 және Cortex M7 архитектуралары үшін қол жетімді
2.2.2 MotionEC API интерфейстері
MotionEC API интерфейстері:
- uint8_t MotionEC_GetLibVersion(char *нұсқа)
– кітапхана нұсқасын шығарады
– *нұсқа – 35 таңбадан тұратын массивке көрсеткіш
– нұсқа жолындағы таңбалар санын қайтарады
• void MotionEC_Initialize(MEC_mcu_type_t mcu_type, қалқымалы жиілік)
– MotionEC кітапханасын инициализациялауды және ішкі механизмді орнатуды орындайды.
– mcu_type – MCU түрі:
◦ MFX_CM0P_MCU_STM32 — стандартты STM32 MCU
◦ MFX_CM0P_MCU_BLUE_NRG1 - BlueNRG-1
◦ MFX_CM0P_MCU_BLUE_NRG2 - BlueNRG-2
◦ MFX_CM0P_MCU_BLUE_NRG_LP — BlueNRG -LP
– жиілік – сенсор sampжиілік [Гц]
Ескерту: Бұл функцияны E-Compass кітапханасын пайдаланбас бұрын шақыру керек және STM32 микроконтроллеріндегі CRC модулін (RCC перифериялық сағатты қосу регистрінде) кітапхананы пайдаланбас бұрын қосу керек.
- void MotionEC_SetFrequency(қалқымалы жиілік)
– s орнатадыampлинг жиілігі (сүзу параметрлерін өзгерту)
– жиілік – сенсор sampжиілігі [Гц] • жарамсыз MotionEC_Run(MEC_input_t *деректер_кірісі, MEC_output_t *деректер_шығысы)
– E-Compass алгоритмін іске қосады (акселерометр мен магнитометр деректерін біріктіру)
– *data_in – кіріс деректері бар құрылымға көрсеткіш
– MEC_input_t құрылым типінің параметрлері:
◦ acc[3] – g-мен өлшенген ENU конвенциясындағы акселерометр деректерінің жиыны
◦ mag[3] – ENU конвенциясында μT/50 өлшенген магнитометрмен калибрленген деректер массиві
◦ deltatime s – с-де өлшенетін дельта уақыты (яғни, ескі және жаңа деректер жинағы арасындағы уақыт кешігуі)
– *data_out – шығыс деректері бар құрылымға көрсеткіш
– MEC_output_t құрылым типінің параметрлері:
◦ quaternion[4] — құрылғының кеңістіктегі 3Dangular бағдарын білдіретін ENU конвенциясында төртбұрышты қамтитын жиым; элементтердің реті: X, Y, Z, W, әрқашан оң элементі W
◦ euler[3] — ENU конвенциясындағы Эйлер бұрыштарының массиві, құрылғының кеңістіктегі 3D бұрыштық бағдарын білдіреді; элементтердің реті: иілу, қадам, орам, градуспен өлшенеді
◦ i_gyro[3] – ENU конвенциясындағы бұрыштық жылдамдықтардың жиымы, виртуалды гироскоптық сенсорды білдіреді, нүкте/д/сек.
◦ гравитация[3] — ENU конвенциясындағы гравитация векторын білдіретін, г-мен өлшенген үдеулердің жиыны
◦ linear[3] — ENU конвенциясында г-мен өлшенген құрылғының сызықтық үдеуін білдіретін жеделдетулер жиыны
- void MotionEC_GetOrientationEnable(MEC_state_t *күй)
– Эйлер бұрышын есептеудің қосу/өшіру күйін алады
– *күй – ағымдағы қосу/өшіру күйіне көрсеткіш - void MotionEC_SetOrientationEnable(MEC_state_t күйі)
– Эйлер бұрышын есептеудің қосу/өшіру күйін орнатады
– күй – орнатылатын жаңа қосу/өшіру күйі - void MotionEC_GetVirtualGyroEnable(MEC_state_t *күй)
– виртуалды гироскопты есептеудің қосу/өшіру күйін алады
– *күй – ағымдағы қосу/өшіру күйіне көрсеткіш - void MotionEC_SetVirtualGyroEnable(MEC_state_t күйі)
– виртуалды гироскопты есептеудің қосу/өшіру күйін орнатады
– күй – орнатылатын жаңа қосу/өшіру күйі - void MotionEC_GetGravityEnable(MEC_state_t *күй)
– гравитация векторын есептеудің қосу/өшіру күйін алады
– *күй – ағымдағы қосу/өшіру күйіне көрсеткіш - void MotionEC_SetGravityEnable(MEC_state_t күйі)
– гравитация векторын есептеудің қосу/өшіру күйін орнатады
– күй – орнатылатын жаңа қосу/өшіру күйі - void MotionEC_GetLinearAccEnable(MEC_state_t *күй)
– сызықтық жеделдету есебінің қосу/өшіру күйін алады
– *күй – ағымдағы қосу/өшіру күйіне көрсеткіш - void MotionEC_SetLinearAccEnable(MEC_state_t күйі)
– сызықтық жеделдету есебінің қосу/өшіру күйін орнатады
– күй – орнатылатын жаңа қосу/өшіру күйі
2.2.3 API ағын диаграммасы
2.2.4 Демо-код
Келесі демонстрациялық код акселерометр мен магнитометр сенсорларынан деректерді оқиды және ECompass деректерін алады (яғни, кватернион, Эйлер бұрыштары және т.б.).
2.2.5 Алгоритмді орындау
E-Compass алгоритмі тек акселерометр мен магнитометрден алынған деректерді пайдаланады. Қуатты тұтынуды азайту үшін ол төмен жиілікте (100 Гц-ке дейін) жұмыс істейді.
Sampқолданба
MotionEC аралық бағдарламалық құралын пайдаланушы қолданбаларын құру үшін оңай басқаруға болады; ретіндеample қолданбасы Қолданбалар қалтасында берілген.
Ол X-NUCLEO-IKS401A575, X-NUCLEO-IKS152A073 немесе X-NUCLEO-IKS01 тақтасына қосылған NUCLEO-F3RE, NUCLEO-U4ZI-Q, NUCLEO-L1RE немесе NUCLEO-L02RZ әзірлеу тақтасында жұмыс істеуге арналған.
Қолданба нақты уақытта құрылғының бағытын және айналуын таниды. Деректерді GUI арқылы көрсетуге болады.
Алгоритм келесі нәтижелерді береді: құрылғының бағдары (квартерниондар, Эйлер бұрыштары), құрылғының айналуы (виртуалды гироскоптың функционалдығы), гравитация векторы және сызықтық үдеу.
3.1 MEMS-Studio қолданбасы
Sample қолданбасы мына жерден жүктеп алуға болатын MEMS-Studio қолданбасын пайдаланады www.st.com.
1-қадам. Қажетті драйверлердің орнатылғанын және сәйкес кеңейту тақтасы бар STM32 Nucleo тақтасының компьютерге қосылғанын тексеріңіз.
2-қадам. Негізгі қолданба терезесін ашу үшін MEMS-Studio қолданбасын іске қосыңыз.
Қолдау көрсетілетін микробағдарламасы бар STM32 Nucleo тақтасы компьютерге қосылған болса, сәйкес COM порты автоматты түрде анықталады. Бағалау тақтасына қосылым орнату үшін [Қосылу] түймесін басыңыз.
3-қадам. Қолдау көрсетілетін микробағдарламасы бар STM32 Nucleo тақтасына қосылған кезде [Кітапхананы бағалау] қойындысы ашылады.
Деректер ағынын бастау және тоқтату үшін сәйкес [Бастау] түймесін ауыстырыңыз. немесе [Тоқтату]
сыртқы тік құралдар тақтасындағы түймені басыңыз.
Қосылған сенсордан келетін деректер болуы мүмкін viewІшкі тік құралдар тақтасындағы [Деректер кестесі] қойындысын таңдау арқылы.
4-қадам. Осы кітапхана үшін арнайы бетті ашу үшін [E-Compass] түймесін басыңыз.
Жоғарыдағы суретте STM32 Nucleo графикалық үлгісі көрсетілген. Модельді бағдарлау және айналдыру алгоритммен есептелген E-Compass деректеріне (кватерниондар) негізделген.
Құрылғының нақты қозғалысын графикалық үлгімен туралау үшін құрылғыны экранға қаратып, [Модельді қалпына келтіру] түймесін басыңыз.
Тақырып мәні құрылғының нақты тақырыбын білдіреді.
Құрылғыны тура жоғары немесе төмен бағыттау (ENU анықтамалық жақтауының жоғары осі бойымен, ±5 градус рұқсатымен) тақырып үшін N/A мәнін береді: құрылғының қай негізгі нүктені көрсетіп тұрғанын ажырату мүмкін емес.
Жақсылық мәні 0-ден 3-ке дейінгі мәндерді береді және магнитометрді калибрлеуге қатысты: мән неғұрлым жоғары болса, E-Compass деректер алгоритмінің нәтижелері соғұрлым жақсы болады.
5-қадам. [Сақтау үшін] түймесін басыңыз File] деректер журналын конфигурациялау терезесін ашу үшін. ішінде сақталатын сенсорды және E-Compass деректерін таңдаңыз file. Сәйкес түймені басу арқылы сақтауды бастауға немесе тоқтатуға болады.
6-қадам. Деректерді енгізу режимі бұрын алынған деректерді кітапханаға жіберу және нәтижені алу үшін пайдаланылуы мүмкін. Бөлінгенді ашу үшін тік құралдар тақтасындағы [Деректерді енгізу] қойындысын таңдаңыз view осы функция үшін.
7-қадам. таңдау үшін [Шолу] түймесін басыңыз file CSV пішімінде бұрын түсірілген деректермен.
Деректер ағымдағы уақытта кестеге жүктеледі view.
Басқа түймелер белсенді болады. Сіз мынаны баса аласыз:
– Микробағдарламаның офлайн режимін қосу/өшіру үшін [Офлайн режимі] түймесі (бұрын түсірілген деректерді пайдаланатын режим).
– [Бастау]/[Тоқтату]/[Қадам]/[Қайталау] түймелері MEMS-Studio-дан кітапханаға деректер беруді басқару үшін.
Анықтамалар
Төмендегі ресурстардың барлығы www.st.com сайтында тегін қол жетімді.
- UM1859: STM1Cube үшін X-CUBE-MEMS32 қозғалыс MEMS және қоршаған орта сенсорының бағдарламалық құралын кеңейтуді бастау
- UM1724: STM32 Nucleo-64 тақталары (MB1136)
- UM3233: MEMS-Studio бағдарламасын іске қосу
Қайта қарау тарихы
4-кесте. Құжатты қайта қарау тарихы
Күн | Нұсқа | Өзгерістер |
18 мамыр 17 ж | 1 | Бастапқы шығарылым. |
25 қаңтар 18 ж | 2 | NUCLEO-L152RE әзірлеу тақтасына және 2-кестеге сілтемелер қосылды. Өткен уақыт (μs) алгоритмі. |
21-18 наурыз | 3 | Жаңартылған кіріспе және 2.1 MotionEC бөлімі аяқталдыview. |
26 қараша 18 ж | 4 | Қосылған кесте 3. Cortex -M0+: өткен уақыт (μs) алгоритмі. ARM® сілтемелері қосылды Cortex® – M0+ және NUCLEO-L073RZ әзірлеу тақтасы. |
19 ақпан 19 ж | 5 | Жаңартылған 1-сурет. ENU анықтамалық жүйесі, 2-кесте. Cortex -M4 және Cortex-M3: өткен уақыт (µs) алгоритмі, 3-кесте. Cortex -M0+: өткен уақыт (мкс) алгоритмі, 3-сурет. STM32 құрылғысына қосылған сенсорды кеңейту тақтасының адаптері Nucleo, 4-сурет. Unicleo негізгі терезесі, 5-сурет. Пайдаланушы хабарламалары қойындысы, сурет 6. E-Compass терезесі және сурет 7. Деректер журналы терезесі. X-NUCLEO-IKS01A3 кеңейту тақтасының үйлесімділігі туралы ақпарат қосылды. |
25-20 наурыз | 6 | Жаңартылған кіріспе, 2.2.1 бөлімі: MotionEC кітапханасының сипаттамасы және 2.2.5 бөлімі: Алгоритм өнімділігі. ARM Cortex-M7 архитектурасының үйлесімділігі туралы ақпарат қосылды. |
17-қыркүйек-24 ж | 7 | Жаңартылған бөлім кіріспе, 2.1-бөлім: MotionEC аяқталдыview, 2.2.1 бөлімі: MotionEC кітапханасы сипаттама, 2.2.2-бөлім: MotionEC API интерфейстері, 2.2.5-бөлім: Алгоритм орындау, 3-бөлім: Sample қолданба, 3.1-бөлім: MEMS-Studio қолданбасы |
МАҢЫЗДЫ ЕСКЕРТПЕ – МҰҚИЯТ ОҚЫҢЫЗ
STMicroelectronics NV және оның еншілес компаниялары («СТ») ST өнімдеріне және/немесе осы құжатқа кез келген уақытта ескертусіз өзгерістер, түзетулер, жақсартулар, өзгертулер және жақсартулар енгізу құқығын өзіне қалдырады. Сатып алушылар тапсырыс бергенге дейін СТ өнімдері туралы соңғы ақпаратты алуы керек. СТ өнімдері тапсырысты растау кезінде қолданыстағы СТ сату шарттарына сәйкес сатылады.
Сатып алушылар СТ өнімдерін таңдауға, таңдауға және пайдалануға жауапты және СТ қолданбаға көмек көрсету немесе сатып алушылардың өнімдерінің дизайны үшін жауапкершілік көтермейді.
Осы құжатта ST компаниясы зияткерлік меншік құқығына тікелей немесе жанама түрде ешқандай лицензия бермейді.
Осы құжатта баяндалған ақпараттан өзгеше ережелері бар СТ өнімдерін қайта сату СТ осындай өнімге берген кез келген кепілдікті жояды.
ST және ST логотипі ST сауда белгілері болып табылады. ST сауда белгілері туралы қосымша ақпаратты қараңыз www.st.com/trademarks. Барлық басқа өнім немесе қызмет атаулары олардың тиісті иелерінің меншігі болып табылады.
Осы құжаттағы ақпарат осы құжаттың кез келген алдыңғы нұсқаларында бұрын берілген ақпаратты ауыстырады және ауыстырады.
© 2024 STMicroelectronics – Барлық құқықтар қорғалған
Құжаттар / Ресурстар
![]() |
ST X-CUBE-MEMS1 MotionEC – аралық бағдарламалық құрал кітапханасы [pdf] Пайдаланушы нұсқаулығы X-CUBE-MEMS1 MotionEC - аралық бағдарламалық құрал кітапханасы, X-CUBE-MEMS1, MotionEC - аралық бағдарламалық құрал кітапханасы, аралық бағдарламалық құрал кітапханасы, кітапхана |