Arduino + MPU-9150 x2

Тема в разделе "Arduino & Shields", создана пользователем pupanya, 4 май 2013.

  1. pupanya

    pupanya Нуб

    Доброго времени суток.
    Имею Arduino Uno и два ИМУ от спаркфана MPU-9150.(https://www.sparkfun.com/products/11486).
    Проблема заключается в одновременном подключении датчиков.
    Одному из датчиков подключаю ногу AD0 через 10кОм резистор на питание, но он не определяется. Если подключаю её без резистора, то у Arduino пропадает ком порт. В дш ничего про резистор не нашёл.
    Может кто сталкивался с такими или подобными проблемами, помогите, объясните новичку
     
  2. Unixon

    Unixon Оракул Модератор

    Конечно все падает. Вы же питание таким образом замыкаете. AD0 (селектор адреса I2C) на плате IMU перемычкой прицеплен к земле. Режьте перемычку.
     
    roggedhorse, Megakoteyka и pupanya нравится это.
  3. pupanya

    pupanya Нуб

    Благодарю! Перерезал, подтянул и всё успешно определяется.
     
  4. pupanya

    pupanya Нуб

    Доброго времени суток. Продолжу свою тему.
    Столкнулся с проблемой инициализации второго ИМУ с помощью библиотеки (https://github.com/sparkfun/MPU-9150_Breakout/tree/master/firmware/MPU6050). Копался в файлах библиотеки, пробовал некоторые варианты - не удалось.
     
  5. Unixon

    Unixon Оракул Модератор

    Эх... менее удачное описание проблемы получилось, чем в прошлый раз... Вот представьте только, что у вас там какой-то реальный опыт работы с железкой, вы знаете что с ней делали, что было на входе, что на выходе, и т.д. а у нас тут только 4 строчки букв знакомого алфавита, которые ну никак этот ваш опыт не отражают. Вот как и чем вам можно помочь, если почти ничего не известно?
     
    Megakoteyka нравится это.
  6. pupanya

    pupanya Нуб

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

    Файл библиотеки:
    Код (Text):
    MPU6050::MPU6050() {
        devAddr = MPU6050_DEFAULT_ADDRESS;
    }
    MPU6050::MPU6050(uint8_t address) {
        devAddr = address;
    }
    Пытался инициализировать датчик как:
    Код (Text):
    MPU6050(0x69) accelgyro;
    А следовало:
    Код (Text):
    MPU6050 accelgyro(0x69) ;
    Понял, что с потерей практики стал делать глупые ошибки.
    Спасибо за помощь.
     
  7. Vanovich

    Vanovich Нуб

    У меня есть несколько вопросов по MPU 9150...
    Достаточно давно мониторю тему различных IMU, AHRS и алгоритмов...Опробовал SEN-10724, FreeIMU от Fabio Varesano (царство ему небесное...)
    У всех есть одинаковая проблема - yaw дрифт во времени. Стабильность также сильно зависит от изменения температуры.
    Прошу проконсультировать - как обстоит дело с дрейфом показаний на этой IMU? Есть ли отклонения от данных начального положения после вращений по всем осям и линейных перемещений в течение пусть даже минуты? Есть ли какие-нибудь сведения об используемом алгоритме в DMP этой IMU? Используется ли там фильтр Калмана?
    Вообще, все ролики на youtube по этой IMU довольно не информативны - крутят датчики, дескать - смотрите, все круто, мы оцифровали углы вращения а вот со стабилизацией никто работать не хочет. Есть один сенсор, vectornav vn-100, там вроде все круто, но он стоит ~1000$...Не наш случай.
    Спасибо.
     
  8. warman

    warman Гик

    параметры инерциальных датчиков, используемых в различных DIY-бордах, как правило соизмеримы друг с другом.
    Цена и точность, используемые алгоритмы учета и корректировки погрешностей не сильно разнятся между разными производителями, и вполне достаточны для ориентирования по двору дома небольшого робота. На ядерную же боеголовку наводить собрались на какую-нибудь африканскую страну, так что на уход показаний датчиков можно не заострять внимание.
     
  9. Vanovich

    Vanovich Нуб

    Моя задача технически проще, чем ориентирование робота, но требует довольно точных и стабильных показаний - речь идет о оцифровке поворота и движения кисти руки при значительных линейных и угловых ускорениях (теннис, бейсбол, метание копья и т.п) и дальнейший анализ и 3d визуализация записанного цифрового сигнала в собственном редакторе.
    Причем хотя бы поворотами ограничиться, понятно, что перемещения регистрировать средствами IMU это вообще не вариант, но в-принципе, графики ускорений могут дать определенную картину при должном уровне абстракции :)
     
  10. warman

    warman Гик

    точность показаний определяется ценой датчика. Хотя для определения положения кисти руки вполне должно хватить и простых датчиков, усреднение показаний сделаете уже в программе, а погрешность в пару градусов наклона некритична, руки человека всегда в движении.