AD620AN + Weight sensor

Hi, im currently working on a project with weight sensors.

i have wired a AD620AN to 4 (3wire)Weightscales from a bathroom scale. i have wired 1 scale, wire1 = + wire2 = - Wire3 = Sens and another wire1 = - Wire2 = + Wire3 = Sense. and thene i wire one of the scales to In+ on AD620 and the other on In- . i did this with two more scales and parralell wired theme with the two other scales to AD620.

supply voltage is 5V from arduino.
Reference is not grounded.
betwene gain i use a 680ohm resistor
Output to A0

This works fine but its veary unstable, i get +- 5Kg difference without touching the scale, and the odd thing is if i leave it for a while it only gets +- 0.5kg (until i restart the arduino or uploade the code again). is there a way to get it to stay at +-0.5kg? or stabilize it?

my code

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

long Timer = 0;
long TimerSet = 0;
int RawInp = 0;
int Inp = 0;
int CalButton = 2;
int Cal = 0;
int Cal2 = 0;

void setup(){
  
 Serial.begin(115200); 
 pinMode(CalButton,INPUT);
  
 lcd.begin(16,2);
 lcd.backlight(); // Backlight On  
 lcd.clear();
 lcd.setCursor(0,0);
}



void loop(){
  if(digitalRead(CalButton) == 1){Cal = 1;}
  
  RawInp = analogRead(A0);
  Inp = map(RawInp,390,426,0,30);

  
  if(Timer > 200){
    if(Cal == 1){Cal2 = Inp;
                 Cal = 0;
                 
    }
    Serial.print("KG = ");
    Serial.print(" ");
    Serial.println(Inp - Cal2);
    lcd.clear();
    lcd.print("KG = ");
    lcd.print(Inp - Cal2);
    TimerSet = millis();
  }
  
  Timer = millis() - TimerSet;
  
}

English isnt my first language and i do not work with electronics daily, so cut me some slack :slight_smile:

AD620AN AD620AN pdf, AD620AN Description, AD620AN Datasheet, AD620AN view ::: ALLDATASHEET :::
Pic of the breadboard and arduino http://www.use.com/7260fcf80c5fe945d135
i use a Arduino Mega 2560

This is the 'real' link to the AD620: AD620 Datasheet and Product Info | Analog Devices
The 'N' in AD620N means it is a PDIP.

Are the weight sensors so called "load cells" ?
Like these ? Load Sensor - 50kg (Generic) - SEN-10245 - SparkFun Electronics
The white wire is the output.

Thanks for the photo, but I don't know how the sensors are connected to the AD620. Your description makes me think that it is not okay.
Can you make a schematic, and a photo how the load cells are connected ?

EDIT: strikethrough bad text

Hi, thx for the reply :slight_smile:
yes they are load cells like those on sparkfun, on the comments they say the white wire is + , black is - and red is output. i have tried using white as output but i dont get a reading from it :slight_smile:

yes i made a schematic of my wireing (First time i make one), thankyou for your time :slight_smile:

Sorry for the mistake, the red wire seems to be the analog output.
So I assume you have already adapted your wiring, with the red wires to the AD620.
However, I'm not convinced, since other load cells do use the white wire as output. Can you measure the resistance ? between which wires is the highest resistance ?

Why did you connect the load cells that way to the AD620 ?
Did you see an example like that ?
It is not possible to connect two load cells parallel (by connecting the analog outputs to each other).

Some load cells have 4 wires (two outputs). With weight on it, one output gets higher, and the other output gets lower. That is why such wires can be connected to both inputs of the AD620.

You have only 1 output wire. I think it is called a half-bridge.
Here is some info for a 3-wire load cell: NerdKits - Strain Gage tied to MCU (Project Help and Ideas)
A bathroom scale should add the weight of all four sensors, so I think you need four AD620 and you can add all the values in the Arduino.

I read that the analog output voltage change could be reversed, by exchanging the power wires to the load cell. So the AD620 gets one normal and the other input pin with a reversed signal. In that case you only need two AD620.

I'm confused myself now, and I don't know what to do with 'REF' pin of the AD620.

no problem im just grateful that your trying to help, feels like im getting somewhere with this :slight_smile: i wired this way cause i read in the comments on sparkfun's website (the link yout gave me :slight_smile: ) that you had to to form a whole weathstone bridge from two load scales, i get the negative sense wire from the reversed one (when i wire + from arduino to - on the load scale) and the positive sense wire when i wire it the right way.

i parallel wired them cause i thougt it would work, i tried to putt all the load scales under a table and placing a 15kg weight on each legg induvidualy to see if i got the same readings, i thought i did, but maybe im mistaking :~ il try again :slight_smile:

ok, do i only need to use one, In+ or In- on the AD620? :slight_smile:

damn i only have one, going to order 3 more, 2 week delivery time :frowning: it isnt possible to stabilize the one im currently using?

yes i tried to take a reading, then reverse the voltage to the load scales, take another reading and substracting them, but i get different readings every time so it didnt help much, i tried to taking an average reading by adding 30 readings and dividing them by 30, it did help a little but not as much as i wanted,

im just gratefull your helping med, thx alot! :slight_smile:

You can reduce the noise with a capacitor.
Just a 1nF or 10nF from the inputs of the AD620 to ground.

If you use just one load cell directly to the AD620, you need resistors or a potentionmeter for the other input.
But since the AD620 has a seperate gain resistor, you could also connect the output to the other input.

As far as I understand, you can make a wheatstone bride with 3 resistors + the load cell.
The output of the bridge goes into both inputs of the AD620. In that case you need 4 AD620.
I think with two AD620 and with one normal and one reversed load cell is easier.

However, I'm not 100% certain of what I wrote here.

Can you do this test:
Connect two load cells to the AD620, each to an input. Don't use the other two load cells. Place a weight in the middle of the bathroom scale and almost nothing should happen, you should only see temporary a change in the value.
Because one signal is going into the normal input and the other in the inverted input of the AD620, they should cancel each other out.
Reverse one load cell (exchange the gnd and 5V of that load cell) and you should measure something with the weight.

You can reduce the noise with a capacitor.
Just a 1nF or 10nF from the inputs of the AD620 to ground.

ok, il order both, a 1nf and 10nf and try :slight_smile:

If you use just one load cell directly to the AD620, you need resistors or a potentionmeter for the other input.
But since the AD620 has a seperate gain resistor, you could also connect the output to the other input.

As far as I understand, you can make a wheatstone bride with 3 resistors + the load cell.
The output of the bridge goes into both inputs of the AD620. In that case you need 4 AD620.
I think with two AD620 and with one normal and one reversed load cell is easier.

il buy 3 more AD620 just in case, but two sounds good :slight_smile:

Can you do this test:
Connect two load cells to the AD620, each to an input. Don't use the other two load cells. Place a weight in the middle of the bathroom scale and almost nothing should happen, you should only see temporary a change in the value.
Because one signal is going into the normal input and the other in the inverted input of the AD620, they should cancel each other out.
Reverse one load cell (exchange the gnd and 5V of that load cell) and you should measure something with the weight.

ok, il try this too :slight_smile:

iv actualy been playing around with the gain, and if i adjust the gain upp the noise actually reduces (cause of the wider range i think?) but the AD620 peaks and i cant weigh the 50kg each cell can handle. so if i use two AD620 i can get a reasonable value with a cap and average.

Thank you for all the help! it helped alot! :slight_smile: