Opamp based adjustable current source
This is a basic constant current source (or rather, sink) based on an operation amplifier driving a power transistor.
Dispite have more components than most simple current sources, the operation of this schematic is fairly simple to understand.
The two 1n1418 diodes are used as a voltage reference, in the current configuration their voltage drop is roughly 1.2 volts. If you want, you can replace the pair by a 1.25 zender diode or bandgap reference for more precision. R1 provides bias current, depending on the operating voltage in the order of 0.5 to 1 mA.
R2 acts as a current divider, and allows you to set the reference voltage anywhere between zero and 1.2 volts. This potmeter carries very little current, and you can use a 10 turn precision model if you want.
The opamp and transistor ensure that the voltage over R4 is kept equal to that coming from the reference, resulting in a constant current through the laser diode. One very important aspect is the choice of the ompamp: It MUST have common mode input all the way to ground, which is why the CA3140a model was chosen. There are many other opamps that can work in this schematic, but "standard" opamps like the LM347 or TL071 will not work.
Shunt resistor R4 determines the maximum current the circuit will provide when you turn the potmeter up to maximum. Calculation for its value:
R4 = 1.2V / Imax
For example, using a 12 ohm resistor would result in a range up to 100 mA, a 10 ohm resistor will result in a maximum of 120 mA, using a 3 ohm resistor will give you a maximum of 400 mA. You can use a sense resistor as low as 1 ohm or even less, resulting in output currents of 1 ampere and over. This makes the driver fairly universal, powering anything from a 10 mW red diode, dpss pump diode, 12X bluray or even a full watt 445 nm laser. For currents over 1 amp, it is advisable to replace the BD139 by a (MOST)FET or darlington transistor (e.g. TIP120), since the ompamp can only source it 10 mA, and its current gain is guaranteed to be 100 times.
Depending on output current, diode and supply voltage, Q1 may need heatsinking. The calculation for power dissipation is:
P = (Vin - Vout) * Iout
I'd advise using a heatsink if the power dissipation exceeds 0.5 watts.
The minimum voltage drop required by this driver is roughly 1.7 volts when set for maximum current, and can be lowered to about 1.2 volts when using a single diode reference, or setting the current no higher than 50% of maximum.