Какие датчики могут измерять 3-осевое ускорение?

В настоящее время я измеряю вибрацию, температуру и шум с помощью Arduino и различных недорогих датчиков. Датчик ускорения, который я нашел, был датчиками, которые измеряли гравитацию на 3-осевой оси датчика. Но я бы хотел измерить acc, а не гравитацию, когда она движется в направлении датчика. Например, если объект движется фронтально в горизонтальном положении, то измеряется x-направленный acc.

Не могли бы вы сказать мне, знаете ли вы аксенсор, который мне нужен.

, 👍-1

Обсуждение

3-осевой акселерометр. И да, они измеряют гравитацию. В конце концов, гравитация-это просто ускорение вниз (9,8 м/с2)..., @Majenko


1 ответ


1

Датчик ускорения, который я нашел, был датчиками, которые измеряли гравитацию на 3-осевой оси датчика

Гравитация-это ускорение.

Акселерометр измеряет ускорение - или, точнее, он измеряет сопротивление ускорению (инерцию) и приравнивает его к ускорению.

Удерживая акселерометр неподвижно, вы заставляете его сопротивляться силе тяжести, и именно это "сопротивление" он измеряет - постоянное 9,8 м/с2

Если вы позволите акселерометру свободно падать, он больше не будет сопротивляться гравитации и будет измерять 0 для оси Z.

Таким образом, вам просто нужно "игнорировать" гравитацию, удалив это постоянное ускорение 9,8 м/с2 ("1g") от оси Z. И вы делаете это, просто вычитая его.

Обычно акселерометр калибруют, удерживая его в покое и считывая значения "холостого хода". Затем эти значения вычитаются из показаний, чтобы получить фактическое значение.

,

Но я хочу проверить x и y-dir accs, а не гравитацию. (передний(x-dir) acc, на плоскости), @D.S

Да? И что? вот для чего нужны две другие оси. X (вперед/назад), Y (вбок) и Z (вверх/вниз+гравитация)., @Majenko

Означает ли это, что эти измерения ускорения также возможны?; https://stackoverflow.com/questions/38962719/how-to-get-acceleration-and-deceleration-like-a-car-in-android Я не получил желаемого значения, когда переместил датчик ускорения в плоскости. Я использовал MPU6050., @D.S

Тогда либо вы делаете что-то не так в своем коде, либо принципиально неправильно понимаете основную природу вселенной., @Majenko

https://physics.info/kinematics-calculus/, @Majenko

Как убрать гравитацию с оси-ускорения? Я искал это, но мне удалось найти то, что я хочу. Не могли бы вы сказать мне код, который мне нужен ?, @D.S

z = z - 9,8; - предполагая, что Z-вертикальное ускорение в g., @Majenko

ДА. я уже это сделал. но если ось x ориентирована вверх, то обнаруживается 9.8., @D.S

Затем вы хотите преобразовать три отдельные оси в 3D-вектор, а затем вычесть 3D-вектор датчика, когда он неподвижен., @Majenko

О, как вы об этом говорите, сначала получите крен, тангаж и рыскание с помощью гироскопа, а затем используйте его для трехмерного преобразования. Правильно ли я понимаю?, @D.S

Существует библиотека IIRC, которая принимает все 6 значений и делает с ними какую-то причудливую математику, чтобы дать вам полезные значения. Я никогда им не пользовался и не знаю, как он называется, но, может быть, Google найдет его для вас. Похоже, это то, что вам нужно., @Majenko

ускорение-это не гравитация. что-то, сидящее на столе, ось z датчика вверх, должно иметь ускорение 0, а не 9,81 м/с/с. В свободном падении он ускоряется при g, а не при 0. Достаточно легко вычесть 9,81 из этого показания, но это не работает, когда ориентация датчика будет меняться в процессе использования (а интегрирование ориентации с течением времени не обеспечивает необходимой точности). что мне действительно нужно, так это датчик, который действительно считывает ускорение!!, @Jonathan Weaver

@JonathanWeaver https://en.wikipedia.org/wiki/Equivalence_principle, @Majenko