Electronics-Related.com
Forums

Load Cell to Arduino

Started by RogerN March 3, 2012
John Devereux wrote:

> Tim Wescott <tim@seemywebsite.com> writes: > > >>On Sun, 04 Mar 2012 10:54:59 -0500, krw@att.bizzzzzzzzzzzz wrote: >> >> >>>On Sun, 04 Mar 2012 14:19:44 GMT, nico@puntnl.niks (Nico Coesel) wrote: >>> >>> >>>>"krw@att.bizzzzzzzzzzzz" <krw@att.bizzzzzzzzzzzz> wrote: >>>> >>>> >>>>>On Sun, 04 Mar 2012 00:11:07 GMT, nico@puntnl.niks (Nico Coesel) wrote: >>>>> >>>>> >>>>>>"krw@att.bizzzzzzzzzzzz" <krw@att.bizzzzzzzzzzzz> wrote: >>>>>> >>>>>> >>>>>>>On Sat, 03 Mar 2012 23:37:43 GMT, nico@puntnl.niks (Nico Coesel) >>>>>>>wrote: >>>>>>> >>>>>>> >>>>>>>>"Martin Riddle" <martin_rid@verizon.net> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>>"RogerN" <regor@midwest.net> wrote in message >>>>>>>>>news:XpadnaQ-Q5YXAc_SnZ2dnUVZ_s6dnZ2d@earthlink.com... >>>>>>>>> >>>>>>>>>>"Tim Wescott" wrote in message >>>>>>>>>>news:qLmdnfK-LczQ68_SnZ2dnUVZ_hydnZ2d@web-ster.com... >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>>On Sat, 03 Mar 2012 11:33:42 -0600, RogerN wrote: >>>>>>>>>>> >>>>>>>>>>>><snip> >>>>>>>>>>> >>>>>>>>>>>Try doing some directed looking for applications notes showing >>>>>>>>>>>how to use >>>>>>>>>>>an ADC with a load cell. Hooking up the ADC to the Arduino is a >>>>>>>>>>>separate >>>>>>>>>>>problem which (hopefully) will be much more routine for you. >>>>>>>>>>> >>>>>>>>>>>-- >>>>>>>>>>>Tim Wescott >>>>>>>>>>>Control system and signal processing consulting >>>>>>>>>>>www.wescottdesign.com >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>>Most of what I have seen is to run the load cell through an >>>>>>>>>>instrumentation amp then to the A/D. I have used the Arduino >>>>>>>>>>with a serial 12 bit A/D before, LTC1298 if I remember correctly. >>>>>>>>>> I'm wanting as high of resolution as practical, having found >>>>>>>>>>oversized >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>>Oversample a 16-bit ADC, acquisition time will be slow. But you can >>>>>>>>>get 18 or 20 bits resolution if speed is not an issue. >>>>>>>> >>>>>>>>I doubt that. You can't get more bits out of an ADC. Its better to >>>>>>>>get rid of the noise in the analog domain and be able to use the >>>>>>>>full resolution. >>>>>>> >>>>>>>Sure you can. Averaging will give more bits than there is hardware >>>>>>>for. I played that game with Tektronix digitizers 35 years ago, to >>>>>>>pull signals out of the digitization noise. The number of bits >>>>>>>gained (assuming uncorrelated noise) is proportional to the log of >>>>>>>the number of samples, so it gets boring fast, though. ;-) >>>>>> >>>>>>That only works if there is enough noise to flip at least the LSB bit. >>>>>>If the signal sits somewhere between 2 codes you can oversample all >>>>>>you want but you'll never get any extra bits of resolution. >>>>> >>>>>Crunch all you want, we'll make more. >>>> >>>>Show me how to get 8 bits resolution with ONE comparator... >>> >>>As long as the noise is uncorrelated with the signal, it's very easy. >>> >>>You've never seen a delta-sigma ADC? >>> >>>A successive approximation A/D only has one comparator. ;-) >> >>Not to mention dual-slope ADCs. > > > I'll see your two slopes and raise you multiple slopes. > > The HP3458A, and indeed most high-end meters, uses a multislope > technique to get accuracy equivalent to that of a 28 bit ADC. > > From a single comparator of course! :) >
I don't know what you call it but years ago, I made a frequency to analog converter to drive a Joy stick port on a C-64 computer for a fax program from low band radio. I had a comparator in the input to convert the audio tone from the receiver to square waves. Used the edges on the slopes for an edge switch where I would control a 4066 analog switch. This switch would take care of updating the sample and hold op-amp which was a jfet input and also discharge the current controlled C time constant used to generate a linear ramp time reference where it would be then translated over to the sample and hold.. The current source was a jfet and worked excellent. THis circuit would update to the rate of what the incoming cycle was. I know you can get charge pump chips that do the same thing however, I found the one I tried from LM, did work, but did not produce a very linear output and seem to be narrow on the range of its abilities. They did work well for basic F to V converters if you didn't mind that issue. Jamie
"RogerN" <regor@midwest.net> wrote in message 
news:If-dnadwId8YBM_SnZ2dnUVZ_qqdnZ2d@earthlink.com...
> Thanks for the tips. I hope to get a working scale first with basic > averaging and later go back and try different methods to get the better > useable resolution. Most of the industrial scales we use at work have a > parameter for 50 or 60Hz, I figure the sampling time is divided up in > 1/50th or 1/60th second increments to get a good average. I have also saw > some info online where they reverse polarity on the bridge circuit and > take readings to get differential readings, they claimed this would help > filter out the noise but not sure I understand how. > > RogerN
The 50/60 Hz setting is related to the sampling frequency such that powerline frequency is greatly attenuated. This should give you an idea http://www.analog.com/static/imported-files/application_notes/AN-611.pdf
If you can, put the ADC in the scale so you don't have to deal with noise 
pickup in the cabling. Much better to run SPI signals in a cable (with 
suitable drivers/receivers and signaling rates) than it is load cell 
signals.

