« Close

Datasheets and User Guides

App Notes

Software & Driver

 

EI-1050 Datasheet

1432

 

Overview

The EI-1050 is a digital relative humidity and temperature probe intended for use with any LabJack DAQ device.  It combines a single chip sensor module with a selector chip and buffering components on a small PC board. The single chip sensor is manufactured by Sensirion and provides a 14-bit/12-bit (temperature/humidity) serial digital output for each reading. It is housed in a plastic tube (4.5 in by 0.625 in) with a 6 ft cable. The device includes two calibrated microsensors for relative humidity and temperature. Since the output is serial digital data, this results in superior signal quality, a fast response time and insensitivity to external disturbances (EMC). Each sensor is calibrated by Sensirion in a precision humidity chamber and the calibration coefficients are programmed into the OTP memory. These coefficients are used internally during measurements to calibrate the signals from the sensors. The interface to the EI-1050 is a 5-wire connection consisting of supply voltage, ground, clock, data, and enable. By using the enable line multiple probes can be connected to a LabJack at once.

 

UD & LJM Device Connections

This section applies to all LabJack DAQ devices except the U12.  UD devices are the U3, U6, and UE9.  LJM devices are the T series.

The EI-1050 uses an SHT11 digital sensor, and a key specification of this sensor is that the signal input voltage for a logic-high is 80%-100% of the supply voltage.  If the supply voltage is 5.0V, that means 4.0-5.0V, but all LabJacks, except the U12, have 3.3V logic where a digital output-high is 3.3V.  This is not a problem for the Data line, since to get a high on the serial bus the I/O line is set to input and the 22k pull-up brings the line above 4 volts, but the Clock line is driven output-high/output-low.  Thus for a direct digital output from the LabJack (U12 excepted) to provide the clock signal, the EI-1050 must be powered by 3.3V not 5.0V.

Red Wire (Power):  Need to supply 3.3 volts.  The simplest way to get 3.3 volts is by using a digital line configured as output-high.  An analog output (DAC) can also be used.  Note that a single FIO line can only provide enough power for up to 4 probes.  An EIO/CIO/MIO line or DAC line can provide power for up to 20 probes.  FIO2 is used below.

Black Wire (Ground): Connect to any GND terminal.

Green Wire (Data): Any digital I/O line can be used.  FIO0 is used below.

White Wire (Clock): Any digital I/O line can be used.  FIO1 is used below.

Brown Wire (Enable): The probe is enabled when this line is pulled to the supply voltage (3.3 volts for UD series devices). The probe is disabled when this line is pulled to ground. This allows multiple probes to be connected to a single device using the same Data and Clock lines, and only a unique Enable line is required for each probe.  If only a single EI-1050 is being used, and you want it to be enabled all the time, the Enable line can be left unconnected as there is an internal pull-up resistor to the Power line, but it is recommended that the Enable line be connected to the same terminal as the Power line.

If multiple probes are being used, they can all be connected to the same Power/Ground/Data/Clock terminals. The Enable line on each probe is connected to a unique digital output, and all enables are set to output-low to disable all probes. To get measurements from a particular probe, the Enable line for that probe is set to output-high, readings are taken, and then the Enable line is set back to output-low.

 

UD Library Communication (U3/U6/UE9):

The LabJack UD driver for Windows (V2.48+) has special support for the EI-1050. There is 1 IOType and 4 special channels:

LJ_ioSHT_GET_READING 
LJ_chSHT_TEMP   // Used with IOType above. 
LJ_chSHT_RH   // Used with IOType above. 
LJ_chSHT_DATA_CHANNEL // Used with LJ_ioPUT_CONFIG. 
LJ_chSHT_CLOCK_CHANNEL // Used with LJ_ioPUT_CONFIG. 

The EI-1050 Sample page has examples. The following pseudocode demonstrates retrieving measurements from a single probe:


//Set FIO2 to output-high to provide power to the EI-1050.  
ePut (lngHandle, LJ_ioPUT_DIGITAL_BIT, 2, 1, 0); 
 
//Specify the data and clock lines.  
ePut (lngHandle, LJ_ioPUT_CONFIG, LJ_chSHT_DATA_CHANNEL, 0, 0);  
ePut (lngHandle, LJ_ioPUT_CONFIG, LJ_chSHT_CLOCK_CHANNEL, 1, 0); 
 
