Go Down

Topic: Max beam deflection using Arduino with Acceleromter (Read 3 times) previous topic - next topic


Hello everyone,

I am doing a project for University.

Basically I want to program the Arduino Board with an Accelerometer on it, then locate it at the free end of a cantilever beam.

Then, I will move downward the Arduino with my hand.

My outcome is, I want the Arduino to tell me (by a red LED on a bread board) when I reach the maximum displacement that the cantilever beam can withstand.

I know  how to find the maximum displacement.

My question now is: how can I read the distance travelled by the arduino, while it measures the acceleration?

Thanks a lot :)


Do you really need to know the distance traveled, or do you just need to know the angle that the Arduino is forming with the ground?

The second one is a lot easier to measure than the first!

The Arduino Drum Machine: 14-track MIDI drum machine sequencer / groove-box


Hi, thanks for your reply.

Actually I thought about that too and I think it would work, because I can put my equation in terms of the maximum slope of the cantilever, which is the same angle that the Arduino forms with the ground, which is the same angle as the slope.

So, how would you do that?



The accelerometer (assuming it's the 3-axis type, though you really only need 2 axes) will give you acceleration in X and Z axes. When parallel to the ground, Z axis acceleration is -1g (gravity vector) and X/Y should both be 0 (you'll have to calibrate this out). Under deflection, Z acceleration will go towards 0 and X (or Y, depending on how you have it positioned) acceleration will increase. The magnitude of the two non-zero vectors will still add up to 1 (since gravity is still the only acceleration force in steady state) but the relative magnitudes of the two will give you a direction angle, using trigonometry you probably learned in freshman algebra ;)

The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons


Small angles aren't easy to measure with a MEMS accelerometer due to the high S/N ratio.  Depends how much the cantilever moves (and whether its supported at both ends!)

If the displacement is relatively quick you could try double-integration of the acceleration signal (after having compensated/tared for gravity).  However integrating a noisy signal leads to drift and double integration leads to accelerating drift - hence the requirement for fairly quick displacement.

Too rapid a displacement and you may be bitten by bandwidth issues.  Too slow a displacement and this is not a workable option - a linear displacement sensor would then be necessary.
[ I won't respond to messages, use the forum please ]

Go Up