5kg load sensor with Arduino Uno

Hi all

I have built my load cell circuit as follows: http://edg.uchicago.edu/tutorials/load_cell/ and also used that code, but regardless of what weight I put on the load cell it gives me an analog reading of +- 800.

I took this load cell out of a digital kitchen scale and am using it to measure the weight of coins, so at a maximum of 10 grams.

Any help will be greatly appreciated. Thanks a lot.

Check the modules:

  • Does the program report proper values when the analog input is connected to a power source of known or adjustable voltage (pot...)?
  • Does the voltage vary when you trim the bridge, with a resistor in parallel to one of the branches?
  • Does the gauge react when you apply force in a different direction?

Hi DrDietrrich

I have resoldered the circuit and I have tried various resistor values over pins 8 and 9 of the INA125P amplifier.

The gauge does react to force in the opposite direction, but very minimally. I have been using the following code as an example to see if the load cell is working,

// Put two known loads on the sensor and take readings. Put those values // here. float aReading = 192.0; float aLoad = 15.0; // lbs. float bReading = 344.0; float bLoad = 24.3; // lbs.

long time = 0; int interval = 2000; // Take a reading every 500 ms

void setup() { Serial.begin(9600); }

void loop() { float newReading = analogRead(0);

// Calculate load based on A and B readings above float load = ((bLoad - aLoad)/(bReading - aReading)) * (newReading - aReading) + aLoad;

// millis returns the number of milliseconds since the board started the current program if(millis() > time + interval) { Serial.print("Reading: "); Serial.print(newReading,1); // 1 decimal place Serial.print(" Load: "); Serial.println(load,1); // 1 decimal place, println adds a carriage return time = millis(); } }

I got that code from an Instructables page. The reading on from the serial monitor reads 504, 505, 506 with a load of 34.2 when nothing is added on. And I need to put down a considerable amount of force on the load cell in order to get any sort of noticable reading increase. As I have said the load cell is from a kitchen scale and should be able to detect differences in weight as low as a gram. So surely any form of pressure put on will change the reading?

Thanks again

The readings look okay WRT your known load values. The sensitivity is about 75mV/lb (15 ADC increments), with a maximum reading (5V) for about 65lb. If you want to use the full range of the scale (65lb), and a gram resolution, you need an ADC with more bits. Otherwise you can increase the amplifier gain, so that 1 increment will equal 1g, with a maximum load of 1024g.

The changing readings with a constant load indicate noise on the lines, or varying AREF (Vcc). A scope would be helpful to find out more. You can try to add an capacitor over the INA inputs, and a low pass filter (RC) to the analogue input. All cables, carrying small analogue signals, should be kept as short as possible. You also can use the more stable built-in 1.1V reference, instead of Vcc; this will limit the range to a maximum load of about 10lbs, while the sensitivity increases to about 75 increments/lb.

Check the values yourself, my calculations may be incorrect.