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.
Праграмнае забеспячэнне пастаўляецца з sample рэалізацыя працуе на плаце пашырэння X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 або X-NUCLEO-IKS02A1 на плаце распрацоўкі NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE або NUCLEO-L073RZ.

Абрэвіятуры і абрэвіятуры

Табліца 1. Спіс абрэвіятур

абрэвіятура Апісанне
API Інтэрфейс прыкладнога праграмавання
БСП Пакет падтрымкі платы
GUI Графічны інтэрфейс карыстальніка
ХАЛ Узровень апаратнай абстракцыі
IDE Інтэграванае асяроддзе распрацоўкі

Бібліятэка прамежкавага праграмнага забеспячэння MotionEC у праграмным пашырэнні X-CUBE-MEMS1 для STM32Cube

2.1 MotionEC скончанаview
Бібліятэка MotionEC пашырае функцыянальнасць праграмнага забеспячэння X-CUBE-MEMS1.
Бібліятэка атрымлівае даныя з акселерометра і магнітаметра і дае інфармацыю аб арыентацыі прылады і стане руху на аснове даных з прылады.
Бібліятэка прызначана толькі для ST MEMS. Функцыянальнасць і прадукцыйнасць пры выкарыстанні іншых датчыкаў MEMS не аналізуюцца і могуць значна адрознівацца ад апісаных у дакуменце.
А сampРэалізацыя даступная на платах пашырэння X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 і X-NUCLEO-IKS02A1, усталяваных на плаце распрацоўкі NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE або NUCLEO-L073RZ.
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(знак *версія)
    – здабывае версію бібліятэкі
    – *версія - гэта паказальнік на масіў з 35 знакаў
    – вяртае колькасць сімвалаў у радку версіі
    • несапраўдны MotionEC_Initialize(MEC_mcu_type_t mcu_type, float freq)
    – выконвае ініцыялізацыю бібліятэкі 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, а модуль CRC у мікракантролеры STM32 (у рэгістры ўключэння перыферыйных гадзіннікаў RCC) павінен быць уключаны перад выкарыстаннем бібліятэкі

  • несапраўдны MotionEC_SetFrequency(плываючая частата)
    – усталёўвае сampчастата ling (змена параметраў фільтрацыі)
    – частата датчыка sampчастата ling [Гц] • void MotionEC_Run(MEC_input_t *data_in, MEC_output_t *data_out)
    - запускае алгарытм E-Compass (зліццё дадзеных акселерометра і магнітометра)
    – *data_in – паказальнік на структуру з уваходнымі дадзенымі
    – параметры для тыпу структуры MEC_input_t:
    ◦ acc[3] - гэта масіў даных акселерометра ў канвенцыі ENU, вымераных у г
    ◦ mag[3] - гэта масіў адкалібраваных магнітаметрам даных у канвенцыі ENU, вымераных у мкТл/50
    ◦ deltatime s - гэта дэльта-час (г.зн. часовая затрымка паміж старым і новым наборам даных), вымераная ў с
    – *data_out – паказальнік на структуру з выходнымі дадзенымі
    – параметры для тыпу структуры MEC_output_t:
    ◦ кватэрніён[4] - масіў, які змяшчае кватэрніён у канвенцыі ENU, які прадстаўляе 3-канальную арыентацыю прылады ў прасторы; парадак элементаў: X, Y, Z, W, з заўсёды станоўчым элементам W
    ◦ эйлер [3] - гэта масіў вуглоў Эйлера ў канвенцыі ENU, які адлюстроўвае трохмерную вуглавую арыентацыю прылады ў прасторы; парадак элементаў: рысканне, тангаж, крэн, вымяраецца ў град
    ◦ i_gyro[3] - гэта масіў вуглавых хуткасцей у канвенцыі ENU, які прадстаўляе датчык віртуальнага гіраскопа, вымяраецца ў dps
    ◦ гравітацыя[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 можна лёгка маніпуляваць для стварэння карыстальніцкіх прыкладанняў; якampПрыкладанне знаходзіцца ў тэчцы Application.
Ён прызначаны для працы на плаце распрацоўкі NUCLEO-F401RE, NUCLEO-U575ZI-Q, NUCLEO-L152RE або NUCLEO-L073RZ, падключанай да платы пашырэння X-NUCLEO-IKS01A3, X-NUCLEO-IKS4A1 або X-NUCLEO-IKS02A1.

ST X CUBE MEMS1 MotionEC - гэта адаптар бібліятэкі прамежкавага праграмнага забеспячэння

Прыкладанне распазнае арыентацыю і паварот прылады ў рэжыме рэальнага часу. Дадзеныя могуць быць адлюстраваны праз графічны інтэрфейс.
Алгарытм забяспечвае наступныя выхадныя дадзеныя: арыентацыю прылады (кватэрніёны, вуглы Эйлера), кручэнне прылады (функцыянальнасць віртуальнага гіраскопа), вектар гравітацыі і лінейнае паскарэнне.
3.1 Праграма MEMS-Studio
У ыampДадатак le выкарыстоўвае прыкладанне MEMS-Studio, якое можна загрузіць з www.st.com.
Крок 1. Пераканайцеся, што неабходныя драйверы ўсталяваны і плата STM32 Nucleo з адпаведнай платай пашырэння падключана да ПК.
Крок 2. Запусціце праграму MEMS-Studio, каб адкрыць галоўнае акно праграмы.
Калі плата STM32 Nucleo з падтрымліваемым прашыўкай падключана да ПК, адпаведны COM-порт вызначаецца аўтаматычна. Націсніце кнопку [Connect], каб усталяваць злучэнне з ацэначнай платай.

ST X CUBE MEMS1 MotionEC - гэта бібліятэка прамежкавага праграмнага забеспячэння Connect

Крок 3. Пры падключэнні да платы STM32 Nucleo з падтрымліваемым прашыўкай адкрываецца ўкладка [Library Evaluation].
Каб пачаць і спыніць струменевую перадачу даных, пераключыце адпаведны [Пуск] 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 - гэта бібліятэка прамежкавага праграмнага забеспячэння - Compass

На малюнку вышэй паказана графічная мадэль STM32 Nucleo. Арыентацыя і паварот мадэлі заснаваны на дадзеных E-Compass (кватэрніёнах), разлічаных алгарытмам.
Каб сумясціць рэальны рух прылады з графічнай мадэллю, накіруйце прыладу на экран і націсніце [Скінуць мадэль].
Значэнне загалоўка ўяўляе рэальны загаловак прылады.
Накіраванне прылады прама ўверх ці ўніз (уздоўж восі ўверх сістэмы адліку ENU, з допускам ±5 градусаў) дае значэнне N/A для загалоўка: немагчыма адрозніць, на якую кардынальную кропку паказвае прылада.
Значэнне добрасці дае значэнні ад 0 да 3 і звязана з каліброўкай магнітометра: чым вышэй значэнне, тым лепш вынікі алгарытму даных E-Compass.
Крок 5. Націсніце на [Захаваць у File], каб адкрыць акно канфігурацыі рэгістрацыі даных. Выберыце дадзеныя датчыка і электроннага компаса для захавання ў 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: Пачатак працы з MEMS руху X-CUBE-MEMS1 і праграмным забеспячэннем датчыка навакольнага асяроддзя для STM32Cube
  2.  UM1724: платы STM32 Nucleo-64 (MB1136)
  3. UM3233: Пачатак працы з MEMS-Studio

Гісторыя версій

Табліца 4. Гісторыя пераглядаў дакумента

Дата Версія Змены
18-17 мая 1 Першапачатковы выпуск.
25-18 студзеня 2 Дададзены спасылкі на плату распрацоўкі NUCLEO-L152RE і табліцу 2.
Алгарытм праведзенага часу (мкс).
21-сакавіка-18 3 Абноўленыя ўводзіны і раздзел 2.1 MotionEC скончаныview.
26-18 лістапада 4 Дададзена табліца 3. Cortex -M0+: алгарытм часу, які прайшоў (мкс). Дададзены спасылкі на ARM®
Cortex® – M0+ і плата распрацоўкі NUCLEO-L073RZ.
19-лютага-19 5 Абноўлены малюнак 1. Апорная сістэма ENU, табліца 2. Cortex -M4 і Cortex-M3: алгарытм часу, які прайшоў (мкс), табліца 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: Сample
дадатак, Раздзел 3.1: Прыкладанне MEMS-Studio

ВАЖНАЯ ЗАЎВАГА – УВАЖЛІВА ЧЫТАЙЦЕ
STMicroelectronics NV і яе даччыныя кампаніі («ST») пакідаюць за сабой права ўносіць змены, выпраўленні, удасканаленні, мадыфікацыі і паляпшэнні ў прадукты ST і/або ў гэты дакумент у любы час без папярэдняга паведамлення. Пакупнікі павінны атрымаць самую актуальную інфармацыю аб прадуктах ST, перш чым рабіць заказы. Прадукцыя 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 - гэта бібліятэка прамежкавага праграмнага забеспячэння, бібліятэка прамежкавага праграмнага забеспячэння, бібліятэка

Спасылкі

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаны *