Load cell confusion, really needs your help!

Hi everyone,

I'm trying to build a trash bin that can weigh papers and send those results in a PC/laptop every 5 minutes using arduino and sensors, particularly load cells(I'm familiar with arduino and IR sensors but this is my first time to encounter other types such as this so please bear with me). So basically, my project is made up of two parts: the data transmission and data gathering. I'm already done with the transmission and can send sample data(strings) to this statistical software tool:

http://www.minitab.com/en-us/downloads/

using this wifi shield(can't afford the arduino one :( ): http://www.dfrobot.com/wiki/index.php/WIFI_Shield_V3_RPSMA_SKU:TEL0079.

now about the weighing part, i found out the simplest logic for it:

load cell => amplifier => ADC

so i bought a 3 kg and 40 kg load cell(at the bottom): http://www.e-gizmo.com/PRODUCT/ELECTRO/SENSOR.HTM

and an amplifier(i bought an already-built amp to save some time): http://www.e-gizmo.com/KIT/sensoramp.html

plus i also bought a controller w/ display for the sensor(to see actual values from the load cell): http://www.e-gizmo.com/KIT/weight%20Sensor.html

those product's documents are also in the links(left panel).

Now i connected the load cell in the amp based on its manual(I'll also call their technical support to verify if I connected it right) then fed that single output from the amp into the Arduino(Uno r3) analog pin(A0) and i got random numbers from 0 - 1023 in the serial monitor. This is the confusing part, i know this figures are amplified voltages(?) but my question is, how can I convert these into weights particularly into grams? Seems like these numbers are way too random to even be of use and plus is it normal to see fluctuating readings even if there's no load? . and how can i verify that the load cell's output with a load is different from without a load just from looking at the readings? or is it impossible?

Sorry for those annoying questions but i really really really need every help i can get. Also, sorry for posting too many links and step by step info about our project(it seems like i really need to do it to explain more efficiently). I would really be grateful to anyone who can help me out with this. Thanks in advance! :)

then fed that single output from the amp into the Arduino(Uno r3) analog pin(A0)

Did you connect the grounds together?

Something's wrong - the way these amplifiers work is that the difference between the output and reference pins is proportional to the (differential) input signal. Normally you fix the reference to a known voltage such as ground.

Without a diagram/photo of how you've connected up its hard to say more.

jremington:
Did you connect the grounds together?

thanks for the reply, i tried to connect the amp output’s ground directly to arduino’s ground pin and when i open the serial monitor all the readings are 0 with or without load so I decided not to connect it. Can u please tell me what do you mean by “connect the grounds together”? should i connect all 3 grounds together(including the input gnd)? ty

MarkT:
Something’s wrong - the way these amplifiers work is that the difference between the output and reference pins is proportional to the (differential) input signal. Normally you fix the reference to a known voltage such as ground.

Without a diagram/photo of how you’ve connected up its hard to say more.

ty also for the reply, simply put, i just connected the 4 wires from the load cell to the amplifier based on its manual. I connected the output pin from the amplifier to arduino’s analog pin(A0). I also tried to connect the ground pin from the amp’s output part to arduino’s ground pin but it only makes my reading 0 everytime so I disconnected it and plus i also ignored the ground pin from the input part of the amp. that’s all i did sir, and sorry I can’t post pics atm maybe later or tomorrow. do you think it’s because of the grounds?

attached is the diagram on how i connected the load cell, amplifier and arduino. Arduino is powered by usb cable(I’m also coding it atm).External supply (12v/9v) to amp. A0 = arduino A0 pin. And as you can see both grounds from the amp’s input and output parts are ignored/disconnected.

illustration.jpg

Yes. ALL grounds together.

If two units are joined by only a single wire, then you have each using the other as an antenna - you don't have a circuit. Its supposed to be a circuit, charges run round it!

Paulcet: Yes. ALL grounds together.

i connected all 3 grounds like this:

but still my output with this code:

is this:

am i missing something? please tell me i really need it thanks :)

MarkT: If two units are joined by only a single wire, then you have each using the other as an antenna - you don't have a circuit. Its supposed to be a circuit, charges run round it!

yeah i thought about that when i made my "circuit" but when i connected the grounds i got 0 outputs everytime(in the image above)so i decided not to connect it and just use the output pin since it has an external power source. As i've said I'm familiar with arduino/circuits but I'm still a newbie/beginner about electronics. I feel something is amiss with my circuit but i don't know what it is. Please help me out, I need to get this done this week. Thanks a lot :)

I see the e-Gizmo doc says to connect it like you have it but typically IN1 and IN2 should be white and green. VCC is red and -VEE black. Grab your multimeter and test the resistance between black-red and white-green (will be equal if above is true). black-white, black-green, red-white, red-green will be 3/4 the resistance of black-red and white-green.

The GND connection in the P2 block is internally connected to the GND connection in the P4 block. You don't need to duplicate that.

All in all though, this sensor board looks like it would be a good candidate for recycling rather than anything else. You can't adjust the gain without replacing R7 and you'll never get precision better than the Arduino's 10 bits without adding a more precise ADC. The best choice for load cells is the HX711 module (very common on eBay, etc.).

If you don't have a multimeter to check voltages, etc. now is the time to buy one. They are essential for verifying circuit operation. It would take just seconds to measure the voltage output by the sensor/amplifier, then you can immediately eliminate one possible source of the problem.

Chagrin: I see the e-Gizmo doc says to connect it like you have it but typically IN1 and IN2 should be white and green. VCC is red and -VEE black. Grab your multimeter and test the resistance between black-red and white-green (will be equal if above is true). black-white, black-green, red-white, red-green will be 3/4 the resistance of black-red and white-green.

The GND connection in the P2 block is internally connected to the GND connection in the P4 block. You don't need to duplicate that.

All in all though, this sensor board looks like it would be a good candidate for recycling rather than anything else. You can't adjust the gain without replacing R7 and you'll never get precision better than the Arduino's 10 bits without adding a more precise ADC. The best choice for load cells is the HX711 module (very common on eBay, etc.).

I tried what u said abt measuring the resistances and got the results u were expecting. Actually before i posted i here, I already tried interchanging the IN2 and -VEE because in the controller(see my post for the link) OUT+ is green and -V is black but the readings it produced are still the same, always zero(w/ gnd of course) so i reverted it back again to my original connection.

also, i tried to find the module u were referring to here in my country and what I found is this http://www.olx.ph/index.php/view+classifieds/id/68208902/HX711+Weighing+Sensor+AD+Module#advertisementDetails is this module the one u were pointing out? Is this easy to use? how accurate is this one? sorry for too many questions but thanks in advance.

jremington: If you don't have a multimeter to check voltages, etc. now is the time to buy one. They are essential for verifying circuit operation. It would take just seconds to measure the voltage output by the sensor/amplifier, then you can immediately eliminate one possible source of the problem.

I tried to measure it with my friend's multimeter and the results for the output pin is a negative voltage while for the output ground is a positive one. Is this normal or they've been wrongly labeled? thanks a lot.

btw I really appreciated all of you guys, every info i got was useful. :)

jhondel2015: I tried what u said abt measuring the resistances and got the results u were expecting. Actually before i posted i here, I already tried interchanging the IN2 and -VEE because in the controller(see my post for the link) OUT+ is green and -V is black but the readings it produced are still the same, always zero(w/ gnd of course) so i reverted it back again to my original connection.

I'd stick with my suggestion of red/VCC, black/VEE, green/IN1, white/IN2. Test the output on P4 with a multimeter set to voltage and see if it's zero. Then reverse the green and white and see if it's still zero. If it's NOT zero then your input offset potentiometer probably needs adjusting.

jhondel2015: also, i tried to find the module u were referring to here in my country and what I found is this http://www.olx.ph/index.php/view+classifieds/id/68208902/HX711+Weighing+Sensor+AD+Module#advertisementDetails is this module the one u were pointing out? Is this easy to use? how accurate is this one?

As I mentioned before, using the Arduino's ADC you can only get 10bits of precision at best. The HX711 modules have 24 bits of precision -- 16,384 (2^14) times more precise. With respect to ease of use there are lots of libraries/tutorials on how to use it if you just take the time to look.

Update: almost working now, thanks everybody!! we just discovered that we're trying to put load on the wrong edge of the load cell so it produces negative voltages yay!

