Wednesday, 18 May 2016

led - Pumping a few amperes for 100 µsec


I would like to pump 4-5 A to a high-power LED for 100 µs. My system has only a 3.3 V battery, and this 100 µs high-power event takes place once every 10 seconds.


What is the best way of doing this without upsetting the batteries?


The answer below is very good. However, I am looking for a schematic I can use and test out.


More exact requirements:




  • Battery: Li-ion

  • Current 5 A

  • Pulse Duration: 100 µs

  • Pulse Rise time <100 ns

  • Minimum time between pulses 10 ms

  • Pulses are controlled with a 3.3 V I/O GPIO from a controller

  • The voltage drop across the LED is 3.5 V. Ideally I like to be able to put three or more in series (10.5 V voltage drop)

  • Datasheet to the LED



Bonus question


If you have a better LED recommendation with a large angle that is in the invisible range, please let me know.




I have implemented this project, and it works well except the leakage current. No matter what I tried, I couldn't get rid of the leakage. I tried a few types of opamps add a pull down resistor to the output of the opamp, etc. I end up turning off the opamp to cut the leakage. It works, but it is not very neat. I would be happy to hear what experts think of the situation.



Answer



This is the most efficient way I can think to do it. There's a MAX1682 charge pump to give you 6.6v at the super capacitor. The voltage doubler is pretty efficient, probably more then 90%, but they can't supply huge currents. But what's the average current?


5A * 100us / 10s = 0.05mA.


That's well within the MAX1682's 45mA spec.


From a brief look at the datasheet, I couldn't see any reason it wouldn't work with such a large capacitor for C2.


Thanks to Russell McMahon for advice about charge pump efficiency. It looks like an inductor based solution would be more efficient, but would require more components. Take a look at something like MAX17067. This also has the benefit that it can produce the higher voltage required by three LEDs in series. I'll add it to the schematic tonight.



Flash 1


Now the important bit. You'll notice that there's no current limiting resistor. The current limiting will be performed dangerous open-loop style by the MCU. You'll have to get this right by calculation or trial and error (or both).


By supplying PWM to Q2's gate, you will be able to use the inductor as an efficient current limiter. But you won't get a very reliable current this way. It may not matter hugely, as long as 1) sufficient power is delivered to the led in 100us, and 2) the LED's current limit is not breached.


Here's a simulation I did in Altium. I used a 5uH inductor (not the 10mH shown in the schematic). And I supplied PWM with 12us on time, and 3us off time to the gate. I didn't use the 100uF capacitor, just a fixed voltage source instead. So you could expect some current droop.


Current control with inductor and PWM


Red is the current in amps, and blue is the PWM signal. You can see that you get close to 5A within 20us, and stay pretty close to it after that.




If you want better current regulation, then you can add a sense resistor, and use it to feed back to the MOSFET.


Flash 2


Here we have a 0.5ohm current sense resistor. At 5A, this should give us 2.5v to the comparator negative input. This is compared against the value from the pot. If the current is too high, the comparator switches off, and vice versa. The switching speed will vary depending on the hysteresis of the comparator. If the speed is too high, then you can increase the hysteresis (and decrease the switching speed) by adding a few hundred k resistor between the comparator output and its + input.



Note: You must use a high speed (<0.1us propagation delay) comparator with open drain output. You might look at the LMV7235 which is available from Farnell for about one pound.




Added:


The circuits above assume only one LED. If you still want to use 3 in series, you can use two MAX1682s to give you 13.2v.


Also, many thanks to Telaclavo for his advice on this.




Added:


OP has stated:



  • He wants a very fast rise time on the current


  • Not interested in efficiency

  • There will be a single pulse, or two pulses 80us apart, then a long pause

  • Wants a simple, robust circuit


Here is a circuit which is a linear current regulator. This is only feasible because the duty cycle is very low. This circuit will likely over-heat the transistor if the duty cycle is too large.


Flash 3


Thoughts:



  • A high voltage from the MCU or 555 will switch on the LED. A low voltage will switch it off.

  • Set the current using the voltage divider, or put in a pot so that it's adjustable. Or use a digital pot or DAC so the MCU can vary it.


  • In the schematic, the current is set to 3.3A. You can set it to whatever you want.

  • I drew only one LED, but it's meant to represent three LEDs.

  • If you use only a single LED, then set the boost regulator's output voltage lower accordingly.

  • I suggest a 555 based pulse generator for safety reasons, so it would be fairly hard to leave the current on

  • You could also make it safer by choosing a boost regulator which has a current limit. So, even if the flash is left switched on, the regulator would just limit the current anyway.

  • I cannot say what the switch on time will be. This will depend on the inductance of your wiring.

  • You should lay out the PCB carefully to avoid EMI.


No comments:

Post a Comment

arduino - Can I use TI&#39;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...