Maker Pro
Maker Pro

Problem with current mirrors

R

Remco Poelstra

Hi,

I'm trying to operate MOSFET devices with current mirrors. I want a
maximum Vgs, to make sure they have minimum Rds_on. The supply rails on
the other hand vary a lot, so I decided to use current sources to
develop the required Vgs across a resistor.
See http://remco.beryllium.net/Sheet1.pdf for a schematic

Q7 and Q5 make up the current source, using R12 to switch M2. Logic to
switch the current source off has been removed. M2 is switched perfectly
using this construct.
Q6 uses the current source reference output to generate another current
of about 1mA.
The other BJT's are current mirrors to copy the same current to R48, to
switch M6.
The problem is that the current through R37 is way larger than the
current through R27. Q12,9 and 8 also do not seem to be able to settle
at the correct value.
I'm wondering why it doesn't work correctly.
Can someone help?

Kind regards,

Remco Poelstra
 
T

Tim Williams

Early effect. Change of collector current with collector voltage.
Cure it by dropping several volts in the emitter path... add R's in
series to Q1:E, Q2:E, Q13:E, Q12:E, etc.

Emitter resistors help, or you can cascode it (Wilson mirror, etc.), or
both.

Why use Q8, 9, 12 and 13, why not run Q2 straight into R40?

Why all the resistors? You can remove more than half with no change in
performance. R15, 16, 21, 22, 23, 37, 39 and 40, which basically leaves
R12, 19, 27, 28 and 48.

Tim
 
F

Fred Bartoli

John Larkin a écrit :
Hi,

I'm trying to operate MOSFET devices with current mirrors. I want a
maximum Vgs, to make sure they have minimum Rds_on. The supply rails on
the other hand vary a lot, so I decided to use current sources to
develop the required Vgs across a resistor.
See http://remco.beryllium.net/Sheet1.pdf for a schematic

Q7 and Q5 make up the current source, using R12 to switch M2. Logic to
switch the current source off has been removed. M2 is switched perfectly
using this construct.
Q6 uses the current source reference output to generate another current
of about 1mA.
The other BJT's are current mirrors to copy the same current to R48, to
switch M6.
The problem is that the current through R37 is way larger than the
current through R27. Q12,9 and 8 also do not seem to be able to settle
at the correct value.
I'm wondering why it doesn't work correctly.
Can someone help?

Kind regards,

Remco Poelstra


How about something simpler? Try this for starters [1] maybe:

ftp://jjlarkin.lmi.net/MirrorFets.JPG

That's fine but why the reference and biasing/depletion Fet?
Loose them and just use the input logic levels.
One might want to add some VGS clamping zener diodes to allow maximum
FET drive in all temperature conditions.
 
H

Hammy

Hi,

I'm trying to operate MOSFET devices with current mirrors. I want a
maximum Vgs, to make sure they have minimum Rds_on. The supply rails on
the other hand vary a lot, so I decided to use current sources to
develop the required Vgs across a resistor.
See http://remco.beryllium.net/Sheet1.pdf for a schematic

Q7 and Q5 make up the current source, using R12 to switch M2. Logic to
switch the current source off has been removed. M2 is switched perfectly
using this construct.
Q6 uses the current source reference output to generate another current
of about 1mA.
The other BJT's are current mirrors to copy the same current to R48, to
switch M6.
The problem is that the current through R37 is way larger than the
current through R27. Q12,9 and 8 also do not seem to be able to settle
at the correct value.
I'm wondering why it doesn't work correctly.
Can someone help?

Kind regards,

Remco Poelstra

That is a pretty elaborate cct. to just switch a Highside PFET and a
low side NFET. If your willing to use all those components just to
switch a HS PFET you might as well use a NFET on the HS and bootstrap
the drive. The whole reason you would use a PFET on the HS is to
reduce the component count and complexity you defiantly aren't doing
that.

What is its purpose? Active inrush suppression?
 
H

Hammy

[snip]
That is a pretty elaborate cct. to just switch a Highside PFET and a
low side NFET. If your willing to use all those components just to
switch a HS PFET you might as well use a NFET on the HS and bootstrap
the drive. The whole reason you would use a PFET on the HS is to
reduce the component count and complexity you defiantly aren't doing
that.

Odd! I didn't find the OP's post to be "defiant" ;-)

But he indeed didn't ask for alternate circuits, he asked _why_ his
mirrors were inaccurate.

...Jim Thompson

I know my spelling has really gone downhill. :)

To much relying on software spell checkers.
 
R

Remco Poelstra

Hi,

Thanks for all replies!
That Early voltage example is really an insight, thanks Jim. Explains
why it isn't working indeed.
As for the general idea, I just want to switch the FETs on and off. The
remaining part of the circuit measures the current in the 80V lines and
in the event of a short circuit, I want to disconnect the load. So just
on or off.
I wanted to use current sources and mirrors to make sure Vgs is always
about (-)10V, a slight variation with temperature doesn't matter, as
longs as it doesn't go over the absolute maximum rating of the FET's.
I had not thought about the idea of using Q8 as current buffer in common
base and thereby eleminating a few Q's.
Given the amount of replies (and their content), it might be wise to ask
for ideas for more alternative circuits :). The "MirrorFets.JPG" looks
quite simple indeed. I don't think I can omit the bandgap reference (as
Fred Bartoli suggested), since the supply lines vary a lot (+-30V each
line). So I need some way to set the current through R12 and R48, just
setting it by varying the series resistor in MirrorFets.JPG is not very
accurate I think (unless I miss a good point somehwere).

