New, low cost HIGH-G 3-axis digital accelerometer breakout module

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

Winston

Lorenzo von Matterhorn
Joined
Jan 31, 2009
Messages
9,560
Reaction score
1,748
I2C or SPI.

12-bit representation sensitivity:

100g mode - 0.049g/digit
200g mode - 0.098g/digit
400g mode - 0.195g/digit

SparkFun Triple Axis Accelerometer Breakout - H3LIS331DL - $9.95

https://www.sparkfun.com/products/14480

That's less than the single piece cost ($10.90) for the IC alone:

https://www.mouser.com/ProductDetail/STMicroelectronics/H3LIS331DLTR/?qs=TAo1I7FhABsAZFqkqNUSRA==

IC datasheet:

https://www.st.com/content/ccc/reso...df/jcr:content/translations/en.DM00053090.pdf

14480-01.jpg
 
The range and resolution are certainly nice, especially since the range is software-controllable. The power is really low. The other accuracy-related specs aren’t great, though, particularly the +/- 1G zero level. It would be nice to have the sensor be pre-calibrated but this one would clearly need a cal at least at the beginning.
 
Sweet. I need a few of these to play with.
I bought some of these adapters a while back while planning to play with this chip, but got diverted by other projects and didn't manage to get around to it before this product popped up which is cheaper than buying a single unit quantity on Mouser (Digikey has a HUGE minimum purchase number for this accelerometer)!:

SMD LGA16 QFN16 to DIP16 Adapter PCB Board

https://www.ebay.com/itm/5pcs-Doubl...pter-PCB-Board-Converter-NEW-F44/171243588331
 
Not bad. I have to use a 16-bit ADC with the analog ADXL377 to get these kind of specs. Costs me $40 to run that setup, and it looks like the noise at 1000Hz is even better.

The zero-g level is pretty rough for this chip. My solution is to calibrate a more sensitive digital accelerometer, and then calibrate the the high-G accelerometer to that chip. Took about a month for me to get that bit of code working well.
 
Remember when calibrating the sensor you can take a time-averaged reading to get sub-bit resolution. Accuracy improves to the square root of the number of readings. Take 100 readings and average over time and you have improved the noise by a factor of 10. The more time you have for the cal, the better the accuracy of the result. This assumes minimal drift once calibrated, of course.
 
Remember when calibrating the sensor you can take a time-averaged reading to get sub-bit resolution. Accuracy improves to the square root of the number of readings. Take 100 readings and average over time and you have improved the noise by a factor of 10. The more time you have for the cal, the better the accuracy of the result. This assumes minimal drift once calibrated, of course.

Excellent point. Right now I take 30 samples over 30 seconds. It works well, but I have noticed some variability between successive calibrations. I'll move it up to 300 samples and see what happens.

I also just re-read the datasheet for this sensor again. Not only is the zero-G pretty rough, but so is the resolution. At the most precise setting, its only 49 mG/LSB or 20 steps per G. For comparison, a 24-G capable LSM303 gets 12 mG/LSB (83 steps per G) and an ADXL377 - ADS1115 combo gets 9 mG/LSB (111 steps per G).
 
Remember when calibrating the sensor you can take a time-averaged reading to get sub-bit resolution. Accuracy improves to the square root of the number of readings. Take 100 readings and average over time and you have improved the noise by a factor of 10. The more time you have for the cal, the better the accuracy of the result. This assumes minimal drift once calibrated, of course.

The sqrt improvement in noise assumes a gaussian random noise distribution and no drift in the actual signal over the averaging period. If there are other types of non-random noise sources (common in ADC's) or the sensor has drift (from clock or voltage reference, or temperature, etc), then there's a limit to the improvement from averaging. Look up "Allan Variance".

Also wanted to mention: that Sparkfun board is not ready for a 100g+ environment. ;-) Considering potting it in epoxy. Also, careful how you mount it because you'll add damping and/oscillations from the fasteners, standoffs, washers, mounting brackets, board material, etc.
 
I also just re-read the datasheet for this sensor again. Not only is the zero-G pretty rough, but so is the resolution. At the most precise setting, its only 49 mG/LSB or 20 steps per G. For comparison, a 24-G capable LSM303 gets 12 mG/LSB (83 steps per G) and an ADXL377 - ADS1115 combo gets 9 mG/LSB (111 steps per G).

The AltAcc2 used an 8 bit ADC and ADXL50 and still manages to do a good job controlling deployment.
 
Mechanically its a 400g accelerometer with all the associated tradeoffs you will get by applying it for a smaller range.

I guess it would be a useful device for measuring av-bay ballistic impact forces into the playa.
 
The sqrt improvement in noise assumes a gaussian random noise distribution and no drift in the actual signal over the averaging period. If there are other types of non-random noise sources (common in ADC's) or the sensor has drift (from clock or voltage reference, or temperature, etc), then there's a limit to the improvement from averaging. Look up "Allan Variance".

Also wanted to mention: that Sparkfun board is not ready for a 100g+ environment. ;-) Considering potting it in epoxy. Also, careful how you mount it because you'll add damping and/oscillations from the fasteners, standoffs, washers, mounting brackets, board material, etc.

I did mention drift (implying that calibration was shorter than use too), and yes, Gaussian was a given. Most signal acquisition systems are unless someone hasn't designed them with sufficient headroom and they get clipping. Or if they have a non-linear signal processing chain for that matter.
 
I did mention drift (implying that calibration was shorter than use too), and yes, Gaussian was a given. Most signal acquisition systems are unless someone hasn't designed them with sufficient headroom and they get clipping. Or if they have a non-linear signal processing chain for that matter.

Clipping is a special case which is not really noise. Beyond that, most data acquisition systems have noise that is non-gaussian. Standard semiconductor noise, thermal noise, etc, are gaussian. But quantitizing circuits introduce noise sources that: depend on sample clock jitter, poor board layout, the input signal level, the harmonic nature of the sample frequency vs input signal frequency, and the level of noise present in the input signal itself. Much of this doesn't make sense until you've had to delve into it deeper. For example, you can improve the resolution and spurious non-gaussian noise of an ADC by *adding* gaussian noise to your input signal, about 1/2 LSB worth, or more if you can afford the extra time to average.

In any event, there aren't many good applications for those high-g accelerometers in rocketry.
 
Finally they went down in price, the ADXL377 on a breakout board is something like $25.
I worked with the ADXL78 that I soldered on a breakout board together with a cheap ADC ~ $12 to my ATmega328 or Nano, hard to calibrate though.
I also got good results with the MMA2204KEG on a cheap breakout board ~ $10. If only the MPU6050 had at least 32G it would be great.

-John
 
Back
Top