Re: Spice models of laser diodes?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Please read the last paragraph of this post, even if you don't want to read
all of it.







Ok, I tried this, and I don't think it's going to work.

I corrected some typos (very few, Marco did a good job given that the
original makes it very hard to see what is or is not a space), one of which
is definitely in the original text, a + beginning a line without which SPICE
can't run because it needs that to indicate continuation. It's safe to say
there might be more errors given the results of running it. First, my typo-
edited copy, which runs in LTspice:

    ibias 0 p 10m
    xlaser p 0 pf ltest1
    rout pf 0 1e9

    ************************************************************************
    .subckt ltest1 p n pf
    D1 p nt1 d1mod_ltest1
    Ic1 p nt1 3.6641713e-14
    Vt1 nt1 n 0
    D2 p n d2mod_ltest1
    Ic2 p n 3.6641713e-14
    Br1 p n i=0*i(Vt1) +20701.692*i(Vt1) *i(Vt1)+28862208
*i(Vt1)*i(Vt1)*i(Vt1)
    Bs1 p n i=1.3785977*v(m) *v(m)*ln(1e-60 +5220.1829*i(Vt1)+
    +         54033309*i(Vt1) *i(Vt1)+7.5333001e +10*i(Vt1)*i(Vt1)*i(Vt1))/
    +         (1+0.95928574
    +         *v(m)*v(m))
    Rph m 0 1
    Cph m 0 5.518e-12
    Br2 0 m i=(0*i(Vt1) +1.0120369*i(Vt1) *i(Vt1)+0*i(Vt1)
*i(Vt1)*I(Vt1))/v(m)
    Bs2 0 m i=0.67395059 *v(m)*ln(1e-60 +5220.1829*i(Vt1)
+54033309*i(Vt1)*i(Vt1)+
    +         7.5333001e +10*i(Vt1)*i(Vt1) *i(Vt1))/(1+0.95928574 *v(m)*v(m))
    Bpf pf 0 v=v(m)*v(m)
    .ends ltest1
    .model d1mod_ltest1 D Is=3.6641713e-14 n=2
    .model d2mod_ltest1 D Is=3.6641713e-14 n=2 tt=1.8181818e-08
    ************************************************************************

    .dc ibias 0 50m 0.25m
    .end


Third of three vertically aligned + signs was absent from original, and is
vital unless you merge that line to the end of the previous one.) I made a
symbol file for LTspice to use this model:

    Version 4
    SymbolType CELL
    LINE Normal -12 -40 -12 -24
    LINE Normal -20 -32 -4 -32
    LINE Normal -20 32 -4 32
    LINE Normal -28 32 -48 32
    LINE Normal -28 -32 -48 -32
    LINE Normal 76 0 96 0
    LINE Normal 48 -16 -16 -16
    LINE Normal 16 16 48 -16
    LINE Normal -16 -16 16 16
    LINE Normal 48 16 -16 16
    SYMATTR Value ltest1
    SYMATTR Prefix X
    SYMATTR ModelFile LD_TEST.sub
    SYMATTR Value2 ltest1
    SYMATTR Description Unknown laser diode model.
    PIN -48 -32 NONE 0
    PINATTR PinName PIN+
    PINATTR SpiceOrder 1
    PIN -48 32 NONE 0
    PINATTR PinName PIN-
    PINATTR SpiceOrder 2
    PIN 96 0 NONE 0
    PINATTR PinName OUT
    PINATTR SpiceOrder 3

Ignore the terrible graphic if you try this, it was a rough edit of one of my
op-amp symbols, it was the fastest way to make something useable...

Anyway, it's an odd result! If I make a simple LM317 based constant current
driver circuit (I have a good LM317 model now) and set the current for 152 mA
using an 8R2 resistor, the current is steady but at more current than it
should be! The model appears to be generating virtual energy. :) Worse, a
voltage plot of the anode end shows a rediculous curve, a relaxation
oscillator type sawtooth varying once every 50 microseconds, and between 0V
(Ground) and MINUS 12 KILOVOLTS! That can NOT be right...

I really don't think I'm going to use this. And I suspect we wouldn't have to
be bombed back to the stone age, or even to the technical levels current when
the Alexandria Library was burned, to render that document as arcane as one
of Harry Potter's spells. It's obviously not meant for the purpose I'm trying
to put it to even if by a wild fluke I can figure out how to make it work
right, and I don't think I even have leave to SEE it, technically, so I ask
yet again, please can someone help me to find how to adapt a standard diode
model to emulate a laser diode, electrically, well enough to design simple
drivers for? I need to see if learning SPICE is going to be useful. So far I
notive very different behaviour depending on whether I use 4 series 1N4005's
or 4 series 1N4148's, so clearly I do need something better than plugging in
the first diodes I can find.

Re: Spice models of laser diodes?

Quoted text here. Click to load it

Whatever circuit you are going to use, it shouldn't be that sensitive to
the properties of the diode. Unless you intend to do some very high
bandwidth modulation, any diode should do in the simulation.

There's no need to reinvent the wheel here. Did you check the collection
of laser diode drivers in sam's laserfaq?

---<(kaimartin)>---
--
Kai-Martin Knaak
├ľffentlicher PGP-Schl├╝ssel:
We've slightly trimmed the long signature. Click to see the full one.
Re: Spice models of laser diodes?

Quoted text here. Click to load it

Several times. :) I'm after trying something very specific, something I was
often told wouldn't work well but has often exceeded expectations so I want
to see how far it goes.. I'm modulating up to 500 MHz, DC coupled, with
constant regulated current held in linear proportion to an input control
voltage between 0 and 5 volts, with independent control of threshold level.

I have no illusions about spice. I've always preferred to model ideas as
parts on boards, but having seen LTspice mentioned a lot, I started looking
at it, and decided to learn something new because like SketchUp for basic
aid in visualising hardware constructions, this should save a lot of time
eventually.

I found that my FIRST attempt to model my driver showed me details I saw on a
100 MHz scope many months ago, so it's obviously damn close to the mark. I
was modulating at just 100 KHz then, trying to see if I could out-do Robin
Bowden's Die4drive. :) (Does 200 KHz with no overshoot but with wave peaks
far less flat than I want over their duration at that speed). The spice model
showed that some resistor changes were enough to increase stability to allow
500 KHz modulation with sharp transitions, flat peaks, AND no overshoot, (and
well over 1 MHz if I don't mind blunting the sharp edges and rounding the
peaks a bit), and at those frequencies you can bet it DOES matter what diode
properties there are if you're trying to keep sharp edges... in general I
notice from models that those diodes which do not vary their Vf much with
sharp changes from 0 drive to full drive are also those most prone to ringing
and overshoot on the rising edge.

Right now I'm about 24 hours overdue for sleep and past feeling tired but I'm
going to try to get some. I've started trying some LED models that are as
close as anything yet. They have forward voltage similar to a laser diode,
similar average currents, and they produce roughly the expected kinds of
waveforms. Maybe this is enough closeness, so if during my sleep people
shower my posts liberally with spice models of high-brightness red GaAlAs
LED's as well as laser diodes, I'll be very happy to see them in how ever
many hours it takes me to be fit to look at them.

And as a hint, my diode driver is a modification of one I posted here often,
in turn based on an idea in the LaserFAQ, posted originally by Winfield Hill.
His wouldn't have accepted a control voltage though, that bit was mine.

Site Timeline