How to calibrate accelerometer ADXL377

Hello all,

I am using accelerometer ADXL377 to find accelerations of a vibratory roller. Before I can do this, I need to calibrate the sensor (is this true?). To do this, I downloaded an app on my iPhone (Accelerometer and the icon is a capital G with blue background). I have the app set on 30 Hz. I mounted the ADXL377 to my iPhone using electrical tape (yes, the x and y axis of the phone and the accelerometer line up). I used Cool term to collect data. I started the cool term and that app at the same time and moved the phone around and hit it on a piece of rubber (my iPhone is already busted up so its okay if it get another scratch). 

I am getting very weird accelerations from the ADXL377 accelerometer and was wondering if someone could help me out. I think the problem is that my phone is sampling at a completely different rate then the ADXL377. I also am very unsure of my code. I have attached my excel sheet which has the data from my phone and from the accelerometer, and also my arduino code (it is an arduino uno).I have no idea if this code is correct or not, or if it will even work for what I am trying todo.

Also, if the iPhone is collecting data at 30 Hz, would the time column in excel be in seconds? Because time goes from 1 to 524. But I was not collecting data for 524 seconds. It was around 10 to 20 seconds.

If someone could help me out that would be awesome. Is there any other suggestions on how to calibrate the accelerometer? I have read on ada fruits website that I can drop the accelerometer at a known height and calculate the acceleration on impact. The problem with that is if the accelerometer lands at an angle, I don't know what that angle will be therefore it will be hard to calculate the forces.

Any input or ideas would help!

Thanks, Sven
  • Thank you for your post.  We are in the midst of trying to replace one of the engineers who was going to support this product in this forum, so our responses might be a bit slow.  I am copying a couple of colleagues who might be able to help as well.  To start with, what level of accuracy are you hoping to achieve with your calibration?  Also, how can we eliminate the effect of your attachment method and the iPhone's case in such a dynamic test? 

  • I would like to be within +/- 2Gs if at all possible.

    The iPhone did not have a case on it. I think if I can figure out the code of the arduino and get accurate measurements, I should be able to compare the data accurately and find a factor to multiply the accelerometer output by to get my acceleration.

  • Hi Sven,

    Unfortunately, we do not have the ability to review code from customers at this time.  If you are trying to sense tilt, as you are with your phone than the ADXL377 is not the right part for that.  The ADXL377 is meant to measure high vibration environments.  Tilt measurement, such as those used in phone usually have a lesser g range.  The ADXL354/ADXL355 are, as far as I know, best in class to measure tilt. 

    So depending what you want in the end, the ADXL377 is better for high vibration environment (whereas the phone will not be adequate) while the ADXL354/ADXL355 are much better for tilt (much better than the phone, but more comparable outputs).

    Hope this helps.

  • No, I am not measuring tilt. I am measuring the vibrations of a vibratory roller (used to patch asphault). I am trying to calibrate the accelerometer using the accelerometer in my iPhone.

  • : What accuracy do you anticipate from the iPhone?  I am not an expert but the cost drivers in that application would likely preclude the use of precision sensors.  Even if the sensors in the iPhone were perfect, I would be wary of assuming a perfect response from the mechanical structure of the phone and from the sensor attachment method.  Judging from your data, it would seem like the peak to peak motion is less than 20g.  At that level, I would think that you could get to better than +/-2g of accuracy using gravity as your stimulus.