Test an AIN Channel (App Note) | LabJack
 
« Close

Datasheets and User Guides

App Notes

Software & Driver

 

Test an AIN Channel (App Note)

Think that something might be wrong with an analog input on your LabJack?  The following describes basic tests for analog inputs on T-series devices (T4, T7) and UD devices (U3, U6, UE9).  If anything does not work as expected go through the troubleshooting tips at the bottom of this page.

Hint: The LabJack is almost always working right!  Damage is very rare. Expect these tests to show that your LabJack has not been damaged.

Ground Test

Securely clamp a jumper wire from GND to AINx and observe the readings.  For differential, jumper both analog inputs to GND.

Accuracy

Readings should be 0.0 to within the accuracy spec for the device.

U3-HV (±10V range, HV channels*): -0.027 to +0.027 volts
U6/U6-Pro (±10V range): -0.002 to +0.002 volts
UE9 (±5V range): -0.005 to +0.005 volts
T4 (±10V range, HV channels*): -0.027 to +0.027 volts
T7/T7-Pro (±10V range): -0.002 to +0.002 volts

*This is not a good test for the low voltage analog inputs (FIO/EIO) on the U3 and T4, as their span often does not go down all the way to 0.000 volts.

Noise

The noise level of most (1 standard deviation) readings should be similar to the documented effective or RMS noise level.

U3-HV (±10V range, HV channels*, ResolutionIndex=5): 5 mV/count, ±1 counts of noise
U6 (±10V range, ResolutionIndex=8): 37 µV
U6-Pro (±10V range, ResolutionIndex=9): 26 µV
UE9 (±5V range,ResolutionIndex=17): 44 µV
T4 (±10V range, HV channels*, ResolutionIndex=5): 5 mV/count, ±1 counts of noise
T7 (±10V range, ResolutionIndex=8): 37 µV
T7-Pro (±10V range, ResolutionIndex=9): 26 µV

*This is not a good test for the low voltage analog inputs (FIO/EIO) on the U3 and T4, as their span often does not go down all the way to 0.000 volts.

DAC Test

Securely clamp a jumper wire from DACx to AINx and observe the AINx readings as you adjust DACx.  Vary DACx from 0.5 to 4.5 volts and confirm AINx reads a similar value.  This can be done on the Dashboard in Kipling or the Test panel in LJControlPanel.

Differential Test

For a basic test of differential analog inputs, jumper the inputs to GND or VS.  Expected readings follow.

U3:
AIN0 => VS, AIN1 => GND, Reading => 41072 counts
AIN0 => VS, AIN1 => VS, Reading => 32768 counts
AIN0 => GND, AIN1 => VS, Reading => 24496 counts
FIO4 => VS, FIO5 => GND, Reading => 2.4 volts
FIO4 => VS, FIO5 => VS, Reading => 0 volts
FIO4 => GND, FIO5 => VS, Reading => -2.4 volts
 

U6 & T7:
AIN0 => VS, AIN1 => GND, Reading => 5 volts
AIN0 => VS, AIN1 => VS, Reading => 0.0 volts
AIN0 => GND, AIN1 => VS, Reading => -5 volts

These U6/T7 values are when using the ±10V range, but this test also works for other ranges as the 5 or -5 readings above will just hit the limit of the range.  For example, if Range=0.1 the last reading above will be -0.1 volts rather than -5 volts.

    Mux80 Extended Channels

    The Mux80 is added to a U6/UE9/T7 to create analog inputs 48 through 127.  These extended channels behave the same as normal channels, so testing is the same as above, but here are a couple tips:

    • LJControlPanel does not support the extended channels, so for UD devices use LJLogUD to view readings from any analog input.
    • Extended channels do no show up on the Dashboard or Analog Inputs tab in Kipling, so for T-series devices use the Register Matrix in Kipling or use LJLogM.
    • AIN48-AIN127 appear on the X2-X5 connectors of the Mux80.  If using CB37s to provide screw terminal connections, you must use Table 1 of the Mux80 Datasheet to find where each extended analog input appears on the CB37s.
    • Unlike normal analog inputs, differential pairs for extended analog inputs are not positive=even and negative=even+1.  See the Mux80 Datasheet to determine the correct channel numbers for positive/negative differential pairs.

     

    Troubleshooting Tips

    T1. Update to the latest version (beta if available) of our software so you are using the same as us.

    T2. Update to the latest firmware (beta if available) so you are using the same as us.

    • T-series:  Use the Device Updater tab in Kipling.
    • UD (U3, U6, UE9): Use LJSelfUpgrade for Windows.

    T3. Reset device to factory condition. This eliminates issues due to custom analog configuration, AIN-EF configuration, and Lua scripts.

    1. Securely install reset jumper
          U3-LV or U3-HV: SPC to FIO6
          U6: SPC to FIO2
          UE9: SCL to FIO2
          T4: SPC to FIO6
          T7: SPC to FIO2
    2. Power cycle the device.
    3. Remove reset jumper.
    4. Power cycle the device.

    T4. Remove all connections except power & communication as needed (e.g. USB). This includes ANY and ALL connections to screw terminals or DB15/DB37 ports. Then just use 1 or 2 small jumper wires as needed for testing. This eliminates issues caused by other user connections.

    T5. Confirm power supply is 4.75 to 5.25 volts. Use a DMM to measure VS to GND (see T7 below), and/or add an extra jumper wire to connect VS to some unused analog input.

    T6. Close all other software and just run Kipling (T-series devices) or LJControlPanel (UD devices).  This eliminates issues due to unknown software.

    T7. Make sure any applicable screw terminals are securely clamped on a conductor.  Click for more about screw terminals.

    T8. Contact LabJack Support for further help.


     

     

    5 comments

    This is an app note?  Really?

    Sometimes it is nice to see something is as simple as you thought.

    This is great for newbies like me. Thanks!!

    I want to read two outputs from my circuit. I just wanted to make sure I understand it well: I have to connect one output to AIN0 and the other to AIN1 and then connect the ground of my circuit to GND on LabJack?

    Do I have to configure negative channels if I am doing single ended readings? Your Matlab Streaming code includes the bit I pasted below, is it necessary?

    %Configure the negative channels for single ended readings.

        aNames = NET.createArray('System.String', numAddresses);

        aValues = NET.createArray('System.Double', numAddresses);

        for i=1:numAddresses,

            aNames(i) = [char(aScanListNames(i)) '_NEGATIVE_CH'];

            aValues(i) = LJM_CONSTANTS.GND;

        end

        LabJack.LJM.eWriteNames(handle, numAddresses, aNames, aValues, 0);

    Thank you in advance.

    That sounds right.  Will the voltage of each point (versus ground) be within the valid AIN range of your LabJack?  In your code you are talking to the LJM libary, which suggests you have a T7.  The max AIN range for the T7 is +/-10V.

    The default is single-ended (negative channel = 199), so you likely do not need to write those in your case.