СТ Х - логотипUM2275
Руководство пользователя

Начало работы с библиотекой обнаружения падений в реальном времени MotionFD в расширении 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.
Программное обеспечение поставляется сampРеализация le работает на плате расширения X-NUCLEO-IKS4A1 или X-NUCLEO-IKS01A3 на плате разработки NUCLEO-F401RE, NUCLEO-U575ZI-Q или NUCLEO-L152RE.

Акронимы и Аббревиатуры

Таблица 1. Список сокращений

Акроним Описание
API Интерфейс прикладного программирования
БСП Пакет поддержки платы
графический интерфейс Графический пользовательский интерфейс
ХЭЛ Уровень аппаратной абстракции
ИДЕ Интегрированная среда развития

Библиотека промежуточного программного обеспечения MotionFD в программном расширении X-CUBE-MEMS1 для STM32Cube

2.1 ДвижениеFD поview
Библиотека MotionFD расширяет функциональность программного обеспечения X-CUBE-MEMS1.
Библиотека получает данные с акселерометра и датчика давления и предоставляет информацию о падении пользователя на основе данных с устройства.
Библиотека предназначена только для ST MEMS. Функциональность и производительность при использовании других МЭМС-сенсоров не анализируются и могут существенно отличаться от описанных в документе.
SampРеализация le доступна для плат расширения X-NUCLEO-IKS4A1 и X-NUCLEO-IKS01A3, установленных на плате разработки NUCLEO-F401RE, NUCLEO-U575ZI-Q или NUCLEO-L152RE.
2.2 Библиотека MotionFD
Техническую информацию, полностью описывающую функции и параметры API MotionFD, можно найти в скомпилированном HTML-файле MotionFD_Package.chm. file находится в папке «Документация».
2.2.1 Описание библиотеки MotionFD
Библиотека обнаружения падений MotionFD управляет данными, полученными от акселерометра и датчика давления. Она включает в себя:

  • возможность отличить, произошло ли падение пользователя или нет
  • распознавание только на основе данных акселерометра и датчика давления
  • требуемые данные акселерометра и датчика давленияampЧастота колебаний 25 Гц
  • требования к ресурсам:
    – Cortex-M3: 3.6 кБ кода и 3.2 кБ памяти данных
    – Cortex-M33: 3.4 кБ кода и 3.2 кБ памяти данных
    – Cortex-M4: 3.4 кБ кода и 3.2 кБ памяти данных
    – Cortex-M7: 3.4 кБ кода и 3.2 кБ памяти данных
  • доступно для архитектур ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 и ARM Cortex-M7

2.2.2 API MotionFD
API библиотеки MotionFD:

  • uint8_t MotionFD_GetLibVersion(char *version)
    – извлекает версию библиотеки
    – *версия – указатель на массив из 35 символов
    – возвращает количество символов в строке версии
  • недействительный MotionFD_Initialize(недействительный)
    – выполняет инициализацию библиотеки MotionFD и настройку внутреннего механизма

Примечание: Эту функцию необходимо вызвать перед использованием библиотеки обнаружения падения, а модуль CRC в микроконтроллере STM32 (в регистре включения периферийных часов RCC) должен быть включен.

  • void MotionFD_Update (MFD_input_t *data_in, MFD_output_t *data_out)
    – выполняет алгоритм обнаружения падения
    – Параметр *data_in – указатель на структуру с входными данными
    – параметры для типа структуры MFD_input_t:
    ◦ AccX — значение датчика акселерометра по оси X в мг.
    ◦ AccY — значение датчика акселерометра по оси Y в мг
    ◦ AccZ — значение датчика акселерометра по оси Z в мг
    ◦ Press — значение датчика давления в гПа
    – Параметр *data_out представляет собой указатель на перечисление со следующими элементами:
    ◦ MFD_NOFALL = 0
    ◦ MFD_FALL = 1
  • void MotionFD_SetKnobs(float fall_threshold, int32_t fall_altitude_delta, float laid_time)
    – устанавливает параметры конфигурации библиотеки
    – fall_threshold порог ускорения в мг
    – fall_altitude_delta разница высот в см
    – время лежания время в секундах без движения после удара
  • void MotionFD_GetKnobs(float *fall_threshold, int32_t *fall_altitude_delta, float *lying_time)
    – получает параметры конфигурации библиотеки
    – fall_threshold порог ускорения в мг
    – fall_altitude_delta разница высот в см
    – время лежания время в секундах без движения после удара

