Maker Pro
Maker Pro

Low current source

F

Fred Bloggs

Fred said:
If he knows that it's always between 0 and 1V then he can get away with
a digital pot and using fixed current sources and Vin. The digital pot
might be loaded every time he goes to make a transition, and that's
about it:
View in a fixed-width font such as Courier.

.
.
. +----------------[R]-----------------------------+
. | |
. | |
. | |
. | | |
. | - I=W*CS <-> |
. | ||| +------------+ |
. | CS1|V| | | |
. | ||| -- | |
. | - | / | digi | |
. Vin>--[R]-+--|+\ | W | \ | pot | C |
. | >--+--|<|-+-|>|-+--->| / | +--||--+->Vout
. +-|-/ | A | | \ | | |
. | | | -- | |
. REF | B | | | |
. +--|>|-+-|<|-+ | +-|-\ |
. | | | >-+
. - | +-|+/
. ||| | |
. CS2|V| REF REF
. |||
. -
. |
.
.
.
.
. W*CS2 W*CS1
. Vout= - Vin SR(+)= ---- SR(-)= ---- 0< W < 1
. C C



In that case, if you notice that the A & B points voltages are V(W) +/- one
diode drop, then the current sources can even more be simplified and reduced
to a simple resistor.
I'll also fixe the current divider ratio to say about 50. Then I'll delete
the voltage reference and switch the input to the other opamp input.
Then we arrive at this simple schematics with Vin being directly a 0/5V
logic CMOS output.


+----------------[R]-----------------------------+
| 4.7M |
| ___ |
| .--|___|-+--+15V |
| | A | |
| | | | |
| .-. ---' |
| 100K| | |
| | | |
| '-' 1M |
GND--[R]-+--|+\ | W ___ C |
| >--+--|<|-+-|>|-+------+------|___|-+--||--+->Vout
Vin>-[R]--+-|-/ | A | | | |
| | | .-. | |
[R] | B | | | | |
| +--|>|-+-|<|-+ | |18K +-|-\ |
=== | '-' | >-+
GND .-. | +-|+/
100K| | | |
| | GND GND
'-' 4.7M
| ___
'--|___|-+-- -15V
A |
| |
---'

I think that gets you 5V out- it was 5 seconds max slew time and 1V
amplitude:
View in a fixed-width font such as Courier.

..
..
..
..
.. 0.33U
.. +15V +----+----------||-----+
.. | | | |
.. | --10K | |
.. [1.5M] | / | | |
.. +--[10K]---+-----|+\ | | \ | | |
.. | | | >+-|<|-+--|>|-->| / | | |
.. gnd | +-|-/ | W- | \ | | |
.. | | | --- +--------|-\ |
.. | | | | | | >-----+
.. | | 0.1u| +--------+----|+/ |
.. Vin>-[9.1K]-|---+-||--+ | | | |
.. | | | --- | | [1K]
.. CMOS | | | | / | | | |
.. IN | [1k] | W+ | \ | | +-----|>|-----+
.. | | +-|>|-+--|<|-->| / | | | |
.. | | | | \ | | | +-|<|-|<|---+
.. | | [1.5M] --10K | | | [1K]
.. | | | | | | +---------+ |
.. | | | +----+ | | |
.. | gnd 15V +---|<|-|<|-+ |
.. | | |
.. +------------------------[10K]------|-------------+-->Vout
.. | |
.. | [1K]
.. | |
.. +-------------+
.. |
.. gnd
..
..
..
..
..
..
..
..
..
..
..
 
F

Fred Bloggs

Fred said:
Fred said:
"Fred Bloggs" <[email protected]> a écrit dans le message de



If he knows that it's always between 0 and 1V then he can get away with
a digital pot and using fixed current sources and Vin. The digital pot
might be loaded every time he goes to make a transition, and that's
about it:
View in a fixed-width font such as Courier.

