Let me start with that I'm new to current mirrors and my idea may be conceptually wrong. Feel free to ask any clarifying questions.
I'm designing a dual "LED lamp" with very finely tunable brightness including very dim levels. The control loop for the brightness is only for a single lamp, with the second lamp added to double the max brightness possible, and this is where I use the current mirror (I want the second lamp shine as brightly as the first). I don't have the second LED string yet, so I've substituted a 5W 220ohm resistor. The relevant part of the schematic is:
simulate this circuit – Schematic created using CircuitLab
A MCU is controlling Vgs of the MOSFET, and sensing the actual current via the R3 shunt. The current mirror PNP pair is a single-package device - BC807DS,115, a SOT-457 part. The LED string is "cannibalized" from a commercial mains-voltage LED bulb. Only the LED PCB is used, where it has just the +/- terminals, and the LED string needs ~29V for full brightness.
The problem
If I slowly increase the gate voltage, to the point that the left leg conducts 5-10mA (measured at R3), the second leg starts conducting close to 100mA (measured at R4), more than 10 times more. However, if Vgs is 0, then both legs don't conduct. Also, at higher currents, the mirror sort of works, with both legs conducting relatively similar currents (yet not perfect).
Example at low currents, where the problem is most pronounced: Left leg is yellow, right leg is cyan. Both traces are 50mA/vertical div.
At higher currents the matching is closer (about 110mA for the left leg, 130mA for the right): Same settings for the traces.
Question
Is a current mirror really a good approach for this task? Any idea why does mine fail so miserably? I know, of course, that you can alternatively wire both led strings in series. That would require 60+V supply which starts to be somewhat dangerous for the intended application of the device - I strongly prefer the 31.5V solution.