As anyone who has bought batches of LEDs on Ebay from Chinese suppliers knows, a detailed datasheet on the characteristics of the LEDs can be pretty hard to come by! That's where this circuit comes in: with the help of an Arduino and a few external components, one can build an LED Analyzer that will analyze a LED's I-V characteristics and spit out an equation that one can use to calculate its voltage drop from its forward current and vice versa.
Here's a quick video of the analyzer in action:
Remove these ads by
Signing UpStep 1The Setup
Of course, Q3 is a current sink and what we want is a current source, to pump current into the LED so its forward voltage can be measured. Q1 and Q2 perform this turnaround function. IC2A and R5 buffer the sensed voltage and protect the input to the Arduino.
The Arduino runs a sketch that ramps up the DAC voltage, and hence the current through the LED, and then reads the resulting LED forward voltage through one of its analog input pins. It then communicates with a Python script running on a PC via its serial to USB link, and this script organizes the data and displays a graph of the LED under test's I-V characteristic. It also runs a curve-fitting routine that generates coefficients for an exponential function similar to the Shockley diode model. To get a smaller error in the fit function, the Python script has the option of running the analysis multiple times and the averaging the data; the data generated for the "Results" section that follows was averaged over ten runs of the analyzer.
Here's a quick parts list for the hardware:
Arduino (1x)
MCP4725 DAC breakout board with pull up resistors and capacitor (available at http://www.sparkfun.com )
LM358 dual op amp or similar (1x)
BC547 NPN transistor or similar (1x)
BC556 PNP transistor or similar (2x)
10 ohm resistor (2x)
220 ohm resistor (1x)
100 ohm 1% or better resistor (R4) 1x
1k ohm resistor (1x)
0.1uF bypass capacitor (1x)
0.01uF capacitor (1x)
LEDs to test!
| « Previous Step | Download PDFView All Steps | Next Step » |
4
comments
|
Add Comment
|
![]() |
Add Comment
|












































