I´m using AD7172-2 converter, with external amplifier, in bipolar mode input. The load cell is 30kg capacity and 2mV/V, and the excitation voltage is +5VDC (REF is +5VDC too to do ratiometric system). I attach the scheme.
1- I have configured the Gain of amplier to 426.5 (Rg=470R). When I put about 27-28kg in load cell, AIN1_1 respect to AGND is 0V (it´s saturated). I don´t understand this. I attach table. Any suggestions? Actually, I have configurated the Gain of amplifier to 295.1 (Rg=680R), but I get less points.
2- What is the procedure to compensate temperature drifts by software, on a weighing scale? Using AD7172-2 with DC excitation of load cell, It generates temperature drifts of the electronic components, which must be compensated, for legal trading, or to meet metrological standards.
1. I would like to clarify something in your schematic and setup. I'm confused with the naming convention, does IN+/IN- your differential output? Are you probing this values on your table or reading…
Apologies. I have corrected the above formula since the denominator is in V you have to convert your code to V.
Sorry Jellenie again,
So, I just have to write the system offset calibration on the chip AD7172-2, witn empty pan.
I have to use the full scale point (with a known weight) to calculate the equation of the line, which is the equation you indicate above, and from there, calculate the proportional weight.
This is OK?
The Temperatura compensation is understood.
Yes, that's correct. Perform system offset calibration (with empty pan). Measure the ZS code (with empty pan), Measure the FS code (with maximum weight). Use the measured full scale code and zero scale code on the above equation to calculate the proportional weight.
I don't know if I should have opened a new thread or continue on it. I want to read the internal temperature sensor (to compensate for thermal drifts), and I can't do it, or I don't know very well how. Can you put a small code example?Right now, I read the weight and temperature in differential mode. The formula I use is temperature (ºC)=(((float)"ADC readings"/477)-273.15)/1000, but I am not getting real values.
May I know If you enabled the internal reference? When the internal temperature sensor is used, the internal reference must be selected. It also requires the analog input buffers to be enabled.
Regarding the formula, it looks okay except for /1000 what does it for? To be able to measure accurately, we recommend to calibrate the device at a known temperature (25C) and take that conversion as a reference point.
May I know what value or readings are you getting?
I have configured a single channel to read the internal temperature of the chip. The result of the converter is 0xffffff, and in the status register, in the ADC_ERROR bit it returns a 1.
I enclose the values of the registers, to see if you can tell me if I have any badly configured.