Код программы, который вычисляет скорость с помощью акселерометра

Я пытаюсь рассчитать скорость ракеты для своего проекта. Мне было поручено вычислить это с помощью датчика акселерометра adxl3xxx. Я не уверен, как это сделать, поскольку акселерометр учитывает ускорение силы тяжести. Может кто-нибудь предоставить какую-нибудь форму кода, чтобы помочь мне понять. Я слышал какую-то теорию вроде каликулатонга рыскания, тангажа и крена, а затем использования тригонометрии для учета гравитации. Не знаю, как это работает. Я также слышал о квартенионах, не совсем понимая, что это такое. Если бы кто-нибудь мог мне помочь, это было бы здорово, спасибо

, 👍0

Обсуждение

https://arduino.stackexchange.com/search ?q= скорость + акселерометр, @Juraj


1 ответ


3

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

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

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

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

Я также слышал о квартенионах, не совсем понимая, что это такое.

Кватернионы являются альтернативой использованию тригонометрии для определения (в данном случае) рыскания, тангажа и крена. Есть два преимущества (в данном случае). Во-первых, компьютеру легче вычислять кватернионы. Во-вторых, расчеты кватернионного рыскания, тангажа и крена не уходят в бесконечность для определенных ситуаций. В реальном мире, использующем физические гироскопы, это обычно известно как блокировка кардана.

Добавлено позже...

Как бы я мог использовать тригонометрию?

Тригонометрия не является необходимой, если она физически устроена таким образом, что все ускорение для достижения интересующей скорости происходит только в 1 из направлений X, Y или Z акселерометра. Затем все, что нужно, - это интегрировать показания акселерометра в этом направлении по времени.

Если это происходит в том же направлении, что и сила тяжести земли, просто вычтите 9,8 м /с2.

Если вы не можете физически это организовать, то вам нужно прочитать все 3 значения акселерометра (X, Y и Z). На основе этих данных можно рассчитать тангаж и крен. Уравнения тригонометрии для этого приведены на странице 21 ссылки "описание наклонного компаса" выше.

Тем не менее, мы замечаем на той же странице уравнение для вычисления величины ускорения.

Таким образом, вполне возможно, что мы сможем вычислить скорость, обусловленную величиной общего ускорения, путем выборки данных датчиков акселерометра X, Y и Z с течением времени. И полностью избегайте тригонометрии.

Однако есть одна проблема. Мы не учли гравитацию. Опять же, если мы предположим, что гравитация движется в том же направлении, что и движение, мы можем вычесть ее. Но если перемещение отклонено, скажем, на 45 градусов от вектора гравитации, мы хотели бы только вычесть cos (45) * 9,8 м /с2. Учтите, что только знание общей величины ускорения не дает достаточной информации для определения угла между ускорением, вызванным гравитацией, и ускорением, вызванным изменением скорости от нуля до неизвестной скорости относительно Земли.

На этом этапе необходимо принять решения относительно того, как учитывать гравитацию. 9,8 м /с2 может быть незначительным по сравнению с ускорением транспортного средства и поэтому может быть проигнорировано. Или это может быть настолько важно, что экстремальные меры, такие как отслеживание положения солнца в небе, становятся реальным способом определения фактического тангажа и крена транспортного средства.

,

Боже милостивый, я действительно сказал "жвачный замок"?, @st2000

Как бы я мог использовать тригонометрию?, @Sam21

Я не могу ответить на это в комментарии. Поэтому я добавлю это в конец приведенного выше ответа., @st2000

Кроме того, [это видео](https://youtu.be/p7tjtLkIlFo ) может помочь. Но обратите внимание на то, что он говорит [в этот момент в этом видео] (https://youtu.be/p7tjtLkIlFo?t=493 )., @st2000