Jump to content

As of July 17, 2015, the LabJack forums here at forums.labjack.com are shut down. New registrations, topics, and replies are disabled. All forums are in a read-only state for archive purposes.

Please visit our current forums at labjack.com/forums to view and make new posts. To post on the current forums, use your labjack.com login account. Your old LabJack forums login credentials have been retired. There are no longer separate logins for labjack.com and LabJack forums.


Photo

Bridge Circuits


  • Please log in to reply
12 replies to this topic

#1 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 27 March 2009 - 12:43 PM

A Wheatstone bridge is typically used to get measurements from resistive sensors that provide a small change of resistance. RTDs, strain gages, and load cells are typical examples.

 

http://en.wikipedia....eatstone_bridge

 

A load cell usually has a complete bridge inside, but an RTD or strain gage is typically a single resistive element, so the first step it to complete the bridge using 3 fixed resistors with the same value as the active element. Viewing the bridge as a diamond, an excitation voltage (Ve) is applied to the top and bottom, the bridge output is the voltage difference between the sides. If all resistors are exactly the same value, then the voltage on each side is Ve/2 compared to ground, and the difference (bridge output) is 0.0 volts. When the resistance of the active element (or elements) changes, you then get a small output voltage. Note that since each voltage is about Ve/2 compared to ground, the differential signal has a common-mode voltage of Ve/2.

 

The LJTick-InAmp (LJTIA) from LabJack is a 2-channel instrumentation amplifier that plugs into a couple analog input channels on a U3/UE9. The LJTIA has a 2.5 volt reference (Vref) that can source 25 mA. The is an excellent Ve source. Vref can supply 2 common 350 ohm or 1000 ohm bridges, or a single 120 ohm bridge. The relationship between change in the measured parameter (strain, load, temperature) and change in resistance is provided by the sensor manufacturer. Using standard bridge equations, this change in resistance can be related to bridge output voltage:

 

https://forums.labja...?showtopic=1273

 

The small differential output from a bridge is typically connected to an instrumentation amplifier or in-amp, such as the LJTIA from LabJack. An in-amp converts the differential voltage to single-ended (a single voltage referenced to ground), and amplifies the voltage. For the LJTIA, the relationship between input voltage (Vin, bridge output) and output voltage (Vout) is:

 

Vout = (Vin*Gain) + Voffset

 

Use the signal range tables in Appendix A of the LJTIA datasheet to choose Gain and Voffset. You want the highest gain you can use. Vout is the voltage measured by the U3/UE9. The relationships above can be combined to produce an equation relating measured parameter to Vout, but it is better to do a calibration by applying 2 known conditions (e.g. known loads on a load cell), noting the Vout produced at these points, an creating your own equation to relate the parameter to Vout. Here is an online calculator that takes 2 XY coordinates and provides the slope and offset of a line through those coordinates:

 

http://www.analyzema...Calculator.html

 

A good way to troubleshoot bridge circuits, is to provide a known condition (e.g. known load on a load cell), calculate the expected bridge output voltage and LJTIA output voltage, and measure those with a DMM. ****** Update: The new U6, available mid-May 2009, features high resolution and a built-in instrumentation amp, and thus can take measurements directly from a bridge.



#2 Kevin Frack

Kevin Frack
  • Members
  • 3 posts

Posted 06 April 2009 - 10:38 PM

I Purchased a Omega LCWD-50K Load cell with a 10Vdc Excitation It is to measure bolt Ft LBS changes on a pressure chamber Calibrated 0.00-- 50000.00 LBS Force - UNIT Data LBS - mVdc -------- ------------- 0.00 0.00 50000 18.8895 0.00 0.0018 Balance - 0.6571 mVdc Sensitivity 18.8895 mVdc In Resist 751.00 Ohms Out Resist 703.00 Ohms This is the only data from omega -------------------------------------------------------------------------------- I Am using a Labjack UE9 Ethernet connection And a LJTick-Inamp = AIN1 AIN0 Dip Set to 4,5,10 (ON) Readings of .375 on DaqF Table Value .375 no weight Value .3911 with me standing on the cell There is something wrong here think i need to use 10V Excitation 2.5V not working ? How many LBS am I ? and how do you figure it out or what am i doing wrong and how do i fix it I will need help on the formula conversions till i get the hang of this My next addition to this project is getting strain Gauges to work with it as well I Have 7 LJTick-InAmps as well as a second Labjack UE9 for Pressure ,Temp and Analog Readings of a Sony BCD output measurement Probe Please Help

