Easyelectronics.ru

Электроника для всех
Текущее время: 01 окт 2020, 19:08

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: обработка данных инклинометра
СообщениеДобавлено: 22 мар 2020, 01:21 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2955
кто-нибудь имел дело с bwt61cl?
по ходу дела там внутри mpu6050 + фильтр кальмана.
в китайских доках все предельно кратко
Show такой вот код для ардуины

считать я его считал, но плохо понимаю, что за цифры оно выдает.
объясните на пальцах, как обрабатывать эти данные?
дотумкал, что T - температура.
массивы a, w и angle - почему если я верчу устройство в руках, angle убегает при возврате в исходное положение? что означает третье число в массиве angle?

как я понимаю код китайцев, я могу только принимать данные, но отправлять - не могу.
то есть вся калибровка должна осуществляться у меня на клиенте.
я же хочу просто получать стабильные значения pan / tilt.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: обработка данных инклинометра
СообщениеДобавлено: 22 мар 2020, 14:05 
Старожил
Аватара пользователя

Зарегистрирован: 03 сен 2010, 22:46
Сообщения: 6095
Откуда: Москва
а - ускорение по трем осям. w - угловая скорость по крену, тангажу и рысканью. angle - углы по крену, тангажу и рысканью.

Понятно, что углы плывут, они и будут - эта проблема по рысканью вообще не решается без магнитометра.

Если тебе нужен именно инклинометр, а не бесплатформенная IMU, бери значения a, дальше там простая тригонометрия. Если они плавают - фильтруй. Калман тебе тут не нужен и не поможет, он для другого.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: обработка данных инклинометра
СообщениеДобавлено: 22 мар 2020, 16:05 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2955
калман - в спеках девайса заявлен/упоминается (что там внутри - хз, но очевидно, что помимо самого датчика - еще какой-то девайс для трансляции в уарт/блютус, плюс возможно какая-то математика)

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

нашел китайский док на этот датчик, в котором есть команда обнуления (инициализации?) угла z и отдельно - калибровки акселлерометра сразу по иксу и игреку.

да, нужен простой уровень. простая тригонометрия - очевидно не самая простая.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: обработка данных инклинометра
СообщениеДобавлено: 22 мар 2020, 17:05 
Старожил
Аватара пользователя

Зарегистрирован: 03 сен 2010, 22:46
Сообщения: 6095
Откуда: Москва
Калман там есть, используется для data fusion с двух датчиков, иначе нормальные углы в динамике не получить. Но тебе динамика не нужна, тебе нужно просто определить вертикаль, для этого нужен только акселерометр.

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

Бери значения ускорения с акселерометра, это по сути 3-мерный вектор. Калибруйся на горизонтальной поверхности. Ну а потом, используя калибровочный вектор, как опору, будешь получать свой угол. Данные углов с датчика тебе не нужны, мало того - они только мешают. Забей на них, это для другого.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: обработка данных инклинометра
СообщениеДобавлено: 22 мар 2020, 19:32 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2955
пока что выводил только три значения углов.
попробую вывести данные акселлерометра, посмотреть, что там.
допустим, зафиксировал я его на ровной поверхности и откалибровался - это будет характеристика конкретного экземпляра датчика? я потом по этому калибровочному вектору смогу в любой ситуации понять отклонения от уровня?

кстати, уже после нашел в том же доке кое-какие пояснения, вероятно, проливающие свет на его работу:
Код:
//Introductions:
//        1.When the module is on, it needs to be static first. Because the MCU inside the module
//        will be aotomatically calibrated when it is in static. After calibration,the angle of
//        Z-axis will be initialize to 0. Which can be considered as a signal that have been calibrated.
///Attention:
        //1. The coordinate system used in the calculation of attitude angle is the northeast coordinatesystem ,
        // Place the module positivly, left is X-axis, front is X-axis. upward is Z-axis.When the attitude is expressed
        // by the Euler angle. Coordinate rotation sequence is Z-Y-X.
//        Formula for calculating acceleration:
//        ax=((AxH<<8)|AxL)/32768*16g(g is gvality acceleration,9.8m/s2)
//        Formula for calculating angular velocity:
//          wx=((wxH<<8)|wxL)/32768*2000(°/s)
//        Formula for calculating angle:
//        Roll angle(x axis)Roll=((RollH<<8)|RollL)/32768*180(°)


так, в порядке любопытства, а зачем там вообще придумали этот самый угол?
про калмана - я только видел, термин упоминался, но пока не вникал еще, что это такое...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: обработка данных инклинометра
СообщениеДобавлено: 22 мар 2020, 20:19 
Старожил
Аватара пользователя

Зарегистрирован: 03 сен 2010, 22:46
Сообщения: 6095
Откуда: Москва
Какой угол придумали? Ничего не понял. Все там как обычно, ускорения по трем осям, угловая скорость по трем осям, угол по трем осям.

Когда на ровной поверхности откалибруешься, это и будет вектор вертикали. От него потом и будешь плясать с наклонами - все что тебе нужно, это угол между этим вектором, и измеренным. Надеюсь ты в курсе, как вычислить угол между векторами?

Тоеретически, прибор должен показать -G по вертикальной оси, и по нулям на остальных. Но так как плоскость микросхемы все равно не совпадает с опорной плоскостью корпуса, нужна калибровка на чем-то горизонтальном. Альтернатива - калибровка в нескольких положениях, как минимум в двух, отличающихся поворотом на плоскости на 180 градусов.

Время от времени надо перекалибровываться - микромеханика дрифтует. И не роняй его.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: обработка данных инклинометра
СообщениеДобавлено: 22 мар 2020, 22:18 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 2955
ну вот те самые углы по крену - если есть ускорение и угловая скорость.

сложение векторов, проекции, модули, вот это вот все. правда, как приводить это к привычным углам - придется почитать.
буду вспоминать курс геометрии, спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: обработка данных инклинометра
СообщениеДобавлено: 22 мар 2020, 22:27 
Старожил
Аватара пользователя

Зарегистрирован: 03 сен 2010, 22:46
Сообщения: 6095
Откуда: Москва
Ну вообще то сия микруха - простенький IMU. И ее задача как раз и состоит в том, чтобы выдавать положение в пространстве относительно виртуальной вертикали. В динамике, при движении в том числе и с ускорениями. Этого нельзя сделать без гироскопа и довольно хитрой математики. И все равно будет дрифтовать без магнитометра по рысканью всегда, а по остальным осям - в движении. Но зато можно сделать, например, стабилизацию видео. Или даже инерциальную навигацию - с большими ограничениями.

Но если это просто инклинометр, то ничего этого не надо. Достаточно просто определить вектор ускорения, считается что инклинометр при измерении находится в покое, так что этот вектор и будет соответствовать силе тяжести. Что и нужно.

Другое дело что для хорошего инклинометра нужны датчики поточнее. Этот будет скорее показометром.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], wyfinger


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB