Thursday 28 September 2017

operational amplifier - simple adjustable current source for LED string


I want an simple adjustable current source that can drive a string of up to 9-10 LEDs at up to 350ma, with typical forward voltage of 2.85v, from a 30vdc power supply. I know there are off-the-shelf solutions, but I find they don't dim gracefully to zero, and they are expensive. LM317 is an option, but the current is reciprocal of adjustment resistor, and you can't get audio-taper pots at the low resistance values required. I just want to be able to dim with a potentiometer, without the need of a PWM signal. Here's a simple circuit that just uses a single PNP transistor:


current source


Vctrl is just a dummy variable to simulate rotation of the potentiometer shaft. Since vsupply will be 30v, Vbe of the transistor should be fairly inconsequential, (and I could remove it from the adjustment range by adding a small resistor between vsupply and the bottom of the pot).


But there are some areas I'd like to improve. Since the base current into the BJT is in the few-milliamp range, I have to use fairly small resistors and pot in the divider that generates the base voltage, so that's some waste. And I'd love to be able to drive 10 LEDs (instead of the 9 shown). But that leaves only 1.5v of "overhead" (30v supply minus 10 times 2.85v). So then R1 and the swing of Vbase have to become quite small.


So maybe I'm better adding an op-amp, like this circuit posted (in another thread by Andy aka):


enter image description here


So now R1 has exactly Vin across it (due to the op-amp action), and R1 can be very small, so I can probably drive 10 LEDs. And the voltage divider that generates Vin can use very large values and burn very little power.


The problem, and the crux of my question, is selecting an op-amp: it needs to be a single supply type. LT1006 is a possibility (I'm not allowed to link to the data sheet). It has a maximum supply listed as +/-22v, which I assume means a single supply of 30v is acceptable. But the high output appears to be about a volt below the high power supply, which is unacceptable (I only have a volt or so to burn in R1 if I want to drive 10 LEDs).


I could invert the circuit, use an NPN transistor, but the low voltage of the op-amp is still going to be a few hundred mv (I don't understand the comment at the top of the data sheet that the output can swing to GND while still sinking current). Possibly this could work, depending on just how low the op-amp can drive with supply at 30v and GND.



A lot of rambling background, but my question is, are there other op-amps that might work better for this (or are there other simple circuits I might want to consider) ?




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...