For some days, I have always wanted to design a LED driver which driving mid-power LEDs, to replace low-power LED tube design that we are using now. Start to do it, now!
First of all, a specification:
Input Voltage |
220 VAC rms |
Expected LED String Voltage |
40~100V |
LED current |
300mA (Such as MXAx-PWxx-H001) |
LED Forward Voltage |
2.9V |
LEDs per string |
13~34 |
Maximum Power Output |
40W (Leave some margin) |
I decided to choose open-loop peak current mode control, which has simple circuit. Open-loop structure is easy to design, and stable.
Microchip’s HV9910B and Diodes AL9910/A are similar open-loop peak current mode controller. They have the same internal circuit and the same pin out, and very similar characteristics. HV9910B’s datasheet has more details, and it is formerly Supertex HV9910B, which provided demo board, so I decided to use HV9910B.
An Important reference material in the design process is a book called “Practical Lighting Design with LEDs ” by Ron Lenk and Carol Lenk. This book used HV9910 in a few example design, including LED bulb and car tail lamp. It’s a great book.
Here is xx9910’s typical circuit:
Although datasheet and application note all provide necessary equations to choose component parameters, I want to know the theory behind every calculation. Unlike digital circuits, analog circuits need to choose component parameters very carefully.
Step1: Choose oscillation frequency. Reducing switching frequency will improve efficiency (less loss), but you must use bigger inductor. In PLDL, author chose 100kHz. Use equation in datasheet to calculate, the resistor(Rt) setting the frequency should be 228kohm. In a HV9910B app note, author make it clear by “For off-Line applications, typical switching frequencies should be in range 20KHz-150KHz. The higher the input voltage range (for example in Europe 230VAC), the lower the frequency should be to avoid extensive capacitive losses in the converter. For North America AC line a frequency of fS = 100kHz is a good compromise.”
Step2: Choose Rcs. The Rcs is current sensing resistor, and the internal reference voltage is 250mV. The value of Rcs could be given by equation Rcs = 0.25/Iavr, where Iavr is average current of LED string, or L1. Because the current will ramp up and dawn, the average current is LED current added by half of ripple current. Assume ripple is 30%, the Iavr is 1.15 times LED current, that is 0.345A. So Rcs should be 725ohm.
Step3: Choose inductor L1. Here is the basic equation, v = L*di/dt, so we need to know the current variation and voltage of L1 while the Q1 is on, call it Ton. Transform the equation:
L = (Vin – Vled)*Ton/0.3Iled
Ton = (Vled)/Vin*Tcycle = 0.01ms * (100/308) = 3.25 us,
L =( (308 – 100)V/90mA)*3.25us = 7.5mH
How would the value change when LED voltage is increased, for example 40V?
Re-calculate for 40V of LED voltage:
Ton = 1.3us
L = 3.87mH
So, I should choose 7.5mH inductor in this design, the circuit would have lees than 30% ripple current when it drives LED string with less than 100 volts.
Finally, I chose Panasonic ELC18B822L(8.2mH, 410mA dc current, 3.1ohm dc resistance)
Step4: Choose Q1
In a design In PLDL, author chose STP5NM60T4, a 600V 0.9ohm MOSFET. I decided to chose this one, because its low DC resistance, and 600V peak voltage rating is almost 2 times of peak voltage in this design(308V), this margin is big enough.
Other design choices:
D1: RS3J-E3
Diodes in the rectifier bridge (not in the diagram): 1N4005(600/420V peak/RMS reverse voltage)
Fuse: 0.6A
Ref. |
Description |
Quantity |
Rt |
228kohm |
1 |
Rcs |
725ohm |
1 |
L1 |
ELC18B822L |
1 |
Q1 |
STD5NM60T4 |
1 |
D1 |
RS3J-E3 |
1 |
Rectifier Bridge |
1N4005 |
4 |
These are all the design choices, except EMI circuit.
The next step is implementing the circuit, and then makes some tests.
I wanted to make the circuit prototype on breadboard first, to save time of PCB layout and manufacturing. But first of all, try to get all the important components.