#3 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 07 April 2009 - 07:00 AM

Going to Omega I don't see the info you posted. I see that the bridge has an output of 2 mV/V and the 50k model is a 700 ohm bridge. The latter is just important in that it tells you Vref can be used to excite the bridge, so all we worry about is the former. Load cells are always rated the same: They tell you the output at max load per volt of excitation. So 2 mV/V tells you that the load cell will provide 20 mV at 50,000 pounds with 10 volts of excitation. Perhaps the 18.9 mV (1.89 mV/V) figure you have is some sort of actual number (calibration) for your exact load cell, but I will proceed with just assuming the nominal 2 mV/V. Dividing by 50k, you get 2/50k = 40 nV/pound/V. So if you excite the cell with the 2.5 volt Vref, you expect 100 nV/pound, so if you weigh 200 pounds you should cause 20 uV of output. You have the LJTIA set to G=201, so you expect a change of about 4.02 mV on the LJTIA output. Your measurements show a change of 16.1 mV, which does not seem right. Maybe that test was with 10V excitation? So, the LJTIA equation is Vout = (Vin*Gain) + Voffset, or in your case Vout = (Vin*201) + 0.375. The other important equation is that with 2.5 volts equation your bridge gives you 100e-9 V/pound, so call 100e-9 "C" pounds "P" and say Vb=P*C. The bridge output is Vin to the LJTIA, so combine these: Vout = (P*C*201) + 0.375 ... or: P = (Vout-0.375)/(C*201) ... so if Vout was 0.379 (4 mV of change), you would get: P = (0.379-0.375)/(100e-9*201) = 199 pounds

#4 Kevin Frack

Kevin Frack
  • Members
  • 3 posts

Posted 07 April 2009 - 12:01 PM

Going to Omega I don't see the info you posted. I see that the bridge has an output of 2 mV/V and the 50k model is a 700 ohm bridge. The latter is just important in that it tells you Vref can be used to excite the bridge, so all we worry about is the former. Load cells are always rated the same: They tell you the output at max load per volt of excitation. So 2 mV/V tells you that the load cell will provide 20 mV at 50,000 pounds with 10 volts of excitation. Perhaps the 18.9 mV (1.89 mV/V) figure you have is some sort of actual number (calibration) for your exact load cell, but I will proceed with just assuming the nominal 2 mV/V.

Dividing by 50k, you get 2/50k = 40 nV/pound/V.

So if you excite the cell with the 2.5 volt Vref, you expect 100 nV/pound, so if you weigh 200 pounds you should cause 20 uV of output.

You have the LJTIA set to G=201, so you expect a change of about 4.02 mV on the LJTIA output. Your measurements show a change of 16.1 mV, which does not seem right. Maybe that test was with 10V excitation?


So, the LJTIA equation is Vout = (Vin*Gain) + Voffset, or in your case Vout = (Vin*201) + 0.375.

The other important equation is that with 2.5 volts equation your bridge gives you 100e-9 V/pound, so call 100e-9 "C" pounds "P" and say Vb=P*C. The bridge output is Vin to the LJTIA, so combine these:

Vout = (P*C*201) + 0.375

... or:

P = (Vout-0.375)/(C*201)

... so if Vout was 0.379 (4 mV of change), you would get:

P = (0.379-0.375)/(100e-9*201) = 199 pounds



Ok

The formula kinda works but not accurate i weigh 233lbs
I Plugged this formula in to Conversions in Daq Factory (Value-0.375)/(100e-9*201) its averaged 6 to 10
How do i get it calibrated for the weight im testing
i get a lot of bouncing readings by as much as 100 lbs
on the low end 3,6,9,lbs jumps all over the place

