Close
0%
0%

Testing out 50kg load cells

Are they good?
What are their limitations?
What is the best way to use them?

Similar projects worth following
TL;DR
• Precision: ±10g
• Each load cell has own zero point (not a problem)
• Each load cell has own sensitivity (is a big problem)
• Good thermal stability
• Low creep (variation under long-term load)
• Not all HX711 boards are good

Read below about how I tested them and how I think they can be best used

I’ve bought several 50kg load cells, like on the photo and build scales with them, connecting 4 cells in a bridge. Results were disappointing: fluctuations were too big. The challenge was to sort out this problem first.

It took me several days of experimenting, but I’ve found the problem: AGND pin (analog ground) was not connected to the ground anywhere! Simple voltmeter test showed 0.6V difference between this pin and the ground. After I soldered a wire between AGND (pin 5, also connected to E-) and GND, all became stable. Another mod I’ve made was to replace 1 resistor to get 2.9V between E- and E+.

Although HX711 is a 24-bit ADC, getting all 24 bits is simply not realistic: it is too sensitive. I used 16 bits because I could get them stable and repeatable (like you expect from good scales). This gives more than enough precision as it turned out.

I needed also some way to apply known weight to a cell, be able to vary it easily and measure the output. There were some wood working tools in my garage, look what I’ve made with them:

I think it is beautiful 😊 my testbench 😊. Load cell can be easily put into it and taken out. The bar is 102cm long and has marks on it. I've used 2 plastic bottles with water as a weight. Shifting them along the bar I can apply any weight I want between 0 a 25kg, plus the weight of the bar itself, of course.

All things set up, I’ve started testing. I had 16 cells in total to test (yes, I've bought more than I needed). I connected 2 cells in a bridge, only one was tested at a time, another just laying around and doesn’t take any load. I’ve tried using 1kOhm resistors, but they are all very unstable, as it turned out. Do not know why.

Results of my measurements you can read in the project description:

  • Precision: ±10g
  • Each load cell has own zero point (not a problem)
  • Each load cell has own sensitivity (is a big problem)
  • Good thermal stability
  • Low creep (variation under long-term load)

Conclusion so far

The biggest problem is difference in sensitivity of these sensors. Practically it means that once 2 or 4 cells are connected into bridge, reading will depend on how weight is distributed between them. The variance can go up to 5%. This is far too much in my opinion to tolerate.

Ultimate solution is to make separate measurement channel for each cell and tare and calibrate it separately. Each cell is only half a bridge, so another cell must be added just to complete the bridge. 8 cells will be needed in total: 4 to measure weight and 4 doing nothing, just balancing the bridge, and compensating for temperature changes. It seems like too much and over-engineered, but I cannot think of simpler solution so far.

  • How I measured load cells

    Alexander Dvorkovyy11/25/2021 at 16:38 0 comments

    These cells have only 2 strain resistors in them, so 2 additional resistors are needed to take the measurements. I’ve tried to use resistors, but they produce too much noise. Easiest solution was to use another cell. In this way it compensates also for temperature changes:

    Test bench is made in such a way that it is easy to apply a variable load. I’ve took 1m long 27x22 mm hardwood bar. It is attached to the base with a door hinge. I’ve measured carefully 10cm from the turning axis – this is where I’ve placed the “DUT” – measured cell. It’s tipping point is exactly at 10 cm distance from the axis. I’ve made marks on the bar at each 10cm: 20, 30, 40 etc, up to 100cm. To improve repeatability, I’ve also made small carvings with a sharp knife.

    Control weight is made from 2 plastic bottles filled with water. Their total weight is 2,5kg. Applied at 100cm distance it gives 10:1 leverage, so effectively I apply 25kg load to measured cell. Plus the weight of the bar itself. Here I’ve approximated a bit: I just weighed the bar itself and assumed that the centre of mass will be exactly at 50cm. This give me correction load of 1,7kg on the cell when the bar is lowered.

    This is how it looks when I am taking measurements:

    What I’ve measured

    Hysteresis

    Load is applied first from 0 to 26,7kg and then from 26,7kg to 0. No significant difference was measured. Good!

    Linearity

    Load is applied in steps 0; 1,7kg; 6,7kg .. 26,7kg. Linear regression analysis shows very good linearity, no measurable deviation or correction is needed. Good!

    Sensitivity

    Different cells are put into the test bench and then raw output is measured at 0 and maximum load. Simple linear regression is taken as approximation of the cell sensitivity.

    Each cell has own zero point – not a problem

    Sensitivity is deviated in some cases significantly. Not so good. Some cell sets have very similar sensitivity, like 186, 188, 184,181 raw units/kg. Others like 191, 197, 171, 194 raw units/kg.

    Sensitivity similarity between the cells seems to be a matter of luck.

    Creep

    Load was put on one cell for 3 weeks in the environment with variable temperature. Temperature changes were several degrees Celsius. No correlation between temperature and measured weight fluctuation observed. Daily oscillations were about 4  raw units (ca 24g).

    Measured output decreased in 3 weeks from 6442 to 6436. This makes ca 35g difference. It is still usable for weighing beehives.

    Temperature stability

    To be done yet.

View project log

Enjoy this project?

Share

Discussions

paulvdh wrote 04/19/2022 at 16:49 point

What is the goal of this project?

I do not see much practical use into over engineering low quality load cells in attempts to improve them (far) beyond their capabilities.

Decent load cells do not only have a full Wheatstone bridge, but also have a 5th strain gauge and some passives to increase accuracy of compensations.

Good load cells are also made from specifically designed alloys to minimize creep. When I was first looking into this, I had not even realized that steel and aluminium can creep just like plastics.

You've done quite a nice project here, and made a good writeup.
You've also clearly stated the limitations of these cheap loadcells.
I do not see much point into taking it further though. You have about reached the limit of this hardware.

Something you could consider is to add a single fixed voltage divider, and then alternatively measure the loadcells with a mux such as the 74hc405x and then add the results in software. Although HX711 is cheap, so you could also use one for each load cell.

I am curious about the temperature drift data though...


For beehive monitoring, I would (of course) also log temperature, and take a relatively large amount of samples and send some alarm if "weird" behavior of the measurement system is logged.

  Are you sure? yes | no

Alexander Dvorkovyy wrote 04/19/2022 at 17:59 point

Goal is always the same: to learn something new. I think it is cool to be able to measure accuracy of these cheap cells. Their accuracy may be good enough for some appications. Good load cells may provide better accuracy, but the price offset makes them commercialy irrelevant.

I didn't finished proper measurements of temperature stability, what I've found is that humidity might be a factor too. Generally speaking, influence is not that significant and looks not correlated to temp/humidity to me. Seems like glue properties slowly drift with environment changes - this is my theory. Besides - where to measure the temperature? Talking about beehive - one cell can be on the sunside and another in the shadow, and then surrounding air - go figure how relevant it all is.

Logging temp/humidity is useful anyway, but apparently not for increasing accuracy of the weight measurement.

Another noble goal - get to know manufacturer/seller who can deliver matched cells with good accuracy.

  Are you sure? yes | no

BillK wrote 02/21/2022 at 17:10 point

Where is the analog ground? I don't see it on the hx711 besides just the GND itself.

  Are you sure? yes | no

Alexander Dvorkovyy wrote 04/19/2022 at 18:20 point

Apparently I didn't made enough notes then. What I remember is that many popular HX711 boards have suboptimal choices of resistors and ground plane. After some iterations I've made quite stable device. I've read application notes and datasheets of TI analogs and applied their recommendations to HX711. It's common sense really: what kind of noise you can afford on the line and how to supress the unwanted noise.

My intention then was to make a LoRa-E5 device with proper HX711 circuit design. Only question left where to get well-matched set of 4 load cells. Or give up the idea and make 4-channel scales with 8 cells. Will be fun to watch how center of mass moves within the beehive :)

  Are you sure? yes | no

