Need recommendations for sensitive accelerometer

The Rocketry Forum

Help Support The Rocketry Forum:

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

shockie

High Plains Rocketeer
Joined
Jun 2, 2009
Messages
1,197
Reaction score
628
Location
My Old Kentucky Home
I need to measure very small acceleration in a few hundredths of a second.

So I was thinking perhaps an accelerometer would be able to detect such.

Is there such an accelerometer that has the required sensitivity plus a super fast response rate?
 
I would be willing to bet there are some modules available, but I suspect the cost might be a bit frightful. We used some years ago on vehicle dynamics but they were a couple of grand. Mighr be somewhat cheaper these days if you are lucky.
 
Lets see if I can get good engineering specs out of your post.

few hundreds of a second = 10 to 60 msec per sample... (16 to 100sps)
required sensitivity = ??? 1/10 G? 1/100G?

There are a number of pretty good accelerometer chips available. I like the ones on Breakout boards from Adafruit.
https://www.adafruit.com/category/521These boards take the hard part out(designing and building a PCB) and allow you to get the sensor up and running quickly. They also have code to support these. It usually takes me less than an hour from opening the box to have data.

Also very good to find out what you really need as far as specs since they are pretty low cost.
The common ones have a 2,8,16G full scale range and sampling into the kHz sampling speeds.

So what exactly is the required specs?
 
Last edited:
Lets see if I can get good engineering specs out of your post.

few hundreds of a second = 10 to 60 msec per sample... (16 to 100sps)
required sensitivity = ??? 1/10 G? 1/100G?

There are a number of pretty good accelerometer chips available. I like the ones on Breakout boards from Adafruit.
https://www.adafruit.com/category/521These boards take the hard part out(designing and building a PCB) and allow you to get the sensor up and running quickly. They also have code to support these. It usually takes me less than an hour from opening the box to have data.

Also very good to find out what you really need as far as specs since they are pretty low cost.
The common ones have a 2,8,16G full scale range and sampling into the kHz sampling speeds.

So what exactly is the required specs?
Let's say 1/10th of a g and 10msec as a start ?
 
Be aware the data out of such sensors is quite noisy. So you'll want good mathematical filtering on the data. Especially if you integrate it over any long time, the integration just accumulates errors and is useless.
 
Be aware the data out of such sensors is quite noisy. So you'll want good mathematical filtering on the data. Especially if you integrate it over any long time, the integration just accumulates errors and is useless.
I have found just the opposite...Integration smooths the data (like averaging) and get very good Velocity and distance from integrated Accelerometer data. It is differentaiting data the increases noise to unuseable valuse if not carefullt filter both before and after differentiating. Example is using Baro Altitude data to derive Velocity.

However, Offset and Gain errors in the accel data cause much bigger problems. Carefully calibrating both offset and gain reduces these errors to usable values.
 
Let's say 1/10th of a g and 10msec as a start ?
Most of the Accels from Adafruit can be sampled at more than 100sps through I2C.
Adafruit has the Data sheet available. Make a list then go through all the data sheets to pick one or two to try.

A little math:
If Accel is 2G FS and has 14 bits. Then full scale count is 8191.
This is 62uG per bit (count). 0.1G would be 409 counts or 1/20 full scale (4096 counts at 1G).
Is this good enough?

I don't know of any low cost Accel with less than 2G FS. One reason is when I is not in motion it will measure the acceleration due to Earth's Gravity of 1G in the Down direction.
 
Most of the Accels from Adafruit can be sampled at more than 100sps through I2C.
Adafruit has the Data sheet available. Make a list then go through all the data sheets to pick one or two to try.

A little math:
If Accel is 2G FS and has 14 bits. Then full scale count is 8191.
This is 62uG per bit (count). 0.1G would be 409 counts or 1/20 full scale (4096 counts at 1G).
Is this good enough?

I don't know of any low cost Accel with less than 2G FS. One reason is when I is not in motion it will measure the acceleration due to Earth's Gravity of 1G in the Down direction.
Walter I don't know. I need to measure acceleration in an about a 0.10 second period.
I've seen a accelerometers with specs like +-1g/6g. I gather it can measure g force in 1 g increments up to 6g.? Is that how you interpret that? Also says adjustable output frequency of 200 to 500 Hz. Is that the same as sps?
I am trying to measure thrust pulses or thrust oscillations in the 1st 0.10 sec on a piston launcher.
My idea is to use an acceptable accelerometer connected to an esp32 mcu and a2s lipo battery to make it as light as possible.
 
