# Voltage Controlled (w/ op amp) Wilson Current Mirror Can't Actually Mirror (Missing something)

I'm working on a current mirror circuit and I'm in a little bit of a problem. I have a current mirror circuit, which is supposed to, well, mirror the current, except that the current in the "copy" part has nothing to do with the original current, according to circuitlab.

Clearly, I don't understand something, but I can't figure out what exactly.

Circuit: It is intended to be voltage-controlled, V1 can vary. The circuit on the left (current to be mirrored) has the correct 10uA, but the one on the right has some 800+ uA, and if I remove the resistor on the right, my expectation is to, well, have 10uA because it is supposed to copy current from the left (which I actually expect regardless of the resistor as long as there is enough supply voltage), except that it becomes a whole amp or more or something. Nothing like what I expect. So I definitely don't understand something.

"Copy" current has a lot more base current in Q3/Q4, which, well, makes sense, given there is a lot more collector current. Why tho.

I tried moving R2 on top of the transistors, between the supply and Q4. No visible difference, still larger currents in the copy.

Question: why is my current not mirrored with or without R2? What am I missing out? Why are Q4/Q3 conducting a lot more?

Sub-question: how do I make voltage-controlled current source that I can mirror?

EDIT: maybe I should only connect op amp output to the base and NOT to collector of the circuit on the left?

EDIT 2: connected both collectors to 5V supply in sim, only bases to op amp output. Same problem.

• You can't just remove R2. If you set it to 100k it should be 10uA or there is no path for the current. As shown it should give a ratio of 100 to sink 1mA with 10uA in Q1. What is the actual current? Sep 7 at 14:32
• If I set it to 100k it defeats the whole purpose because it's an identical circuit to the original? And what do you mean by "actual current"? Actual current where?
– Ilya
Sep 7 at 14:35
• AFAIK this circuit works by mirroring Vbe. Therefore it requires the E's to be connected together, not just the B's. Or am I missing something? Sep 7 at 14:45
• Shouldn't R1 equal R2 for a 1:1 mirror? Sep 7 at 14:56
• Well, R2 isn't the load, it's part of the current mirror. The load is between Q4 and V2. Sep 7 at 16:09

The problem I see is you are neglecting that the Wilson current mirror uses only the two top collectors as a reference source and sink output, or visa versa with PNP. But here you are sensing emitter current to control it with a reference voltage. Since Ie=Ib+Ic creates a slightly different voltage, this gets amplified by the left side voltage gain. If you choose a large current on the right side with say Re=100, then you can attenuate voltage gain and the current ratios somewhat match the Re ratios.

But the real problem is you are sensing and regulating emitter current instead of collector current in your diagram.

Often, the whole point in a current mirror is to have identical currents in both sides of the mirror. That is the reason for using an enhanced beta mirror, a Wilson mirror or an improved Wilson mirror (as you have there). The usual reason for putting equal value resistors in the emitters is for degeneration to reduce the effects of any Vbe mismatch in the transistors to keep the currents matched in the two sides as closely as possible. Sometimes you see one of the emitter resistors omitted and this would be called a Widlar (Bob) current mirror and is used to purposely mismatch the currents in the two sides of the mirror in order to generate a low current.

To make the two currents equal use equal value emitter resistors and then put your load resistance in the collector circuit of top right hand transistor (Q4).

• The mirror can be amplified by Re ratios. It never has to be 1:1 (pls correct) Sep 7 at 15:43
• So, I'm supposed to have equal resistors? That's a huge shame. I was hoping so much that current mirror will copy the current with whatever load is connected (load=R2 in my understanding; was at least). I don't see much point in current mirror circuit then, to be honest. I thought I could replicate 10uA current through smaller resistor with it (resistor of any value). Any idea how can I achieve that?
– Ilya
Sep 8 at 8:08

R1 and R2 are not matched. So, if the voltage drop across each is the same, there needs to be R1/R2 times the current in R2 than in R1.