ST X - логотипUM2225
Дастури корбар

Оғози кор бо китобхонаи воқеии MotionEC E-Compass дар тавсеаи X-CUBE-MEMS1 барои STM32Cube

Муқаддима

MotionEC як ҷузъи китобхонаи миёнаравии нармафзори X-CUBE-MEMS1 мебошад ва дар STM3z2 кор мекунад. Он дар вақти воқеӣ дар бораи самти дастгоҳ ва ҳолати ҳаракат дар асоси маълумот аз дастгоҳ маълумот медиҳад.
Он натиҷаҳои зеринро таъмин мекунад: самти дастгоҳ (кватернионҳо, кунҷҳои Эйлер), гардиши дастгоҳ (функсияи гироскопи виртуалӣ), вектори вазнинӣ ва шитоби хатӣ.
Ин китобхона танҳо барои кор бо ST MEMS пешбинӣ шудааст.
Алгоритм дар формати китобхонаи статикӣ пешбинӣ шудааст ва барои истифода дар микроконтроллерҳои STM32 дар асоси ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 ва ARM® тарҳрезӣ шудааст. Архитектураи Cortex®-M7.
Он дар болои технологияи нармафзори STM32Cube барои осон кардани интиқол дар микроконтроллерҳои гуногуни STM32 сохта шудааст.
Нармафзор бо s меоядampтатбиқи le дар X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1or X-NUCLEO-IKS02A1 тахтаи тавсеаи NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE ё NUCLEO-L073board кор мекунад.

Акронимҳо ва ихтисоротҳо

Љадвали 1. Рўйхати ихтисоротњо

Акроним Тавсифи
API Интерфейси барномасозии барнома
BSP Бастаи дастгирии Шӯрои
GUI Интерфейси графикии корбар
ХАЛ Қабати абстраксияи сахтафзор
IDE Муҳити ҳамгирошудаи рушд

Китобхонаи миёнаравии MotionEC дар тавсеаи нармафзори X-CUBE-MEMS1 барои STM32Cube

2.1 MotionEC ба охир расидview
Китобхонаи MotionEC функсияҳои нармафзори X-CUBE-MEMS1-ро васеъ мекунад.
Китобхона маълумотро аз акселерометр ва магнитометр ба даст меорад ва дар бораи самти дастгоҳ ва ҳолати ҳаракат дар асоси маълумот аз дастгоҳ маълумот медиҳад.
Китобхона танҳо барои ST MEMS пешбинӣ шудааст. Функсияҳо ва иҷроиш ҳангоми истифодаи дигар сенсорҳои MEMS таҳлил карда намешаванд ва метавонанд аз он чизе, ки дар ҳуҷҷат тавсиф шудаанд, ба таври назаррас фарқ кунанд.
А сampтатбиқи le дар тахтаи тавсеаи X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 ва X-NUCLEO-IKS02A1 дастрас аст, ки дар NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE ё NUCLEO073R насб карда шудааст.
2.2 Китобхонаи MotionEC
Маълумоти техникиро, ки функсияҳо ва параметрҳои API-ҳои MotionEC-ро пурра тавсиф мекунанд, дар HTML тартибдодашудаи MotionEC_Package.chm пайдо кардан мумкин аст. file дар папкаи Ҳуҷҷатҳо ҷойгир аст.

2.2.1 Тавсифи китобхонаи MotionEC
Китобхонаи MotionEC E-Compass маълумоти аз акселерометр ва магнитометр гирифташударо идора мекунад; хусусиятҳои он:

  • самти дастгоҳ (кватернионҳо, кунҷҳои Эйлер), гардиши дастгоҳ (функсияи гироскопи виртуалӣ), вектори вазнинӣ ва баромадҳои шитоби хатӣ
  • функсия танҳо дар асоси акселерометр ва маълумотҳои магнитометр
  • маълумотхои акселерометр ва магнитометр зарур сampбасомади то 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 API-ҳои MotionEC
API-ҳои MotionEC инҳоянд:

  • 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 аст
    – басомад сенсори с астampбасомади линг [Гц]

