TSL2591 Datasheet - Apr. 2013 - ams163.5 General Description The TSL2591 is a very-high sensitivity light-to-digital converter that transforms light intensity into a digital signal output capable of direct I 2C interface. The device combines one broadband photodiode (visible plus infrared) and one infrared-responding photodiode on a single CMOS integrated circuit. Two integrating ADCs convert the photodiode currents into a digital output that represents the irradiance measured on each channel.
Figure TSL2591 – 2: Block Diagram Detailed Description The TSL2591 contains two integrating analog-to-digital converters (ADC) that integrate currents from two photodiodes. Integration of both channels occurs simultaneously. Upon completion of the conversion cycle, the conversion result is transferred to the Channel 0 and Channel 1 data registers, respectively. The transfers are double-buffered to ensure that the integrity of the data is maintained.
The TSL2591 pin assignments are described below. Pin Assignment Figure TSL2591 – 3: Pin Diagram Package FN Dual Flat No-Lead (Top View): Package drawing is not to scale. SCL 1 6 SDA INT 2 5 VDD GND 3 4 NC Figure TSL2591 – 4: Pin Description Pin Number Pin Name 1 SCL I2C serial clock input terminal 2 INT Interrupt — open drain output (active low). 3 GND Power supply ground. All voltages are referenced to GND. 4 NC No connect — do not connect.
Ordering Information Figure TSL2591 – 5: Ordering Information Ordering Code Address Interface Delivery form TSL25911FN 0x29 I2C Vbus = VDD Interface ODFN-6 TSL25913FN* 0x29 I2C Vbus = 1.8V ODFN-6 *Contact factory for availability. Notes: 1. All products are RoHS compliant and ams green. 2. Buy our products or get free samples online at www.ams.com/ICdirect 3. Technical Support is available at www.ams.com/Technical-Support 4. For further information and requests, email us at sales@ams.com 5.
All limits are guaranteed. The parameters with min and max values are guaranteed with production tests or SQC (Statistical Quality Control) methods. Electrical Characteristics Figure TSL2591 – 7: Recommended Operating Conditions Symbol VDD TA Parameter Min Typ Max Units Supply voltage 2.7 3 3.
Figure TSL2591 – 9: ALS Characteristics, VDD=3V, TA=25ºC, AGAIN = Max, AEN=1, (unless otherwise noted) (Notes 1, 2, 3), Parameter Conditions Dark ADC count value Ee = 0, ATIME=000b (100ms) ADC integration time step size ATIME = 000b (100ms) Channel Min CH0 CH1 0 0 Max Units 25 25 counts 108 ms 1 6 steps 95 ADC number of integration steps (Note 4) Typ 101 ADC counts per step ATIME = 000b (100ms) 0 37888 counts ADC count value ATIME = 101b (600ms) 0 65535 counts White light (
The timing characteristics of TSL2591 are given below. Timing Characteristics Figure TSL2591 – 10: AC Electrical Characteristics, VDD = 3 V, TA = 25ºC (unless otherwise noted) Parameter† Description Min Typ Max Units 400 kHz f(SCL) Clock frequency (I2C only) t(BUF) Bus free time between start and stop condition 1.3 μs Hold time after (repeated) start condition. After this period, the first clock is generated. 0.6 μs t(SUSTA) Repeated start condition setup time 0.
Typical Operating Characteristics Figure TSL2591 – 12: Spectral Responsivity Spectral Responsivity: Two channel response allows for tunable illuminance (lux) calculation regardless of transmissivity of glass. 1 0.9 Normalized Responsivity 0.8 CH0 0.7 0.6 0.5 0.4 CH1 0.3 0.2 0.1 0 300 400 500 600 700 800 900 1000 1100 λ - Wavelength - nm Figure TSL2591 – 13: White Normalized Responsivity vs.
IDD vs. VDD vs. Temp: Effect of supply voltage and temperature on active current. IDD - Active Current Normalized @ 3V, 25ºC Figure TSL2591 – 14: Normalized IDD vs. VDD and Temperature 1.2 1.15 75°C 1.1 50°C 25°C 1.05 5°C 1 0.95 0.9 2.7 2.8 2.9 3 3.1 3.2 3.3 3.4 3.5 3.6 VDD - Source Voltage - V Figure TSL2591 – 15: Response to White LED vs. Temperature White LED Response v Temp: Effect of temperature on the device response for a broadband white light source.
The device is controlled and monitored by registers accessed Register Description through the I 2C serial interface. These registers provide for a variety of control functions and can be read to determine results of the ADC conversions. The register set is summarized in Figure TSL2591 - 16.
The COMMAND register specifies the address of the target register for future read and write operations, as well as issues special function commands. Command Register 7 CMD 6 5 4 3 TRANSACTION Fields Bits CMD 7 2 1 0 ADDR/SF Description Select Command Register. Must write as 1 when addressing COMMAND register.
The ENABLE register is used to power the device on/off, enable functions and interrupts. Enable Register (0x00) 7 6 5 4 NPIEN SAI Reserved AIEN 3 2 Reserved 1 0 AEN PON Fields Bits NPIEN 7 No Persist Interrupt Enable. When asserted NP Threshold conditions will generate an interrupt, bypassing the persist filter. SAI 6 Sleep after interrupt. When asserted, the device will power down at the end of an ALS cycle if an interrupt has been generated. Reserved 5 Reserved. Write as 0.
The CONTROL register is used to configure the ALS gain and integration time. In addition, a system reset is provided. Upon power up, the CONTROL register resets to 0x00. Control Register (0x01) 7 6 SRESET Reserved 5 4 3 AGAIN 2 1 Reserved 0 ATIME Fields Bits Description SRESET 7 System reset. When asserted, the device will reset equivalent to a power-on reset. SRESET is self-clearing. Reserved 6 Reserved. Write as 0.
ALS Interrupt Threshold Register (0x04 − 0x0B) The ALS interrupt threshold registers provide the values to be used as the high and low trigger points for the comparison function for interrupt generation. If C0DATA crosses below the low threshold specified, or above the higher threshold, an interrupt is asserted on the interrupt pin. If the C0DATA exceeds the persist thresholds (registers: 0x04 – 0x07) for the number of persist cycles configured in the PERSIST register an interrupt will be triggered.
The Interrupt persistence filter sets the number of consecutive out-of-range ALS cycles necessary to generate an interrupt. Out-of-range is determined by comparing C0DATA (0x14 and 0x15) to the interrupt threshold registers (0x04 - 0x07). Note that the no-persist ALS interrupt is not affected by the interrupt persistence filter. Upon power up, the interrupt persistence filter register resets to 0x00.
The PID register provides an identification of the devices package. This register is a read-only register whose value never changes. PID Register (0x11) 7 6 5 Reserved 4 3 2 PACKAGEID 0 Reserved Field Bits Reserved 7:6 Reserved. PID 5:4 Package Identification = 00 Reserved 3:0 Reserved. Description The ID register provides the device identification. This register is a read-only register whose value never changes.
ALS Data Register (0x14 - 0x17) ALS data is stored as two 16-bit values; one for each channel. When the lower byte of either channel is read, the upper byte of the same channel is latched into a shadow register. The shadow register ensures that both bytes are the result of the same ALS integration cycle, even if additional integration cycles occur between the lower byte and upper byte register readings. Each channel independently operates the upper byte shadow register.
Application Information Figure TSL2591 - 17 shows a typical hardware application circuit. A 1-μF low-ESR decoupling capacitor should be placed as close as possible to the VDD pin. V BUS in this figure refers to the I2C bus voltage, which is equal to V DD. Figure TSL2591 – 17: Typical Application Hardware Circuit TSL2591 The I 2C signals and the Interrupt are open-drain outputs and require pull-up resistors.
PCB Pad Layout Suggested land pattern based on the IPC−7351B Generic Requirements for Surface Mount Design and Land Pattern Standard (2010) for the small outline no-lead (SON) package is shown in Figure TSL2591 - 18. Figure TSL2591 – 18: Suggested FN Package PCB Layout (Top View) Notes: 1. All linear dimensions are in millimeters. 2. This drawing is subject to change without notice. Datasheet - Apr. 2013 - ams163.
Package Drawings and Markings Figure TSL2591 – 19: FN Package – Dual Flat No-Lead Packaging Configuration Notes: 1. All linear dimensions are in micrometers. 2. The die is centered within the package within a tolerence of ±75 μm. 3. Package top surface is molded with an electrically non-conductive clear plastic compound having an index of refraction of 1.55. 4. Contact finish is copper alloy A194 with pre-plated NIPdAu lead finish. 5. This package contains no lead (Pb). 6.
Mechanical Data Figure TSL2591 – 20: FN Package Carrier Tape and Reel Information Notes: 1. All linear dimensions are in millimeters. Dimension tolerance is ± 0.10 mm unless otherwise noted. 2. The dimensions on this drawing are for illustrative purposes only. Dimensions of an actual carrier may vary slightly. 3. Symbols on drawing AO , B O and K O are defined in ANSI EIA Standard 481-B 2001. 4. Each reel is 178 millimeters in diameter and contains 3500 parts. 5.
Soldering Information The package has been tested and has demonstrated an ability to be reflow soldered to a PCB substrate. The solder reflow profile describes the expected maximum heat exposure of components during the solder reflow process of product on a PCB. Temperature is measured on top of component. The components should be limited to a maximum of three passes through this solder reflow profile.
Storage Information Moisture Sensitivity Optical characteristics of the device can be adversely affected during the soldering process by the release and vaporization of moisture that has been previously absorbed into the package. To ensure the package contains the smallest amount of absorbed moisture possible, each device is baked prior to being dry packed for shipping.
RoHS Compliant and ams Green Statement The term RoHS complaint means that ams products fully comply with current RoHS directive. Our semiconductor products do not contain any chemicals for all 6 substance categories, including the requirement that lead not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered at high temperatures, RoHS compliant products are suitable for use in specified lead-free processes. ams Green means RoHS compliant and no Sb/Br).
Copyrights Copyright © 1997-2013, ams AG, Tobelbaderstrasse 30, 8141 Unterpremstaetten, Austria-Europe. Trademarks Registered ®. All rights reserved. The material herein may not be reproduced, adapted, merged, translated, stored, or used without the prior written consent of the copyright owner. Disclaimer Devices sold by ams AG are covered by the warranty and patent indemnification provisions appearing in its Term of Sale.
Adafruit TSL2591 High Dynamic Range Digital Light Sensor Created by lady ada Last updated on 2014-07-11 02:15:07 PM EDT
Guide Contents Guide Contents 2 Overview 3 Pinouts 6 Power Pins: 6 (http://adafru.
Overview When the future is dazzlingly-bright, this ultra-high-range luminosity sensor will help you measure it. The TSL2591 luminosity sensor is an advanced digital light sensor, ideal for use in a wide range of light situations. Compared to low cost CdS cells, this sensor is more precise, allowing for exact lux calculations and can be configured for different gain/timing ranges to detect light ranges from up to 188uLux up to 88,000 Lux on the fly.
This sensor is much like the TSL2561 but with a wider range (and the interface code is different). This sensor has a massive 600,000,000:1 dynamic range! Unlike the TSL2561 you cannot change the I2C address either, so keep that in mind. © Adafruit Industries https://learn.adafruit.
The built in ADC means you can use this with any microcontroller, even if it doesn't have analog inputs. The current draw is extremely low, so its great for low power data-logging systems. about 0.4mA when actively sensing, and less than 5 uA when in power-down mode. © Adafruit Industries https://learn.adafruit.
Pinouts The TSL2591 is a I2C sensor. That means it uses the two I2C data/clock wires available on most microcontrollers, and can share those pins with other sensors as long as they don't have an address collision. For future reference, the I2C address is 0x29 and you can't change it! Power Pins: Vin - this is the power pin. Since the chip uses 3 VDC, we have included a voltage regulator on board that will take 3-5VDC and safely convert it down.
SDA - I2C data pin, connect to your microcontrollers I2C data line. Other Pins: INT - this is the INTerrupt pin from the sensor. It can be programmed to do a couple different things by noodling with the i2c registers. For example trigger when a conversion is done, or when the light level has changed a lot, etc. We don't have library support for this pin © Adafruit Industries https://learn.adafruit.
Assembly Prepare the header strip: Cut the strip to length if necessary. It will be easier to solder if you insert it into a breadboard - lo ng pins do wn © Adafruit Industries https://learn.adafruit.
Add the breakout board: Place the breakout board over the pins so that the short pins poke through the breakout pads © Adafruit Industries https://learn.adafruit.
And Solder! Be sure to solder all pins for reliable electrical contact. (For tips on soldering, be sure to check out our Guide to Excellent Soldering (http://adafru.it/aTk)). © Adafruit Industries https://learn.adafruit.
You're done! Check your solder joints visually and continue onto the next steps © Adafruit Industries https://learn.adafruit.
Wiring & Test You can easily wire this breakout to any microcontroller, we'll be using an Arduino. For another kind of microcontroller, just make sure it has I2C, then port the code - its pretty simple stuff! (http://adafru.it/dBn) Connect Vin to the power supply, 3-5V is fine. Use the same voltage that the microcontroller logic is based off of. For most Arduinos, that is 5V Connect GND to common power/data ground Connect the SCL pin to the I2C clock SCL pin on your Arduino.
Download Adafruit_TSL2591 To begin reading sensor data, you will need to download Adafruit_TSL2591_Library from our github repository (http://adafru.it/dGz). You can do that by visiting the github repo and manually downloading or, easier, just click this button to download the zip Download Adafruit TSL2591 Library http://adafru.it/dGA Rename the uncompressed folder Adafruit_TSL2591 and check that the Adafruit_TSL2591 folder contains Adafruit_TSL2591.cpp and Adafruit_TSL2591.
Thats it! Now open up the serial terminal window at 9600 speed to begin the test. © Adafruit Industries https://learn.adafruit.
Try covering with your hand or shining a lamp onto the sensor to experiment with the light levels! Library Reference The Adafruit_TSL2591 library contains a number of public functions to help you get started with this sensor. Constructor To create an instance of the Adafruit_TSL2591 driver, simple declare an appropriate object, along with a 32-bit numeric value to identify this sensor (in case you have several TSL2591s and want to track them separately in a logging system).
Gain and Timing You can adjust the gain settings and integration time of the sensor to make it more or less sensitive to light, depending on the environment where the sensor is being used.
// Changing the integration time gives you a longer time over which to sense light // longer timelines are slower, but are good in very low light situtations! tsl.setTiming(TSL2591_INTEGRATIONTIME_100MS); // shortest integration time (bright light) //tsl.setTiming(TSL2591_INTEGRATIONTIME_200MS); //tsl.setTiming(TSL2591_INTEGRATIONTIME_300MS); //tsl.setTiming(TSL2591_INTEGRATIONTIME_400MS); //tsl.setTiming(TSL2591_INTEGRATIONTIME_500MS); //tsl.
reference, which will be populated by the function, and then read the results, as shown in the following code: /**************************************************************************/ /* Performs a read using the Adafruit Unified Sensor API. */ /**************************************************************************/ void unifiedSensorAPIRead(void) { /* Get a new sensor event */ sensors_event_t event; tsl.getEvent(&event); /* Display the results (light is measured in lux) */ Serial.
Displays some basic information on this sensor from the unified sensor API sensor_t type (see Adafruit_Sensor for more information) */ /**************************************************************************/ void displaySensorDetails(void) { sensor_t sensor; tsl.getSensor(&sensor); Serial.println("------------------------------------"); Serial.print ("Sensor: "); Serial.println(sensor.name); Serial.print ("Driver Ver: "); Serial.println(sensor.version); Serial.print ("Unique ID: "); Serial.
//uint16_t x = tsl.getLuminosity(TSL2561_INFRARED); Serial.print("[ "); Serial.print(millis()); Serial.print(" ms ] "); Serial.print("Luminosity: "); Serial.println(x, DEC); } getFullLumino sity reads both the IR and full spectrum sensors at the same time to allow tigher correlation between the values, and then separates them in SW.
Downloads Datasheets TSL2591 Datasheet (http://adafru.it/dGs) Schematic Layout (Dimensions are in Inches) © Adafruit Industries https://learn.adafruit.
© Adafruit Industries Last Updated: 2014-07-11 02:15:08 PM EDT Page 22 of 22