also tried doing a large load at 100/Ft LBS and 208FtLBS
by our calculations 208 FtLbs 3/4 10 bolt should read around 16,000lbs +-
the conversion is giving me 21970 to 22095 LBS
How do i adjust your formula to match calibrated readings with tork wrench

#5 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 07 April 2009 - 01:07 PM

i get a lot of bouncing readings by as much as 100 lbs

From Appendix B of the LJTIA datasheet, you can see that we measured a noise free resolution of about 9 uV (referred to LJTIA input) for a good signal with G=201 and a U3. Since your load cell gives 100 nV/pound, that equates to about 18 pounds best case. You can do a comparable experiment by removing your signal and just grounding both LJTIA inputs to see what the U3/LJTIA is capable of.

How do i adjust your formula to match calibrated readings with tork wrench

That is discussed near the end of the 1st post. If you can apply known loads, you can discard all our previous math and just do a calibration, which is usually better anyway. Apply 2 known loads, and note the voltage measured at each load. For example, say you have the following 2 known points:

x,y (volts,pounds)
0.375, 0.0
0.391, 200.0

The calculator gives us m=12500 and b=-4687.5, so:

P = 12500*V - 4687.5

For a reality check, I think your slope/offset should be similar to these values (12500/-4700).

#6 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 07 April 2009 - 03:18 PM

Oops, did not notice that you are talking about a UE9. Most likely you need to set the resolution as it is probably defaulting to 12-bit. Make a sequence in DAQFactory and set it to auto-start:

using("device.labjack.")
include("c:\program files\labjack\drivers\labjackud.h")
AddRequest(0, LJ_ioPUT_CONFIG, LJ_chAIN_RESOLUTION, 17, 0, 0)
AddRequest(0, LJ_ioPUT_AIN_RANGE, 0, LJ_rgUNI2P5V, 0, 0)
AddRequest(0, LJ_ioPUT_AIN_RANGE, 1, LJ_rgUNI2P5V, 0, 0)
AddRequest(0, LJ_ioPUT_AIN_RANGE, 2, LJ_rgUNI2P5V, 0, 0)
AddRequest(0, LJ_ioPUT_AIN_RANGE, 3, LJ_rgUNI2P5V, 0, 0)
GoOne(0)

That sets the device resolution to 17 and sets the range of AIN0-AIN3 to 0-2.5 volts. See Section 9.1.2 of the DAQFactory-LabJack Application Guide, and see Section 2.3 of the UD Driver for Windows Quick Reference.

If you had a UE9-Pro, you would probably use resolution=18 and range=LJ_rgUNI5V.

That sets the UE9 to max resolution, and then you can use the averaging feature in DAQFactory to try and reduce noise even further. See Section 3.1 of the UE9 User's Guide for information about data rates.

#7 Kevin Frack

Kevin Frack
  • Members
  • 3 posts

Posted 07 April 2009 - 08:23 PM

Oops, did not notice that you are talking about a UE9. Most likely you need to set the resolution as it is probably defaulting to 12-bit. Make a sequence in DAQFactory and set it to auto-start:

using("device.labjack.")
include("c:\program files\labjack\drivers\labjackud.h")
AddRequest(0, LJ_ioPUT_CONFIG, LJ_chAIN_RESOLUTION, 17, 0, 0)
AddRequest(0, LJ_ioPUT_AIN_RANGE, 0, LJ_rgUNI2P5V, 0, 0)
AddRequest(0, LJ_ioPUT_AIN_RANGE, 1, LJ_rgUNI2P5V, 0, 0)
AddRequest(0, LJ_ioPUT_AIN_RANGE, 2, LJ_rgUNI2P5V, 0, 0)
AddRequest(0, LJ_ioPUT_AIN_RANGE, 3, LJ_rgUNI2P5V, 0, 0)
GoOne(0)

That sets the device resolution to 17 and sets the range of AIN0-AIN3 to 0-2.5 volts. See Section 9.1.2 of the DAQFactory-LabJack Application Guide, and see Section 2.3 of the UD Driver for Windows Quick Reference.

If you had a UE9-Pro, you would probably use resolution=18 and range=LJ_rgUNI5V.

That sets the UE9 to max resolution, and then you can use the averaging feature in DAQFactory to try and reduce noise even further. See Section 3.1 of the UE9 User's Guide for information about data rates.




How Can i tell if the labjack is using the script settings

I Pasted your Script in to the sequences area called it SetupLabjack and it shows status stopped
is this the right way to use the script please advise
when i click on begin it blinls the takes the labjack of line for about 30 seconds

#8 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 08 April 2009 - 08:52 AM

If you selected the option, the script will run when your CTL loads. In addition, you can right-click on the script to run it whenever you want.

How Can i tell if the labjack is using the script settings

Run the script with resolution=12 and resolution=17. You should see a big difference in the noise level on a ground input, per Appendix B of the UE9 User's Guide.

#9 silogarrett

silogarrett
  • Members
  • 9 posts

Posted 18 October 2010 - 05:50 PM

Hi Guru! Sorry to bump an old thread, but I'm not having much luck with my bolt type load cell. Using DF and a UE9 with an LJTick-InAmp, connected to a 1-1/4" Strainsert SXS-FB 350 Ohms bolt in tension. The factory literature says excitation voltage can go as high as 12V, and output is 3.5 to 4 millivolts per volt. This a pretty hefty load cell as it is rated up to 97000 lbs. On the calibration sheet, no load read at 0.000 mV, and was linear up to 97000 lbs with 3.705 mV. I have the LJTIA set at 0.4 offset, and all other DIP switches off for a gain of 1. Vin with no load is measured at 0.6 mV. Vref is 2.48V and both INA+ and INA- read 1.23V. GND reads zero and has continuity to ground. Yellow wire to INA+, white to INA-, red to Vref, black to GND. The AIN0 reads 0.400 and AIN1 reads 0.395, which seems strange. Both numbers are changing at the nanovolt level, so I know I'm getting a real number. Problem is, I can jump up and down on this load cell and I get no deflection in either channel whatsoever. I have checked the bridge resistance readings between all of the pairs of wires on the load cell cable and all readings check out. I'm not an expert on load cells by any stretch of the imagination and I desperately need your advice. I have the following code in an autostart sequence: [codebox]using("device.labjack.") include("c:\program files\labjack\drivers\labjackud.h") AddRequest(1, LJ_ioPUT_CONFIG, LJ_chAIN_RESOLUTION, 17, 0, 0) AddRequest(1, LJ_ioPUT_AIN_RANGE, 0, LJ_rgUNI2P5V, 0, 0) AddRequest(1, LJ_ioPUT_AIN_RANGE, 1, LJ_rgUNI2P5V, 0, 0) GoOne(1)[/codebox] Any ideas as to what I'm doing wrong or anything that I can try? Mike

#10 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 19 October 2010 - 10:31 AM

I suggest you do initial testing with the test panel in LJControlPanel or using LJLogUD. Either way you can set the resolution and range simpler in these apps.

Sounds like you expect 0-9.3 mV corresponding to 0-97000 pounds. You have gain=1 and offset=0.4 on the LJTIA, so at 0 pounds you get about 400 mV output and if you stand on it and provide a load of 200 pounds you would expect a change of only 20 uV. Not much change, so maybe you just can't see it.

If you set the gain to 201, then the 20 uV change would be amplified to about 4020 uV, which you should be able to see.

One comment on DF is that you should have an ErrorHandler sequence and call it after every Go, GoOne, eGet, or ePut. See the example "AIN Configuration UE9.ctl":

http://labjack.com/s...ples/daqfactory

#11 silogarrett

silogarrett
  • Members
  • 9 posts

Posted 19 October 2010 - 05:04 PM

Check, thank you. I will try it tomorrow am. Do I need to turn on DIP switches 1 through 4, or just 4? Is the 0.4 offset okay? Mike

#12 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 20 October 2010 - 08:53 AM

You would just turn on switch #10 to give channel A a gain of x201. So you need switches 5 and 10 on. Yes, the 0.4 volt offset is likely the best choice since you have a unipolar signal (0-9.3mV as opposed to +/-9.3mV).

#13 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 03 March 2015 - 09:26 AM

Basic procedure for a bridge circuit with a U6/T7

 

