J
John Fields
Ok I'm back after some actual lab-work
I studied the current-source design with an NPN with an emitter
resistor (Re) to GND and a string of 5 leds between Vcc (12V) and the
collector. I tried to make the dimensions so that Ve is around 500 mV
(to leave space for a Vce of over 1 V and the voltage drops across the
LED's which is around 2.1 V per LED at the currents I'm interested in),
so for a LED current of Ic=250mA, I chose Re=2.2 ohm. Given the drop
over the base-emitter port of the NPN of 0.7V, I'd have to have a Vb of
1.2 V.
Somewhere here I realised that at a beta of say 30-40, I would have to
support an Ib of around 10 mA (I actually measured this), which is
quite much. The trigger source is 5V and I have difficulties of getting
those 5V down to the required 1.2V. A resistor-based voltage-divider is
not good enough since choosing small R forces a too heavy load on the
trigger buffer, and choosing a high R makes the 15 mA create a too big
voltage drop (pulling the NPN out of the "easy" feedback model). So I
switched the transistor to a darlington NPN with beta > 750 giving an
Ib of about 0.2 mA (measured). Still this did not create a sane
configuration with the voltage divider model (the 0.2 mA creates a too
big voltage drop nonetheless).
I also tried various combinations of 1N4148 strings to drop the
voltage, but it does not work as I think it does (I get voltage drops
of only 530mV over each 1N4148 can that be right?). I tried both simply
putting the diodes in a series from the trig buffer (5V) down to the
transistor base. I also tried a resistor from the trig buffer to the
base, and a diode string from the base to GND, but this configuration
didn't work as expected either
I'd be happy to have some thoughts on this seemingly simple circuit
Perhaps adding a voltage follower (another buffer) at the input port to
support the higher currents is enough ? I'll try that in the lab I
guess...
---
Here's the LTSPICE circuit file for a circuit that works:
Version 4
SHEET 1 1308 680
WIRE -848 416 -848 352
WIRE -848 560 -848 496
WIRE -736 352 -848 352
WIRE -736 416 -736 352
WIRE -736 560 -848 560
WIRE -736 560 -736 496
WIRE -672 352 -736 352
WIRE -544 352 -592 352
WIRE -480 -160 -480 -208
WIRE -480 -32 -480 -80
WIRE -480 304 -480 -32
WIRE -480 560 -736 560
WIRE -480 560 -480 400
WIRE -432 -32 -480 -32
WIRE -304 -32 -352 -32
WIRE -240 -208 -480 -208
WIRE -240 -80 -240 -208
WIRE -240 48 -240 16
WIRE -240 176 -240 128
WIRE -240 320 -240 176
WIRE -240 560 -480 560
WIRE -240 560 -240 384
WIRE -176 176 -240 176
WIRE -16 176 -96 176
WIRE -16 176 -16 -896
WIRE -16 320 -16 176
WIRE -16 560 -240 560
WIRE -16 560 -16 400
WIRE 96 -736 96 -928
WIRE 96 336 96 144
WIRE 144 -928 96 -928
WIRE 144 -896 -16 -896
WIRE 144 144 96 144
WIRE 144 176 -16 176
WIRE 176 -944 176 -1280
WIRE 176 -512 176 -880
WIRE 176 -208 -240 -208
WIRE 176 128 176 -208
WIRE 176 560 -16 560
WIRE 176 560 176 192
WIRE 272 -912 208 -912
WIRE 272 160 208 160
WIRE 432 -912 352 -912
WIRE 432 160 352 160
WIRE 496 -960 496 -1008
WIRE 496 -736 96 -736
WIRE 496 -736 496 -864
WIRE 496 -688 496 -736
WIRE 496 -512 176 -512
WIRE 496 -512 496 -608
WIRE 496 -464 496 -512
WIRE 496 112 496 64
WIRE 496 336 96 336
WIRE 496 336 496 208
WIRE 496 384 496 336
WIRE 496 560 176 560
WIRE 496 560 496 464
WIRE 496 608 496 560
WIRE 576 -1008 496 -1008
WIRE 576 64 496 64
WIRE 704 -1008 656 -1008
WIRE 704 64 656 64
WIRE 832 -1008 784 -1008
WIRE 832 64 784 64
WIRE 960 -1008 912 -1008
WIRE 960 64 912 64
WIRE 1088 -1008 1040 -1008
WIRE 1088 64 1040 64
WIRE 1248 -1280 176 -1280
WIRE 1248 -1008 1168 -1008
WIRE 1248 -1008 1248 -1280
WIRE 1248 -208 176 -208
WIRE 1248 -208 1248 -1008
WIRE 1248 64 1168 64
WIRE 1248 64 1248 -208
WIRE 1248 304 1248 64
WIRE 1248 560 496 560
WIRE 1248 560 1248 384
FLAG 496 608 0
FLAG 496 -464 0
SYMBOL Opamps\\LT1006 176 96 R0
SYMATTR InstName U1
SYMBOL res 368 144 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R1
SYMATTR Value 2700
SYMBOL res 512 480 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R2
SYMATTR Value 1
SYMBOL npn 432 112 R0
SYMATTR InstName Q1
SYMATTR Value 2N4401
SYMBOL res 672 48 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R3
SYMATTR Value 8.4
SYMBOL res 800 48 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R4
SYMATTR Value 8.4
SYMBOL res 928 48 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R5
SYMATTR Value 8.4
SYMBOL res 1056 48 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R6
SYMATTR Value 8.4
SYMBOL res 1184 48 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R7
SYMATTR Value 8.4
SYMBOL voltage 1248 288 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value 12
SYMBOL res -32 304 R0
SYMATTR InstName R8
SYMATTR Value 240
SYMBOL res -80 160 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R9
SYMATTR Value 2200
SYMBOL res -256 32 R0
SYMATTR InstName R10
SYMATTR Value 3300
SYMBOL pnp -304 16 M180
SYMATTR InstName Q2
SYMATTR Value 2N4403
SYMBOL res -336 -48 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R11
SYMATTR Value 10k
SYMBOL res -496 -176 R0
SYMATTR InstName R12
SYMATTR Value 10k
SYMBOL References\\LT1009 -240 352 R0
SYMATTR InstName U2
SYMBOL npn -544 304 R0
SYMATTR InstName Q3
SYMATTR Value 2N3904
SYMBOL res -752 400 R0
SYMATTR InstName R13
SYMATTR Value 10k
SYMBOL voltage -848 400 R0
WINDOW 3 -3 207 Left 0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V2
SYMATTR Value PULSE(0 5 0 1e-6 1e-6 .001 .01 10)
SYMBOL res -576 336 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R14
SYMATTR Value 1k
SYMBOL Opamps\\LT1006 176 -976 R0
SYMATTR InstName U3
SYMBOL res 368 -928 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R15
SYMATTR Value 2700
SYMBOL res 512 -592 R180
WINDOW 0 36 76 Left 0
WINDOW 3 36 40 Left 0
SYMATTR InstName R16
SYMATTR Value 1
SYMBOL npn 432 -960 R0
SYMATTR InstName Q4
SYMATTR Value 2N4401
SYMBOL res 672 -1024 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R17
SYMATTR Value 8.4
SYMBOL res 800 -1024 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R18
SYMATTR Value 8.4
SYMBOL res 928 -1024 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R19
SYMATTR Value 8.4
SYMBOL res 1056 -1024 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R20
SYMATTR Value 8.4
SYMBOL res 1184 -1024 R90
WINDOW 0 0 56 VBottom 0
WINDOW 3 32 56 VTop 0
SYMATTR InstName R21
SYMATTR Value 8.4
TEXT -858 648 Left 0 !.tran 0 .1 0
It's basically a switched reference driving (if you want 40 lamps)
eight five-lamp constant current drivers.
With 5 lamps dropping 2.1V each that's 10.5 volts out of 12, which
gives you 1.5 volt of headroom to play with, which the 2N4401's and
current sense resistors soak up nicely.
I've modelled the LEDs as 8.4 ohm resistors, since:
2.1V
R = ------- = 8.4 ohms
0.25A
I've only shown two drivers and their loads, for convenience, but
the other six just connect across the 12V supply, with the + input
of all the opamps going to the reference voltage at the junction of
R8 and R9.
It simulates beautifully, as you'll see when/if you run it.
Post back if you have any questions.