Chagrin: I'd stick with my suggestion of red/VCC, black/VEE, green/IN1, white/IN2. Test the output on P4 with a multimeter set to voltage and see if it's zero. Then reverse the green and white and see if it's still zero. If it's NOT zero then your input offset potentiometer probably needs adjusting.

tried putting it in the same order as yours and it works well now, thanks mate :)

Anyways still some questions tho:

1.) What is that "GAIN" I'm seeing on my amplifier? I heard u can put resistors there right? So if I put a resistor there, what would happen with my readings?

2.)Does analog pins sense other analog signals even if a wire is connected to it? I've notice some unusual fluctuations in our readings and I think it's not because of loads/weights cause I ain't putting anything there.

Ty in advance :)

1) The gain is how much it amplifies the reading. Per your docs the gain resistor (R7) is 200 ohms; a lower ohm resistor should increase the gain. You could test this by holding a ~1K resistor in parallel with R7.

2) Yes, when you're switching between analogRead()s on different pins. The typical solution is to take two analog readings and discard the first.

Chagrin: 1) The gain is how much it amplifies the reading. Per your docs the gain resistor (R7) is 200 ohms; a lower ohm resistor should increase the gain. You could test this by holding a ~1K resistor in parallel with R7.

So basically i can also connect a potentiometer in that sensor amplifier?

Chagrin: 2) Yes, when you're switching between analogRead()s on different pins. The typical solution is to take two analog readings and discard the first.

Now I'm even more confused. I'm only reading one analog pin which is the sensor output but still it makes some unusual readings. Do u have any advice on how can i make it more stable? Such as decreasing/increasing the gain or making my device more unmovable? Btw I'm required to make a weight reading of about 80+ percent of accuracy so I don't think I'll be needing that 24 bits module. Thanks for helping out Chagrin!! :)

jhondel2015: So basically i can also connect a potentiometer in that sensor amplifier?

Yes.

jhondel2015: Now I'm even more confused. I'm only reading one analog pin which is the sensor output but still it makes some unusual readings. Do u have any advice on how can i make it more stable? Such as decreasing/increasing the gain or making my device more unmovable?

It's hard to say what the source of the noise might be, but a loose wire (bad connection) is the usual suspect.

When you're adjusting the gain you're trying to get the most output swing from your amplifier to match your load cell. Ideally your analogRead will be zero when there's no weight on your cell and 5V when you've got the maximum weight. Noise is not a concern in that respect.

Chagrin: It's hard to say what the source of the noise might be, but a loose wire (bad connection) is the usual suspect.

When you're adjusting the gain you're trying to get the most output swing from your amplifier to match your load cell. Ideally your analogRead will be zero when there's no weight on your cell and 5V when you've got the maximum weight. Noise is not a concern in that respect.

oh i see, if that's the case i wont be needing to put any resistor/potentiometer in my amp cause i think it's already ok, I just need to find out the source of that noise. Maybe I'll try to post photos of how i connected it altogether tomorrow(I'm suspecting it has to do with the wires or the load cell's position). Again, so much thanks Chagrin! :)

Update: Although I'm still seeing some noise there sometimes(just need to deal with it), It's working nicely now Chag. TYVM everyone especially Chagrin! Cheers!!

P.S. So sorry, I'm so busy that I've never even took a photo of it :(

heya guys, sorry(again) for distrubing some of you but I've discovered something while doing this project.

I've noticed something very unusual with how this load cell works. When i put some load on top of it and let my arduino get the readings for about 15+ minutes, it worked just fine but when i take out all the load and let arduino get the readings again, it displays something I didn't expect: the readings does not go back to 0,(the values are reduced to a certain number but not 0 or a number close to that) which, obviously it should because I ain't putting any load there. I think it's not because of my program since I've been using that code for some time now and it produces satisfying results. Do u guys think it has something to do with the load cell's properties? like for example the quality of the steel that the load cell is made from or load cells just don't like it to be stressed for some time or permanently.

thanks in advance ;)

Hi Thanks to every one replied here.i want 1 gram resolution with 50 kg load cell so please guide me to achieve this.

Perhaps mechanical friction causes a hysteresis or delay, with slow adaptation to the current load.