0
\$\begingroup\$

My load cell (and HX711) gives values like these (44~45 g is with an object put on top):

I (12955) rust_esp32_hx711: Weight: 0.027999999 g
I (13955) rust_esp32_hx711: Weight: -0.0924 g
I (14955) rust_esp32_hx711: Weight: -0.0756 g
I (15955) rust_esp32_hx711: Weight: -0.0056 g
I (16955) rust_esp32_hx711: Weight: 44.814 g
I (17955) rust_esp32_hx711: Weight: 44.8364 g
I (18955) rust_esp32_hx711: Weight: 44.786 g
I (19955) rust_esp32_hx711: Weight: 45.429996 g
I (20955) rust_esp32_hx711: Weight: 0 g
I (21955) rust_esp32_hx711: Weight: 0.0924 g

Is this normal for a 1 or 5 kg beam load cell? If so, what the usual way to solve this issue?

\$\endgroup\$
2
  • 2
    \$\begingroup\$ the load cell in the picture does not output kilogram values ... the software does that ... the load cell outputs a voltage or a resistance value, neither of which is a zero at any time ... you have to calibrate the zero weight point \$\endgroup\$
    – jsotola
    Commented Mar 7 at 16:31
  • \$\begingroup\$ @jsotola That value is after calibration as instructed here: github.com/DaneSlattery/hx711 \$\endgroup\$
    – wyc
    Commented Mar 8 at 0:22

1 Answer 1

4
\$\begingroup\$

There should be a specification in the load cell datasheet showing the permissible offset (perhaps as a % of full-scale) under some specified orientation and other conditions.

When you measure the voltage with no load it might be positive or negative, and you would normally measure that voltage (directly or after conversion to weight) and subtract it from the reading with the unknown weight applied, similarly to how you would subtract tare weight of an empty container to get the weight of the contents. The offset will vary with temperature, time and so on.

It's common for scales to have firmware to perform an auto-zero immediately after power-up- which is why they usually accurately display zero or close to it (there's also sometimes some trickery going on for readings close to zero). If you power it up with a weight on the scale and then remove it after a few seconds it will likely read zero with the weight on, and then off-scale or negative when you remove the weight.

In general you'd also want to calibrate the gain to get an accurate reading.

\$\endgroup\$
3
  • \$\begingroup\$ There's a tare function in my program (that is supposed to reset the initial value up zero). But I'm still seeing negative values without a load. Maybe there's something wrong with that tare function? github.com/DaneSlattery/hx711 \$\endgroup\$
    – wyc
    Commented Mar 8 at 0:19
  • \$\begingroup\$ By the way, the values I posted is after calibration. \$\endgroup\$
    – wyc
    Commented Mar 8 at 0:22
  • 1
    \$\begingroup\$ Does it read close to zero right after power-up? It may just be drifting a bit as it warms. The numbers close to zero are not many ppm away from zero. If it's 3mV output FS then 0.1g is only 60nVDC, easy for thermal EMFs to influence as well as drift in the load cell. There's no point in resolution better than 0.1 or 0.5g on a low-end 5kg load cell I would think. For example, a typical Chinese load cell is specified as 0.005% FS/°C so drift of 0.25g for 1°C change. \$\endgroup\$ Commented Mar 8 at 0:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.