Monday, 1 May 2017

pwm - Adding more LEDs to a current regulating circuit



I am modifying a current regulating circuit that was designed to power three LED lights (see figure below). The circuit is designed to maintain current through the LEDs at 1A. The LEDs should be off when no PWM signals are input (the PWM signals are sent by an Arduino Mega). In the diagram, SJ1 SJ2 and SJ3 are regular BJTs and BJ1 is a power BJT.


I now want to power six LEDs instead of three. Is it as simple as adding three more LEDs in series with the original three? Or do I need to modify components of the circuit?


enter image description here



Answer



Let's see if we can put all six LEDs in series first. The resistors BR1 and BR2 are in parallel, so their parallel resistance is 0.75Ω. At 1A of current, that's a voltage drop across the resistors of 0.75V. Above that, we'll assume BJ1 is in saturation. The datasheet you linked to doesn't give us the Vce(sat) at 1A, so we'll use the 5A number of 1V.


So 0.75V from the resistors and 1V from BJ1 means there's only 10.25V left for the LEDs. Dividing that by six gives you about 1.7V per LED. If the LEDs have a forward voltage drop of less than 1.7V at 1A, then you're good to go. But I doubt you'll be that lucky.


Inevitably, you'll probably need to put the other three LEDs in parallel with the first three. There's a couple of ways to do that. Here's one way that doesn't add too much more complexity to what you already have.


schematic


simulate this circuit – Schematic created using CircuitLab


This circuit effectively increases the total current through BJ1 to 2A. Each string of three LEDs will get 1A. From the datasheet, it looks like BJ1 can handle the current, so no need to change the transistor. I did have to change the resistance of SR3 to bias BJ1 to get 2A. The datasheet only gives a DC gain of 40 at 0.5A and 15 at 5A, so I picked 25. YMMV.



You might be tempted to just put the two strings of LEDs in parallel and be done with it, but unfortunately LEDs have a little "gotcha" when put in parallel. As LEDs heat up their forward voltage drop, Vf, decreases. When the Vf decreases, more current will flow through the LED making it hotter and further reduces its Vf. If the two strings of parallel LEDs were perfectly matched (as a simulator would probably do) this woudn't be a problem. But in the real world, the LEDs on one side will lose a tiny bit more Vf than the other side as the current starts to flow due to manufacturing variability. A tiny bit more current will start to flow through that string, which will heat those LEDs up even more, further reducing their Vf. All the while, the other string is being robbed of current. The end result is that one string of LEDs will be significantly brighter than the other. It might also cause the LEDs to fail if they can't handle more than 1A.


The solution is to put a small resistor in series with each string. Regular resistors have a positive temperature coefficient, so as they heat up, their resistance rises a little bit. That counteracts the effect of the Vf drop in the LEDs and works to balance the current through the two strings of LEDs. You'll see in the circuit above, I added R1 and R2 to serve that purpose.


Other than that, the reason for adding BR3 and BR4 should be obvious. With twice as much current, you want half the resistance so that the voltage drop across those resistors stays the same and SJ3 is properly biased to act as the current limiter.


Keep in mind those resistors are taking a lot of current. R1 and R2 are dissipating 1W each and BR1-4 are dissipating 0.375W each. Even SR3 may be dissipating nearly a Watt. Common 0.25W resistors will burn up in this circuit. You'll need to source resistors that can handle the heat, or put more resistors in parallel to get the same resistance.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...