//Now, an add/go/get block to execute multiple requests. 
//Request a temperature reading from the EI-1050. 
AddRequest (lngHandle, LJ_ioSHT_GET_READING, LJ_chSHT_TEMP, 0, 0, 0); 
 
//Request a humidity reading from the EI-1050. 
AddRequest (lngHandle, LJ_ioSHT_GET_READING, LJ_chSHT_RH, 0, 0, 0); 
 
//Execute the requests.  Will take about 0.5 seconds with a USB high-high 
//or Ethernet connection, and about 1.5 seconds with a normal USB connection. 
GoOne (lngHandle); 
 
//Get the temperature reading result. 
GetResult (lngHandle, LJ_ioSHT_GET_READING, LJ_chSHT_TEMP, &dblTemperatureKelvin); 
 
//Get the humidity reading result. 
GetResult (lngHandle, LJ_ioSHT_GET_READING, LJ_chSHT_RH, &dblHumidityPercent);

 

If using multiple probes, you would also have a call before each reading to enable the desired probe, and a call after each reading to disable.

 

T Series Communication:

This section applies whether using the LJM library or direct Modbus TCP.

The data/clock/power lines default to FIO0-2, so if you connect your EI-1050 to:

GND    Ground (black)
FIO0    Data (green)
FIO1    Clock (white)
FIO2    Power (red) (the EI-1050 needs 3.3V power, not 5 volts)
FIO3    Enable (brown)

... you can then simply read SBUS3_TEMP & SBUS3_RH without doing any configuration.  Run LJLogM and put SBUS3_TEMP & SBUS3_RH in whatever row you want.

SBUS is a serial protocol used with SHT1X and SHT7x sensors from Sensirion.  It is similar to I2C, but not the same.  The EI-1050 uses the SHT11 sensor.  Other available sensors are the SHT10, SHT15, SHT71, and SHT75.

For more details see the SBUS section in the T7 datasheet.

 

U12 Connections & Communication:

Multiple EI-1050 probes can be connected to a single LabJack U12. When using multiple probes, the data and clock line from every probe connect to the same LabJack terminals (IO0 and IO1). An individual connection is needed for the enable line on each probe. The enable line is pulled high inside the probe, so the probe is enabled when this line is disconnected (not recommended), connected to +5V, connected to an analog output set to 5.0 volts, connected to a digital input, or connected to a digital output set high. The probe is disabled when the enable line is connected to GND, connected to an analog output set to 0.0 volts, or connected to a digital output set low. This can be accomplished using IO2, IO3, AOx, or Dx, providing multiple enable line connections. The example programs provided by LabJack Corporation, toggle the digital lines between input and output-low to enable and disable the probe (analog outputs are toggled between 0.0 volts and 5.0 volts). When the probe is disabled, it is powered-up, but there is no communication.

There are two example applications available from LabJack Corporation to experiment with the EI-1050 probe(s): LJSHT.exe and LJSHTmulti.exe. These are installed as part of the normal U12 Legacy installation and can be found in the start menu along with LJlogger, LJtest, and others. LJSHT acquires temperature and humidity readings from 1 or 2 probes and displays the information on a chart. LJSHTmulti acquires readings from many probes and displays the current readings in a table.

LabJack U12 drivers V1.10 and later have 3 new functions for communicating with the EI-1050 (and SHT1X sensors in general):

  • SHT1X: This is the only function most programmers will use, and retrieves a temperature and/or humidity reading.
  • SHTComm: A general function that sends and receives up to 4 bytes to/from a SHT1X sensor. Allows access to advanced features of the sensors.
  • SHTCRC: Used with SHTComm. Checks the validity of a returned CRC byte.

For more information on the drivers functions, see the “LabJack U12 User’s Guide”.

LabJack U12 firmware V1.10 (serial numbers 100012000 and higher, 03/2003) and later has new functions to perform the SHT1X communication at a hardware level, such that one call to the LabJack U12 will send/receive up to 4 bytes of data. When using such hardware communication, it takes about 230 ms to get a 14 bit temperature reading and about 75 ms to get a 12 bit humidity reading. The LabJack U12 is busy during this time and unavailable for other operations.

When the LabJack U12 driver detects a firmware version earlier than V1.10, it reverts to software communication mode, and takes about 2 seconds to get a temperature or humidity reading. The LabJack U12 is busy during this time and unavailable for other operations. Firmware upgrade requires the replacement of a chip (which is socketed, not soldered). Contact LabJack Corporation for more information.

Having trouble with your EI-1050? Try running The EI-1050 Sample App.

 