.
.
. +----------------[R]-----------------------------+
. | |
. | |
. | |
. | | |
. | - I=W*CS <-> |
. | ||| +------------+ |
. | CS1|V| | | |
. | ||| -- | |
. | - | / | digi | |
. Vin>--[R]-+--|+\ | W | \ | pot | C |
. | >--+--|<|-+-|>|-+--->| / | +--||--+->Vout
. +-|-/ | A | | \ | | |
. | | | -- | |
. REF | B | | | |
. +--|>|-+-|<|-+ | +-|-\ |
. | | | >-+
. - | +-|+/
. ||| | |
. CS2|V| REF REF
. |||
. -
. |
.
.
.
.
. W*CS2 W*CS1
. Vout= - Vin SR(+)= ---- SR(-)= ---- 0< W < 1
. C C



In that case, if you notice that the A & B points voltages are V(W) +/- one

diode drop, then the current sources can even more be simplified and reduced

to a simple resistor.
I'll also fixe the current divider ratio to say about 50. Then I'll delete

the voltage reference and switch the input to the other opamp input.
Then we arrive at this simple schematics with Vin being directly a 0/5V
logic CMOS output.


+----------------[R]-----------------------------+
| 4.7M |
| ___ |
| .--|___|-+--+15V |
| | A | |
| | | | |
| .-. ---' |
| 100K| | |
| | | |
| '-' 1M |
GND--[R]-+--|+\ | W ___ C |
| >--+--|<|-+-|>|-+------+------|___|-+--||--+->Vout
Vin>-[R]--+-|-/ | A | | | |
| | | .-. | |
[R] | B | | | | |
| +--|>|-+-|<|-+ | |18K +-|-\ |
=== | '-' | >-+
GND .-. | +-|+/
100K| | | |
| | GND GND
'-' 4.7M
| ___
'--|___|-+-- -15V
A |
| |
---'

Very good- I added REF in case someone was thinking of single supply. I
prefer more certain protection for the output- not as nice a CMOS input-
but that's just a shift- all Radio Shack stuff, TL082- protection only
kicks in when you have hardware failure of some kind- these values
should get him 0.1->5sec slews, and assumes VCA input is Hi-Z:
View in a fixed-width font such as Courier.

.
.
.
.
. 0.33U
. +15V +----+----------||-----+
. | | | |
. | --10K | |
. [1.5M] | / | | |
.Vin>-[10K]-+----|+\ | | \ | | |
. | | >+-|<|-+--|>|----->| / | | |
. | +-|-/ | W- | \ | | |
. | | | --- +--------|-\ |
. | | | | | | >-----+
. | | 0.1u| +--------+----|+/ |
. | +-||--+ | | | |
. | | | --- | | [1K]
. | | | | / | | | |
. | [5k] | W+ | \ | | +-----|>|-----+
. | | +-|>|-+--|<|----->| / | | | |
. | | | | \ | | | +-|<|-|<|---+
. | | [1.5M] --10K | | | [1K]
. | gnd | | | | +---------+ |
. | | +----+ | | |
. | -15V +---|<|-|<|-+ |
. | | |
. +----------------[10K]----------------|-------------+-->Vout
. | |
. | [1K]
. | |
. +-------------+
. |
. gnd
.


Hmmm, it'll work but in case of RadioShack components I guess I'll keep my
fixed 18K-1M current divider and variable current sources:
the 10K trimpots will produce non negligible current offsets due to the
output opamp offset (potentially several mv).
The 1M resistor reduces this current offset to a low enough value that you
won't noptice its effect.

That is a shame- the TL082 has way too much Vio- the pot current was so
linear....it can be circumvented but just more parts. Your method is
better- maybe some cheap transistor cascodes and the pot at your current
src:
View in a fixed-width font such as Courier.

