Strain Gauge Amplification Circuit
Clarus Goldsmith, June 2024
Last updated
Clarus Goldsmith, June 2024
Last updated
This page will go into how to design a strain gauge amplification circuit that can be balanced in software using a digital potentiometer, using the circuit found here as an example.
<Purpose of wheatstone bridge goes here>
The digipot allows us to balance the Wheatstone bridge in software on data collection startup instead of manually turning a potentiometer. Particularly useful when you have a ton of temperature and humidity sensitive sensors (i.e., the strain gauges) you want to read from across multiple days.
The circuit schematic for the Wheatstone bridge with a digipot included is below. By adjusting the wiper, we adjust the resistance difference between the two arms.
The equation to balance this Wheatstone bridge is:
Thus:
Thus, the balanced Wheatstone bridge for our example circuit is:
The instrumentation amp takes the signal from the Wheatstone and amplifies it by a gain value set using a gain resistor put between two of the ports.
In the past we have wanted a gain of around 254. The instrumentation amplifier manual will include an equation for calculating the resistor value for a chosen gain. The example circuit uses the INA821D instrumentation amp, which has the gain equation:
Plugging in our chosen value:
The instrumentation amp has two input pins: +IN and -IN. Which arm of the Wheatstone bridge connects to which pin matters. You'll notice that I marked the outputs of the Wheatstone accordingly in the above figures. From my experience:
The arm including the digipot needs to go into +IN
The arm including the strain gauge needs to go into -IN
Otherwise, you'll just get noise coming out of the circuit. If your design ends up being substantially different than this example, I would build the circuit on a breadboard first to double check the inputs to the instrumentation amp are oriented correctly.
The digipot is controlled using the I2C bus, so will need to be connected to pins D24 and D25 on the OpenCM. Because I2C relies on pulling voltage down to communicate, we need to supply voltage to these connections before they get into the digipot. As covered in the I2C communication page, a 2kΩ resistor is sufficient for standard I2C speed. Thus, we'll connect a pair of 2kΩ resistors between power and connections from pins D24 and D25.
For our example circuit, the grid resistance of a MMF402103 strain gauge is 350Ω, so R4 = 350Ω. 350Ω resistors are weirdly expensive, so we'll instead use a 352Ω resistor for R2. As is approximately 1, our equation becomes:
The digipot we'll use for our example is the MCP4531T, which has a total resistance of 5kΩ. At startup, the digipot wiper will be at its halfway point, so = = 2.5kΩ. Thus, we want to balance the bridge when the strain gauge is un-strained.
We also want the resistance of one tap of the digipot, , to be approximately 0.1% of the total resistance of the arm to give us enough fine enough precision when adjusting the digipot. From the manual of the digipot:
When I tested this circuit, we readily had 15kΩ resistors in the lab. Setting results in 39Ω being 0.11% of the total arm resistance, which is close enough I ended up using 15kΩ resistors for R1 and R3.
So an 196Ω resistor should be placed between the two pins of the instrumentation amp to get the desired gain.