-1
\$\begingroup\$

I'm trying to get a reading from a set of four 3-wire load cells connected with a Sparkfun Load Cell Combinator (link removed) to a Sparkfun HX711 amplifier.

I've followed the Sparkfun hookup guide (link removed) however I only get readings of 0.0 using the Sparkfun Arduino code.

I'd really appreciate some suggestions where I may be going wrong or things that are worth checking.

I'm using a set of digital bathroom scales from eBay that I checked before disassembling.

The wires from each load cell were very thin and I soldered them to thicker jumper cables to allow easy hookup to the Load Cell Combinator. After soldering I checked the resistance between each wire on each load cell and found that the centre wire is red (Black-White resistance is double any combination with Red wire). Based on this I'm happy that the connections are good.

The pins on the combinator are connected to the colour coded pins on the HX711 (Red-Red, etc.). The resistance between the pins are:

enter image description here

I was surprised by this as I was expecting two smaller values and one larger for each wire (e.g. 2,2,3 not 3,3,2)

The HX711 is connected to the Arduino with the following:

Arduino Pin 2 - HX711 CLK

Arduino Pin 3 - HX711 DAT

Arduino 5V - HX711 VDD (VDD pin soldered to adjacent VCC pin)

Arduino GND - HX711 GND

I've downloaded the HX711 library created by bogde and received no erors when compiling and uploading to the Arduino.

When I run the Sparkfun Calibration code and add a weight I just get 0.0, even with a large range of different calibration factors.

Has anyone encountered this problem before?

Edit: @Andy aka, here are the voltages of the load cell connector pins on the HX711 (Black is connected to ground on the Arduino):

Load Cell Voltage

Edit 2 07/12/16:

I've measured the following voltages relative to the E- pin on the Combinator (connected to Black on HX711 which in turn is connected to Arduino GND)

White - Red - Black

UL 2.16 1.44 0.00

UR 2.16 1.44 1.46

LL 2.16 2.88 2.86

LR 2.16 2.88 4.34

\$\endgroup\$
  • \$\begingroup\$ If you can measure resistance, then you can also measure voltage. List all the voltages relative to earth on the load cell connector on the sparkfun thing. They are DC btw. \$\endgroup\$ – Andy aka Dec 5 '16 at 11:06
  • \$\begingroup\$ @Andy-aka thanks for the reply, I've added that to the original post. \$\endgroup\$ – RVEE Dec 7 '16 at 21:25
  • \$\begingroup\$ It turns out there was an error in the Sparkfun hookup guide for that has now been corrected. When describing the Load Cell Combinator the guide previously stated: Next, connect each of the four load sensors to the following pins: Red → + Black → - White → C It now correctly states: Red → C Black → - White → + \$\endgroup\$ – RVEE Jan 13 '17 at 21:40
  • \$\begingroup\$ This load combinator switches the Red (positive) and White (signal) cables of all the gauge sensors. Ridiculous Sparkfun mistake \$\endgroup\$ – castillejoale Mar 14 '17 at 0:14
0
\$\begingroup\$

I had the same problem.

These load cells are usually badly doccumented and you can't necessarily rely on the wiring instructions from people who have a different load cell. The HX711 does however have some doccumentation and it's TI equivalents ADS1232 and ADS1234 also have some good doccumentation.

Your load cell probably has a wheatstone bridge inside for thermal stability and a stronger output signal. I recommend you use a Multimeter/Ohmmeter to find out which wire connects to which part of this wheatstone birdge - you can try to measure the change in resistance when you exert a force. Next you can power the bridge with AVDD and AGND and you can draw your signal out of the other two wires.

You need to use serial communication in order to read data out of the ADC. Figure 2 in the datasheet has a good illustration of how to do this. Note that the ADC supplies 24 bits of information, while the integers in Arduino have less than 24 bit. You either have to clock through a few (less significant) bits without storing them or you have to find another way to store them; multiple integers for example.

Also notice that the ADC has an output data rate of either 10 Signals per second or 80 Signals per second. If you require a high response time and you don't need 24 bits of resolution, I would recommend you simply amplify your signal with an Op-Amp and you measure it with an analog input on your Arduino - that's what I ended up doing...

Good luck!

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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