..
..
..
.. +--|<|----+
.. | |
.. | ---10K
.. | | / |
.. | | \ |
.. | | / |<--[33K]-<+15V
.. | | \ |W
.. | --
.. | |
.. | e
.. | |/
.. +-------|
.. | |\
.. | c
.. | |
.. | -15V
.. |
.. V
..
.. Isrc
..
..
..
 
F

Fred Bloggs

Fred said:
Fred said:
Fred Bartoli wrote:

"Fred Bloggs" <[email protected]> a écrit dans le message de



If he knows that it's always between 0 and 1V then he can get away
with
a digital pot and using fixed current sources and Vin. The digital pot
might be loaded every time he goes to make a transition, and that's
about it:
View in a fixed-width font such as Courier.

.
.
. +----------------[R]-----------------------------+
. | |
. | |
. | |
. | | |
. | - I=W*CS <-> |
. | ||| +------------+ |
. | CS1|V| | | |
. | ||| -- | |
. | - | / | digi | |
. Vin>--[R]-+--|+\ | W | \ | pot | C |
. | >--+--|<|-+-|>|-+--->| / | +--||--+->Vout
. +-|-/ | A | | \ | | |
. | | | -- | |
. REF | B | | | |
. +--|>|-+-|<|-+ | +-|-\ |
. | | | >-+
. - | +-|+/
. ||| | |
. CS2|V| REF REF
. |||
. -
. |
.
.
.
.
. W*CS2 W*CS1
. Vout= - Vin SR(+)= ---- SR(-)= ---- 0< W < 1
. C C




In that case, if you notice that the A & B points voltages are V(W) +/-

one

diode drop, then the current sources can even more be simplified and

reduced

to a simple resistor.
I'll also fixe the current divider ratio to say about 50. Then I'll

delete

the voltage reference and switch the input to the other opamp input.
Then we arrive at this simple schematics with Vin being directly a 0/5V
logic CMOS output.


+----------------[R]-----------------------------+
| 4.7M |
| ___ |
| .--|___|-+--+15V |
| | A | |
| | | | |
| .-. ---' |
| 100K| | |
| | | |
| '-' 1M |
GND--[R]-+--|+\ | W ___ C |
| >--+--|<|-+-|>|-+------+------|___|-+--||--+->Vout
Vin>-[R]--+-|-/ | A | | | |
| | | .-. | |
[R] | B | | | | |
| +--|>|-+-|<|-+ | |18K +-|-\ |
=== | '-' | >-+
GND .-. | +-|+/
100K| | | |
| | GND GND
'-' 4.7M
| ___
'--|___|-+-- -15V
A |
| |
---'




Very good- I added REF in case someone was thinking of single supply. I
prefer more certain protection for the output- not as nice a CMOS input-
but that's just a shift- all Radio Shack stuff, TL082- protection only
kicks in when you have hardware failure of some kind- these values
should get him 0.1->5sec slews, and assumes VCA input is Hi-Z:
View in a fixed-width font such as Courier.

.
.
.
.
. 0.33U
. +15V +----+----------||-----+
. | | | |
. | --10K | |
. [1.5M] | / | | |
.Vin>-[10K]-+----|+\ | | \ | | |
. | | >+-|<|-+--|>|----->| / | | |
. | +-|-/ | W- | \ | | |
. | | | --- +--------|-\ |
. | | | | | | >-----+
. | | 0.1u| +--------+----|+/ |
. | +-||--+ | | | |
. | | | --- | | [1K]
. | | | | / | | | |
. | [5k] | W+ | \ | | +-----|>|-----+
. | | +-|>|-+--|<|----->| / | | | |
. | | | | \ | | | +-|<|-|<|---+
. | | [1.5M] --10K | | | [1K]
. | gnd | | | | +---------+ |
. | | +----+ | | |
. | -15V +---|<|-|<|-+ |
. | | |
. +----------------[10K]----------------|-------------+-->Vout
. | |
. | [1K]
. | |
. +-------------+
. |
. gnd
.