Low-Level Interface

This information is mostly for talking to the EI-1050 with something other than a LabJack.

The EI-1050 uses the SHT11 from Sensirion.  The SHT11 speaks SBUS, which is similar to I2C but not exactly the same.  Details are provided by Sensirion.

The EI-1050 adds small RC filters (R=47 & C=1nF) to the Data and Clock lines.

The EI-1050 adds a MAX4514 switch to the Data line.  This switch is controlled by the Enable line on the EI-1050.  The Enable line has a 22k pull-up to Power.

The EI-1050 adds a 22k pull-up (to Power) to the Data line, but this is behind the switch so only connected when the probe is enabled.

 

Specifications:

Relative Humidity Sensor (RH)

Range: 0 to 100 % RH

Accuracy: ±3.5 %

Response Time: 4 s

Reproducibility: H % R ±0.1

Resolution: 0.03 % RH

Temperature Sensor

Range: -40°C to 120°C

Accuracy:

0.5°C @ 25°C

0.9°C from 0 to 40°C

Response Time: 20 s

Reproducibility: ±0.1 °C

Resolution: 0.01 °C

Operating Temperature: -40°C to 120°C

General Electrical

Supply Voltage Range: 2.4 to 5.5 V

Input Current During Measurement: 0.6 mA

Input Current Standby: 0.12 mA

Cable Interface (LabJack U12 Terminal):

Power: Red (3.3 V for U3/UE9, 5V for U12)

Ground: Black (GND)

Data: Green (FIO0 or other for U3/UE9, IO0 for U12)

Clock: White (FIO1 or other for U3/UE9, IO1 for U12)

Enable: Brown

 

Tube Dimensions

5/8" Outside Diameter

4 1/2" Length

 

More detailed specifications can be found at Sensirion's web page on the SHT11 datasheet: http://www.sensirion.com/

 

Special Notice Regarding EI-1050 Cable

Although the temperature sensor and associated electronics are rated for 150 degrees C, the cable is only rated for 80 degrees C. We have tested the cable, probe at 150 degrees C, and have noticed the cable gets soft at the high temperatures but continues to function. When the cable and probe were returned to normal temperatures, no degrading was observed in the cable or probe. Also at the low temperatures, the cable is only rated to -20 degrees C where the sensor and associated electronics are rated lower. Testing the probe with the wire at the lower temperatures showed normal operation and no degrading of the cable when returned to normal temperatures. The user should be aware that even though the probe itself can operate at the rated temperatures the use of the cable in environments of over 80 degrees C and lower than 20 degrees C is at your own risk.

Special Notice Regarding Environmental Contamination

The tube provides protection from fingers and large contaminants, but if your environment has the risk of smaller contaminants such as insects, dust, or rain, additional protection is recommended.

 

Manufactured by:

ELECTRONIC INNOVATIONS CORP

3333 S. WADSWORTH BLVD. UNIT A104

LAKEWOOD CO 80227

303-987-2441 FAX 303-980-6581

Email: [email protected]

Web: www.designcircuit.com

 

6 comments

Wouldn't it be possible to connect to a VREF of a divider instead to sacrificing one IO line for power supply, saving also initialization overhead?

Any way to provide 3.3 volts is fine.  If you would rather add some hardware, than use a DIO or DAC line for the 3.3 volt power supply (U3/U6/UE9), I suggest a 3-terminal 3.3 volt regulator with VS as its source.

I would not need additional hardware in case the LJTick Divider offering 2.5V only would be fine...

Also it is not apreciated that the sensor blocks the CPU that long when acquiring data...

I would not recommend 2.5 volts for the power supply.  If the EI-1050 is powered from 2.5 volts then the 3.3 volt logic will be an overvoltage on the digital inputs.

I would not expect the EI-1050 to block the CPU.  Other threads and processes on your computer should be sharing the CPU.  It does block the LabJack because the LabJack is communicating the entire time, not just waiting.

Can the pseudocode above run on Linux in C?  I can't find the ePut function in any of the header files...

No, that is UD driver only pseudocode.  For Linux and C you will need to setup low-level packets to send the SHT1X low-level function (documented in the low-level function reference section of the User's Guide), and convert the read temperature and humidity raw binary values to Celsius and percentage.  Take a look at this forum topic as it provides help on this issue and the conversions: http://forums.labjack.com/index.php?showtopic=2981

If you are using the LabJackPython there is a sht1x function for each device class.