Load Cell to Arduino

I'm interested in making a load cell scale using an Arduino so I can program special features that currently available scales don't have.

Any thoughts on best way to get high resolution data to an Arduino microcontroller board?

AD7730 chip, or Instrumentation amp to A/D converter?

Anything readily available such as load cell in and serial data out?

Most of the ready made load cell indicators I've been looking at have either

20 bit or 24 bit A/D but only give 10,000 or so steps of resolution, I guess because of noise?

The features I want to be able to program in are things like reverse taring, where you weigh a full container, select reverse tare, then empty the container, and scale calculates tells how much product was removed, I think this is also called loss of weight weighing or something like that.

Another feature is I want to be able to calibrate with homemade calibration weights. The idea is that I will come up with a weight heavy enough to calibrate in the range I want, then take it to work and have it weighed on an accurate calibrated scale, stamp the actual weight on it and it's good enough for my purposes. So far I haven't seen a scale that will let you calibrate with something like a 100.123 pound weight, for software it isn't a problem.

The best feature I want is to be able to add is using one scale for multiple weighing platforms, having the calibration data stored in non-volatile memory (eeprom, flash). This way I can use the scale display for reloading scales or weighing machinery just by selecting the scale I'm currently plugged into.

Thought maybe some here may know of a good way to get load cell or strain gage signals into a microcontroller like an Arduino.

Thanks

RogerN

Reply to
RogerN
Loading thread data ...

Save yourself some time and look at the "Click PLC" systems. AutomationDirect has them.

You can get a CPU with Analog in that has 3 serial ports, put a user screen on it power supply and add on IO modules for less than what you'll end up paying peace mealing it together.

The programming software is free and the cable is cheap. You could most likely make your own cable that would work fine.

The analog has 2 ADC inputs if I remember and 2 DAC outputs. both ends can be set up to operate in voltage 0.5 or 4.20ma

For the price of the CPU and add on's it is very hard to beat for a basic project.

A small interface can be for a bridge type load cell if needed to simplify the interface to the CPU module.

Jamie

Reply to
Jamie

The 7730 is certainly a flexible device and has a SPI interface to the host processor. I don't have any experience with Arduino but I see on the website there is a SPI library listed so would assume this interface is supported. As far as software goes, SPI can access several devices with the addition of an addressing scheme. Alternately you can put all your spi devices in series (data out to data in) and just keep track of the clocks.

Pay close attention to ground planes and how you connect signals or you'll get LOTS of noise and unusable bits. Oversample and average the results to get the best resolution.

Reply to
Oppie

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
 Click to see the full signature
Reply to
Tim Wescott

I like the PLC solution but am wanting to go with the Arduino for this because, since I want to use it for different load cells, I want to eventually get the arduino, load cell amp, a/d, LCD, and selection buttons/keypad all in one small enclosure with a battery pack for portability.

I like the Automation Direct Click PLC for the price, free software, and almost everything I would need in a controller. Would still need a display, some buttons, load cell amp, and power source (18 AA cells?). I have two Allen Bradley PLC5 racks, a SLC 500 rack, a millivolt input card with 16 bit resolution (was thinking load cells when I bought it), a 16 bit Analog Input card for the SLC 500 rack and a PanelView 550 monochrome touch screen. I already have all I need in PLC lines to do what I'm wanting to do but I'd need an extension cord and a wheel barrow to move the thing around to where I want to use it. I got bargains on the PLC5 stuff on eBay, the larger rack cards are cheaper than the SLC 500 ones. I guess the SLC 500 stuff was also bargains compared to new prices, but still more expensive that PLC 5 components.

I agree with you on the PLC solution but I'm wanting to use an Arduino for the portability, I failed to mention that in the first post.

RogerN

Reply to
RogerN

The Clicks can use their cheap C-mon screen that has keys.

Just something to remember.

You may want to look at Rabbit.com. They all in complete micro controllers with screen and key pad that are small.

formatting link

Just a thought.

Jamie

Reply to
Jamie

The clicks look nice but I see no A/D D/A blocks. Or am I looking wrong?

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
 Click to see the full signature
Reply to
Nico Coesel

I'm don't have very much experience with the Arduino's, I bought a couple different models and experimented a little, they seem great so for. If I understand correctly, the Arduino is just an Atmel microcontroller circuit with a specific pin out at the header and a boot loader in the controller. The Arduino software uses a C compiler and the Arduino libraries are included, so you can program using Arduino's functions (Arduino calls the programs "sketches") right along with C language programming. The idea with the pin out is so you can plug in expansion boards, they stack and you have access to the pins on purchased or homemade add on boards(shields).

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

Reply to
RogerN

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 load cells more resistant to shock damage. Yesterday some operators at work told me they once lowered a scale (on air cylinder, moves 10 mm) while a calibration weight was on it, damaged the load cell.

RogerN

Reply to
RogerN

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.

Cheers

Reply to
Martin Riddle

The analog is via selection of the CPU..

scroll down to their highest priced unit and then select your logic types.

They give you 2 in and 2 out, with 4 logic in/out on top of that. That is just the CPU, you can add various I/0 modules however.

They don't have a add on module for analog, at least not yet.

Jamie

Reply to
Jamie

Its 5V only. Pity. I've found these but shipping prices to NL are insane:

formatting link

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
 Click to see the full signature
Reply to
Nico Coesel

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.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
 Click to see the full signature
Reply to
Nico Coesel

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. ;-)

Reply to
krw

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.

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
 Click to see the full signature
Reply to
Nico Coesel

formatting link

Hmm, no DAC outputs though?

Jamie

Reply to
Jamie

formatting link

You have to scroll al the way down for that: SG2-2AO

I've found a similar system which has a distributor in NL:

formatting link

--
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
 Click to see the full signature
Reply to
Nico Coesel

ram

her

ess

ng,

nk

on

n
u

't

ple

ding

Have you chosen a load cell yet? Have you found any that cost about the same as an Arduino? From what I have seen so far the AD7730 looks very promising.

Howard

Reply to
hrh1818

Any monolithic DAC that's in the upper right corner of the speed and bit- count plot will have significantly more than one LSB of noise. So there is plenty of opportunity to enhance the resolution of the system by averaging.

But resolution and accuracy are different things -- while noise averaging does, indeed, cut down on the quantization noise, it won't do much at all for integral nonlinearity error.

There are 24-bit sigma-delta ADCs that would be perfect for this and are (I'm pretty sure) inexpensive -- I'd start with one of those, and go from there.

--
Tim Wescott
Control system and signal processing consulting
 Click to see the full signature
Reply to
Tim Wescott

Crunch all you want, we'll make more.

Reply to
krw

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.