Hmmm, it'll work but in case of RadioShack components I guess I'll
keep my
fixed 18K-1M current divider and variable current sources:
the 10K trimpots will produce non negligible current offsets due to the
output opamp offset (potentially several mv).
The 1M resistor reduces this current offset to a low enough value that
you
won't noptice its effect.

That is a shame- the TL082 has way too much Vio- the pot current was so
linear....it can be circumvented but just more parts. Your method is
better- maybe some cheap transistor cascodes and the pot at your current
src:
View in a fixed-width font such as Courier.

.
.
.
. +--|<|----+
. | |
. | ---10K
. | | / |
. | | \ |
. | | / |<--[33K]-<+15V
. | | \ |W
. | --
. | |
. | e
. | |/
. +-------|
. | |\
. | c
. | |
. | -15V
. |
. V
.
. Isrc
.
.
.

Maybe this then:
View in a fixed-width font such as Courier.

..
.. +--|<|----+
.. | |
.. | ---10K
.. | | / |
.. | | \ |
.. | | / |<--[33K]-<+15V
.. | | \ |W
.. | --
.. | |
.. | e
.. | |/
.. +-------|
.. | |\
.. | c
.. | |
.. | -15V
.. |
.. |
.. +--[10K]---+-----|+\ | 0.68U
.. | | | >+-|<|-+--|>|-+--[1M]--+-------||--------+
.. gnd | +-|-/ | | | |
.. | | | [18K] +--------|-\ |
.. | | | | | | >-----+
.. | | 0.1u| +--------|---+----|+/ |
.. Vin>-[9.1K]-|---+-||--+ | | | |
.. | | | [18K] | | [1K]
.. CMOS | | | | | | |
.. IN | [1k] +-|>|-+--|<|-+--[1M]--+ +-----|>|-----+
.. | | | | |
.. | | | | +-|<|-|<|---+
.. | | | | | [1K]
.. | | | | +---------+ |
.. | | | | | |
.. | gnd | +---|<|-|<|-+ |
.. | | | |
.. +------------------------[10K]------|-------------+-->Vout
.. | | |
.. | | [1K]
.. | +15V | |
.. | | +-------------+
.. | c |
.. | |/ gnd
.. +-------|
.. | |\
.. | e
.. | |
.. | |
.. | ---10K
.. | | / |
.. | | \ |W
.. | | / |<--< -15V
.. | | \ |
.. | ---
.. | |
.. +--|>|----+
..
..
..
..
..
..
 
F

Fred Bloggs

fixing that sink error:
View in a fixed-width font such as Courier.

..
.. +--|<|----+
.. | |
.. | ---10K
.. | | / |
.. | | \ |
.. | | / |<--[33K]-<+15V
.. | | \ |W
.. | --
.. | |
.. | e
.. | |/
.. +-------|
.. | |\
.. | c
.. | |
.. | -15V
.. |
.. |
.. +--[10K]---+-----|+\ | 0.68U
.. | | | >+-|<|-+--|>|-+--[1M]--+-------||--------+
.. gnd | +-|-/ | | | |
.. | | | [18K] +--------|-\ |
.. | | | | | | >-----+
.. | | 0.1u| +--------|---+----|+/ |
.. Vin>-[9.1K]-|---+-||--+ | | | |
.. | | | [18K] | | [1K]
.. CMOS | | | | | | |
.. IN | [1k] +-|>|-+--|<|-+--[1M]--+ +-----|>|-----+
.. | | | | |
.. | | | | +-|<|-|<|---+
.. | | | | | [1K]
.. | | | | +---------+ |
.. | | | | | |
.. | gnd | +---|<|-|<|-+ |
.. | | | |
.. +------------------------[10K]------|-------------+-->Vout
.. | | |
.. | | [1K]
.. | +15V | |
.. | | +-------------+
.. | c |
.. | |/ gnd
.. +-------|
.. | |\
.. | e
.. | |
.. | |
.. | ---10K
.. | | / |
.. | | \ |W
.. | | / |<--[33K]-<-15V
.. | | \ |
.. | ---
.. | |
.. +--|>|----+
..
..
 
