HX711 library and mV/V values

Hi, I am using the HX711 with the HX711_library for a project.

I am using a load cell which has been calibrated for giving torque given a mV/V value.

Is there some way to get the HX711 readings converted in mV/V (from the library API or manually)? The data I am currently getting with the getData() function is in the 7,900,000 range..

Thanks!

Calibration. The most basic approach would be to apply two different known torques, note the two raw reads, and linearly interpolate (or extrapolate) between the two values.

PS: you could get in the ballpark with math alone if the load cell has a data sheet that gives its sensitivity (a single value which is expressed as the output at full scale in mV divided by excitation voltage) and the HX711 gain you've selected (typical default is 128).

DaveEvans:
Calibration. The most basic approach would be to apply two different known torques, note the two raw reads, and linearly interpolate (or extrapolate) between the two values.

PS: you could get in the ballpark with math alone if the load cell has a data sheet that gives its sensitivity (a single value which is expressed as the output at full scale in mV divided by excitation voltage) and the HX711 gain you've selected (typical default is 128).

I don't see why I would need to calibrate the system. The load cell has already been calibrated and we know exactly how much torque is applied for a given mV reading per excitation voltage (mV/V).

I am sure there is a way to tell what the raw data means with the HX711_ADC library.. This is what I am looking for. The units must be some way or another linked to the differential voltage between A+ and A-, no?

Thank you for your help.

So, what IS the load cell's mV/V spec, excitation V and max load?

JCSB:
I don't see why I would need to calibrate the system.

Three things seem important.

  1. Excitation voltage of a HX711 board, which is about 4.3volt.
  2. Default gain, which is about 128.
  3. 24-bit A/D
    Combine those in a formula, and you're about right.
    Leo..

JCSB:
I don't see why I would need to calibrate the system.

See the part about system calibration. https://www.futek.com/load-cell-calibration-services

A force measurement system usually encompasses the force sensor, instrument or signal conditioner (amplifier electronics), cabling, and connectors. Full system calibration ensures that the whole system is performing accurately as expected.

Wawa:
Three things seem important.

  1. Excitation voltage of a HX711 board, which is about 4.3volt.
  2. Default gain, which is about 128.
  3. 24-bit A/D
    Combine those in a formula, and you're about right.

The excitation voltage comes out in the wash. But also need the sensitivity, so it's still three things. And without calibration, "about right" is right. However, "about right" may be good enough for the OP's (unstated) purposes.

JCA34F:
So, what IS the load cell's mV/V spec, excitation V and max load?

The excitation V is 4.3V. attached the load cell's spec! I am unsure about max load?

DaveEvans:
See the part about system calibration. https://www.futek.com/load-cell-calibration-services

The excitation voltage comes out in the wash. But also need the sensitivity, so it's still three things. And without calibration, "about right" is right. However, "about right" may be good enough for the OP's (unstated) purposes.

I have the curve we calculated for the loadcell, note that the torque reading is linear as it is a full bridge strain gauge. I didnt play with the gain yet. Do I simply divide by 128 to get the raw analog voltage value?? And how does it work if I call the tare function? The voltage readings aren't changing yet the ADC values become 0!

image.png

image.png

The load cell "spec" was not attached. Where is it?

How did you get the seven points on the graph? Did you apply those seven torques, read the load cell output voltage with a DMM, and then divide by the excitation voltage (also measured with your DMM)? And then plot and use EXCEL to fit a linear "trendline" through the points?

What is the maximum torque you applied and the associated "mV/V"? Is that the maximum torque you expect to encounter?

What is your raw read from the HX711 with no torque?

What is the raw read with 130 Nm?

Your first post said you were getting a raw reading of 7,900,000. What torque were you applying to get that reading?

DaveEvans:
The load cell "spec" was not attached. Where is it?

I meant the graph. My bad! The load cell is bracket is custom shaped so there is no documentation (yet)

DaveEvans:
How did you get the seven points on the graph? Did you apply those seven torques, read the load cell output voltage with a DMM, and then divide by the excitation voltage (also measured with your DMM)? And then plot and use EXCEL to fit a linear "trendline" through the points?

What is the maximum torque you applied and the associated "mV/V"? Is that the maximum torque you expect to encounter?

the calibration was done in a compression machine where loads were applied on the leg of the L-shaped load cell which has the strain gauges. The torques were predetermined since we have the distance from the applied force to the strain gauge. The max 140 Nm was used since this is theoretically the max torque encountered in our application. With the calibration curve however we should still be able to accurately measure higher torques. So no the max torque of the load cell is not 140Nm.

The curve was made in excel from the average values read by the lab who did the calibration.

DaveEvans:
What is your raw read from the HX711 with no torque?

What is the raw read with 130 Nm?

Your first post said you were getting a raw reading of 7,900,000. What torque were you applying to get that reading?

If I do not use HX711_ADC.tare(), I get around 8,000,000 without any torque (or any other force) applied. the 7.9M was at rest.

I do not own any good instrumentation to measure torque, I could estimate with a volume of water at a x distance, but it wouldnt be that precise...

I really thought it would have been easy to tell how these values translate into a voltage reading, a bit like any ADC.

It is easy, but easy is relative...

With 128 gain and 4.3v excitation, the HX711 maps -16.8 mV to +16.8 mV (approximately) on a raw read range from 0 to 16,777,215 (<-- that's 2^24 minus 1). The 16.8 mV is from 0.5 x 4.3v / 128...that is, half of the excitation voltage divided by the gain.

(If the excitation voltage was 5v...it's not...this is just hypothetical...then the input range by that formula would be +/-19.5mV, close to the datasheet's 20mV. You did read the datasheet, right?)

Zero differential voltage should yield a raw read of approximately half of that maximum, or 8,388,607...close to but not quite equal to your no load 7.9M and 8.0M. Hence one of the needs to calibrate your system.

BTW, your 140 Nm is close to exceeding the maximum allowable differential voltage at 128 gain. If you apply a higher torque, one that results in an input larger than 16.8 mV (pos or neg), you will "saturate" the ADC and get unusable results. If you really need to measure higher torques (why don't you know...or can't you estimate...what the maximum torque is going to be?), you could use one of the HX711's two lower gains.

BTW #2: the zero crossing 0.05 Nm in your graph is probably going to be in the noise of your results. If full range is, say, 150 Nm, then 0.05 Nm is one part in 3,000. I doubt this is going to be a precision instrument. I'd keep it simple and neglect the 0.05 Nm.