Internet enabled load cell
Early this year, I built a prototype of an internet enabled load cell. The idea was to have a network of load cells connected to an internet gateway through low power radios. I bought a cheap kitchen weighing machine from a local store . It had a single load cell with four strain gauges arranged in a wheatstone bridge configuration. You can learn more about these kind of load cells here “http://www.phidgets.com/docs/Load_Cell_Primer”.
The voltage signal produced by this load cell is very small (in the milli-volt range). It needs to be amplified. I used the AD7797 from analog. Since this was only a prototype, I bought an AD7797 eval module and wired it to the load cell. The AD7797 contains an amplifier and a 24 bit ADC. The amplifier has a fixed gain of 128.
“The AD7797 is a complete analog front end for high precision bridge sensor applications such as weighing scales. The AD7797 contains a ∑-∆ ADC capable of 24-bit resolution. The on-chip instrumentation amplifier has a fixed gain of 128 so signals of small amplitude such as those from bridge sensors can be interfaced directly to the ADC.”
I connected the AD7797 to a WiSense node (over the SPI bus). I had to write a driver for the AD7797 and an app to use the driver to get the weight and report it to the external world through the WiSense coordinator.
When a load cell is not loaded, the differential output of the wheat stone bridge should ideally be 0. The excitation voltage (Ve) is the voltage supplied to the Wheatstone bridge circuit.
V+ = Ve/2 , V- = Ve/2
dV = V+ – V- = 0
When the load cell is loaded with weight ‘W’ N,
V+ = (Ve*(R + dR))/(2R), V- = (Ve*(R – dR))/2R
dV = (Ve*dR)/R
dR is proportional to the applied load ‘W’ which means the load cell’s output “dV” is also proportional to the applied load ‘W’
dV = K*W
Load cells have a parameter called sensitivity (S) which specifies the output voltage of the sensor in mV per volt of excitation with full scale (Wfs) input.
If we put Wfs kgs on the load cell, then the output of the load cell will be S*Ve. That is, S*Ve is proportional to the applied weight (Wfs Kgs).
Ve * S = K * Wfs
Suppose you put a weight “Wo” on the load cell and the output voltage is measured as Vo.
Vo = K * Wo
Wo can be calculated as follows –
Wo = (Vo * Wfs) / (Ve * S)
I got my load cell from a cheap weighing machine. I did not know it’s Wfs and S values. The obvious thing to do was to see if I could output (of the load cell) proportional to different known weights. For this I used some VIM dishwash bars (200 grams each). I was pleasantly surprised to see the values consistent with the weight of the bars (from 1 bar to all 7 bars together). The load cell was unexpectedly accurate.
Assume Vo is the output of the load cell in response to applied weight Wo. The AD7797 amplifies Vo 128 times and then converts it into a digital value.
Let Nadc be the ADC output at the end of a conversion.
Nadc = (Vref x Nadc) / 2^23
When input signal is bipolar, the resolution is 23 bits. The output of the load cell can be negative if the Wheatstone bridge is not perfectly balanced. The zero load output is zero volts in the ideal case.
Vo can be calculated as follows –
Vadc = (Vref x Nadc) / 2^23
Vo = Vadc/128
Vo = (Vref x Nadc) / (128 * (2^23))
Here Vref is nothing but Ve (the voltage supplied to the load cell).
Vo = Ve * Nadc / (128 * (2^23))