W

Winfield Hill

Fred Bloggs wrote...
That's economical but you lose linearity over his 50:1 range with
the pots like that. I hope he uses it though:)

Thanks Fred, you're too kind! You're correct, the slew rate goes
as 1/R (nonlinear), but the time to voltage goes as R (assuming
Rpot >> R3), so maybe Walter will find the concept useful.

Some might wonder how two opamps inside one feedback loop can be
stable, without extra compensation components. My conjecture is
the loop will be stable, because of the low-frequency integrator
pole, and because the A1 stage gain is attenuated by ~ R3/pot and
the diodes, whose dynamic resistance rises dramatically as their
current approaches zero at loop balance, so the extra gain should
be low enough to be safe at equilibrium. If I'm wrong, it's easy
to fix: a small resistor in series with C, etc.
 
W

Walter Harley

Winfield Hill said:
Fred Bloggs wrote...

Thanks Fred, you're too kind! You're correct, the slew rate goes
as 1/R (nonlinear), but the time to voltage goes as R (assuming
Rpot >> R3), so maybe Walter will find the concept useful.

Some might wonder how two opamps inside one feedback loop can be
stable, without extra compensation components. My conjecture is
the loop will be stable, because of the low-frequency integrator
pole, and because the A1 stage gain is attenuated by ~ R3/pot and
the diodes, whose dynamic resistance rises dramatically as their
current approaches zero at loop balance, so the extra gain should
be low enough to be safe at equilibrium. If I'm wrong, it's easy
to fix: a small resistor in series with C, etc.


This circuit works just right, and is what I will use. I implemented it
with an LMC6082 (150uV offset and 10fA bias!), using a +/-7V supply, 1MEG
trimmers in series with a 20k resistor for the pots, 3.3k for R3, 1MEG for
R4, 0.1uF for C, and 10k resistors for R1 and R2. With those values, a 1V
ramp is adjustable from 0.1s to 5s, and looks linear at both extremes. I
didn't see any signs of instability.

When I simulate it with LTSpice, the output of A1 rings wildly each time it
comes off the rails. I didn't see any sign of that in the real world,
though, so I assume it's just a simulation problem. I explored some
different settings (e.g., small timestep, different opamp models) without
any success, but I didn't try very hard.

Thanks again, to everyone who helped me. A non-profit community radio
station (KSER-FM) will sound a little better, thanks to you!

-walter
 
W

Winfield Hill

Walter Harley wrote...
in

This circuit works just right, and is what I will use. I implemented
it with an LMC6082 (150uV offset and 10fA bias!), using a +/-7V supply,
1MEG trimmers in series with a 20k resistor for the pots, 3.3k for R3,
1MEG for R4, 0.1uF for C, and 10k resistors for R1 and R2. With those
values, a 1V ramp is adjustable from 0.1s to 5s, and looks linear at
both extremes. I didn't see any signs of instability.

When I simulate it with LTSpice, the output of A1 rings wildly each
time it comes off the rails. I didn't see any sign of that in the
real world, though, so I assume it's just a simulation problem. I
explored some different settings (e.g., small timestep, different opamp
models) without any success, but I didn't try very hard.

Thanks again, to everyone who helped me. A non-profit community radio
station (KSER-FM) will sound a little better, thanks to you!

-walter

You move quickly Walter, thanks for that story. Have fun with your
radio station. I spent my summer before starting college designing
and building a main-console mixer (this was 1960, so I used tubes!)
for a small community FM station, so I have some idea how much fun
that can be. In my mixer, all ramp-ups and ramp-downs were by hand,
by rotating big Gates-style knobs!
 
Top