Как пользоваться STM32CubeMonitor (графики, приборы) и зачем нужно

Краткое описание программы

Новая хрень от STMicroelectronics взамен устаревшей STM Studio. Программное обеспечение STM32CubeMonitor позволяет очень удобно и наглядно выводить значение глобальных переменных (по сути считывая значение с ОЗУ) в виде графиков с применением различных функций и возможностью удобной записи .


Как смотреть переменную (строить график)?

Первое что нужно – это программа с глобальными переменными, у меня это элементы структуры для значения ускорения датчика ADXL345:

Открываем STM32CubeMonitor и сначала добавляем блок получение выход (acq_out):

Подключаем ST-LINK к STM32 и далее к ПК:

Проверка: Win + R -> devmgmt.msc -> Universal Serial Bus devices -> STM32 STLink

Теперь двойное нажатие на него, здесь нажимаем на карандаш (редактировать) и добавляем новый зонд (он должен быть подключен к ПК):

Проверить связь легко нажатием на лампочку:

Светодиод на отладчике должен помигать:

Находим папку с проектом, в STM32CubeIDE это можно сделать из дерева проектов:

Далее находим файл  ProjectName.elf и копируем адрес папки, где он находится:

Сейчас добавляем блок переменных ( variables), двойное нажатие на него и теперь вставляем ранее скопированный адрес, выбираем файл с расширением .elf и отмечаем нужные переменные для просмотра (у меня этого элементы структуры Adxl345.x, Adxl345.y, Adxl345.z):

После соединения/редактирования блоков нужно будет нажать развернуть ( Deploy) и далее приборная панель (Dashboard).

Далее жмем на кнопку Start и всё должно работать. Выбрав показывать точки ( Show Points) легко просматриваются значения на кривой вместе с временем:

Также график можно увеличивать, а если STLINK отвалится, то придется заново нажимать кнопку запуска:

Добавление аналоговых индикаторов (Gauge)

Можно сделать свою приборную панель, для этого после блока переменных нужно добавить блок единичного значения (Single value) и только потом блок измерителя (Gauge).

Здесь вписываем нужную переменную (для каждой свой блок), а потом настраивается тип прибора, диапазон значений и цвета.

Кроме обычного стрелочного прибора есть еще и другие показометры:

Отображение переменных в виде текста

Если нужно просто вывести переменные, то делается это следующим образом:

В настройках задается отображение и текст, сопровождающий переменную:

Готово, работает 

Запись данных (логгирование)

Для регистрации всех получаемых значений достаточно выбрать Log All Values:

После этого при каждой сессии данные будут записываться и их потом можно удобно по всей красе посмотреть:

Использование триггера

Здесь есть возможность начать запись по переднему/заднему фронту с предварительной установкой нужного порога для выбранной переменной:

Теперь построение графика начнется тогда, когда Adxl345.z превысит 200.

Что может оказаться очень удобным, по меньшей мере хранить кучу лишних данных не придётся:

Обработка результатов

Программа умеет обрабатывать полученные данные путем применения математических:

побитных, тригонометрических, логических:

и статистических функций:

Среднее значение

Использование  среднего скользящего позволяет избавиться от шума, в устройствах на МК это часто используется для обработки значений с АЦП. Здесь есть встроенная функция среднего, посмотрим как сработает для сглаживаний значений ускорения с датчика ADXL345:

Получилось хорошо, но, увы, здесь нельзя изменять порядок фильтра, поэтому при резких изменениях сглаженная кривая не поспевает.

Еще запись с датчика ускорения

Не могу не сделать график зависимости ускорения с вибромоторчиком:

Получается весьма интересно:

Можно по-бырому записать что нужно, а потом детально рассмотреть:

А вот вам еще проверка  светодиодного проверяльщика (дорабатывается ):

Он уже работает и здесь очень быстро возрастает выходное напряжение, а после прекращения преобразования экспоненциально уменьшается, т.к. конденсатор разряжается.

Дополнительные возможности

Есть еще куча возможностей, в частности различные элементы интерфейса:

Получаемые данные можно пихать куда угодно через:  MQTT, HTTP, websocket, TCP, UDP, Serial.

Купить на Aliexpress 

Из-за трудности достать по нормальной цене микроконтроллеры STM32 (и другие) советую обратить внимание на плату с STM32F401 с USB Type-C, которая всё еще доступна и имеет отличные параметры (84MHz, 64k RAM, 256k ROM, 3*SPI, 3*UART, 8*TIM...).


🏷️ STM32F401 Module (3.50💲): https://ali.ski/T9_RBe

🏷️ STM32F401 Black Pill USB C(3.88💲): https://ali.ski/wvygW
🏷️ STM32F401 DevBoard Type-C (3.46💲): https://ali.ski/SvrJ8d


Видос

Итого

Штука прикольная, не скажу что эти блоки мне понравились, но само ПО выглядит модно и графики строит красиво и легко вести запись значений. 

STM32CubeMonitor отлично подойдет для отладки устройства на расстоянии или отлова непредсказуемо возникающих зависаний/вылетом в обработчик ошибок (Hard Fault). Скачать и попробовать можно на оф. сайте или прямо здесь : STM32CubeMonitor.zip

Жаль только то, что не поддерживается бичевый  JLINK, который работает через SWD.

316
RSS
Нет комментариев. Ваш будет первым!
Загрузка...