Das Problem bei der Schaltung ist die Schwellspannung des Transistors und die nicht konstante Stromverstärkung des Transistors.
Dadurch kommen Abweichungen von der Funktion die durch eine Operationsverstärkerschaltung deutlich verringert werden können.

Eine Möglichkeit wäre die geringe Spannungsreserve an Rp1 zu einer Strommessung zu nutzen. Den Widerstand sollte man als Shunt gegen GND schalten und die Spannung an ihm mit deinem Operationsverstärker mit der geteilten Eingangsspannung vergleichen.
Daraus gewinnt man dann die Regelspannung zur Ansteuerung des Transistors.
Manfred