If you must have the load cell remote to the ADC, use twisted pairs in a 
shield. Excitation as one pair and bridge output as the other pair.

Signal is only as significant as your reference is stable. ADC reference 
should also be the excitation signal.

Depending on your resolution needs, some folks forgo the instrumentation amp 
and go directly into a differential input channel of the ADC. I generally 
prefer to use an IA for the high CMRR but with every stage of amplification 
you also get noise.

There are a lot of apnotes out there under "strain gauge application" 
(strain gauge being the basic sensing element in the load cell) 

On Tue, 6 Mar 2012 11:49:44 -0500, "Oppie" <Oppie@127.0.0.1> wrote:

>If you can, put the ADC in the scale so you don't have to deal with =
noise=20
>pickup in the cabling. Much better to run SPI signals in a cable (with=20 >suitable drivers/receivers and signaling rates) than it is load cell=20 >signals. > >If you must have the load cell remote to the ADC, use twisted pairs in a=
=20
>shield. Excitation as one pair and bridge output as the other pair. > >Signal is only as significant as your reference is stable. ADC reference=
=20
>should also be the excitation signal. > >Depending on your resolution needs, some folks forgo the instrumentation=
amp=20
>and go directly into a differential input channel of the ADC. I =
generally=20
>prefer to use an IA for the high CMRR but with every stage of =
amplification=20
>you also get noise. > >There are a lot of apnotes out there under "strain gauge application"=20 >(strain gauge being the basic sensing element in the load cell)=20
The signal coming out of a load cell is only a few mV/V full scale. Keep the IA. ?-)
On Sun, 4 Mar 2012 00:44:28 -0600, "RogerN" <regor@midwest.net> wrote:

>"Nico Coesel" wrote in message news:4f52b148.3510317656@news.kpn.nl... > ><snip> >>>Sure you can. Averaging will give more bits than there is hardware =
for.=20
>>>I >>>played that game with Tektronix digitizers 35 years ago, to pull =
signals=20
>>>out >>>of the digitization noise. The number of bits gained (assuming=20 >>>uncorrelated >>>noise) is proportional to the log of the number of samples, so it gets=
=20
>>>boring >>>fast, though. ;-) >> >>That only works if there is enough noise to flip at least the LSB bit. >>If the signal sits somewhere between 2 codes you can oversample all >>you want but you'll never get any extra bits of resolution. >> >>--=20 >>Failure does not prove something is impossible, failure simply >>indicates you are not using the right tools... >>nico@nctdevpuntnl (punt=3D.) >>-------------------------------------------------------------- > >Here's an idea I was curious about to increase A/D resolution. > >Lets say for example the LSB represented 1 millivolt. Could I use a=20 >resistor network (or DAC and voltage divider) to drop 1/4mV, 1/2mV, and=20 >3/4mV. The idea would be to add these voltages to the load cell signal,=
=20
>read with 0mV offset, next read with 1/4mV offset, then 1/2mV offset... =
It=20
>would seem that averaging with offset voltages less than the LSB could =
get a=20
>higher resolution and hopefully with linear accuracy. Just wondering if=
=20
>that would work? The A/D I intend on using will probably be 24 bit so =
I'm=20
>not going to higher than that, but sure would be nice for the lower=20 >resolution load cells sometimes. I thought about using a DAC with a =
voltage=20
>divider to make a programmable offset voltage to divide the LSB. Offset=
1/2=20
>LSB, compare, offset 1/4 LSB, compare... till I find the fraction of the=
LSB=20
>where noise toggles it. > >So if I were to do this with the 10 bit Arduino ADC, offsetting 1/64LSB=
at=20
>a time over 64 readings, would the sum of the readings be (almost) as =
good=20
>as a 16 bit ADC? Don't know if it would be practical but sounds =
interesting=20
>and educational :-) > >RogerN >
A thought to keep track of: the load cell has only about 0.01% accuracy / linearity / resolution in the first place. No matter what you do with = the signal afterwards that is all you can get from them. ?-)
On Wed, 07 Mar 2012 20:22:48 -0800, josephkk
<joseph_barrett@sbcglobal.net> wrote:


