реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Угловая компенсация компаса, LSM303D
rat
сообщение May 7 2014, 10:07
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



День добрый. Запустил LSM303D. Данные с магнитного датчика, акселерометра и датчика температуры идут на ура. Направление на севео посчитал по формуле:

180*atan2f(magnetic_Y, magnetic_X)/3.1415 с коррекцией отрицательного угла.

Работает нормально, если выставлен по уровню(горизонтирован).
Углы крена и тангажа:

pitch = asinf(-acceleration_X);
roll = asinf(acceleration_Y / cosf(pitch));

Тоже считаются верно.

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

xh = magnetic_X * cosf(pitch) + magnetic_Z * sinf(pitch);
yh = magnetic_X * sinf(roll) * sinf(pitch) + magnetic_Y * cosf(roll) - magnetic_Z * sinf(roll) * cosf(pitch);

angle_compensated= 180*atan2f(yh, xh)/3.1415;

Считает неправильно. Прошу знающих комрадов подсказать - где ошибка в формуле?
Go to the top of the page
 
+Quote Post
amaora
сообщение May 7 2014, 17:22
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



В векторах не проще пересчитать? А не гонять в углы и обратно.

Построить два базисных вектора и перевести показания магнитометра в новую СК, если правильно понял задачу. Понадобятся векторное и скалярное произведение, и ещё нормирование. А с углами дело неприятное, проверять формулу желания нет, извините. Можете сами расписать два поворота.
Go to the top of the page
 
+Quote Post
polyakovav
сообщение May 7 2014, 17:46
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 26-05-06
Из: Воронеж
Пользователь №: 17 486



Нужно внимательно проверять соответствие осей х-у, потому что смотреть на ось z можно с двух сторон sm.gif
Формулы перепроверять лениво, но даже при отсутствии ошибок этот способ расчета более-менее обеспечивает компенсацию только при наклонах до 30 градусов и предварительной калибровке акселерометров и магнитометров.
Акселерометры можно калибровать в здании, а магнитометры - только в отсутствии искажений геомагнитного поля, т.е. вдали от всякого железа.
А еще все это хозяйство плывет от температуры, поэтому ошибки не больше 5 градусов по азимуту для диапазона температур -20...+50 обеспечить сложно.
Go to the top of the page
 
+Quote Post
rat
сообщение May 8 2014, 01:57
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Обожаю наш форум. Все расскажут, подробно объяснят ))) Всем спасибо )
Go to the top of the page
 
+Quote Post
rat
сообщение Jan 20 2015, 06:02
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Кстати, такой вопрос: кому какую точность реально удалось получить в диапазоне углов ±30°?
Go to the top of the page
 
+Quote Post
rat
сообщение Jan 22 2015, 08:09
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Вопрос вдогонку: посоветуйте пожалуйста методику калибровки электронного компаса.
Go to the top of the page
 
+Quote Post
Massi
сообщение Jan 22 2015, 10:48
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 007
Регистрация: 24-01-06
Из: Киев
Пользователь №: 13 556



http://media.digikey.com/pdf/Data%20Sheets...-RD%20Guide.pdf


--------------------
Motobaza.kiev.ua
Go to the top of the page
 
+Quote Post
rat
сообщение Jan 23 2015, 08:26
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 497
Регистрация: 9-06-05
Из: Новосибирск
Пользователь №: 5 852



Цитата(Massi @ Jan 22 2015, 16:48) *


По ссылке методика для конкретного компаса и с использованием заточенного под него ПО, мой компас уже не подходит. Интересует теория и практические советы по калибровке и какие точности были получены. Неужели никто из форумчан не делал электронный компас?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 22:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016