Перейти к содержанию
    

Sasha

Участник
  • Постов

    7
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

  1. Чувствительность изменил, результат не такой инерционный как был, отлик быстрый. Но вот одна проблема не ушла. Когда наклоняю плату по тангажу, при этом пытаясь по крену не наклонять, то при перпендикулятном тангаже около 90 градусов, по крену значение около 0, насколько ровно получается держать, тут все вроде ОК: , но если сделать наоборот: крен на 90 градусов, тангаж на 0, то крен около 90 градусов выдерживаю, а вот тангаж должен быть около 0, по у него значение около 180 плящут: Даже не знаю в чем проблема. Может это нюанс который я не учел? Кст как у вас дело с компасом при наклонах насколько уходит градус?
  2. Ну да у вас все здесь верно. Да, забыл что коэффициенты из документации приводятся для получения °/сек. Можно кстати и так получить коэффициент чувствительности через выбранный диапазон, наример для ±250 °/сек gSens = 250.0/32768.0; // ±250 º/s Все таки вы писали про масштаб, и тут же про единицы измерения, может все таки масштаб вы имели под единицами измерения или нужно подобрать нужную чувствительность, чтобы не было долгого отклика? У меня на гироскопа использовались рад/c, поэтому тут ошибки не было и все таки отклик не быстрый.
  3. Чип выдает результат своего АЦП, то есть измеренное напряжение каждой оси. Далее вы сами его эти измерения переводите либо в градусы в сек либо в рад в сек умножая на соответствующий коэффициент в зависимости от выбранной чувствительности. Все таки не сильно понял про масштаб, в фильтре я такого не видал, только чувствительность настраиваемая в датчике.
  4. Вы имеете ввиду про диапазон измерения, что настраивается в чипе? Калибровку магнитометра делали? Так как это датчик магнитного поля, то окружающие предметы могут влиять на это поле, например liion АКБ иди колонки на столе, поэтому обратите на это внимание тоже.
  5. В проекте на гитхаб, я только сверял реализацию. Если заметите, то файлы проекта предназначенны для Arduino))) Так что данный фильтр легко будет работать на Pro Mini. Данный фильтр позиционирует себя как "менее требовательный к вычислительным ресурсам". Частота 1кГц для получения сырых данных. Пихал данные по времени с заданной частотой и сразу без таймера, результат один и тот же. С комплементарным фильтром задержки нет.
  6. Ага он, STM32F103C8T6. Его вполне хватает. Вчера нашел ошибку, почему все не работало, исправил, фильтр стал работать, но появились другие проблемы. Во-первых копится ошибся и углы все плывут, а вторая, долгий отклик, систему повернул с 0 градусов до 90, она через 1-2 сек только дойдет до 90 градусов.
  7. Всем привет! Пытаюсь запустить фильтр Маджвика в своем проекте на stm32c8t6, но безуспешно. Реализацию взял здесь https://x-io.co.uk/open-source-imu-and-ahrs-algorithms/. На вход фильтра подаю данные гироскопа в рад/с, данные акселерометра и магнетометра. В конце фильтра функции перевод в радианы по этим формулам: yaw = atan2(2.0f * (q[1] * q[2] + q[0] * q[3]), q[0] * q[0] + q[1] * q[1] - q[2] * q[2] - q[3] * q[3]); pitch = -asin(2.0f * (q[1] * q[3] - q[0] * q[2])); roll = atan2(2.0f * (q[0] * q[1] + q[2] * q[3]), q[0] * q[0] - q[1] * q[1] - q[2] * q[2] + q[3] * q[3]); и перевожу из радиан в градусы * (180/pi). Еще нашел такой проект https://github.com/kriswiner/MPU9250/blob/master/MPU9250BasicAHRS_t3.ino. Проверял все по строчкам, все то же самое, получаю данные с датчика отправляю на фиьтр и тд. В итоге получаю значения не углов, а пляски значений. Во-первых они бывают не постоянны, да еще и не соотвествуют реальности. Вот на скрине все показания, первые паоказания это через фильтр Маджвика, а последние 3 значения углы, которые соответствуют реальности, полученные через комплементарный фильтр, единсвенно последнее значение рысканья без учета магнетометра, просто с гироскопа, которое соответсвенно плывет. По крену конструкция реально почти 90 градусов, это видно по последним показаниям R. По тангажу то же самое. Но первые показания не понятно что показывают и пляшут. Но если трясти конструкци, удерживая ее ровно по осям, углы уже сильно скачут, когда ориентация конструкции не изменилась, то комплементарный фильтр совсем не годится. Еще заметил один момент, если выровнять консрукцию до 0, то показания с фильтра маджвика совпадают с комплементарным, там 0 и там 0 по той оси, что выровнял. Прошу подсказать, кто шарит в этой теме, где я могу косячить и чего не учел.
×
×
  • Создать...