Programmable gain amplifier to amplify load cell signal with Teensy

I am building a datalogging device using a Teensy 4.1 and the Texas instruments ADS131M08 external ADC.

This is the datasheet for the ADC:
ADS131M08 8-Channel, Simultaneously-Sampling, 24-Bit, Delta-Sigma ADC datasheet (Rev. B) (ti.com)

This is the datasheet for the load cell:

SM-S-Type.pdf (interfaceforce.com)

The datasheet for the load cell states the rated output as 3mV/V. This is what the datasheet says about the PGA.

How can I know if the gain amplification of my ADC is enough to amplify the load cell signal to be read by the Teensy 4.1?

Load cells are usually specified as xx mv/volt at full scale. So take a best guess at what load you will be measuring and go from there.

i.e.
For a 50N load cell a number like 3mv/v is typical.
If you load cell supply is 5 V then the output voltage at 50N = 0.003*5=0.015v
Or 300µV/N

At 1/2 scale the output is 150µVolts at the max gain of 128 then the output will be 19.2 mV (at 1/2 scale)

your A/D is 24 bits and your A/D reference is 1.25V so "IN THEORY" each bit is....

1.25/ 2^24 = 1.25/ 16777216 = a very small number.

All this is well and good, with a well designed board/ system you will be lucky to read to 18 bits, maybe 20. In the real world

So you might be able to get 1.25/2^18 = 1.25/262,144 = 5µV / bit (maybe).

1 Like

This question doesn't seem to make any sense, because the ADS131M08 uses an SPI-compatible interface to tell the Teensy the results. That is, the Teensy isn't reading an analog signal from the ADC, so the gain has no bearing on whether the signal can be read or not. Of course, the gain does have a significant effect on other things, and post #2 is a good intro to that subject.

I think I might be misunderstanding how this works.

So my load cell output is 3mv/V. I want my load cell output to range from 0 to 3.3V to be compatible with the Teensy. My load cell has an excitation voltage of 10V.

To calculate the gain for my amplifier, its voltage output/ voltage input. If my load cell output is 3mV/V, multiply that by the excitation voltage to get 30mV as the load cell full scale output. If the full scale output voltage I desire is 3.3V, then the input to my amplifier is 30mV and the output is 3.3V, so gain = 3.3V/30mV = 3.3V/0.03V = 110. So I need a gain of 110 to bring my load cell output into the teensy range.

Is this the value that you mean does not matter for whether my signal can be interpreted by the Teensy? Then how do I amplify my load cell signal or do I need to?

The load cell is not compatible with the Teensy. The ADC is the interface, and is compatible with the Teensy, as it uses digital I/O.

You would probably be better off using the HX711 interface than that ADC. There are plenty of tutorials and libraries on line.

I can't use the HX711 for my application. The sampling rate is less than 100 Hz, my ADC samples at 32kHz while my load cell has a frequency response of around 1kHz. I want to at least sample my load cell at its frequency response, the high sampling rate I need for my ADC is because my load cell will not be the only I/O in my system. The ADC I've chosen can sample 8 channels simultaneously. I just need to figure out if my ADC's built in PGA can amplify my load cell output so I can read it through serial on my Teensy or store the data to the SD card.

See post #2, and digest that information carefully.

This doesn't seem to make sense, either.

The load cell frequency response is the ability of the load cell to accurately respond to dynamic load changes.

Your sampling rate should be selected based on how fast your load changes, not on the cell frequency response.

Is that the excitation voltage you are using, or is it just the max recommended by the manufacturer?

What I believed was that every sensor had a frequency response. This would be the bottleneck. So if I sampled at a 32kHz sampling rate but my sensor only had a 1kHz frequency response, I would only be getting 1000 samples per second from the sensor, even if my ADC sampling rate was 32kHz. If I had a sensor with a 200kHz frequency response, I can only utilize 16kHz so I could only get 16000 samples per second to avoid aliasing and something to do with Nyquist frequency. I chose an ADC with a 32kHz sampling rate because I believed that for my system any sensor or peripheral I would add in the future, I would only need to get a maximum of 16000 samples per second from it.

This is the recommended excitation voltage from the manufacturer to adhere to their calibration. The max allowable is 15V.

True, but that has nothing to do with the sample rate. "Frequency response" is not a brick wall, it is simply the frequency where the sensor response has been reduced by a certain agreed-upon amount.