Kind regards,

Remco Poelstra


Remco Poelstra schreef:
 
J

Jamie

Robert said:
John said:
Hi,

I'm trying to operate MOSFET devices with current mirrors. I want a
maximum Vgs, to make sure they have minimum Rds_on. The supply rails
on the other hand vary a lot, so I decided to use current sources to
develop the required Vgs across a resistor.
See http://remco.beryllium.net/Sheet1.pdf for a schematic

Q7 and Q5 make up the current source, using R12 to switch M2. Logic
to switch the current source off has been removed. M2 is switched
perfectly using this construct.
Q6 uses the current source reference output to generate another
current of about 1mA.
The other BJT's are current mirrors to copy the same current to R48,
to switch M6.
The problem is that the current through R37 is way larger than the
current through R27. Q12,9 and 8 also do not seem to be able to
settle at the correct value.
I'm wondering why it doesn't work correctly.
Can someone help?

Kind regards,

Remco Poelstra



How about something simpler? Try this for starters [1] maybe:

ftp://jjlarkin.lmi.net/MirrorFets.JPG


John


[1] Note that I said "for starters" to reduce some of the predictable
whining.
Cool! Not many use common base...
that's because it doesn't offer you any current gain. In fact, you'll
lose a little.
 
T

Tim Williams

Robert Baer said:
Yes, one DOES lose a little current gain, bit methinks that is not the
reason one sees little use of common base circuitry.

Bah, common base is great for saving parts. :)
http://webpages.charter.net/dawill/Images/CC_Buck.gif
The error amp / comparator 2N4403 has to be noninverting.

Too bad about the 1k base voltage divider, it would be more efficient if it
had complementary output, which could drive a 2N7000 FET instead of the 4401
switch.

Tim
 
T

Tim Williams

John Larkin said:
Hey, I can do that too!

ftp://jjlarkin.lmi.net/Inverter.jpg

Pffbt... mine has fewer parts, and way fewer total transistors. ;-)

Size? Ohh, about the same I guess, since both can be made from SMT parts,
with output limited by their power dissipation. The FET is more efficient
of course.

If CC_Buck were actually "CV_Boost", it would look more like:
http://webpages.charter.net/dawill/Images/Blocking Oscillator Supply.gif
which is almost exactly what you've done. Invert all the polarities and it
is exactly what you've done. But I like to save on components by putting a
wire jumper around the inductor.

For best results, the error amp (grounded base strikes again!) ought to be
replaced with a bandgap reference.

It's a shame they don't make noninverting TL431's. As is, the anode carries
output current, and the offset is -2.5V, not as nice. Compensation would be
a curious affair though...
A neat logic level shifter is TTL-resistor-PNPemitter with the PNP
base grounded, collector going to somewhere negative.

LT did it to test their LT1016 (pg.7 of the datasheet). Although they used
a beefy NPN instead.

Tim
 
T

Tim Williams

John Larkin said:
YIKES! The charging current into C1 is beta limited! And a little
overshoot on the output could fry somewhere between one and three
transistors.

Nah, it's not so bad. For big Vin, the error amp PNP can certainly get
fucked through the primary-schottky-BE-zener path, but it's your own fault
for connecting more than one cell (0.7-3V) to it.

Charging current is hFE limited, but so what? Caps charge quickly, and hFE
drops at big Ic, so the total energy is small no matter how you cut it. The
only downside is if the oscillator stops oscillating, which can happen on
occasion, particularly when heavily loaded.
But I confess I do like blocking oscillators. But custom magnetics are
a pain, so I tend to avoid them in favor of more complex circuits that
use standard parts.

Much as I like blocking oscillators, the danger of quenched oscillation does
scare me a little. Proper design seems to handle pretty well though. I
pulled 30W through this one:
http://webpages.charter.net/dawill/Images/RegBO.gif
with a dinky ass transformer. With the bootstrapped bias supply, it is
"impossible" to quench and overbias the oscillator.

The nice thing about CC_Buck is, you don't even need a custom transformer --
the turns ratio is so small, you can place a fairly large airgap inductor
(like a rod or bobbin type) and run a trace around it on the PCB. Leakage
takes care of the rest. Typical values I use in simulation are around 50uH
primary, 25nH secondary (although at 0.95 coupling factor, which will
obviously be worse for a non-wound secondary). You do have to be careful
that the inductor has the same winding direction every time, which might be
kind of weird to specify I suppose, and could lead to unusual results
(anomalously high power dissipation, while still operating correctly --
since the DC path is stable in either case).

Tim
 
J

JosephKK

Emitter resistors help, or you can cascode it (Wilson mirror, etc.), or
both.

Why use Q8, 9, 12 and 13, why not run Q2 straight into R40?

Why all the resistors? You can remove more than half with no change in
performance. R15, 16, 21, 22, 23, 37, 39 and 40, which basically leaves
R12, 19, 27, 28 and 48.

Tim

Offhand, i would guess they are there to say within the Vce and Vgs ratings of the transistors.
 
Top