Hi,
I have done a little modeling for you in LTspice. I have included a couple of advanced features:
1) Voltage controlled resistor
I have made R3, the collector resistor, a voltage controlled resistor by replacing the value with:
R=limit(1,10000,V(Res_ctrl))
This means the resistor has the value equal to the voltage on the node Res_ctrl. The resistor has a minimum value of 1 Ohm and a maximum value of 10K Ohms. V2 controls the value of the resistor.
This lets me sweep the resistor from 100 Ohms to 800 Ohms, the same as the range in the original post.
2) Multiple runs with different transistors
You cannot step the type of transistor directly.
The ako, meaning 'also kind of' allows a numeric value to be assigned to a model, using a .model statement.
The models can also be modified using the ako directive.
.model 2223 ako:2N2222 bf=100
This means generate a new model with a name 2223, with all the parameters of the 2N2222, except the ones that have been changed. In the case I specified that the forward gain bf (also HFE) is 100.
So here is the LTspice model
And here are the key results:
The selection of different transistors has very little effect on the current in R3. The majority of the change comes from difference in gain. This circuit holds the emitter current constant. Ic = Ie - Ib
There is a point where if I continue to increase the collector resistor, where the transistors collector - emitter voltage - 0 and the circuit can no longer regulate current. This happens when R3 is around 1 k Ohms.
I have attached the LTspice model in the zip file.
Regards,
Jay_Diddy_B