As I understand it, you want to drive a laser diode with a 100 kHz sine wave with a bias of about 40 mA. The 100 kHz signal is is available from a 0-5 Volt digital output. Here is a circuit that should at least be a reasonable topology:
You will have to fill in the right values yourself. The ones I show represent only a very rough stab at it.
R2, C3, R3, C4 are a two pole low pass filter. This will eliminate much of the harmonic content of the 100 kHz square wave to make it closer to a sine wave. In this scheme more filtering also reduces the amplitude, so you will have to change R5 if you adjust the aggressiveness of the filter. R1 and R4 set the DC bias. In this example is should be roughly 40 mA. C2 AC couples the signal from the filter to the opamp while leaving the average bias alone. The feedback circuit makes sure that this composite voltage (AC signal plus DC bias) appears accross R5. This regulates the diode current since the current thru R5 is the same as the current thru the diode.
Note that this never explicitly sets the diode voltage. Rather, it regulates the current thru it. That's a much better way to drive a LED or laser diode than trying to fix its voltage. This circuit will automatically make the voltage as needed to get the desired current.
Again, you will likely have to adjust the values. You never said how much harmonic content you can tolerate, for one.
Added in response to your two questions:
The FET acts like a variable resistance. It is varied by the opamp to make sure that the input signal (opamp pin 3) appears accross the output current sense resistor (R5). Since the current thru R5 and D1 are the same, and the voltage accross a resistor is proportionaly to the current thru it, the voltage at the top end of R5 is proportional to the diode current.
This circuit would still work somewhat without the opamp, but not as accurately. The opamp drives the gate of Q1 to whatever it takes to get the desired diode current. The gate to source voltage of Q1 will vary with current. This voltage offset is automatically compensated for by the opamp since it is inside the feedback loop. The exact gate-source voltage required for a particular current is poorly specified and will vary from device to device and over temperature. By regulating the voltage on R5 instead of the voltage on the gate of Q1, the gate-source voltage is automatically compensated for by the opamp and becomes irrelevant. Actually, it's only irrelevant as long as the required gate voltage is within the range the opamp can put out. The IRLML2502 has a low enough gate-source turn on voltage so that this is guaranteed to be true. We don't know exactly what that voltage is, but we do know it will be well within the 5V output range of the opamp.
Using the built-in photodiode to regulate the laser's actual light output is even better than regulating its current. In that case you have to add a circuit that creates a voltage proportional to the laser light output, then feed that into the opamp negative input instead of the of R5 voltage. The opamp will then drive Q1 to whatever it takes to achieve the light output proportional to the input signal.
Summary:
As shown Q1 is drawing many amps of base current and the NOT expected 1+V Vce is a sign that the transistor is trying to glow white hot.
Add a sensible base resistor, say 3k to 10k, and it will work well in practice. (This is a much higher level of base drive than wold be used in most cases but will allow and extra low Vce on voltage. See below for details.
A very major problem is that you
- haveused an incorrect simulation, which you have stated is incorrect,
- have achieved a result that does not present what you would get in reality,
- and have then concluded that this is what would happen
when you use a different real world circuit than what you have shown.
Simulators such as SPICE can be excellent tools but you have to simulate the circuit that you intend to use as closely as possible, and you have to ensure that you do things which cause very gross departures from reality.
Consider - in your emulation, what is the base current of Q1?
Adding a measurement of this value should be instructive, at least.
With no base resistor the base current of Q1 will probably be in the many amps range. Using a [**TO3 metal can 2N3055""] (http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000895.pdf) as an example which may approach this in real life you find that at Vbe = 1.8V, Ib = 4A, so at 3.6V it would be glowing quite nicely.
Adding a base resistor to Q1 should restore reality.
You say "and expected drop of 1.026V in the CE junction" BUT this should read "a wholly and completely unexpected drop in the CE junction".
By driving the transistor in a more normal manner here is what can be expected.
Below are graphs of the Vcesat = collector base junction voltage for a BC337 - datasheet here.
As base current is increased to about 10% of collector current Vce drops to around 0.05V for collector currents up to about 100 mA. At the < 0.1 mA required in this case, using a base current of 1 mA or so, so that Ib >> Ic, will result in extremely low saturation (= on) voltages.
The required voltages listed in the article that you referenced are >> 0.05V (see table below) except for "play/pause" which will tolerate somewhat more than the 4 mVshown so you should have no problem with Vce levels in practice.
From Build a Cable to Control Your Android Phone While You Drive
Best Answer
We had to warm up an enclosure for this very reason. We ended up using a heater such as this one. There are many of these; try searching for "Enclosure Heaters". Most 24VDC heaters will run on 28V; make sure you check the spec sheets.
If the heater doesn't come with a thermostat, this one is good and relatively inexpensive. Set its trip point down to near-freezing.
As far as determining how much wattage you need, it depends on the area of exposed surface, the lowest ambient temp it may see, and the material of the enclosure. I believe that there are online calculators for this, although in my company the mechanical engineers figured out that part :)
Good luck!