>The signal coming out of a load cell is only a few mV/V full scale. Keep >the IA.
Millivolts per what? You fucking dope?
On 08/03/2012 04:40, WoolyBully wrote:
> On Wed, 07 Mar 2012 20:22:48 -0800, josephkk > <joseph_barrett@sbcglobal.net> wrote: > > >> The signal coming out of a load cell is only a few mV/V full scale. Keep >> the IA. > > > Millivolts per what? You fucking dope?
Oh Woolly - how can you be so ignorant and so arrogant at the same time? Strain gauge load cells are almost always specified in mv/V at full scale so Joseph is following the usual practice. (about 2mV/V being typical for a precision load cell) What it means is that the load cell will give you an output of x mV for each V of excitation at full scale load (where x is the sensitivity in mV/V) They are specced this way because the output is linearly dependent on the excitation. Joseph is also correct in suggesting that the OP will find it much easier to get a good result by using a separate amplifier before the ADC. I have never managed to get good results with the all in one devices from AD and others. Michael Kellett (my real name)
On Thu, 08 Mar 2012 09:15:01 +0000 MK <mk@nospam.co.uk> wrote in Message
id: <4F587895.5060701@nospam.co.uk>:

>On 08/03/2012 04:40, WoolyBully wrote: >> On Wed, 07 Mar 2012 20:22:48 -0800, josephkk >> <joseph_barrett@sbcglobal.net> wrote: >> >> >>> The signal coming out of a load cell is only a few mV/V full scale. Keep >>> the IA. >> >> >> Millivolts per what? You fucking dope? > >Oh Woolly - how can you be so ignorant and so arrogant at the same time?
Practice makes perfect!
On Wed, 07 Mar 2012 20:40:52 -0800, the renowned WoolyBully
<WoolyBully@arcticicemasses.org> wrote:

>On Wed, 07 Mar 2012 20:22:48 -0800, josephkk ><joseph_barrett@sbcglobal.net> wrote: > > >>The signal coming out of a load cell is only a few mV/V full scale. Keep >>the IA. > > > Millivolts per what? You fucking dope?
It's a strain gauge, so mV per volt of excitation voltage (delta in output voltage from no load to full-scale load). A standard way of specifying sensitivity. Best regards, Spehro Pefhany -- "it's the network..." "The Journey is the reward" speff@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com
On Thu, 08 Mar 2012 09:15:01 +0000, MK <mk@nospam.co.uk> wrote:

>On 08/03/2012 04:40, WoolyBully wrote: >> On Wed, 07 Mar 2012 20:22:48 -0800, josephkk >> <joseph_barrett@sbcglobal.net> wrote: >> >> >>> The signal coming out of a load cell is only a few mV/V full scale. Keep >>> the IA. >> >> >> Millivolts per what? You fucking dope? > >Oh Woolly - how can you be so ignorant and so arrogant at the same time?
It's the only thing Nymbecile excels at!
> >Strain gauge load cells are almost always specified in mv/V at full >scale so Joseph is following the usual practice. (about 2mV/V being >typical for a precision load cell) > >What it means is that the load cell will give you an output of x mV for >each V of excitation at full scale load (where x is the sensitivity in mV/V) > >They are specced this way because the output is linearly dependent on >the excitation. > >Joseph is also correct in suggesting that the OP will find it much >easier to get a good result by using a separate amplifier before the >ADC. I have never managed to get good results with the all in one >devices from AD and others. > >Michael Kellett (my real name) > > >