IMU-сенсор

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем strinda, 4 окт 2017.

  1. strinda

    strinda Гик

    Добрый вечер,
    Купил и подключил сенсор IMU. Начал просматривать показания порта - выяснил странную закономерность: если установить сенсор осью Z вверх и не трогать, то постепенно растут показания "yaw" Другими словами, если положить его на стол и подождать минуту другую, то они вырастут от 0 до 180 и так далее.

    Есть ли какие-то объяснения этому?
     
  2. rkit

    rkit Гуру

    Дрифтует гироскоп. Калибруйте.
     
  3. strinda

    strinda Гик

    А как именно калибровать его?
    Я прочел >> это << и >> это << , но там только про компас речь идет.
     
  4. rkit

    rkit Гуру

    Измерить дрифт за единицу времени и вычитать из результатов.
     
  5. issaom

    issaom Гуру

    Мне помогло:
    1. в примере от амперки добавляем коээфициент
    // обновляем входные данные в фильтр gy поправочный коэффициент
    filter.update(gx, gy + 0.005 , gz, ax, ay, az);
    цифру можно посчитать экспериментально - добавляем коэффициент от балды - если поехало в другую сторону делим пополам и снова пробуем - я подобрал быстро.... (+ или - смотря в какую сторону отклонения)
    2. Вместо ПК цепляем любой экран куда и печатаем значения yaw и организовываем нормальное питание IMU с пина 5V+ Ардуино. Саму Ардуину запитываем от внешнего источника питания. Через com порт мне так и не удалось добиться стабильной работы этого модуля. Макетка с экраном и батарейкой лежала на столе и показания практически не уплывали.
     
  6. Onkel

    Onkel Гуру

    6 осей или 9? Если 6 ,то x y imu будет держать, имея как реф g, а угол рыскания будет дрейфовать, но 180° в минуту - многовато. Еслы выставить калибровку должен рыскать 0,01-0,1°/с. Если нужно четко держать угол рыскания, то берите 9 осей, но там свои тонкости - у него как реф по рысканию компас, в помещения и у железа хреново держит, только на воздухе вдали от эм полей и железок.
     
  7. strinda

    strinda Гик

    Сенсор вот этот: >> ТУТ <<
    С рысканьем: ситуация такая
    0.01 град за 10 ms
    то есть 1 град в с или около того.

    Есть ли какой-то способ найти угол поворота в принципе? Идея робота была в том, чтобы сделать корабль, который бы корректировал свой курс относительно заданного изначально угла. Пока не получается - так как при повороте робота я не могу точно диагностировать на какой угол он повернулся. Я думал IMU должен был бы мне помочь в этом.
     
  8. Onkel

    Onkel Гуру

    должно быть раз в 100 меньше. Для отстройки дрейфа нужен imu с копмпасом, 9250 например. Но с ним также нужно аккуратно - только на воздухе и без магнитных полей.
     
  9. issaom

    issaom Гуру

    Скетч с компасом заливали?
     
  10. strinda

    strinda Гик

    Еще нет, планирую начать заливать. Думал, может как-то без компаса "прокатит".
     
  11. issaom

    issaom Гуру

    Я пользуюсь без компаса - с компасом вообще какая-то фигня... да и кстати если на датчик подуть из обычного бытового фена показания плывут в одну сторону а если обмахивать листом бумаги понижая температуру то в другую. Надо выводить какую ту зависимость от температуры и корректировать скетч - благо термометр там в комплекте :)
     
  12. sslobodyan

    sslobodyan Гик

    Датчик сильно температурно-зависим. Попробуйте калибровать гироскоп на включении. Надеюсь, считывание показаний происходит через равные интервалы времени? Тогда после старта обнулите yaw, подождите хотя-бы 20 интервалов времени и полученный угол разделите на 20. У вас выйдет текущая поправка на дрейф при данной температуре. Вот ее и отнимайте после каждого измерения. Естественно, температура в процессе может изменяться и поправка будет огрубляться, но зато это лучше, чем ничего :) Правильные системы калибруют по температуре, которую выдает встроенный температурный датчик. Но это сложно и дорого.
     
    issaom нравится это.