2.2.3 Блок-схема API

Библиотека обнаружения падений в реальном времени ST X CUBE MEMS1 MotionFD-

2.2.4 Демо-код
Следующий демонстрационный код считывает данные с акселерометра и датчика давления и получает код события падения.

Библиотека обнаружения падений в реальном времени ST X CUBE MEMS1 MotionFD - Демо-код1Библиотека обнаружения падений в реальном времени ST X CUBE MEMS1 MotionFD — демонстрационный код

2.2.5 Производительность алгоритма
Алгоритм обнаружения падения использует только данные акселерометра и датчика давления и работает на низкой частоте (25 Гц) для снижения энергопотребления.

Библиотека обнаружения падений в реальном времени ST X CUBE MEMS1 MotionFD - Алгоритм истекшего времени

2.3 Сampле приложение
Промежуточное программное обеспечение MotionFD можно легко использовать для создания пользовательских приложений.ampФайл приложения находится в папке Application.
Он предназначен для работы на плате разработки NUCLEO-F401RE, NUCLEO-U575ZI-Q или NUCLEO-L152RE, подключенной к плате расширения X-NUCLEO-IKS4A1 или X-NUCLEO-IKS01A3.
Приложение распознает событие падения пользователя в режиме реального времени.

Библиотека обнаружения падений в реальном времени ST X CUBE MEMS1 MotionFD - перемычка

На рисунке выше показана пользовательская кнопка B1 и три светодиода платы NUCLEO-F401RE. После подачи питания на плату загорается светодиод LD3 (PWR).
Для мониторинга данных в реальном времени требуется подключение по USB-кабелю. Питание платы осуществляется от ПК через USB-подключение. Этот рабочий режим позволяет отслеживать обнаруженное событие падения пользователя, данные акселерометра и датчика давления, времяamp и, в конечном итоге, другие данные датчиков в режиме реального времени с использованием MEMS-Studio.
2.4 Приложение MEMS-Studio
СampПриложение использует приложение MEMS-Studio, которое можно загрузить с сайта www.st.com.
Шаг 1. Убедитесь, что установлены необходимые драйверы и плата STM32 Nucleo с соответствующей платой расширения подключена к ПК.
Шаг 2. Запустите приложение MEMS-Studio, чтобы открыть главное окно приложения.
Если к ПК подключена плата STM32 Nucleo с поддерживаемой прошивкой, она будет обнаружена автоматически.
Нажмите кнопку [Подключиться], чтобы установить соединение с оценочной платой.

Библиотека обнаружения падений в реальном времени ST X CUBE MEMS1 MotionFD - подключение

Шаг 3. При подключении к плате STM32 Nucleo с поддерживаемой прошивкой открывается вкладка [Оценка библиотеки].
Чтобы запустить и остановить потоковую передачу данных, переключите соответствующий [Пуск] Библиотека обнаружения падений в реальном времени ST X CUBE MEMS1 MotionFD - значок или [Стоп] Библиотека обнаружения падений в реальном времени ST X CUBE MEMS1 MotionFD - icon1  кнопка на внешней вертикальной панели инструментов.
Данные, поступающие от подключенного датчика, могут быть viewвыбрав вкладку [Таблица данных] на внутренней вертикальной панели инструментов

Библиотека обнаружения падений в реальном времени ST X CUBE MEMS1 MotionFD - таблица данных

Шаг 4. Нажмите [Обнаружение падения], чтобы открыть специальное окно приложения.

Библиотека обнаружения падений в реальном времени ST X CUBE MEMS1 MotionFD — обнаружение падений

Шаг 5. Нажмите на [Сохранить в File] для открытия окна конфигурации регистрации данных. Выберите данные датчика и обнаружения падения, которые нужно сохранить в file. Вы можете начать или остановить сохранение, нажав на соответствующую кнопку.

Библиотека обнаружения падений в реальном времени ST X CUBE MEMS1 MotionFD — Сохранить в File

