MPU6050 - Почему моя интеграция гироскопа неверна?
Моя ситуация:
- Я могу общаться по i2c с моим MPU6050 IMU
- Я могу получить данные акселерометра и гироскопа
- Я могу вычислить ориентацию датчика с помощью своего акселерометра
Выпуск:
- при попытке вычислить ориентацию датчика с помощью моего гироскопа мои значения кажутся совершенно неверными. Я вычисляю ориентацию с помощью дополнительного фильтра.
Это код, который я использую https://paste.ubuntu.com/p/vZmbnc23gj/
Это вычисленная ориентация, когда датчик лежит на столе: https:https://paste.ubuntu.com/p/W7DzVKR9c7/ Эти измерения совершенно неверны, потому что при случайном перемещении сеньора вокруг своей оси он никогда не поднимается выше 1,8 (даже когда я делаю поворот на 180 градусов).
Не мог бы кто-нибудь дать мне несколько подсказок или объяснений, почему мои результаты неверны и так сильно дрейфуют?
@traducerad, 👍1
Обсуждение1 ответ
Вам необходимо выполнить калибровку смещения, иначе вы получите большие ошибки дрейфа. MPU6050 имеет специальный цифровой процессор движения (DMP), где данные с гироскопа и акселерометра объединяются для вас. Я рекомендую захватить результаты этого слияния из DMP. Насколько я знаю, единственные библиотеки, которые делают это, основаны на работе Джеффа Роуберга. Подробное руководство см. в разделе:
https://youtu.be/k5i-vE5rZR0
- Как подключить MPU9250 к NodeMCU с помощью SPI или I2C Slave?
- Изменение адреса I2C MPU-6050
- MPU6050 не выдает выход
- MPU-9250 IMU на SPI, внешнем датчике или магнитометре с использованием мастера I2C
- Использование MPU-6050 без I2C
- Почему Wire.write дважды?
- Сбой при записи данных MPU-6050 на SD-карту
- Мультиплексор Adafruit MPU-6050 и adafruit I2C
Не могли бы вы опубликовать схему ваших соединений? Я понимаю, что вы можете общаться с ним, но меня интересует то, что у вас есть., @Wendall
@Wendall connection, это просто типичное "i2c соединение" без подтягиваний, @traducerad