Alex Buznik wrote 11/24/2021 at 19:30 point

Your test stand looks great!

Is it possible to make two (vs 4 as on regular floor scales) parallel "legs" and only use 4 cells?

I didn't quite get why do you need double the number of the cells.

  Are you sure? yes | no

Alexander Dvorkovyy wrote 11/24/2021 at 20:50 point

These cells have only 2 strain resistors in them, so 2 more resistors are needed to form a Wheatstone bridge. I've tried 2 regular resistors, but apparently they produce too much noise. Most simple solution is to add another cell. It should not take any load, otherwise measured value will also depend on how load is distributed between the cells. I have some precision resistors in the mail, will try them instead of the second cell.
I think I will also make more photos and diagrams to explain in more details what I did exactly.

  Are you sure? yes | no

Alex Buznik wrote 11/25/2021 at 12:28 point

Thanks for reply!

  Are you sure? yes | no

nodemcu12ecanada wrote 11/19/2021 at 20:40 point

I got excellent 0.1 lb repeatability and accuracy results with my scale using those load cells.

I calibrated it with my weight from the doctor's scale.

 https://hackaday.io/project/182014-wifi-bamboo-bathroom-scale

  Are you sure? yes | no

Alexander Dvorkovyy wrote 11/19/2021 at 21:30 point

You might get away with good repeatability for floor scales where the weight is applied more or less at the same point. I am sure you see quite a difference if you move your body weight from side to side or from front to back. This happens because each cell has its own sensitivity and what you measure actually is an average response from all 4 cells. Or you might be lucky and you got all 4 cells with similar sensitivity. From my measurements it was possible to select 4 cells out of 16 with very close sensitivity.

I plan to build scales for beehives with precision up to 100g, so I want to quantify their precision. And obviously, I cannot predict how center of mass will be moving. Will be fun to find out.

I am also curious if the "E-" output of HX711 board is connected to the ground in your build? Visually my HX711 board looks the same as yours. I had too high fluctuations with it until I've connected E- to the ground.

  Are you sure? yes | no

nodemcu12ecanada wrote 11/19/2021 at 22:07 point

No I didn't ground E-. Maybe I just got lucky with the cells I got. I followed this website and video for the wiring. https://circuitjournal.com/50kg-load-cells-with-HX711

I tried standing on one foot vs 2 so most of the weight is only on 2 of 4 cells.

Variation is still only 0.2 lb. 

Are you taking the average of 20 readings?

weightlbsraw = scale.read_average(20);

Also my website should work now. Google made it private when they forced me to update it.

https://sites.google.com/site/nodemcu12e/

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates