ITG3205

Обсуждаем цифровые устройства...
Ответить
Друг Кота
Аватара пользователя
Сообщения: 7365
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

А кто-нибудь может простыми словами рассказать об опыте использования акселерометров? Потому как мой первый подход к этому сенсору пока не увенчался успехом. Пока у меня цель получить направление, поэтому я считываю только ускорение по оси Z. Кристалл запрограммирован на выдачу показаний каждые 10мс, сэмплирование 1кГц и 188Гц LPF. Тактирование от генератора Z, а X и Y уложены в спячку.

Так вот проблема в том, что неподвижная плата мне выдаёт значение 35. Как я понял даташит, младший бит значит 14,375 градуса в секунду, т.е. 35 соответствует 503,125 градуса в секунду? и получается, что за 10мс плата уже повернулась на 5 градусов? Или я не понимаю как интерпретировать данные?

Изображение

Код: Выделить всё

int ITG_angle(unsigned int reset) {
    static int direction = 0;

    uint8_t z_acceleration[2];
    int16_t angle_velocity = 0;

    if (reset) direction = 0;

    while (BITBAND_PERI(ITG_IRQ_PORT->IN, ITG_IRQ_PIN) == 1) {
        i2c_rd_reg(ITG_ADDRESS, GYRO_ZOUT_H, z_acceleration, 2);
        angle_velocity = z_acceleration[0] << 8 | z_acceleration[1];
        direction += (angle_velocity * 14375) / 100;
    }
    return direction;
}
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20094
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

[uquote="uldemir",url="/forum/viewtopic.php?p=4172257#p4172257"]Как я понял даташит, младший бит значит 14,375 градуса в секунду[/uquote]
:facepalm:
≈14 единиц МЗР на градус/с.
35/14,375≈2,4 °/с.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7365
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

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

Меня пока смущает число 35. Хотя, если глядеть тот же даташит - там написано что ноль может быть в пределах 60 градусов в секунду (это я скачал более поздний даташит - в этом 40, а в новом уже 60)? Попытался делать по "запуску" установку смещения нуля, но всё-равно со временем данные плывут - даже если устройство всё время стоит неподвижно, направление на "0" смещается. Или это вращение земли регистрируется? Хотя нет, не может быть 5 градусов за пару минут.
Друг Кота
Аватара пользователя
Сообщения: 20094
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

Как говорит Малышева, "это нормально", что ноль плывёт. Особенно после включения по мере прогрева.
Тем более в пределах чисел из ДШ.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 7365
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

Ну... допустим. Но вот говорил со знакомым, он говорит, что ему так и не удалось применить гироскопы на колёсных роботах. И тут я тоже начинаю сомневаться в том что и мне удастся. Вот сегодня сделал запись показаний прохода робота по трассе и все фрагменты, где робот идёт прямо, видно, что азимут "уходит". Вот график угла азимута в градусах от времени - гобот идёт исключительно ортогонально, так что "валидные" данные должны были бы отличаться друг от друга на 90 градусов:
Изображение
Но настоящая проблема в том, что до 450 отсчета (примерно) робот идёт всё время прямо. А на графике видно, что в том месте где робот со старта разгоняется - гироскоп показывает, что робот разворачивается на 180 градусов и даже больше. Т.е. получается, что этот гироскоп реагирует также и на линейное ускорение? Или я совсем не понимаю, что там происходит.

p.s. пробовал конфигурировать сенсору встроенные фильтры на разные частоты: 188/98/42/20Гц - результат во всех случаях аналогичный.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20094
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

[uquote="uldemir",url="/forum/viewtopic.php?p=4175370#p4175370"]Т.е. получается, что этот гироскоп реагирует также и на линейное ускорение?[/uquote]
Конечно! Если поковыряться в физике сенсора — там ведь отклоняется кремниевая микроскопическая фиговина. Она не знает, что её отклоняет — линейнное ускорение или центростремительное. В ДШ про это тоже написано:
Linear Acceleration Sensitivity = 0,1 °/с/g
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Ответить

Вернуться в «Цифровая техника»