ESP-32 Wheatstone Bridge Load Cell

by el_diablo19 in Circuits > Arduino

131 Views, 1 Favorites, 0 Comments

ESP-32 Wheatstone Bridge Load Cell

IMG_4315.jpeg

The purpose of this strain gauge project is to create a functioning load cell that is capable of measuring precise changes in loading. Some common applications of using load cells can be: kitchen scales, and failure detection on applications with varying stress/strain.

The following setup utilized an esp32 along with several strain gauges in a whetstone bridge configuration to accomplish this.

Supplies

Breadboard x 1

Various Jumper Wires

ESP32 x 1

HX711 x 1

Strain Gauges x 2

350 Ohm Resistor x 2

Soldering Equipment/Heat Shrink

Substrate for Measurements

Extend Leads on Strain Gauges

Image.jpeg

Because the leads on the given strain gauges are small and short in length, it is desired to extend these to be better suited for breadboard applications. Solder one jumper wire on each lead and cover with heat shrink to avoid a short circuit or loss in continuity. We need to have at 2 or 4 gauges depending on if you would like to have a full bridge configuration (better sensitivity) or a half-bridge configuration (easier setup).

*The soldering iron is hot*

Attach Gauges to Substrate

View recent photos.jpeg

Now it's time to attach the gauges to your selected substrate. For this demonstration, we are going to use a small piece of metal roofing material as shown in the main project image. For the half-bridge configuration, we need to attach the gauges with one in tension and the other in compression. If a full-bridge is desired, place two in each direction.

Wiring the Breadboard

IMG_4317.jpeg
Image 1.jpeg
Screenshot 2024-10-16 at 9.44.25 AM.png

Following the wiring configuration shown above, attach the gauges to your breadboard with Ra and R2 being your strain gauges and R1 and Rx being your two resistors.

Configure Code and Test

Using the attached code, you will be able to use this configuration to detect small changes in deflection on your substrate in terms of "counts". You will need to note the starting value of these counts before applying a load of known value. Following applying this load, find the slope of counts to known weight. Using this slope you will be able to measure unknown loads with relatively high precision. Note: in the code we have commented out several lines to allow for the continuous reading of measurements. For less data, apply a delay in the loop using the delay command. You will also need to set the code to match the pins on your esp32 representing data and clock. In this case we chose pins 18 and 19 respectively.