We will assume a typical bridge made up of 4x 350 ohm elements, and thus the overall bridge resistance is 350 ohms.  Our example bridge will be a load cell with a rated output of 2 mV/V.  The bridge has 4 wires.  Referring to the Wikipedia diagram, A=Vexc+, C=Vexc-, and D & B are Signal+ & Signal-.

 

The output of a bridge is directly proportional to the excitation voltage.  If we excite our 2 mV/V load cell with 2.5 V, it will produce an output signal of about 5 mV at rated load.  If the excitation source has +/-10 mV of noise, our signal will have +/-20 uV of noise.

 

It is always recommended to use feedback to measure the actual value of the excitation voltage in real-time.  The analog inputs on the U6/T7 are better (more accurate and more stable) than all but extremely expensive excitation sources.  Make a connection from Vexc+ to an AIN terminal and take a reading from that whenever you take a reading of the bridge signal.

 

 

1.  Choose an excitation source.  Connect the source to Vexc+ and connect GND to Vexc-.  Also connect the source to AIN3 for measurement of the actual value in real-time.

 

VS:  This is the 5V power supply from the U6/T7.  It is not particularly stable or low-noise, but as long as you use real-time feedback (see paragraph above) it works fine for many applications.  Decent option.

 

DACx:  The analog outputs on the U6/T7 are quite stable and low-noise.  Each can provide perhaps 20 mA max, but also consider that they have 50 ohms of source impedance so at 20 mA the output will be about 1 V less than specified (real-time feedback required).  Set DACx to 4.0V as the power-up default, then power cycle the U6/T7 and use a DMM to confirm that the DAC does power up to 4.0V with no load.  U6 - Use "Config Defaults" in LJControlPanel.  T7 - Use "Analog Outputs" tab and then "Power-Up Defaults" tab.  Note that for good noise performance you want to keep the DAC voltage at least a few tenths of a volt below the power rail (VS).  Better option.

 

LJTick-VRef-41 or Vref from other LJTick:  Provides a very stable and low-noise reference capable of  substantial current drive.  The LJTick-InAmp and LJTick-Divider also provide excellent 2.5 V references that can be used.  Because of the accuracy and stability of these references real-time feedback is optional.  Best option.

 

External Vexc:  Advantage is that these are usually 10 V, and thus you get more output signal which is generally good.  Disadvantages are that a good one is expensive, and it is very difficult to find an external supply at any price that will result in lower noise than use a DAC output or LJTick-Vref.  Comparing an external 10V source to the LJTick-Vref-41, if the external source has >2.4 times the noise (versus LabJack GND) of the tick, which is likely, you have not gained anything by using the larger voltage source.  If you use an external power supply, you need 1 connection from the common/negative of the supply to GND on the U6/T7, and then connect positive to Vexc+ on each bridge and common/negative to Vexc- on each bridge.

 

Note that many load cells and strain gages (or gauges) specify a recommended excitation voltage of 10 volts.  This might be where the manufacturer calibrated, but the output will scale linearly with any excitation voltage. A maximum excitation voltage is often specified (15 volts is typical), but generally no minimum voltage is specified and there is no reason to.  Using normal load cells with lower excitation voltage such as 2.5 or 4.1 volts is fine, and when considering the low noise of our reference sources the 2.5/4.1 excitation usually provides superior performance.

 

2.  Connect Signal+ to AIN0 and Signal- to AIN1.  Take a differential measurement of AIN0-AIN1 to acquire the signal voltage.

 

Put on a known load, and confirm that you get the expected output from the bridge.  In our example, the output at 100% rated load is Vexc * 0.002, so if we measure Vexc as 3.5 V and are at 50% load we expect a signal of 0.0035 V.

 

Range:  In our example the load cell has a max output of 5 mV or 8.2 mV for an excitation voltage of 2.5 or 4.1 volts, so we can use the smallest analog input range on the U6/T7 which is +/-0.01 V (Gain = x1000).

 

Resolution Index:  The default of 0 equates to 8 on a U6/T7 and 9 on a U6-Pro/T7-Pro.  This will work great, but for the best results possible on a -Pro you would set this to 12.

 

