Electronic – arduino – Functionality of Accelerometers

accelerometerarduinosensor

Is it possible to do a speedo meter with an accelerometer ?
I am working with Arduino hardware.

Best Answer

TL;DR Basically, no, for most situations.

Since acceleration is the derivative of velocity, integrating the output of an accelerometer should give you the velocity, however there are several flaws in that ointment(sic).

Firstly, if you remember your calculus, integration leaves an arbitrary constant so you must know the initial velocity in order to determine a new velocity. To put it another way, an object moving at constant velocity has no acceleration.

Secondly, the MEMS accelerometers used in typical consumer accelerometers have a lot of offset and drift. The offset gets integrated as well, and thus tends to increase without bound over time. Other errors such as hysteresis and scale errors will also affect the calculation results.

Thirdly, the accelerometer will respond to the 1g force of gravity. From the accelerometer's point of view, an accelerometer sitting on the table appears to be accelerating Edit: UPward at around 10m/s^2. Even if you attempt to ignore that axis, g can creep into the other axes. An object in free fall will appear to have no acceleration- whether it's falling towards the ground, in orbit or somewhere off in space. For normal applications, that means that the orientation of the accelerometer must be known to high accuracy- an error of only a degree or two will cause a large error in the velocity estimation in seconds.

So, an inexpensive accelerometer is only useful in a very limited subset of velocity estimation applications- 'dead reckoning' is not very useful with low-cost accelerometers. However, if the accelerometer signal could be somehow combined with some kind of accurate but slow measurement of position (eg. GNSS such as GPS or GLONASS) then you could have a fast-responding estimate of velocity that does not drift. This can be done with an algorithm that takes into account the errors of the two measurements and weights them appropriately (typically with a Kalman filter).

It is possible to use very accurate accelerometers in combination with accurate and very expensive gyros to determine velocity and position fairly well for relatively short periods of time. This is useful in case you wanted to deliver something, say an important 'package' of some kind, to the folks on a distant part of the earth very quickly (minutes) and could not depend on an absolute position measurement (say viewing a bright star or GNSS) for the entire trip (you probably know the initial position). The combination of accelerometers and gyros is called an IMU (inertial measurement unit). When combined with GNSS they're called something like GNSS-aided inertial navigation systems).