# Collecting Vibration Data (ft/s²) from a 3-axis Accelerometer

How do I convert 3-axis accelerometer data (x, y, z) into a useful and presentable vibration unit (preferably ft/s²)?

I've purchased this sensor from Sparkfun and wish to collect real time vibration data from it. After hours of research I've been unable to find any real solution to this question, only that it seems necessary to analyze data from a set time interval and utilize RMS. Any help on this would be much appreciated!

Relevant research:

I've been unable to find any real solution to this question

What question?

jremington:
What question?

Updated! Sorry for the confusion.

ft/s^2 is just a non-metric unit of acceleration.

To make sense of vibration data from an accelerometer, you need to first analyze for the frequency components present. The analysis will be limited by the frequency response of the accelerometer and the data collection procedure. See this overview: http://www.bksv.com/doc/br0094.pdf

jremington: ft/s^2 is just a non-metric unit of acceleration.

To make sense of vibration data from an accelerometer, you need to first analyze for the frequency components present. The analysis will be limited by the frequency response of the accelerometer and the data collection procedure. See this overview: http://www.bksv.com/doc/br0094.pdf

Thanks for the response!

From that article: "The RMS value is the most relevant measure of amplitude because it both takes the time history of the wave into account and gives an amplitude value which is directly related to the energy content, and therefore the destructive abilities of the vibration."

This is the data I'm interested in but I'm confused on how to go about collecting it. Should I combine the three axis through |A| = sqrt(a² + b² + c²) and then be analyzing that data?

The vibration amplitude, to which that quote refers, is not measured by an accelerometer. One integrates the acceleration twice in order to obtain the vibration amplitude. Keep on reading!

jremington: The vibration amplitude, to which that quote refers, is not measured by an accelerometer. One integrates the acceleration twice in order to obtain the vibration amplitude. Keep on reading!

Okay I think I'm getting closer.

"Overall RMS value of vibration velocity measured over the range 10 to 1000 Hz gives the best indication of a vibration's severity."

"Its acceleration proportional output can be integrated to give velocity and displacement proportional signals."

So if I integrated twice I would get the amplitude and then take the root mean square of that data in order to get a more reasonable number? And should integration be done just by collecting data over a specified time and then doing the trapezoidal method of integration?

Overall RMS value of vibration velocity measured over the range 10 to 1000 Hz gives the best indication of a vibration's severity.

As this suggests, integrate once to get velocity.

However, check whether your accelerometer can measure data at frequencies of up to 1000 Hz (most likely not).

jremington: As this suggests, integrate once to get velocity.

However, check whether your accelerometer can measure data at frequencies of up to 1000 Hz (most likely not).

From Sparkfun: "0.5 Hz to 1600 Hz for X and Y axes and a range of 0.5 Hz to 550 Hz for the Z axis."

So yes and no? That's another thing I'm confused about that that document doesn't seem to go into, how do I deal with the three streams of data (x, y, z)? Are they combined somehow?

groundfungus:
hookup guide

I’ve seen that and have my sensor hooked up as so but its giving three separate values for the x, y and z axis where I need one combined value describing overall vibration. Any ideas on how to go about doing that?

If the vibration is in a preferred direction, align the X or Y axis of the accelerometer with that direction and collect only from that axis.

Why not tell us what you actually want to do?

jremington:
If the vibration is in a preferred direction, align the X or Y axis of the accelerometer with that direction and collect only from that axis.

Why not tell us what you actually want to do?

I’m trying to create a basic vibration sensor, not for any specific application but to measure the vibration of whatever surface it is placed on. Basically a cheaper, custom-made version of a more advanced sensor like this one.

It needs to collect real time data in ft/s² using RMS and report it back.

Does that make sense?

In that case, if you just take the rms value of the data from any accelerometer axis, and report that in ft/s^2, it would seem you are done with your project.

jremington: In that case, if you just take the rms value of the data from any accelerometer axis, and report that in ft/s^2, it would seem you are done with your project.

And the rms value is taken just straight from that data? No initial integration?

The rms value of acceleration is proportional to m/s^2 in SI units, or ft/s^2 in the archaic units used only in the U.S.

If you integrate to get velocity, the rms value is proportional to m/s in SI units.

jremington: The rms value of acceleration is proportional to m/s^2 in SI units, or ft/s^2 in the archaic units used only in the U.S.

If you integrate to get velocity, the rms value is proportional to m/s in SI units.

That makes sense. And is there no way to be accurately reading the 3 axis simultaneously? I'm just thinking the vibrations could be causing the unit to shake side to side as well as up and down. Maybe the solution is to analyze all directions and just display the greatest number?

At some point, you will have to think about what the data actually mean.

And is there no way to be accurately reading the 3 axis simultaneously?

Use accelerometer with 3 analog ADCs and convert all at once, then read out one at a time.

This one's a bit overkill with 8 simultaneous samples, but you can see what kind of stuff is available http://www.analog.com/en/products/analog-to-digital-converters/ad-converters/ad7609.html#product-overview