So if I sampled at a 32kHz sampling rate but my sensor only had a 1kHz frequency response, I would only be getting 1000 samples per second from the sensor, even if my ADC sampling rate was 32kHz.

Not true. If the sensor permits you to sample at 32000 samples per second, most of the 32K samples would not add any additional information.

You do need to sample at at least 2x the maximum frequency of interest (look up the Nyquist Limit). A general rule of thumb is to sample at 10x the "sensor frequency response".

Why not explain what you actually plan to measure, rather than detail all your misconceptions?

1 Like

If you use a 10v excitation voltage, what will be the approximate voltage at the inputs to your ADC, and how does that value compare to the absolute maximum analog input voltage and recommended absolute analog input input voltages?

image

No. The load cell has a 1kHz natural frequency. Which means it "rings" at 1kHz. In general you want to be an order of magnitude below this frequency.

This will be my last response

You seem to be looking to make the data acquisition as fast and as "accurate" as possible.

You clearly have not been able to think this through. Your limitation will be the mechanics of moving the loadcell (or target). I'm not familiar with a paint ball trigger but assuming it is similar to the trigger on a firearm, you will have to:

  1. Anchor the paint gun to not move when testing the trigger. Any flex or distortion during the test will invalidate your results. Any flexing relative to your pot will invalidate your data.

  2. Move the loadcell quickly against the trigger. AND stop it before the trigger reaches a hard stop. Ideally this needs to be very repeatable else you will not be able to analyze the data from different runs or different guns.

You mentioned you have made a 3D prototype of your test rig. Well if your prototype is plastic then it will not provide the stiffness required to provide repeatable results.

How do I know this.... been there done that.

The above is complete nonsense.

I had not looked at the load cell data sheet, and did not realize that you have confused "natural frequency" and "frequency response".

Good luck with your project.

Here's the post where I explain the details of what I am trying to achieve:
Data Logging a paintball trigger movement with an external ADC - Using Arduino / Project Guidance - Arduino Forum

Blockquote Not true. If the sensor permits you to sample at 32000 samples per second, most of the 32K samples would not add any additional information.

I'm trying to understand what this means. When you say would not add any additional information, is this because the sensor can not change as quickly in response to changes in load, so I would be getting the same load value for a few samples, without it changing?

Not true. If the sensor permits you to sample at 32000 samples per second, most of the 32K samples would not add any additional information.

I don't think I understand this but it sounds important. At a 10V excitation voltage, my output of my load cell would be around 30mV since the bridge resistance is around 350 ohms. So the analog input voltage falls between the -1.6V and 0.3V range I think. Unless I am totally misunderstanding the point you are trying to make.

I've looked into this more and I think I have an understanding of the differences. The natural frequency response I don't think is of concern to me if I am able to properly mitigate vibration and resonance with my mechanical test rig, which I plan to machine out of steel or aluminum. For the frequency response, because the load is not changing rapidly as the linear actuator that pushes against the load cell moves slow, my system is more quasistatic than dynamic, so I am able to sample at 32 kHz without being concerned about the frequency response. Please correct me if I'm wrong.

I said I wouldn't respond again... but
The A/D power voltage is nominally 3 or 3.3, with a max of 3.9v
The analog input is limited to something less than the input power voltage. The AVDD+0.3 is to limit damage).

If your load sensor (basically a resistor bridge) is powered by 10V, the output pins will be 5V and the range you quoted is the DIFFERENCE between the two voltages.

So had you connected these two together with the load cell powered with 10V then you would likely damaged the A/D.

I suggest you get an ADX131M08 on a board, connect it to your Teensy and start testing reading different voltages. Start with a resistor divider of 350 - 350 ohms (or a resistance bridge made from 4 x 350 ohm resistors. and see what you can read and at what point the noise overcomes the input voltage.

I believe you have chosen an avenue that is well beyond your experience level. Data sheets do not give one a recipe for a design but it tries to describe the part to an experienced designer. This is why they sell demo boards. Without using the part, test what it can and cannot do, you CANNOT design a successful product. Its great you have an interesting and cool idea, but you must crawl before you walk and walk before you run.

Perhaps in another 10 to 20 years CAD will advance to the point you could do a "paper" design, but not today.

See post #19 for my point about the problem with using 10v excitation. And not only would the input voltage exceed the absolute maximum, it would also be even farther above the recommended value.

Regarding this...

...so your sample rate probably doesn't need to be anywhere near 32k sps. In fact, it seems the inexpensive and easy-to-use HX711 with its 80 or 100 sps may be enough.

1 Like