Шарҳ: Ин функсия бояд пеш аз истифодаи китобхонаи E-Compass даъват карда шавад ва модули CRC дар микроконтроллери STM32 (дар реестри периферии фаъолкунии RCC соат) бояд пеш аз истифодаи китобхона фаъол карда шавад.

  • void MotionEC_SetFrequency(басомади шинокунанда)
    – s-ро муқаррар мекунадampбасомади ling (тағйир додани параметрҳои филтр)
    – басомад сенсори с астampбасомади линг [Гц] • беэътибор MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
    - алгоритми E-Compass -ро иҷро мекунад (якҷоякунии акселерометр ва магнитометр)
    – *data_in ишоракунанда ба сохтор бо маълумоти воридотӣ мебошад
    – параметрҳои намуди сохтори MEC_input_t инҳоянд:
    ◦ acc[3] маҷмӯи маълумотҳои акселерометр дар конвенсияи ENU мебошад, ки бо g чен карда шудааст
    ◦ mag[3] маҷмӯи маълумоти калибршудаи магнитометр дар конвенсияи ENU мебошад, ки бо μT/50 чен карда шудааст
    ◦ deltatime s - вақти дельта (яъне таъхири вақт байни маҷмӯи маълумоти кӯҳна ва нав), ки бо с чен карда мешавад
    – *data_out як ишора ба сохтор бо маълумоти баромад аст
    – параметрҳои намуди сохтори MEC_output_t инҳоянд:
    ◦ quaternion[4] массивест, ки дар конвенсияи ENU чоркунҷа дорад, ки самти 3Dangular дастгоҳро дар фазо ифода мекунад; Тартиби элементҳо ин аст: X, Y, Z, W, бо унсури ҳамеша мусбати W
    ◦ euler[3] массиви кунҷҳои Эйлер дар конвенсияи ENU мебошад, ки самти 3D-кунҷи дастгоҳро дар фазо ифода мекунад; тартиби элементҳо аст: yaw, қатрон, рол, чен карда дар deg
    ◦ i_gyro[3] маҷмӯи суръатҳои кунҷӣ дар конвенсияи ENU мебошад, ки сенсори маҷозии гироскопро ифода мекунад, ки бо dps чен карда мешавад
    ◦ вазнинӣ[3] массиви шитобҳо дар конвенсияи ENU мебошад, ки вектори вазниниро ифода мекунад, ки бо g чен карда мешавад
    ◦ linear[3] массиви шитобҳо дар конвенсияи ENU мебошад, ки шитоби хаттии дастгоҳро ифода мекунад, ки бо g чен карда шудааст
    ST X CUBE MEMS1 MotionEC як китобхонаи миёнаравӣ мебошад-
  • void MotionEC_GetOrientationEnable(MEC_state_t *state)
    – ҳолати фаъол/фаъолкунии ҳисобкунии кунҷи Эйлерро мегирад
    – *ҳолат нишондиҳандаи ҳолати ҷорӣ/фаъол аст
  • void MotionEC_SetOrientationEnable (ҳолати MEC_state_t)
    – ҳолати фаъол/хомӯшкунии ҳисобкунии кунҷи Эйлерро муқаррар мекунад
    – ҳолат ҳолати нави фаъол/хомӯшкунӣ мебошад, ки бояд муқаррар карда шавад
  •  void MotionEC_GetVirtualGyroEnable(MEC_state_t *state)
    - Ҳолати фаъол/хомӯшкунии ҳисобкунии гироскопи виртуалиро мегирад
    – *ҳолат нишондиҳандаи ҳолати ҷорӣ/фаъол аст
  • void MotionEC_SetVirtualGyroEnable (ҳолати MEC_state_t)
    – ҳолати фаъол/хомӯшкунии ҳисобкунии гироскопи виртуалиро муқаррар мекунад
    – ҳолат ҳолати нави фаъол/хомӯшкунӣ мебошад, ки бояд муқаррар карда шавад
  • void MotionEC_GetGravityEnable(MEC_state_t *state)
    – ҳолати фаъол ё ғайрифаъол кардани ҳисобкунии вектори вазниниро мегирад
    – *ҳолат нишондиҳандаи ҳолати ҷорӣ/фаъол аст
  • void MotionEC_SetGravityEnable (ҳолати MEC_state_t)
    – ҳолати фаъол/фаъолкунии ҳисобкунии вектори вазниниро муқаррар мекунад
    – ҳолат ҳолати нави фаъол/хомӯшкунӣ мебошад, ки бояд муқаррар карда шавад
  • void MotionEC_GetLinearAccEnable (MEC_state_t *state)
    – ҳолати фаъол/хомӯшкунии ҳисобкунии шитоби хатиро мегирад
    – *ҳолат нишондиҳандаи ҳолати ҷорӣ/фаъол аст
  • 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 китобхонаи миёнаравӣ- Injection Data1 мебошад

Sampариза

Миёнаравӣ MotionEC метавонад ба осонӣ идора карда шавад барои сохтани замимаҳои корбар; чунample ариза дар папкаи Ариза пешниҳод карда мешавад.
Он барои кор кардан дар тахтаи таҳияи NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE ё NUCLEO-L073RZ тарҳрезӣ шудааст, ки ба X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 ё X-NUCLEO-IKS02board пайваст шудааст.

ST X CUBE MEMS1 MotionEC як адаптери миёнаравӣ Library аст

