Load Cells

A load cell is an electronic sensor for measuring weight and force. When a force is applied to it, a weak electrical signal at the milli voltage level appears on its output wires. In fact, the load cell is a transducer which converts force into measurable electrical output.

A load cell consists of a metal core and a set of electrical resistances that transform when a force is applied to it. But after the force is removed, it returns to its original state. The reversibility of this material determines the quality and accuracy of the load cell.

Load Cell Calibration

To use a load cell, first you need to calibrate it. To do this upload the following code on your Arduino board. Wait until the Reading message is displayed on the serial monitor and then place a specified weight item on the load cell. Using the A key, you can increase the calibration factor one unit and you can use the Z key to decrease it to get the correct weight. Now your scale is calibrated!

 

 

Interfacing a Load Cell with Arduino

The output signal produced by the load cell is in range of millivolts, so we need an amplifier to convert the signal into a level that we can later transform it into a digital signal and process it. For this purpose, we useHX711 amplifier sensor. The HX711 amplifier sensor includes a HX711 chip with analog-to-digital conversion capability in 24-bit accuracy. The HX711 module amplifies the low-voltage output of the load cell and sends it to the Arduino so that the Arduino eventually calculate weight from this data.

Arduino Interfacing:

Code:

 

/*

*  Digital Weighing Scale with Load Cell

*  by Hanie kiani

*  https://electropeak.com/learn/  

*/

#include “HX711.h”  //You must have this library in your arduino library folder

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 10, 9, 8, 7);

#define DOUT  4

#define CLK  5

HX711 scale(DOUT, CLK);

float calibration_factor = 2230; // this calibration factor is adjusted according to my load cell

float units;

void setup() {

 lcd.begin(16,2);

 Serial.begin(9600); 

 Serial.println(“Press T to tare”);

scale.set_scale(calibration_factor); //Adjust to this calibration factor

 scale.tare();

}

void loop() {

units = scale.get_units(), 5;

 if (units < 0)

 {

   units = 0.00;

 }

 lcd.setCursor(0,0);

 lcd.print(“Weight: “);

 lcd.setCursor(8,0);

 lcd.print(units,5); //displays the weight in 4 decimal places only for calibration

 lcd.setCursor(14,0);

 lcd.print(“grams”);

 if(Serial.available())

 {

   char temp = Serial.read();

   if(temp == ‘t’ || temp == ‘T’)

     scale.tare();  //Reset the scale to zero     

 }

}

 

What are load cells used for – more common applications

As explained above – anything which requires weighing will probably use a load cell to do so. This means that there are load cells present everywhere in everyday life. Here are some of the uses of load cells which you may have come into contact with.

  • Kitchen and bathroom scales
  • Self-service checkout
  • Weighing luggage at the airport
  • Pallet weighing

 

Reference:

https://circuitdigest.com/microcontroller-projects/arduino-weight-measurement-using-load-cell

https://en.wikipedia.org/wiki/Load_cell#Uses

https://www.flintec.com/applications

https://www.instructables.com/id/Arduino-Scale-With-5kg-Load-Cell-and-HX711-Amplifi/