Thursday, 13 July 2017

sensor - How to connect load cell to arduino?


I got this 200KG Load Cell, it has 4 wires:


Red:   +EXC  12V

Black: -EXC 0V

Green: +IN
White: -IN

Sens. 2.000mV/V

According to tech support I have on Green/White:


200Kg  -> 2.4V
100Kg -> 1.2V


I want to connect it to the arduino to measure, for example, 3Kg, but the signal is too low for the Analog in. Can somebody post what parts and schematic I need to have it done?


I saw mentions to these parts:


AD 620
INA 125P
MAX4208
OP07

but also:


ADS1234


I am confused and where I live there are none of those parts, so I need some assured part list to buy over internet and wait then arrive by mail.


Will be happy for some light.


Arduino Load Cell



Answer



First, some basic concepts:


Loadcells (and in general, Strain gage setups) have three important parameters:



  • Capacity: The maximum (full-scale) amount of weight that can be applied to the loadcell without damage

  • Recommended excitation voltage: Voltage to be applied to generate an output voltage difference in the Wheatstone bridge of the load cell


  • Sensitivity: When you apply a load equal to the Maximum capacity, the Sensitivity spec tells you what voltage the loadcell will output for EACH volt of excitation voltage that you apply


So, once you measure the output signal voltage of the load cell, you can use the above specs and easily infer your load measurement in kg.


For your setup:


In your load cell's case, it appears you would have to apply an excitation voltage of 12 V across Red (12V) and Black (GND). But now, suppose you were to directly connect the output wires as follows:


Green to an input of the Arduino (and White either to GND or to another input for a differential measurement). Then, based on your load cell's sensitivty spec, you can see that, for even the maximum capacity load, the output voltage would be on the order of only a few millivolts.


Thus you will notice from your Arduino readings that the output voltage across Green and White is way too small to be measured with any meaningful precision by the Arduino. This is because the Arduino has an ADC that has only 10-bit resolution.


Thus it is clear that you either need to (Option 1) Make the small signal bigger or (Option 2) Use a more precise way of reading the small signal.


Two solutions/approaches for the load cell measurement problem:


So with the above in mind, I suggest you approach your project using one of two options (these are among the standard methods used with load cells/strain gages):





  • You can amplify the load cell's output voltage signal, THEN feed it into the Arduino's ADC. You can use a pre-packaged instrumentation-amp IC like the INA125. To get much clearer understanding of how you might interface the load cell, the INA125, and an Arduino, check out this Arduino project, as well as this one




  • Or instead, you can skip the whole amplification stage, and simply measure with a High-resolution ADC, which you then interface with your Arduino. Here are three options for a 24-bit sigma-delta ADC, or lower resolution of you don't need that much precision: (1) the LTC2400 for 24-bit single-ended measurements, or (2) the LTC2440 for 24-bit differential measurements, or (3) the MCP3422/MCP3424 for 18-bit differential measurements. All of those three ADC options are fairly straightforward to use and interface with the Arduino, especially if you use existing libraries/code. For example, you can check out this tutorial for LTC2400, or instead this tutorial for LTC2440, or lastly this tutorial for MCP3422/MCP3424.




A couple of related notes:




  • Be sure to choose/apply an excitation voltage that is small enough that the final output signal won't damage your amplifier, your ADC, or your Arduino. Be sure to measure voltages with a DMM at various points along the stages the signal goes through to ensure that the signals are within the safe region.

  • For either of the above approaches that I mentioned, note that in order to get high precision in your measurement, you will want to use what is called a "Precision voltage reference" when you apply the excitation voltage. There are several options available for Voltage references; let me know if you have trouble finding one for your desired voltage.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...