How to Find the acceleration from 3-axis accelerometer?

Click For Summary
To find acceleration from a 3-axis accelerometer, the X, Y, and Z values provided by the device represent the acceleration in those directions. The magnitude of the acceleration vector can be calculated using the Pythagorean theorem, summing the squares of the X, Y, and Z values and taking the square root. An accelerometer cannot determine if an object is in motion; it only measures changes in motion, and even when stationary, it will register gravitational acceleration. Calibration is crucial for accurate readings, involving recording data at rest and applying mathematical methods to adjust the raw data. For practical applications, consulting the accelerometer's datasheet is essential for converting measurements to real-world units.
aamirqau
Messages
2
Reaction score
0
Hi All,
I am working with accelerometer,i have 3-axis accelerometer,Now i have X,Y,Z points and i want to Find the acceleration, How can i find the acceleration? any formula any help? and at which acceleration i could say that now the particle is static i.e not in motion?

Regards,
Aamir
 
Physics news on Phys.org
aamirqau said:
Hi All,
I am working with accelerometer,i have 3-axis accelerometer,Now i have X,Y,Z points and i want to Find the acceleration, How can i find the acceleration? any formula any help?

Those XYZ vectors are the accelerations. An accelerometer doesn't give points. As for a formula to relate the measurements to real-world units...check the datasheet for your accelerometer.


aamirqau said:
and at which acceleration i could say that now the particle is static i.e not in motion?

What particle? For what purpose? And an accelerometer can't tell you if you're in motion, only how motion is changing.

If you're after the magnitude of the acceleration vector, apply the Pythagorean theorem...sum the squares and take the square root.
 
Thx For the Reply,
>> Those XYZ vectors are the accelerations. An accelerometer doesn't give points. As for a formula to relate the measurements to real-world units...check the datasheet for your accelerometer.
What do you mean by data sheet? id ont have any

Device gives these Points ,
11:28 AM------AccX = 1949 AccY = 1609 AccZ = 1999
11:28 AM------AccX = 1950 AccY = 1617 AccZ = 2001
11:28 AM------AccX = 1952 AccY = 1604 AccZ = 1998
11:28 AM------AccX = 1947 AccY = 1613 AccZ = 2000
11:28 AM------AccX = 1953 AccY = 1616 AccZ = 1999
11:28 AM------AccX = 1943 AccY = 1604 AccZ = 1997
11:28 AM------AccX = 1949 AccY = 1604 AccZ = 2002
11:28 AM------AccX = 1947 AccY = 1616 AccZ = 2002
11:28 AM------AccX = 1948 AccY = 1618 AccZ = 2003
Now this is the acceleration?

>>What particle? For what purpose? And an accelerometer can't tell you if you're in motion, only how motion is changing.

Means if device is attacched with the person and person is moving,i want to know that either the person is static or he is walking,
 
aamirqau said:
What do you mean by data sheet? id ont have any

Someone made your accelerometer. The manufacturer will have some kind of data available about the part. Google for the manufacturer and the part number.


aamirqau said:
Device gives these Points ,
11:28 AM------AccX = 1949 AccY = 1609 AccZ = 1999
11:28 AM------AccX = 1950 AccY = 1617 AccZ = 2001
11:28 AM------AccX = 1952 AccY = 1604 AccZ = 1998
11:28 AM------AccX = 1947 AccY = 1613 AccZ = 2000
11:28 AM------AccX = 1953 AccY = 1616 AccZ = 1999
11:28 AM------AccX = 1943 AccY = 1604 AccZ = 1997
11:28 AM------AccX = 1949 AccY = 1604 AccZ = 2002
11:28 AM------AccX = 1947 AccY = 1616 AccZ = 2002
11:28 AM------AccX = 1948 AccY = 1618 AccZ = 2003
Now this is the acceleration?

It depends on the accelerometer, all accelerometers are not identical. The datasheet will tell you how to convert those acceleration vectors to real-world units.

