PAGE 1 of 2 - High Efficiency High Current LED Buck Driver using the A6210
The circuit on a breadboard for test
Some time ago i published a theory page regarding the LED driving and controlling methods. These methods were all linear regulators, very simple to make but very inefficient -in terms of power consumption- for high current applications. The idea was to use this theory page as an entrance level for the SMPS LED drivers.
The first SMPS (Switching Mode Power Supply) LED driver that i made is a Buck-Regulating LED Driver using a chip from Allegro Microsystems, the A6210. I was provided some samples from Farnell for testing and prototyping, along with some other cool staff. Do not forget to pay a visit to Farnell on-line store and Element14 website.
The A6210 can drive up to 3A load with constant current, with switching frequencies up to 2 MHz and supply voltage from 9 to 46 volts. It has additionally an optional PWM input to control the brightness of the LED. The sense voltage is limited to 0.18 volts for higher efficiency, since the power dissipation on this sense resistor is minimal. I will be using a 10-12V 1A 10 Watt LED, powered from 24 VDC supply.
Doing something new? Prototyping on a breadboard saves time
I thought that i was experienced enough to get a chip - any chip - and start making PCBs and staff. The A6210 comes only in one package, a QFN 16 with external dimensions 4 by 4 mm. That is small, ridiculously small, and makes prototyping even harder.
When i saw the chip, i decided to immediately design a tiny PCB to test it, but this was really a bad idea. I should either have make a larger PCB so that i could easier switch parts, or mount the chip on a QFN to DIP socket and prototype on a breadboard. The result from my previous decision was many hours lost on PCB making and a fried A6210 chip:
How small is the A6210? It is ridiculously small!
I had to design two completely different PCBs and fail before i decide to prototype on a breadboard
So i ordered some QFN16 to DIP sockets
I should have done this from the beginning. Now i can put the QFN on a breadboard for test.
A PCB would be of course more elegant than a socket on a breadboard, but at least now i can change the biasing parts very easily:
The circuit is not complicated at all, after all, the chip itself has all the necessary parts integrated and only a few external components are needed. Inside the datasheet of the A6210 there are sample circuits that may fit your needs. If not, you can very easily change them:
Click to enlarge
Resistor 220 KOhm 1/4 Watt 5% Carbon Film
Resistor 130 mOhm 1/4 Watt 5% Carbon Film
Electrolytic Capacitor 1 uF 50 Volts
Ceramic Capacitor 22 nF 50 Volts
A6210 3A 2MHz Buck-Regulating LED Driver
SB140 1A Schottky Barrier Rectifier
Power Inductor 22uH 2.8A UNI-PAC(TM) Surface Mount
Choosing the right parts can be somewhat tricky. There is a complete How-To in the chip's datasheet, but i totally suggest that you use the A6210 Design Tool excel l sheet from Allegro Microsystems:
Here is how it works. Open the spread sheet and go to the second sheet, named "Component Calculator". Then fill the grey fields with the values for your circuit:
Input supply voltage - The supply voltage e.g. 24V
Total LED span voltage - Add up the forward voltages of your LEDs that are connected in series. If only one LED is used, then use the forward voltage of this LED.
Average LED current - The current that will flow through the LED(s)
Target LED ripple current - The A6210 does not need an external capacitor to reduce the output ripple, because it can be adjusted to have minimum current ripple. Keep this value as low as possible, but remember that low ripple values will require larger coil inductance and thus larger coils in size. A 10-20% of the average current is a good beginning.
Forward voltage drop of schottky diode - Typically this value is 350 to 400mV for schottky diodes
Valley voltage (typ. 183 mV) - Just keep this 183 mV
Select switching frequency - This value cannot exceed the "Maximum possible switching frequency" proposed on the cell above it.
After putting these values, you'll get some suggesting values for R2, R1 and L. Bellow each suggestion there is a blue field. Your next step is to select a part value for these three parts (R2, R1 and L) and fill the blue cells. So, if for example you get the value 198 mOhm for R2 in the cell D21, then use the most close number to this which is 200 mOhm in cell D23. If your calculations lead to a problem, you will get a message in red fonts in cell A33 which goes like this:
Ripple voltage too low. Select an inductor that produces a voltage greater than 20mV
This means that you either need to change your coil size (D39), or increase the ripple current (D12). Finally, you will receive the actual performance summary of your circuit in the green cells at the botton, calculated for the parts selected in the blue cells.
You may wanna then go to the fourth sheet of the excel named "Efficiency Estimator". There are some interesting values for your circuit, such as the overall system efficiency and the temperature that the A6210 will reach during operation.
Remember that all the above calculations are strictly theoretical. When it comes to design, the size of the PCB wires, the pads and all the other design characteristics will play an essential role in the final performance. Especially when it comes to R2 since its value is in the scale of milli-ohms.
@gustavo First of all, we have a forum for such long posts where others can participate. [http://www.pcbheaven.com/forum/]
I think that you've mistaken with the dis pin. Pulsing the dis pin will not pulse the output accordingly. The dis pin will change the valley current of the output (almost linear). You need to make a simple circuit first! Very important. Like, 12-24 volts voltage with one or two leds in series. Plus!!!! IF YOU have the circuit on breadboard, all your calculations are wrong. On breadboard you can only approximate values.
So, bottom line is: 1. Do not pulse dis pin for first circuit
2. Pulsing dis pin will NOT pulse the output. Do not expect any sort of PWM output
3. Dis pin controls the output current. 10% PWM at dis pin means 10% of the current selected
4. The output current will seem to you like mountains (that is why the chip operates as valley current driver). Looking thought the oscilloscope you expect to see an output voltage of something similar to triangular waveform, pulsing for a few hundreds of millivolts around your set value
I have tried to check what you suggest but something is happen. I'm confused abut the behaviour of my circuit.
I realized that I'm beeing a little boring: I'm trying to solve my own problem with the circuit, and this is a public forum so maybe this is nt the correct place to do it, so sorry about it.
I will try to explain what are the steps I have follow:
1.- My circuit is the one suggested by datasheet, whit values extracted from excel design tool. It means:
- Ten Leds in series
- First, I used next set of values R1:390k, R2: 75m, L1: 33uH. This means 2,6 A through the leds. Following leds datasheet, if I pulse the leds 100 us and let the leds off during some ms, the leds are capable to do that.
- But yesterday I thougth that I have to be more conservative, so I calculate the intensity for R1:390k, R2: 150m, L1: 33uH, which gives 1,3 A. This could be better in order to avoid leds burn. Also this give me, following leds datasheet about 1,7 -1,9 V in each leds. I have change R2 soldering another 75m in series.
- The input voltage is 40 V in the a6210.
- Dis signal is a pull down. When the transistor is on, Dis pin goes to GND for 100 us. When the transistor is off, I have no signal at all, and stays indeterminated theroetically, but with the osciloscope i can see it stays at 4 volts aprx. I think it is a normal behaviour, but I don't know if this is good for DIS pin.
- Well the first point that I think is not working well is that, disconnecting inductor from leds string (I have a jumper there), I have aprox 40 Volts when DIS is ON and then goes slowly down. I agree with yo that I can expect any special voltage as long as it is a current regulator and I do not have any load connected yet. But I expected, at least, a pwm voltage signal (with fast slow down, forming a square wave), despite there is no load. But what I have is a slow down curve when dis is on, so I have voltage on during 100 us , and a slowdown curve, that goes to Zero 1,5 ms after the pin dis is on. This is strange for me. But as long as this is a current regulator, maybe is a normal behaviour.
-So, going to your recomendations, I have connected the load connecting the jumper, and look with osciloscope what is happen. Maybe in this way I could check what happend in the led string and see voltage and intensity (with datashhet help). BUT, once I connect the jumper, signals (voltage output form the inductor and even DIS signal) goes realy noisy, with peaks of some volts(ten or more). Leds are obviously lighting very hot.
I'm really confused. The circuit is totaly correct. Maybe the values are incorrect or something, but i feel absolutly misplaced about this behaviour. Moreover, with this behavour I am not able to check any values or have a clue of what is happening
DO you have any ideas? Maye I can put some pictures of the oscilloscope but I dont know where
Sorry if you feel I am making and abuse of your help. It is not my intention
@gustavo you cannot read the voltage on a constant current device if there is no current to maintain constant... So you need the LEDs. OR a dummy load. Use an 1 Ohms high wattage resistor as dummy load for your tests. Measure the voltage across this resistor. Use ohms law to verify the results. Is the current a expected? For example, you want 2 amperes of current. So, there has to be a voltage of 2 volts across the resistor (and a lot of heat...).
I have finnaly made a pcb with the recommended design suggested by allegro, which is also your design (first picture in the post).
I have use more leds in series. My design have the next values:
The circuit is designed to have 44 input volts, 40 volts led Span, and 2,7 A of current, BUT i will only turn on DIS pin 100us, with a frecuency not higher dozens of Hz. my Duty cycle is aprox 0.01
Well I have Cheched the systems, and it works BUT i have a very big problem: I am turning on DIS pin for 100 us, but the OUTPUT, the voltage wave that I obtain (and which is the final imput for the LED spam) have 100us high also, BUT a slow drop until 1 ms or more, which made it unable to work with, because in this way I'm over heating my leds, because they have a 10 times higher duty cycle that expected.
@luke chilson I just got a book "the art of electronics" but it is not for "starting". You may wanna start with a book from malvino. As for the chip, you wanna make an SMPS and drive the LED with an external mosfet.
hello and first id like to say thank u for all of the good info you do it great im just starting in electronics can u recommend any good book to read from very basics to advanced also could u recommend a chip that can drive an led (SST90 LED) at 9 amps or 8 thank u very much luke
@gustavo Alegro clearly states 44V max - above that may degrade or destroy the chip. As fro the voltage drop, do not calculate the power dissipation as you do with linear regulators. This is a buck regulator. You can drop 40V down to 3V 1A without any problem. The only heat that will be generated is from I2R loses. Check out the attached document in this page - the excel sheet.
- you will calculate the excel for max intensity. Tracks must be able to provide the required current. As for the calculations, they are of course related to the luminosity (current)
- Hmmm good question. First of all, make sure that all NC and GND pins as well as the central PAD have enough copper around to act as a heatsink. The high current provided by the chip is on a corner pad, so you can use a thicker wire as an extend of this pad. I am not sure if this is needed though.
-The chip has voltage reference down to 180 mVolts, so a current of 750mA for instance will dissipate some 135 mWatts. Again, this is not a linear regulator, it is a buck regulator.
Thanks for your response. I have been going further in my design. I have seen that, at least in theory, I can power my allegro with 48V. So I wont need to drop the voltage. Am I right? And, if I do that, I will input 48 Vin, but at the same time I will output 20 Volt. It's the allegro capable of do that? How can I deal with the chip so my chip does not burn?
I have some more questions
-I will need 2.5 A, BUT, I will do a PWM cycle of 1ms on - 19 ms disabled. Should I do calculations in excel with total Intensity or with Average intensity?. Moeover, does this affect my calculation (excel calculation)? and my practical circuit design ( circuit tracs, pads, etc. ?)
-I guess I also need wide tracks and nets in my circuits, and also copper. BUT, pins in allegro are really thiny. How could I deal with that?
- I have seen your design, and, my dout is: Which is the intensity trhough the resistors part? why you use so low-power resistors (1/4 W)?
@Gustavo -from 48 to 44 volts, or down to 42 volts for safety, means that you need to drop 6 volts. At 3 amperes, this means 3x6=18 watts. This is really a LOT of power drop. You will need 3 resistors of 10 Watts each connected in series to split the enormous heat.
-Of course you can power the chip with less voltage. Check out the attached excel sheet - there is a specific limit of lower voltage that you can go to. The lower the voltage you choose, the lower the switching frequency. As for the heat, make sure that you use 2-sided PCB, one side of which is copper heatsink for the chip, coupled with vias from the middle pad (check datasheet)
-Although i have never test this, i'm pretty sure that you can achieve this with a transistor. I do not think that you can find a variable resistor suitable for this application. BUT - BUT - The a6210 has a PWM input which does exactly this... It works very well and has pretty much linear response to the PWM duty cycle. So better follow the PWM solution which can dim the LEDs from 0 to 100%
I am trying to design a power stage in a PCB that will supply high power leds, Ir leds dragon from osram. My PCB is supplied with a 48V estandard power source from meanwell
I will pulse the leds in order to have much more efficiency and radiant flux. What I'm calculating is to have about 2.5 A and probably 1.7-1.8 V in each led. Probably i will put a string of 8-10 leds, which it means that I will need between 15V or 20 Volt in the Ic output. My questions are:
- As long as I have read, I could supply the allegro IC to almost 48 V(46V), so probably I will need to step down a little my voltage, probably with a resistor voltage divider. But (see my next question) If the chip can drive up to 3 A I am not sure that my voltage divider resistor could not burn out.
- Can I input the chip with, lets say 40 V , and output it with lets, say 20 V and 2.5 A? Whats happens with the temperature management? I guess that, if I need to suplly 2.5A, I will need good disipation in the chip. Of course, I will not supply 2.5 A in cc, but i will supply it with probably 0.1 duty cicle
- If I'd like to manage and change the output current, can I put a variable resistor in order to supply the needed current? can you figure out how to control the current with a micropic pin, for example?
@Stavros G First of all, 24 V may not be enough and the switching frequency will be very very low. I suggest that you make some theoretical tests with the excell sheet i provide and go for higher voltage. With your questions:
1) no i have not seen one. This chip is not very popular.
2) i tried a setup with 6 leds 3.7V each at 750mA with supply 42 volts and the fluctuation was 2 volts maximum with 2 large capacitors (4700 and 1000)
3)for which cap are you talking about? The cboot cap should be ceramic. The supply cap can only be electrolytic, because it needs a lot of uF
BTW: Soldering this chip on a breadboard will be a nightmare without the proper tools and some experience, and it may also be a reason for failure.
@Giorgos Lazaridis Hey there! It's me again! So, as I have already told you I'm working on a Led luminaire for my diploma thesis.
I have been given the OK from the lab to construct a small scale prototype in order to experiment and take all the necessary measurements for the needs of my thesis. They have given me a prototype board with six LEDs in series to experiment with. Whatever I come up with, can be further generalized for a larger scale luminaire.
So, I will be using this configuration to drive the LEDs with 800mA ,which means a 3.5V forward voltage across each LED and thus a total LED span voltage of 21V. My source will be a 24V battery whose voltage i will step down to 21V using the A6210. I will then feed PWM to the DIS pin through an Arduino in order to easily experiment with the control of LEDs' brightness.
A few quick questions:
1)Do you know if there is a model of the A6210 to use with a simulation software (Orcad Pspice, matlab/simulink etc)?
2)In your experience, how much does the fluctuation of the input voltage affect the output voltage?I am asking because I will be using a battery as a source...
3)Does it make any difference if I use ceramic or electrolytic capacitors?
I think the safest way to go is start with a breadboard and maybe later move to a pcb. So at least for now I am stuck with 5% tolerance resistors right?
One major concern I have is how am I gonna solder the QFN to the DIP adaptor since i am not experienced in soldering SMD components :-/
Very nice website Giorgos. This was an article that was useful to me as I am trying to build a led driver for my personal use without having to buy ready made. I've just started exploring your website. Looks like many good things are here. I hope your are doing well in your local area.
@Stavros G I managed to make a circuit to control 20W LEDs from full bright (750mA) to full dimmed (pulsing), and the circuit dissipated less than 1 watt. This was achieved only by increasing the voltage.
As for your question, you can make 2 branches, each one providing 3 amperes. It is not wise to connect LEDs in parallel because a slight difference could unbalance the parallel branches. Should you wish to connect LEDs in parallel you need to consider using balancing resistors in series with each parallel branch. That is very important.
@Giorgos Lazaridis The datasheet says the a6210 chip can handle up to 3A. So what if I use two a6210 chips, each one in the configuration you present in this post, and then connect the two circuits in parallel (connect the two Lx pins to one common node which will then drive the load)? Would something like that be possible or am I being stupid? :-P
I will have to do some calculations some research on the characteristics of the battery i will be using and come back to you with the numbers...
I will try to rearrange the LEDs to decrease the current and increase the voltage.
@Stavros G Hello Stavro. 6A are way too much for this chip. Tell me your configuration, number of LEDs, current and voltage. Maybe you can increase the voltage and decrease the current. What is the total power? The A6210 can easily handle some 60 Watts and in some situation more.
I have not work yet with boost configurations, so i cannot have a good opinion about boost chips. But the current that you require to provide is too much.
Something else: How are you supposed to power those LEDs? With battery or mains power (220)?
As for the problem, there will be problems of course in high switching signals. The resistor values that you will come up with will not be accurate. Breadboards have huge parasitic capacitance between the connectors, so it is good only for tests. For prototyping you'd better consider making a PCB.
First of all I would like to congratulate you guys for the excellent work you have been doing!The tutorials, the videos, the projects, the theory pages, everything is great and really comprehensive!So bravo!
I have been working on a stand alone outdoor LED luminaire project for the last few weeks and and i've been looking for a driver that is configurable, easy to implement , features PWM and has sufficient documentation for quite a while. This post helped a lot!
In my application I will need to supply the LEDs with about 6A. So I was wondering, how would you do that?
Would a parallel connection ,of two identical circuits as the one presented above, be an appropriate solution?
Also, just in case, have you found a similar chip that can be configured as a boost dc/dc?
P.S. Am I going to have noise problems if i test this on a breadboard?