I am currently working on a project where I am connecting 2 sets of digital scales to an arduino and outputting the result (individual and total) to an LCD screen. It will be weighing people and measuring how balanced people are between their left and right legs.
The scales are basic models from Argos (UK), they have 4 load cells in each corner of the scale arranged in a full bridge. I am keeping this arrangement. From what I can tell (I don't have access to a scope) they used an alternating excitation voltage.
I am using a Texas Instruments ADS1232 for both the PGA and ADC stage.
I have it set to:
- Speed: Fast (80SPS)
- PGA: 128
- Internal oscillator
The LCD screen is a 4D Systems uLCD32PT. This is working great!
I have it linked up pretty much as the diagramme in the data sheet.
A few changes:
- The second bridge is connected to AINP2 and AINN2.
- A0 is directly connected to the arduino
- Excitation voltage is drawn from an ardiuno pin and REFP is tied to this as well.
- Speed pin is high (80SPS)
The main problem I'm having, and hoping people might be able to help with, is getting consistant, repeatable output.
I have done a lot of averaging and smoothing in software and the numbers are looking ok, but if I weigh myself and then do it again I can get different results, up to a few kilos difference or about 4%.
Below is the code I'm currently using. The softSerial is there for debugging.
I have attached the code as the max forum post is 9500 chars.