Strain Value from ADC - HX711 on a strip of steel

I have 2 BFH35-3AA strain gauge. I have 2 quarter bridge, Img config attached. Connected to 2 separate HX711s, connect to digital pins of my Arduino. 5V of arduino supplied to HX711.

I have a fixed ended beam and I have installed the two sensors on either side of the mid point. A weight hangs from the midpoint. I know the weight and the strain value at the place where the strain gauge is stuck on.

I have been able to write a code to get the rawreading from the arduino on my serial monitor, however i am unable to convert these values to compare with my strain values.

Images for reference below



#include "HX711.h"


const int LOADCELL_DOUT_PIN_1 = 2;
const int LOADCELL_SCK_PIN_1 = 3;
const int LOADCELL_DOUT_PIN_2 = 4;
const int LOADCELL_SCK_PIN_2 = 5;

const int BUTTON_PIN = 7; 

HX711 scale1;
HX711 scale2;


int lastButtonState = HIGH; 

// The averaging parameters - tested number of samples with timestamps - 54 is slightly higher than 5 seconds
const int NUM_SAMPLES = 54; 

long getRawReading(HX711 &scale); 
int x = 0;


void setup() {
  Serial.begin(57600);
  
  // Initialize the scales
  scale1.begin(LOADCELL_DOUT_PIN_1, LOADCELL_SCK_PIN_1);
  scale2.begin(LOADCELL_DOUT_PIN_2, LOADCELL_SCK_PIN_2);
  
  // Initialize the button pin
  pinMode(BUTTON_PIN, INPUT_PULLUP);

  // CSV header - only once at the beginning.
  // This will be the first line in text/CSV file.
  Serial.println("Reading_Scale1,Reading_Scale2");
}

void loop() {

  
  
  int currentButtonState = digitalRead(BUTTON_PIN);

  if (lastButtonState == HIGH && currentButtonState == LOW) {
    if (x<=1) {
    Serial.println("Reading_Scale1,Reading_Scale2");
    x++;
    }
 
    long reading1 = getRawReading(scale1);
    long reading2 = getRawReading(scale2);
    
 
    Serial.print(reading1);
    Serial.print(",");
    Serial.println(reading2); 
    
    delay(50); 
  }

  
  lastButtonState = currentButtonState;
}

long getRawReading(HX711 &scale) { 
  if (scale.is_ready()) {
    
    return scale.read_average(NUM_SAMPLES); 
  } else {
    
    return 0;
  }
}

Why two HX711s?

Are the fixed resistors 0.1% precision?

What is your theory about how this setup should work?

  1. Two hx711s for two different strain gauges, both having quarter bridge configuration.
  2. No they are not, but manually measured and matched, eg, 329.3 with 329.3.
  3. I want to be able to measure the strain on the strip when loaded to validate my analysis theory. So i have chosen an easy setup so that I can say that i can reliably measure strain on a strip with this method of analysis.

It appears to me that your undisclosed theory is either incorrect, or not implemented correctly. But without precise circuit details, that is only a guess.

There are several major disadvantages to using a quarter bridge sensor.

Yes i understand the disadvantages.

My undisclosed theory lead me to the column named simulated strain.

My current issue is to learn to convert the two measured columns to strain values, so that i can check if they match with the simulated strain values.

If you revise your setup to one of those shown in this link, you can calculate the strain using the associated formula.

But since you probably have cheap gages, which didn't come with their own factory-determined k value on the package of each one, you're probably better off just calibrating your output using strains from basic mechanics of materials methods.

Thank you, this helps me move a little bit further, but im still confused which values to equate to the raw Readings from the ADC, is it Vo/Vs.

What is this values im reading?

My setup is exactly like the quarter bridge.

With the HX711 all you can measure is Vo, Vs is unknown.
You would need a seond ADC to measure Vs

Wait, the HX711 has a second input (B) so you could measure the voltage at the point between the two fixed resisors which would be Vs/2

Thank you.
Yes it does have B terminals currently not in use, i can measure Vs.
How do i convert the values i read to Vo?

The raw reading is equal to Vo/Vs times a constant, so there is no need to measure Vo or Vs. Why don’t you try to figure what the constant is? Hint: it includes these numbers: 128 and 2^24