I am about to design a constant current LED driver, with the following requirements:
- The LED string is fed with 24 V
- The FPGA interface is 3.3 V
- The system consist of 8 LEDs in a row, with corresponding 8 sensors.
- The LED current should be defined in 256 steps (in this case with a digital potentiometer => current is defined in 3.3 V / 256 steps)
- There is a PWM signal that controls whether the LED should be on (when the sensors are measuring) or the LEDs should be off (the PWM is NOT used to determinate the LED intensity, only when to measure)
- The PWM signal can either be always off, always on, or between 10-40 kHz with 50% duty cycle.
- The forward voltage of the LED is 1.4 V
- The max constant current (PWM is always on) is 100 mA and if a pulsed PWM is used the max current is 200 mA.
Any buck/boost solution is not applicable due to the ripple in LED current, which introduces ripple in the emitted light. This is the reason to use a constant current driver, unless someone has an example of a very good buck/boost driver, with less than 1% ripple.
Does anyone have a suggestion of an "out of the box" LED constant current driver chip, that will do the job?
Because the LEDs have forward voltage of 1.6 V and there are 8 in a row, the voltage drop is 12.8 V, the constant current driver must burn away the rest of the energy and with 0.2 A it means 2.24 W.
Is it a good idea to insert like a 2 ohm, 1 W resistor in series with the LEDs, to take away some heat from the transistor?
One attractive idea is use op-amp->transistor where the op-amp is fed with the voltage setting the current and the voltage from a shunt resistor below the transistor. The op-amp needs to be fast, to avoid problems with a MOSFET gate.
Is it better to use a MOSFET or BJT (they are more linear)? They have to work in their linear area.