Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Re: [AVR-Chat] Re: Weigh - Scale Firmware

2007-10-10 by Roy E. Burrage

We do a little bit with measurement here, Hein.

       www.measuretech-tn.com

My experience has been that a scale, most mechanical measuring devices 
for that matter, aren't very accurate below 10% to 20% of their full 
scale range.  A set of ANSI Class 1 calibration weights is only accurate 
to something on the order of 0.25%, so how many bits does that equate 
to?  Transfer accuracy is, at best, 2:1 with 4:1 recommended...and 10:1 
optimum.  So where does that leave your bit resolution to accuracy 
ratio?  10 bit accuracy is better than this 0.25% and averaging can 
easily give you 12 to 14 bits of resolution if your A/D converter is 
linear enough.

You may be trying to resolve a couple of microvolts, but that certainly 
is only going to be right at the load cell.  Most load cell outputs are 
something on the order of 10mv to 20mV.  I suspect your 5 volt signal is 
after amplification local to the load cell to prevent thermal emfs from 
swamping out load cell output changes.  Look at the mV/degree change of 
a type T (copper/constantan, constantan being a copper alloy) 
thermocouple some time.  How many thermocouple junctions would you have 
from a load cell, a 20 foot run of cable, then some electronics?  Don't 
miscount your junctions or get dissimilar metals in there.

Make sure you aren't confusing resolution and stability with accuracy.  
There is a big difference in the 2.


REB




kernels_nz wrote:

>Hi Roy, generally you don't need a particularly accurate reference,
>just one that doesn't vary with time and environmental factors. All
>measurement is done relative to a "calibrated test weight", so scales
>are calibrated and do not rely on the accuracy of the reference.
>
>In practice the weigh scale manufacturers are trying to look at 1.5uV
>changes in strain-bridge output with a 5V reference, so unfortunately
>you do require around 3 million counts or 22 bits.
>
>At low sample rates (10 s/s) and good analogue design 22 bits is not
>too hard to achieve, it's all about using the right parts for the job.
>
>All that stuff is comparatively easy, the bit thats got me a bit
>worried is migrating the code from the existing 32-bit processor to a
>baby AVR. I was hoping someone had done something similar and could
>give me some advice on how to do the calibration routines without
>using floating point math!
>
>Cheers
>Hein B
>Auckland, New Zealand. 
>
>--- In AVR-Chat@yahoogroups.com, "Roy E. Burrage" <RBurrage@...> wrote:
>  
>
>>Is it 24 bit accuracy or 24 bit resolution?  At 24 bits, 1 part in 
>>almost 17 million...where do we get a reference that accurate with a 
>>reasonable cost suitable for a weigh scale product?
>>
>>I suspect 12 bit accuracy would be plenty accurate for your application 
>>and you wouldn't have the thermal emf problems as with 24 bits.  Just 
>>throw the lower bits away after you average them into your equations.
>>
>>On a regular basis here, we take data points and store them in a moving 
>>average filter.  There's a very good application note both from Atmel 
>>and at AVRFreaks which describes the process.  If it were me I'd use
>>    
>>
>the 
>  
>
>>upper 16 bits of your A/D converter, store those in 2 8 bit registers, 
>>add that to the 2 registers you have already set up for your averaging 
>>filter, add the overflow bit to another register set up for that 
>>purpose, and then after your predetermined number of sample points take 
>>an average.  It's as simple as that.
>>
>>You'll also have to adjust the limits of your filter to allow for wind 
>>gusts or other vibration sources so they don't drive your gizmo wild.
>>
>>
>>REB
>>
>>kernels_nz wrote:
>>
>>    
>>
>>>Hi there, this one is out of left field a bit (Baseball phrase ???)
>>>but im working on a weigh-scale project that uses a 24-bit ADC and I
>>>was just wondering whether anyone had ever written a weigh-scale
>>>module for a 8-bit micro controller.
>>>
>>>Im just interested to see how all the calibration etc. for finding the
>>>actual displayed weight from having 32 bit numbers representing the
>>>Calibration Zero and Span values and the current ADC value. Is there a
>>>way to do all the calculations without using floating point math? 
>>>
>>>Cheers for any information!
>>>Hein B - Auckland, New Zealand
>>>


[Non-text portions of this message have been removed]

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.