The TSL230R’s admits a portion of a light source’s spectral radiant power as a number of photons across a band of wavelengths when the light’s spectral irradiance (Ee(λ) [uW/(cm^2)/nm]) fills (or overfills) the area (A [cm^2]) of photodiode array’s aperture. The photons admitted have a wavelength dependent probability of being absorbed in the photodiode’s depletion region thereby creating a differential current. Not all wavelengths of photons have an equal probability of being absorbed; for instance infrared photons are more likely to pass completely through the photodiode whereas ultraviolet photons are more likely to be absorbed before reaching the depletion region. This wavelength dependent conversion from photon power to current is known as the photodiode’s spectral responsivity (SR(λ) [A/uW]). Since all of the differential currents flow into the same conductor they are naturally integrated into a total current. This total current is then transformed to the output frequency (fO [kHz]) by the current-to-frequency converter (rf [kHz/A]).

The TSL230R’s conversion from irradiance to frequency is mathematically represented by the following equation:

There are a couple of interesting graphs on page 4 of the datasheet for the TSL230R that show the relationship between output frequency and the irradiance incident on the photodiode array, as well as the photodiode’s normalized spectral responsivity. The steps in the previous article on converting an image-only graph into usable data allow us to transform the datasheet’s normalized spectral responsivity plot into SRn(λ) which can be used in our calculations. The system’s overall responsivity, denoted Re(λ) [kHz/uW/(cm^2)], is the combination of the aperture’s area (A), the spectral responsivity (SR(λ)), and the current-to-frequency conversion factor (rf). The datasheet does not give Re(λ) but it can be formed by multiplying Re(640 nm) (0.77 [kHz/(uW/cm^2)] at 100x sensitivity) by SRn(λ).

With Re(λ) and a model of the spectral content of the light source irradiating the photodiode array we can calculate the spectral irradiance and total irradiance of the light source more accurately than in the simplistic case of assuming all the light source’s photons are 640 nm in wavelength.

For example, if we model a cyan LED with a peak wavelength at 505 nm and a full width at half maximum (FWHM) of 20 nm with MATLAB like so:

% mathematically model lamp's spectrum as a gaussian curve with a peak % wavelength at 505 nm and full width at half maximum of 20 nm func_lamp = @(mu, FWHM) e.^(-0.5*((lambda-mu)/(FWHM/(2*sqrt(2*log(2))))).^2); X = func_lamp(505, 20); % [uW/(nm*cm^2)]

Then the output frequency, fmodel, that would result if X irradiated the photodiode array can be calculated thusly:

However, fmodel is not the actual output frequency of the TSL230R because X is only a model of the shape of the light’s spectrum and lacks radiometric calibration. Since we can measure fO, finding the proper radiometric calibration multiplier for X is as simple as dividing fO/fmodel.

Therefore, a good approximation of the radiometrically calibrated spectral irradiance of the light source should be:

and the total irradiance is:

**Code**

The archive irradiance_meter.zip contains the function TSL230R_fO_to_irradiance.m (view online), example code showing how to use the function, the TSL230R’s system responsivity for a 1x sensitivity (Re_s1.mat), the luminosity function for calculating photometric values, and sample data from a cyan LED. The example script is chiefly to show how to derive spectral irradiance and irradiance however it has a short demonstration of how to calculate illuminance using the luminosity function and spectral irradiance.

hello, great article!

i would like to post my tought about irradiance/illuminance meter using taos sensor on my blog.

My blog post will contain an explanation, atmega code, and some matlab helpers script.

I’m working on TSL235 sensor, which is similar to TSL230R you use.

Because my blog will have a link to your post here, i’m asking you if you give me this permission. For microprocessor calculation, i’ve implemented a slightly different approach that seems to work, can send you my material before public this.

thank you!

If you are interested, my post is here: http://davidegironi.blogspot.it/2013/06/irradianceilluminance-meter-using.html