Барнома самт ва гардиши дастгоҳро дар вақти воқеӣ эътироф мекунад. Маълумотро тавассути GUI намоиш додан мумкин аст.
Алгоритм натиҷаҳои зеринро пешниҳод мекунад: самти дастгоҳ (квартернионҳо, кунҷҳои Эйлер), гардиши дастгоҳ (функсияи гироскопи виртуалӣ), вектори вазнинӣ ва шитоби хатӣ.
3.1 Замимаи MEMS-Studio
Пурбаҳстаринҳоample замимаи MEMS-Studio-ро истифода мебарад, ки онро аз он зеркашӣ кардан мумкин аст www.st.com.
Қадами 1. Боварӣ ҳосил кунед, ки драйверҳои зарурӣ насб карда шудаанд ва тахтаи STM32 Nucleo бо тахтаи васеъкунии мувофиқ ба компютер пайваст карда шудааст.
Қадами 2. Барои кушодани равзанаи асосии барнома замимаи MEMS-Studio-ро оғоз кунед.
Агар тахтаи STM32 Nucleo бо нармафзори дастгирӣшаванда ба компютер пайваст карда шавад, бандари мувофиқи COM ба таври худкор муайян карда мешавад. Тугмаи [Пайваст]-ро пахш кунед, то пайвастшавӣ ба тахтаи арзёбӣ барқарор кунед.

ST X CUBE MEMS1 MotionEC як китобхонаи миёнарав аст- Пайваст

Қадами 3. Ҳангоми пайваст шудан ба тахтаи Nucleo STM32 бо нармафзори дастгирӣшаванда ҷадвали [Арзёбии китобхона] кушода мешавад.
Барои оғоз ва қатъ кардани ҷараёни додаҳо, тугмаи мувофиқро иваз кунед [Оғоз] ST X CUBE MEMS1 MotionEC як китобхонаи миёнаравӣ аст ё [Истодан] ST X CUBE MEMS1 MotionEC китобхонаи миёнарав аст- icon1 тугмаи дар панели асбобҳои амудии берунӣ.
Маълумоте, ки аз сенсори пайвастшуда меояд, метавонад бошад 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 як китобхонаи миёнаравӣ- Injection маълумот аст

Қадами 7. Тугмаи [Browse] -ро пахш кунед, то интихоб кунед file бо маълумоти қаблан гирифташуда дар формати CSV.
Маълумот дар ҷадвали ҷорӣ бор карда мешавад view.
Тугмаҳои дигар фаъол мешаванд. Шумо метавонед клик кунед:
– Тугмаи [Режими офлайнӣ] барои фурӯзон/хомӯш кардани ҳолати офлайнии нармафзор (режим бо истифода аз маълумоти қаблан гирифташуда).
– Тугмаҳои [Оғоз]/[Истодан]/[Қадам]/[Такрор] барои идора кардани канали маълумот аз MEMS-Studio ба китобхона.

Иқтибосҳо

Ҳама захираҳои зерин дар www.st.com ройгон дастрасанд.

  1. UM1859: Оғози кор бо X-CUBE-MEMS1 motion MEMS ва тавсеаи нармафзори сенсори экологӣ барои STM32Cube
  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+: алгоритми вақти гузашта (µs), Расми 3. Адаптери панели васеъкунии сенсор, ки ба STM32 пайваст шудааст
Nucleo, Расми 4. Равзанаи асосии Unicleo, Расми 5. Ҷадвали Паёмҳои корбар, Расми 6. Равзанаи E-Compass ва Расми 7. Равзанаи Datalog. Маълумот дар бораи мутобиқати тахтаи тавсеаи 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
APIs, Бахши 2.2.5: Алгоритм
иҷрои, Фасли 3: Сample
барнома, Бахши 3.1: Замимаи MEMS-Studio

ОГОҲИИ МУҲИМ – ДИККАТ ХОНЕД
STMicroelectronics NV ва филиалҳои он («СТ») ҳуқуқ доранд, ки дар вақти дилхоҳ бидуни огоҳӣ ба маҳсулоти ST ва/ё ба ин ҳуҷҷат тағйирот, ислоҳ, такмил, такмил ва такмил ворид кунанд. Харидорон бояд пеш аз додани фармоиш маълумоти охирини дахлдорро дар бораи маҳсулоти ST дастрас кунанд. Маҳсулоти ST мувофиқи шартҳо ва шартҳои фурӯши ST дар лаҳзаи тасдиқи фармоиш фурӯхта мешавад.
Харидорон барои интихоб, интихоб ва истифодаи маҳсулоти СТ танҳо масъуланд ва ST барои кӯмак дар барнома ё тарҳрезии маҳсулоти харидорон масъулият ба дӯш намегирад.
Аз ҷониби 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 китобхонаи миёнаравӣ, Китобхонаи миёнаравӣ, китобхона аст

Иқтибосҳо

Назари худро гузоред

Суроғаи почтаи электронии шумо нашр намешавад. Майдонҳои зарурӣ қайд карда шудаанд *