ST X - логотипі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 конвенциясында г-мен өлшенген құрылғының сызықтық үдеуін білдіретін жеделдетулер жиыны
    ST X CUBE MEMS1 MotionEC – аралық бағдарламалық құрал кітапханасы-
  • 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 ағын диаграммасы

ST X CUBE MEMS1 MotionEC – аралық бағдарламалық құрал кітапханасының тізбегі

2.2.4 Демо-код
Келесі демонстрациялық код акселерометр мен магнитометр сенсорларынан деректерді оқиды және ECompass деректерін алады (яғни, кватернион, Эйлер бұрыштары және т.б.).

ST X CUBE MEMS1 MotionEC – аралық бағдарламалық құрал кітапханасы – демо-кодST X CUBE MEMS1 MotionEC – ортаңғы бағдарламалық құрал кітапханасы – демо коды1

2.2.5 Алгоритмді орындау
E-Compass алгоритмі тек акселерометр мен магнитометрден алынған деректерді пайдаланады. Қуатты тұтынуды азайту үшін ол төмен жиілікте (100 Гц-ке дейін) жұмыс істейді.

ST X CUBE MEMS1 MotionEC — аралық бағдарламалық құрал кітапханасы – деректерді енгізу1

Sampқолданба

MotionEC аралық бағдарламалық құралын пайдаланушы қолданбаларын құру үшін оңай басқаруға болады; ретіндеample қолданбасы Қолданбалар қалтасында берілген.
Ол X-NUCLEO-IKS401A575, X-NUCLEO-IKS152A073 немесе X-NUCLEO-IKS01 тақтасына қосылған NUCLEO-F3RE, NUCLEO-U4ZI-Q, NUCLEO-L1RE немесе NUCLEO-L02RZ әзірлеу тақтасында жұмыс істеуге арналған.

ST X CUBE MEMS1 MotionEC – орта бағдарламалық құрал кітапханасының адаптері

Қолданба нақты уақытта құрылғының бағытын және айналуын таниды. Деректерді GUI арқылы көрсетуге болады.
Алгоритм келесі нәтижелерді береді: құрылғының бағдары (квартерниондар, Эйлер бұрыштары), құрылғының айналуы (виртуалды гироскоптың функционалдығы), гравитация векторы және сызықтық үдеу.
3.1 MEMS-Studio қолданбасы
Sample қолданбасы мына жерден жүктеп алуға болатын MEMS-Studio қолданбасын пайдаланады www.st.com.
1-қадам. Қажетті драйверлердің орнатылғанын және сәйкес кеңейту тақтасы бар STM32 Nucleo тақтасының компьютерге қосылғанын тексеріңіз.
2-қадам. Негізгі қолданба терезесін ашу үшін MEMS-Studio қолданбасын іске қосыңыз.
Қолдау көрсетілетін микробағдарламасы бар STM32 Nucleo тақтасы компьютерге қосылған болса, сәйкес COM порты автоматты түрде анықталады. Бағалау тақтасына қосылым орнату үшін [Қосылу] түймесін басыңыз.

ST X CUBE MEMS1 MotionEC — аралық бағдарламалық құрал кітапханасы- Connect

3-қадам. Қолдау көрсетілетін микробағдарламасы бар STM32 Nucleo тақтасына қосылған кезде [Кітапхананы бағалау] қойындысы ашылады.
Деректер ағынын бастау және тоқтату үшін сәйкес [Бастау] түймесін ауыстырыңыз. ST X CUBE MEMS1 MotionEC — орта бағдарламалық құрал кітапханасының белгішесі немесе [Тоқтату] ST X CUBE MEMS1 MotionEC — орта бағдарламалық құрал кітапханасы- белгішесі1 сыртқы тік құралдар тақтасындағы түймені басыңыз.
Қосылған сенсордан келетін деректер болуы мүмкін viewІшкі тік құралдар тақтасындағы [Деректер кестесі] қойындысын таңдау арқылы.

ST X CUBE MEMS1 MotionEC – аралық бағдарламалық құрал кітапханасы – деректер кестесі

4-қадам. Осы кітапхана үшін арнайы бетті ашу үшін [E-Compass] түймесін басыңыз.

ST X CUBE MEMS1 MotionEC – ортаңғы бағдарламалық құрал кітапханасы – компас

Жоғарыдағы суретте STM32 Nucleo графикалық үлгісі көрсетілген. Модельді бағдарлау және айналдыру алгоритммен есептелген E-Compass деректеріне (кватерниондар) негізделген.
Құрылғының нақты қозғалысын графикалық үлгімен туралау үшін құрылғыны экранға қаратып, [Модельді қалпына келтіру] түймесін басыңыз.
Тақырып мәні құрылғының нақты тақырыбын білдіреді.
Құрылғыны тура жоғары немесе төмен бағыттау (ENU анықтамалық жақтауының жоғары осі бойымен, ±5 градус рұқсатымен) тақырып үшін N/A мәнін береді: құрылғының қай негізгі нүктені көрсетіп тұрғанын ажырату мүмкін емес.
Жақсылық мәні 0-ден 3-ке дейінгі мәндерді береді және магнитометрді калибрлеуге қатысты: мән неғұрлым жоғары болса, E-Compass деректер алгоритмінің нәтижелері соғұрлым жақсы болады.
5-қадам. [Сақтау үшін] түймесін басыңыз File] деректер журналын конфигурациялау терезесін ашу үшін. ішінде сақталатын сенсорды және E-Compass деректерін таңдаңыз file. Сәйкес түймені басу арқылы сақтауды бастауға немесе тоқтатуға болады.

ST X CUBE MEMS1 MotionEC — ортаңғы бағдарламалық құрал кітапханасы – сақтау File

6-қадам. Деректерді енгізу режимі бұрын алынған деректерді кітапханаға жіберу және нәтижені алу үшін пайдаланылуы мүмкін. Бөлінгенді ашу үшін тік құралдар тақтасындағы [Деректерді енгізу] қойындысын таңдаңыз view осы функция үшін.

ST X CUBE MEMS1 MotionEC – аралық бағдарламалық құрал кітапханасы – деректерді енгізу

7-қадам. таңдау үшін [Шолу] түймесін басыңыз file CSV пішімінде бұрын түсірілген деректермен.
Деректер ағымдағы уақытта кестеге жүктеледі view.
Басқа түймелер белсенді болады. Сіз мынаны баса аласыз:
– Микробағдарламаның офлайн режимін қосу/өшіру үшін [Офлайн режимі] түймесі (бұрын түсірілген деректерді пайдаланатын режим).
– [Бастау]/[Тоқтату]/[Қадам]/[Қайталау] түймелері MEMS-Studio-дан кітапханаға деректер беруді басқару үшін.

Анықтамалар

Төмендегі ресурстардың барлығы www.st.com сайтында тегін қол жетімді.

  1. UM1859: STM1Cube үшін X-CUBE-MEMS32 қозғалыс MEMS және қоршаған орта сенсорының бағдарламалық құралын кеңейтуді бастау
  2.  UM1724: STM32 Nucleo-64 тақталары (MB1136)
  3. 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 - аралық бағдарламалық құрал кітапханасы, аралық бағдарламалық құрал кітапханасы, кітапхана

Анықтамалар

Пікір қалдырыңыз

Электрондық пошта мекенжайыңыз жарияланбайды. Міндетті өрістер белгіленген *