Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемы в работе с ADIS16375
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Метрология, датчики, измерительная техника
wave
Доброго времени суток!
Работаю с микросхемой ADIS16375 в связке с микроконтроллером, опрос и передача данных на компьютер через интерфейс USB. Микросхему ADIS16375 опрашиваю, при приеме сигнала DATA_READY с вывода DIO2, а именно считываю изменения угла по
оси Х (команда X_DELTA_ANG_H). Опрос ведется непрерывно и начинается с нуля, после поворота на угол 90 градусов, по результату суммирования получается только 70 градусов, если повернуть на 180 градусов результат поворота показывает 140 градусов.
Также при повороте обратно, в первоначальное положение, значения не возвращается к нулю, а показывает -5, -10 градусов.В чем может быть причина не правильного показания угла поворота? Пробовал применять различные внутрение фильтры (A,B,C,D), изменял параметры усредняющего фильтра (DEC_RATE, пробовал 10, 100, 1000 отсчетов в секунду), проводил калибровку, сброс к заводским настройкам, но не это дало никакого результата. Заранее благодарю за помощь.
alexPec
Цитата(wave @ Sep 25 2012, 12:31) *
Доброго времени суток!
Работаю с микросхемой ADIS16375 в связке с микроконтроллером, опрос и передача данных на компьютер через интерфейс USB. Микросхему ADIS16375 опрашиваю, при приеме сигнала DATA_READY с вывода DIO2, а именно считываю изменения угла по
оси Х (команда X_DELTA_ANG_H). Опрос ведется непрерывно и начинается с нуля, после поворота на угол 90 градусов, по результату суммирования получается только 70 градусов, если повернуть на 180 градусов результат поворота показывает 140 градусов.
Также при повороте обратно, в первоначальное положение, значения не возвращается к нулю, а показывает -5, -10 градусов.В чем может быть причина не правильного показания угла поворота? Пробовал применять различные внутрение фильтры (A,B,C,D), изменял параметры усредняющего фильтра (DEC_RATE, пробовал 10, 100, 1000 отсчетов в секунду), проводил калибровку, сброс к заводским настройкам, но не это дало никакого результата. Заранее благодарю за помощь.

А вы в одной плоскости крутите или сразу в нескольких? (имеется ввиду относительно плоскости датчиков). Насколько я понял из DS, никаких вычислений он не делает, а тупо выдает сигналы с акселерометров и датчиков угловой скорости. Т.е. вы получаете проекции скоростей и ускорений, а из них надо собрать истинный вектор вращения. Это та еще задача. Можете проверить - вращать только в одной плоскости - показания должны почти совпадать при повороте туда и обратно в зависимости от "идеальности" совпадения плоскости вращения и плоскости датчика.
wave
Поворот выполняю в одной плоскости. Микросхема кроме значений акселерометров и угловой скорости выдает еще изменение угла поворота за период измерений, эти изменения угла я неприрывно суммирую по получении сигнала готовности от ADIS16375.
alexPec
Цитата(wave @ Sep 26 2012, 08:13) *
Поворот выполняю в одной плоскости. Микросхема кроме значений акселерометров и угловой скорости выдает еще изменение угла поворота за период измерений, эти изменения угла я неприрывно суммирую по получении сигнала готовности от ADIS16375.

Работал с adis16300 там правда только 1-осевой гироскоп, и выдает только значения угловой скорости. Я их непрерывно считывал, интегрировал, даже при очень резких поворотах В ОДНОЙ плоскости, перпендикулярной оси датчика, показания возвращались на место. С точностью порядка 0,1..0,5 градуса. Со временем конечно ноль плывет, но если небольшой промежуток брать (десятки секунд) - не существенно.
wave
alexPec, перед опросом микросхемы вы меняли какие-нибудь параметры работы, делали калибровку?
alexPec
Цитата(wave @ Sep 26 2012, 15:09) *
alexPec, перед опросом микросхемы вы меняли какие-нибудь параметры работы, делали калибровку?


Посмотрел софт - никакие регистры не менял. Просто читал регистры результатов оцифровки. Сначала просто в руках вращал - не возвращается в ноль. Положил на стол, повращал прижав к столу - все ок.
polyakovav
На гироскопы сильно влияет линейное ускорение. Если крутить в руках или на вибрирующей поверхности - ошибки неизбежны.

Ну, то-есть можно скомпенсировать при расчетах, но математика сложная.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.