The first 0.1s of a piston launcher will not be a small acceleration right?
 
Typically the +-1g/6g is software selectable FS Rangewhen doing the setup. Thiese are the FUL SCALE, Maximun values read is this FS. Example from my post above:
+-2G FS. full scale count is 8191d or 0x1FFF in Hex.
1 count is 62uG, 2 counts is 124uGs,


Go to Adafruit's website I posted a link to and read. They have very good tutorials to get you up and running.

I use an Accel that has selectable 2g/8g/19g Full scale ranges. I also use and ES32 as the processor to read sensors then write to the Flash and download the data after the flight.

I'll bet you will need a full scale range of a least 8G's and maybe 16Gs like jderimig said..
It may take some experimenting to find the ACC range you need.

These Acc chips have inter filter and inter sample and convert (to ADC). This determines how often internally a new digital value is produced.
 
Last edited:
If you can sample the data more often the samples can be averaged to reduce the noise. The noise reduction factor is the square root of the number of samples averaged. So ten-times oversampling gives about a three times improvement in noise.
 
The first 0.1s of a piston launcher will not be a small acceleration right?
jderimig

I would refer you to a NARAM-56 R&D report titled "Optimizing Pistons for FAI" it shows a table where between 0 to 0.0583 sec, the velocity reaches 20.52 m/s. Putting those values into an online acceleration calculator gives 35.89g.
The table has different values at different times so acceleration could be calculated at each time increment.
should I do that to get an idea of the magnitude of acceleration between time points? would that be more instructive?


does that answer your question? so, yes the acceleration <0.10 sec is pretty high
 
jderimig

I would refer you to a NARAM-56 R&D report titled "Optimizing Pistons for FAI" it shows a table where between 0 to 0.0583 sec, the velocity reaches 20.52 m/s. Putting those values into an online acceleration calculator gives 35.89g.
The table has different values at different times so acceleration could be calculated at each time increment.
should I do that to get an idea of the magnitude of acceleration between time points? would that be more instructive?


does that answer your question? so, yes the acceleration <0.10 sec is pretty high
So you will need an accelerometer with a full range of probably at least 50g.
This one from ST will probably do the trick. It can be set to 100g full scale and at that setting will have a resolution of 49 mg. The noise density and that setting is pretty decent but it can benefit from filtering. It can run up to 1000hz but running lower will take advantage of low pass filters that are built in to prevent aliasing with the sample rate.
 
So you will need an accelerometer with a full range of probably at least 50g.
This one from ST will probably do the trick. It can be set to 100g full scale and at that setting will have a resolution of 49 mg. The noise density and that setting is pretty decent but it can benefit from filtering. It can run up to 1000hz but running lower will take advantage of low pass filters that are built in to prevent aliasing with the sample rate.
Jderimig;
That link is broken. Can you repost the link? And much thanks.
 
jderimig

I would refer you to a NARAM-56 R&D report titled "Optimizing Pistons for FAI" it shows a table where between 0 to 0.0583 sec, the velocity reaches 20.52 m/s. Putting those values into an online acceleration calculator gives 35.89g.
The table has different values at different times so acceleration could be calculated at each time increment.
should I do that to get an idea of the magnitude of acceleration between time points? would that be more instructive?


does that answer your question? so, yes the acceleration <0.10 sec is pretty high
Excellent research on what is needed. Wow, 36G acceleration.
That would need a high G accelerometer.

Here is a 200G acc break out board.
https://www.adafruit.com/product/5374
This one will get you 49mG per bit out of 14bit data. It has read rates up to 400Hz over SPI.
https://www.analog.com/media/en/technical-documentation/data-sheets/ADXL375.PDFAnd being that Adafruit sells this there are Code library for this chip usable in the Arduino IDE. This makes writing code quick and easy.
 
All of those high-G accel chips are leadless and require reflow soldering... the ADXL375 is .8 mm pitch, the others are all .5 mm pitch. If you're just doing proto work with it, get a breakout board. For production, be prepared to get familiar with pick and place... we got a machine just to mount the ADXL375 and one 8-pin SSOP chip on the new version of the Proton.
 