Шаг 6. Режим Data Injection может использоваться для отправки ранее полученных данных в библиотеку и получения результата. Выберите вкладку [Data Injection] на вертикальной панели инструментов, чтобы открыть специальный view для этой функциональности.

ST X CUBE MEMS1 MotionFD Библиотека обнаружения падений в реальном времени - Ввод данных

Шаг 7. Нажмите кнопку [Обзор], чтобы выбрать file с ранее полученными данными в формате CSV.
Данные будут загружены в таблицу в текущем view.
Другие кнопки станут активными. Вы можете нажать на:
– Кнопка [Автономный режим] для включения/выключения автономного режима прошивки (режима, использующего ранее полученные данные).
– Кнопки [Старт]/[Стоп]/[Шаг]/[Повторить] для управления подачей данных из MEMS-Studio в библиотеку.

2.5 Ссылки
Все следующие ресурсы находятся в свободном доступе на сайте www.st.com.

  1. UM1859: Начало работы с МЭМС движения X-CUBE-MEMS1 и расширение программного обеспечения датчиков окружающей среды для STM32Cube
  2. UM1724: платы STM32 Nucleo-64 (MB1136)
  3. UM3233: Начало работы с MEMS-Studio

История изменений

Таблица 4. История изменений документа

Дата Версия Изменения
 22-сен-2017 1 Первоначальный выпуск.
6-фев-18 2 Добавлены ссылки на макетную плату NUCLEO-L152RE и таблицу 2. Алгоритм затраченного времени (мкс).
21-мар-18 3 Обновлено введение и раздел 2.1 MotionFDview.
19-фев-19 4 Обновлена ​​таблица 2. Алгоритм прошедшего времени (мкс) и рисунок 2. STM32 Nucleo: светодиоды, кнопка, перемычка.
Добавлена ​​информация о совместимости платы расширения X-NUCLEO-IKS01A3.
17-сен-24 5 Обновленный раздел Введение, Раздел 2.1: MotionFD overview, Раздел 2.2.1: Описание библиотеки MotionFD, Раздел 2.2.2: API MotionFD, Раздел 2.2.5: Производительность алгоритма, Раздел 2.3: Sampприложение le, Раздел 2.4: Приложение MEMS-Studio

ВАЖНОЕ УВЕДОМЛЕНИЕ – ВНИМАТЕЛЬНО ПРОЧИТАЙТЕ
STMicroelectronics NV и ее дочерние компании («ST») оставляют за собой право вносить изменения, исправления, улучшения, модификации и усовершенствования в продукцию ST и/или в этот документ в любое время без предварительного уведомления. Покупатели должны получить последнюю соответствующую информацию о продукции ST перед размещением заказов. Продукция ST продается в соответствии с условиями продажи ST, действующими на момент подтверждения заказа.
Покупатели несут исключительную ответственность за выбор, отбор и использование продукции ST, и ST не несет ответственности за помощь в применении или конструкцию продукции покупателей.
Компания ST не предоставляет никаких лицензий, явных или подразумеваемых, на какие-либо права интеллектуальной собственности.
Перепродажа продукции ST с условиями, отличными от изложенных в настоящем документе, аннулирует любую гарантию, предоставленную ST на такую ​​продукцию.
ST и логотип ST являются товарными знаками ST. Для получения дополнительной информации о товарных знаках ST см. www.st.com/торговые марки. Все остальные названия продуктов или услуг являются собственностью их владельцев.
Информация в этом документе заменяет информацию, ранее предоставленную в предыдущих версиях этого документа.

© 2024 STMicroelectronics – Все права защищены

Документы/Ресурсы

ST X-CUBE-MEMS1 MotionFD Библиотека обнаружения падений в реальном времени [pdf] Руководство пользователя
X-CUBE-MEMS1 Библиотека обнаружения падений в реальном времени MotionFD, X-CUBE-MEMS1, Библиотека обнаружения падений в реальном времени MotionFD, Библиотека обнаружения падений в реальном времени, Библиотека обнаружения падений, Библиотека обнаружения, Библиотека

Ссылки

Оставьте комментарий

Ваш адрес электронной почты не будет опубликован. Обязательные поля отмечены *