I've worked out a design procedure for finding the optimum peak current for a given pulse shape based on data measured or scraped from datasheet graphs. For example, here's the relative efficiency of sawtooth current waveforms vs peak sawtooth current for one particular LED. By choosing the peak current correctly (1.93mA), we can obtain 97.4% of the peak efficiency of the LED. Contrast this with using the datasheet nominal value of 20mA to set the peak, which results in only 47.7%. A naive design can easily waste 50% of the available energy.

This approach is applicable to any LED and waveform shape, but requires a bit of explanation; I don't have bullet-proof pre-packaged code to do these calculations automatically yet - it's all in a messy octave file for now. All of the data presented here is for the HLMP-CE34-Y1CDD LED I have been playing with lately (mainly because it's in a convenient 5mm package).

# Approach

For the moment, I'm concerned with finding the optimum pulse amplitude for a given LED current pulse shape. For example, finding the optimum amplitude for constant-current pulses is trivial - simply choose the current corresponding to the point of peak efficiency. To get a an accurate idea of where that point is, I fit a 4-th order polynomial to the efficiency data measured earlier:

The data was fit for currents from 20uA to 20mA, as I consider this a reasonable bracket around the peak. There's nothing special about the choice of polynomial order, other than it fits the data well; it's simply used as a smoothing interpolant here. Finding roots of the derivative of the polynomial model yields the location of the estimated peak efficiency at 1.15 mA.

For rectangular current waveforms, the best we can do is pulse the LED with 1.15mA. I consider this to have a "waveform efficiency" of 1. With other waveforms, the efficiency must necessarily be less than this, since the current is not always at the peak efficiency point. For these waveforms, we can manipulate the peak current, scaling the whole pulse up or down to change the efficiency. Once the optimum pulse waveform has been found, the pulse width and/or duty cycle can be changed to give the desired light output or power consumption. This might sound convoluted, but I think a concrete example will clear it all up (it did for me :-)

# Sawtooth Pulses

As an example, consider sawtooth current pulses like you might get from a magnetized inductor "discharging" into the LED:

Here, the LED current jumps up to an initial peak, then decays back down to zero. As a first approximation, I'll assume an idealized sawtooth - the current jumps up to the peak instantaneously, then ramps down linearly (the method I'll describe for optimization would work with the actual shape just as well). Here's the problem - how do we choose the peak current to optimize efficiency? If we make the peak current equal to the optimum efficiency point, everywhere to the right is sub-optimal. Likewise, if we set the optimal current point somewhere else on the slope, the points to the left are above optimum, while those to the left are below. There exists an amplitude for this waveform which maximizes LED efficiency - but, where is this point, and how close can we get to the "waveform efficiency" of the the rectangular pulse (1 by definition)?

For a given waveform (and fixed amplitude), we can evaluate the waveform efficiency by the following formula:

where V(peak), I(peak), and E(v, peak) refer to the voltage, current, and relative luminous intensity at the efficiency peak, respectively. The initial factor in parenthesis is a normalization constant that sets the constant-current pulse waveform efficiency to unity. The meat of the formula is the ratio of the total amount of light emitted to the total electrical energy consumed over one cycle of the waveform. By evaluating this ratio at a number of possible peak currents, we can compare the relative efficiencies obtained, and choose one close to the optimum.

I wrote some octave code to do these integrations numerically, but they require models for power and relative intensity as a function of current. Here is the model for relative luminous intensity as a function of current:

The function fit here is a 2nd-order polynomial (parabola) fit to log-log data. Again, there's no intended physical significance to the model; it's purely for smoothing and interpolation. A similar fit was made for electrical power consumption vs LED current:

This model is trivial, being a power law (no pun intended), and is simply fit with a line.

# Results

Running the analysis using these models yields the plot where we started this log:

To generate this curve, I evaluated the waveform efficiencies for 971 values of peak current ranging from 350uA to 11.5 mA. The best value was 1.93 mA, and this achieves 97.4% of the efficiency that can be obtained from this LED. I was really happy to see that you could achieve this efficiency with a sawtooth waveform - it opens up the possibility of very efficient inductor-based circuits.

Note that the efficiency of the waveform does not depend on the pulse length, just the maximum amplitude. We are free to choose short or long pulses and vary the duty cycle as required by other design constraints.

# Next Steps

A simple, efficient, circuit to pulse the LED with sawtooth waveforms from an inductor would be a logical follow-on.

Also, I'd like to somehow make this kind of analysis easier. Right now, it requires a number of human decisions (order of polynomial fits and similar choices). I could try just using linear (or more complex) interpolations for re-sampling the data. This would not achieve the same smoothing/noise filtering goals, but might provide acceptable results.

For now, if you want to check out the octave code, you can get it here.

## Discussions

## Become a Hackaday.io Member

Create an account to leave a comment. Already have an account? Log In.