Fast amplifier and ADC for strain gauge measurement

Dear all,

I would like to take measurements on up to 12 strain gauges in a quarter bridge set-up. My problem is that the measurement would have to be comparatively quick, because the sample is excited at up to 130 Hz.

I would like to measure the strain of all 12 strain gauges simultaneously with at least 1 kHz. Ideally I would get some live representation on my laptop, like on an oscilloscope with automated triggering, using e.g. pyserial + matplotlib. If unavoidable I could also live with at least two (better four or six) strain gauges being read at that frequency a time ;). For the rest the mean value over a longer period would then be sufficient.

Do you think that can in principle be done with an arduino?

From previous posts I understand that the most common way to read strain gauges is using a dedicated amplifier in front of the arduino analogue input. In particular the INA125P with a resistor to adjust the gain to reach a 0 to 5 V output seems to be common.
This chip also delivers a stabilized reference voltage to supply the bridge, yet I am having troubles figuring out the usable frequency range. Also I am running into troubles with the 6 analogue inputs to the Atmega.

To me it seems reasonable to use amplifiers with an integrated ADC and a higher resolution, transferring the data via SPI or I2C through the arduino to my PC (Recently I heard about the beaglebone black, might that or something else be more suitable than an arduino?).

For measurements at 10 or 80 samples per second several Chips, such as the AVIA HX711, seem to be available specifically designed for bridge measurements.
These ICs seem to be designed to dampen the 50/60 Hz noise from the supply. Some of them also have the charm that it would be possible to cover several strain gauges with a single chip.

At higher frequencies this seems to be also possible with the AD7195, the MCP3208, the MCP3208 or the ADS1120, however I suspect I will face some troubles reading those with an arduino? Also I would have to spend more effort on getting a stable power supply.

Is such a measurement possible with an arduino? How would you realize the amplifier and ADC, especially for measuring at up to 1 kHz?
How would you proceed with the selection of suitable amplifiers?
Are there any similar prior projects available to the community which I didn't find?

My prior exposure to python is mostly limited to scripts for the generation of input files for finite element simulations, though you have to start learning at some point, I guess...

As I have just finished my studies (mechanical engineering, you guessed it) using some more expensive chips would be OK.
I would appreciate any help with this project...

Kind regards,

Many questions, many solutions :wink:

If 6 channels of 10 bit are sufficient, the the built-in ADC can provide more than 1k raw samples of every channel. Multiple samples may be required for better mux settling.

External ADC range from lame 24 bit to super fast 8 bit converters - choose what you like. Strain gauges require one differential amplifier each, best combined with an ADC and digital interface (no mux); in this case choose an interface that allows for the intended number of independent channels - I2C modules may imply limits on the number of concurrently usable modules (bus addresses).