At a glance, it looks like the values are centered on 2000, scaled so that a difference from 2000 of 400 is equivalent to 1 g. At the time of those measurements, it was almost level on the x axis, but a little cockeyed around the z axis (the positive x-axis tilted up slightly). This is just a guess though (and would be a rather unusual scaling if true), consult the datasheet.


aamirqau said:
Means if device is attacched with the person and person is moving,i want to know that either the person is static or he is walking,

As those measurements show, even when sitting still, the accelerometer will register an acceleration due to gravity. You will want to measure changes in acceleration due to the accelerometer being jostled around or changing orientation.
 
Hey!
I just finished calibrating a 3 axis accelerometer. The keyword is CALIBRATION, since you don't really know what the data means that you get from your accelerometers.
What we did:
1) make a record of your accelerometer data with each side idle for let's say a second or two. This we do to use the Earth's constant 9.81m/s^s gravitationaly acceleration. So if you put your accelerometer on the table, one axis of the accelerometer will be at either +1G (9.81) or -1G (-9.81). So if you make idle records for all 6 sides ( let's say you have a cubical accelerometer) you will have data for all axises for - and+ 1 g.
2) do some avaraging on your data. you could look for the maximum and minimum value for one axis and chose the minimum difference data
3) , try to find the best "idle" data for all 6 idle sides. We achived this by classifying our data to some custom regions. We made a "data window" of custom length and if if that data window had the lowest avarage and differences than we chose it as "best"
4) now you have 6 "best avarages" data, for your 6 sides. each consists of 3 axis data, so at all you have 18 constant data. what you need to do is, try to apply a "trend line" to your data. that can be achieved by using the least squares algorithm. you can write your equations in the following way:
9.81= a11X + a12Y + a13Z + b1;
0 = a21X + a22Y + a23Z +b2;
0 = a31X + a32Y + a33Z + b3;

you will have 6 of this (6*3 = 18 equations and 12 variables). that means you have an overdetermined equation system that you can solve with SingularValueDecomposition for example (or QR decomposition).

after you will have the values for a11, a12 ... and b1,b2,b3
applying these to your raw data, will give you quite punctual calibrated data in m/s^2

cheers
 
you can do what piitaj recommend or if you have acces to the rotation angles ( e.g. from a gyro) you can found the inverse of the rotation matrix and find out the ax ay and az. i.e. the values of the accelerometer in terms of m/s^2 are igual to the rotation matrix times the g-a:

Avalues = Rxyz*(g-a). therefore,
a = g - inv(Rxyz)*Avalues.

g = [0 0 9.81]'

Avalues = [sensorLectureInX sensorLectureInY sensorLectutreInZ]' ( in m/s^2)

Rxyz = Rx*Ry*Rz;

Rx = [1 0 0
0 cosζ sinζ
0 -sinζ cosζ ] (ζ is the angle around x, θ around y and ψ arund z)

Ry = [cosθ 0 -sinθ
0 1 0
sinθ 0 cosθ ]

Rz = [ cosψ sinψ 0
-sinψ cosψ 0
0 0 1]

To find the inverse of a matrix just google it.

The disadvantage of this method is one that you need the angles. and two that a gyro gives you rad/s and you need to calculate rads and that will bring an error that will increase with time so a bias will be needed.
 
For simple comparison, I think the same thought process can be followed as a block slides down a hill, - for block down hill, simple starting PE of mgh to final max KE 0.5mv^2 - comparing PE1 to max KE2 would result in finding the work friction did through the process. efficiency is just 100*KE2/PE1. If a mousetrap car travels along a flat surface, a starting PE of 0.5 k th^2 can be measured and maximum velocity of the car can also be measured. If energy efficiency is defined by...

Similar threads

  • · Replies 47 ·
2
Replies
47
Views
4K
Replies
11
Views
24K
Replies
4
Views
1K
Replies
1
Views
2K
  • · Replies 12 ·
Replies
12
Views
4K
Replies
1
Views
13K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
5K
  • · Replies 7 ·
Replies
7
Views
2K