I have a project coming up using the H3LIS331 at 1000Hz, so I assembled a simple bench test with some code for 100 G's to see what issues I will face. The most obvious issue I see with the H3LIS331 is its noise level. I need to test the ADXL375 for noise.
 

Attachments

  • H3 at 1000Hz.png
    H3 at 1000Hz.png
    59.4 KB · Views: 0
I have a project coming up using the H3LIS331 at 1000Hz, so I assembled a simple bench test with some code for 100 G's to see what issues I will face. The most obvious issue I see with the H3LIS331 is its noise level. I need to test the ADXL375 for noise.

What are units of that data?
What is the sampling freq?
Are you certain that is noise?
EMA filter is your friend.

You should see datasheet noise performance from the eval board mounted to a granite block.
 
Last edited:
What are units of that data?
What is the sampling freq?
Are you certain that is noise?
EMA filter is your friend.

You should see datasheet noise performance from the eval board mounted to a granite block.
The first column is Time in microseconds, the second column is g's. The code was set to sample every 1000 microseconds, the actual time was ~1100 microseconds. I need to make adjustments for library calls. The mean data rate is ~900.

During a 24 second data capture sitting on my desk:
Average reading 1.62 g's
Maximum reading 3.81 g's
Minimum reading -0.68 g's
The accelerometer should be reading ~1.00 g's
Switching the ODR to 400Hz reduces the noise level.

This data was captured using a SAMD21 48MHz CPU. It was what was sitting on my desk last night.
 
The first column is Time in microseconds, the second column is g's. The code was set to sample every 1000 microseconds, the actual time was ~1100 microseconds. I need to make adjustments for library calls. The mean data rate is ~900.

During a 24 second data capture sitting on my desk:
Average reading 1.62 g's
Maximum reading 3.81 g's
Minimum reading -0.68 g's
The accelerometer should be reading ~1.00 g's
Your desk was in a room that was totally quiet devoid of any sound right? (Just because you don't see the board moving doesn't mean it wasn't accelerating)
Switching the ODR to 400Hz reduces the noise level

At 1khz ODR a low pass filter is applied at 500hz, at 400 ODR it will be about 200hz filter, unless you selected non-default filtering.

Accelerometers are noisy. If you want to measure 1000hz acceleration you need to sample at 5000hz or higher and digitally filter (FIR is the best) down to 1000hz. An ODR of 1000hz will be useful to measure 100 or 200 hz acceleration bandwidth.

If the acceleration is low you will be much better off with a 4.8.16.32g accelerometer.

Here is the histogram of your data, I am not sure that is Gaussian. Can't say it isn't though with the limited number of samples. Do determine if your variability is random or special cause you can collect about 1000 samples and plot the distribution. If its a nice normal curve then its noise, if not then you have special causes or it actually might be accelerating (vibrating).
1694099229129.png
 
Last edited:
Your desk was in a room that was totally quiet devoid of any sound right? (Just because you don't see the board moving doesn't mean it wasn't accelerating)


At 1khz ODR a low pass filter is applied at 500hz, at 400 ODR it will be about 200hz filter, unless you selected non-default filtering.

Accelerometers are noisy. If you want to measure 1000hz acceleration you need to sample at 5000hz or higher and digitally filter (FIR is the best) down to 1000hz. An ODR of 1000hz will be useful to measure 100 or 200 hz acceleration bandwidth.

If the acceleration is low you will be much better off with a 4.8.16.32g accelerometer.

Here is the histogram of your data, I am not sure that is Gaussian. Can't say it isn't though with the limited number of samples. Do determine if your variability is random or special cause you can collect about 1000 samples and plot the distribution. If its a nice normal curve then its noise, if not then you have special causes or it actually might be accelerating (vibrating).
View attachment 602763
shockie's original question (paraphrased) was; Is it possible to measure the acceleration of a piston launched rocket with sufficient resolution to measure the vehicle velocity during the first 100ms of the piston launch from an on-board measuring system?

The answer to shockie's multifaceted question is, Yes!!! A small, 1000Hz, 1 oz accelerometer recorder can be constructed from COTS components. The only question left is which accelerometer would be better for the application. I've presented data on the H3LIS331. The one I tested is a bit noisy at rest (histogram attached), but the others I've used in projects for the past 4 years did not exhibit this noise level.

Does someone on this thread have an ADXL375 they can test?

H3LIS331 Histogram.png
 
Back
Top