Компас для определения отклонения в горизонтальной плоскости. HMC5883L + ADXL345
- Войдите на сайт для отправки комментариев
Сб, 25/01/2014 - 19:43
Имеется 10DOF датчик, GY-80.
Комплектация:
- проекция ускорения на три оси x,y,z (акселерометр ADXL345);
- скорость вращения вокруг трех осей x,y,z (гироскоп L3G4200D);
- проекции магнитного поля на три оси x,y,z (компас HMC5883L);
- атмосферное давление (барометр BMP085).
Отдельные библиотеки я нашел, для снятия показания со всех датчиков, но не смог найти пример для компаса в связке с акселерометром, что бы компас не преходилось держать строго параллельно горизонту, для верных показаний. Как расчитать угол отклонения в горизонтальной плоскости? Прошивки MultiWii и подобные не подойдут...
Вот такой датчик: http://dvrobot.ru/shop/i267.Modul_GY-80_Akse-Giro-Kompa-Barometr.htm
предлагаю HMC5883L приклеить к куску пенопласта и опустить в банку с водой. пусть все время ровно к горизонту стоит..
Нет, это совсем не вариант =)
Датчик находится на подвижном роботе.
и что? зачем вообще роботу компас?
и что? зачем вообще роботу компас?
для поиска аудио-колонок, трансформаторов, прочей хрени с мощными магнитами и электромагнитными полями.
А про магнитные аномалии забыли - где в кино обычно компас(механический) вертеться начинает?
А про магнитные аномалии забыли - где в кино обычно компас(механический) вертеться начинает?
сейчас мало таких аномалий - большие заводы распилили на металлолом и вывезли в Турцию.
Зачем флудить тут! Может быть по делу, что скажете?
Зачем флудить тут! Может быть по делу, что скажете?
мне показалось, что первый пост не может не провоцировать флуд - ведь, если у нас имеются:
то, зачем нам держать датчик в горизонтальном положении?
Если на конечном устройстве нет гарантии горизонтального положения сенсора, определение ориентации с помощью одного лишь компаса невозможно. В этом случае для точного расчёта дополнительно понадобится использовать акселерометр.
Если на конечном устройстве нет гарантии горизонтального положения сенсора, определение ориентации с помощью одного лишь компаса невозможно.
Так теперь уже и ориентацию у робота будем определять? надеюсь робот с нормальной ориентацией?
А как тогда делают автопилот для самолёта, с таким же датчиком, на 328й меге? Ardupilot например, или самопал со сходным функционалом. Неужто там компас работает с допущением что pitch/roll (тобишь тангаж или крен) всегда нулевой?
UPD. Skaper, пока не предлагаю читать исходники Ardupilot - сам попробовал, но голову сломал.
А я вот такой купил. http://www.robot-electronics.co.uk/htm/cmps10doc.htm Там уже все сделано. И задача эта сложная. Стоит на стальном катере на деревянной мачте.
Вот здесь все очень подробно описано. Правда на англииском.
http://www.loveelectronics.co.uk/Tutorials/13/tilt-compensated-compass-arduino-tutorial
Доброго времени суток! Столкнулся с подобной проблемой. Получилось решить?
Тоже нужно вычислять наклон платформы относительно горизонта акселерометром, чтобы корректировать показания магнитометра. Есть возможность использовать также гироскоп в роли магнитометра, но магнитометр предпочтительнее.
Есть связка гироскопа и акселерометра MPU-6050 и магнитометр, как у автора. Может есть у кого-нибудь пример работы магнитометра или гироскопа в связке с акселерометром или материал по теме. Нашел мало информации. Очень сильно надо..
Сюдаположил
https://yadi.sk/d/o9seCdK9r4jo8
Спасибо большое!
А не подскажите еще, для чего выводы ADO и INT с гироскопа? INT это наверное для получения данных по прерыванию. При подключении двух датчиков одновременно к sda и sql получаю данные. Но для чего тогда xda и xca.
http://www.i2cdevlib.com/forums/topic/111-arduino-example-sketch-to-read-magnetometer-while-dmp-is-on/
Если кто тоже сразу не догадается, для компиляции выложенных проектов нужно использовать библиотеки автора. Со стандартной библиотекой гироскопа и магнитометра не работало.