T7:  Use the Analog Inputs tab in Kipling to view the reading.  Click the "+" under Options for AIN0, set Range to +/-0.01 V, set Resolution Index as desired, and set Negative Channel to AIN1.  Use the "Power-Up Defaults" tab if you want to save these settings so they will work in LJLogM.

 

U6:  Use the test panel in LJControlPanel to view the reading.  Set the Range of AIN0 to "BI 0.01V", check the "Diff" box for AIN0 to make it differential (which will be AIN0-AIN1), and set Resolution Index as desired.

 

2b.  Troubleshooting the signal voltage measurement if wrong or too noisy.

 

Wrong value:  Put a known load on the load cell and check the bridge voltages with a DMM.  Measure from Vexc+ to Vexc- to confirm the excitation voltage.  Measure from Signal+ to Signal- to confirm the signal voltage is as expected.

 

Right average value but too noisy:  Remove your signals from AIN0 & AIN1 and instead jumper both inputs to GND.  Look at the noise level and compare to the expected levels for the U6 & T7 (which are the same in this regard).  If the noise level of the readings with your actual bridge signals connected are much higher, the most likely culprit is the excitation voltage, but you can usually get rid of most of that later since you will use the real-time Vexc reading (feedback) in your scaling equation.

 

 

3.  Apply scaling to the voltage readings.

 

Using the bridge output spec:  In our case, the example load cell spec of 2 mV/V tells us that the signal output in volts at 100% rated load will be 0.002 * Vexc.  Thus we can say:

 

Load = RatedLoad * Vsignal / (0.002 * Vexc)

 

Using a system calibration:  A system calibration is the best option because it includes all sources of error.  If you can put the system in 2 known conditions, you can get 2 pairs of points and fit a line to get a slope & offset.  In our load cell example, 2 likely known conditions would be 0 load and 80-90% rated load (use a reference weight for example).  This will give you a slope & offset (y = m * x + b, or Load = Slope * Vsignal + Offset) that is valid at the Vexc during the time of that calibration (Vexccal), so to make it valid with the real-time reading of Vexc you would write it as:

 

Load = ((Slope * Vsignal) + Offset) * Vexc/Vexccal

 

 

Note that both of these equations rely on 2 real-time readings:  Vsignal & Vexc.  With most of the excitation sources above, simply getting a single reading of Vsignal and then Vexc will provide excellent results, and if using VS for Vexc that will provide decent results.  For the absolute best results, you want to get a bunch of readings that are done Vsignal->Vexc->Vsignal->Vexc->... and so on.  That way you have a bunch of readings of both that are spread across the same time period and you can average these.

 

 

4.  Acquiring & logging data with LJLogUD/LJLogM.

 

On Windows, an easy way to quickly view and log data is with LJLogUD.exe (U3/U6/UE9) or LJLogM.exe (T7).

 

When LJLog first opens, by default #Channels=4.  That means it is using the first 4 rows, which can be set to acquire any channels you want.

 

The first 2 rows are taking single-ended measurements of AIN0 and AIN1.  With a typical bridge circuit, you should see that these both read about 0.5 * Vexc.

 

In the 3rd row (row 2 or c), set +Ch = 0 and set -Ch = 1.  If using LJLogUD, set Range = LJ_rgBIPP01V ("BIPolar Point 01 Volt" is the +/-0.01V range).  As of this writing, LJLogM does not do analog configuration, so if you are using a T7 you need to first use Kipling to do the analog configuration as described in step #2 above (setting the small range is important).  You should now see your raw bridge voltage in this row.

 

The 4th row (row 3 or d) is taking a single-ended measurement of AIN3.  This is Vexc.

 

 

Modify the scaling equation in the 3rd row (row 2 or c) as desired.  Assume you are using the 1st style of equation from step #3 above and the rated load of the cell is 200 kg:

 

kg = 200 * Vsignal / (0.002 * Vexc)

 

Vsignal is from row c and Vexc is from row d, so you would enter this in LJLog as:

 

y=200*c/(0.002*d)

 

Find more detail on scaling equations here.

 

 

To start logging data to file, click "Write To File".

 

 

For more software options, see "Software Options" on the support homepage:

 

U6 Support Homepage

T7 Support Homepage




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users