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.