Powering LEDs from a wide dc range – say, 30 to 380 V – without wasting a lot of power in the regulating block, is a difficult task when the LED current needs to be constant. Dedicated LED drivers are available, but they usually implement boost structures and are thus inadequate for high-voltage inputs. The NCP1200A, a high-voltage controller, can serve as a constant-current generator if you add a simple coil in series with a power MOSFET. If you insert diodes between the coil and the MOSFET, the circuit becomes an economical light generator. Furthermore, there is no need for a transformer or any kind of external supply, because the controller directly connects to the rectified high voltage and thus supplies itself (Figure 1).
Figure 1. | A high-voltage controller makes an ideal off-line LED driver. |
The circuit forces a current to build up in the L1 coil and the LEDs until the voltage developed across R3 reaches VFB/3.3 V. At this point, power switch Q1 turns off, and the magnetizing current keeps circulating in the coil and LEDs, thanks to freewheeling diode D1. To maintain a “clean” current in the LEDs, L1 must be large enough to keep the ripple to an acceptable value and to avoid pushing the controller to the minimum on-time (400 nsec) in high-line conditions. Because of the poor TRR (reverse-recovery time) of the LEDs, you must add an external filter, comprising R2 and C1 to the IC's internal leading-edge-blanking circuitry. R1 sets the voltage-feedback level; keeping it lower than 3.3 V prevents the NCP1200A's internal short-circuit protection from tripping. In the example, the feedback voltage of 2.5 V thus imposes a peak current of 2.5/3.3/4.7 = 161 mA.
In this application, the line goes as high as 380 V dc. At steady state, L1 and VIN dictate the on-time, whereas the reset voltage applied to L1 fixes the current decrease during off-time. This reset voltage, VFTOTAL, equals the total LED forward voltage plus the forward drop of the freewheeling diode. The total reaches approximately 12 V in this example. It can obviously vary, depending on the type of LED you want to drive, especially with white LEDs that incur significant forward drops of approximately 3 V. To help derive the inductance value corresponding to your needs, a few lines of algebra suffice:
and
where ΔI is the ripple current in L1, VFTOTAL is the previously described reset voltage, and VIN is the dc input voltage. Because the circuit runs in continuous-current mode, the sum of on-time and off-time gives the switching period of the 1200AP60:
where fS is the switching frequency. Extracting L1 yields
If you select a ripple current of 20 mA peak-to-peak at 380 V dc, then
From this value, you can check the minimum on-time using the equation:
above the minimum limit.