Arduino Precision Scale

by barzillialloyd in Circuits > Arduino

1172 Views, 4 Favorites, 0 Comments

Arduino Precision Scale

IMG_0668_Original.jpg

Hello guys, Lets have some fun building a high precision kitchen scale.

This should be straight forward to do, all codes attached for download.

In next step we going to go through what needs to be done to set all up and get this beauty working with precision.

Load cells are transducer that transforms force or pressure into electrical output. As you will see the middle of the loadcell is thinned with a hole and that point suffers deformation when a load is placed on the mount side. Now imagine that the right-side cell is mounted to the base and the left side is where the load is placed, this configuration deforms the strain gauge load cell because of the hole in the middle, this means When a load is placed on the load side of the load cell, the top part will suffer tension, and the bottom part will suffer compression and that is why the aluminium bar bends downward on the left side.

If we measure this deformation, we can measure the force that was applied to the aluminium block and that's exactly what we need.

Supplies

1. Arduino (Nano, Uno, Mega etc)

2. 16 x 2 LCD display

3. Some accurate weights

4. Jumper wires

5. Loadcell

6. HX711

7. 5V power supply

8. Scale Enclosure

Integration

IMG_0595_Original.jpg
IMG_0588_Original (1).jpg
IMG_0574_Original (1).jpg
IMG_0573_Original.jpg

The loadcell is basically a Wheatstone bridge. When you place the strain gauge in the Wheatstone bridge if the bridge is balanced, the voltage in the middle point should be zero. And when the strain gauge changes its resistance, it will unbalance the bridge, and the voltage will change. This is how the Wheatstone bridge converts resistance variations to voltage values.

But this voltage change is still very small, so to increase that, we need to use the HX711 module. HX711 is a 24-bit Differential ADC, in this way, we could measure very small voltage changes. it will give values from 0 to 2 exponential 24

Firstly, get all the parts wired up as you will be mounting all into your case. I use the Arduino Nano shown in the photo with all the PINOUT soldered to allow me easy manoeuvrable. Also make connection from the LCD display, I use the 4 pin I2C interface connectivity.

I first tested the circuit with a larger loadcell of up to 20KG capacity before using a 5Kg capacity loadcell, this is mainly for me to study the accuracy level of the device.

Test

m.PNG
IMG_0610_Original.jpg
IMG_0599_Original.jpg
IMG_0603_Original.jpg

Follow the schematic and connect all as indicated

Test Connection and Calibration

IMG_0547_Original (1).jpg
IMG_0541_Original.jpg
IMG_0613_Original (1).jpg

First step is to calibrate the load cell and store that value on EEPROM of the Arduino. find the file HX 711_ADC, then select the calibration code. Before uploading the code, place the balance on a stable plane surface. Upload the code and open the serial monitor. Change the baud rate to 572600. Now monitor ask to take the weight, for that, to press t and enter.

Place the known weight on the balance, in my case, that is 100g. After placing the known weight, type weight on the serial monitor, and hit enter.

Before assembling, run a proper testing process weight variety of weights if you can to be assured of its precision, if not recalibrate.

A good test for basic accuracy is to use some reference weights if you have any. So, for example, if you calibrate the scales with a 100g weight, then what readings do you get when weighing 1g, 10g and 1kg weights.

Downloads

Main Code

IMG_0617_Original.jpg
IMG_0622_Original.jpg
IMG_0618_Original.jpg
IMG_0625_Original.jpg

Upload the main code here and all should be good for assembling

Downloads

All Done

IMG_0683_Original.jpg
IMG_0681_Original (1).jpg

Now wrap things up and make it look sweeeetttttt......

Hope you learn something today?... if you encounter any challenge let me know. Adios

Video

Arduino Kitchen Scale