www.mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Laser: analoge Modulation


Autor: E. P. (metallman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich habe hier einen Laser-Controller, der eine Modulation von
Laserdioden bis zu 50 kHz erlaubt. Dazu hat er einen analogen Eingang
mit 10kOhm Einganswiderstand für das Modulationssignal. Im Datasheet
habe ich gelesen, dass über diesen eingang der Strom durch die
Laserdiode (von 0 bis 500mA) geregelt wird, und zwar indem man bestimmte
Spannungen (von 0 bis 10VDC) anlegt. Dazu geben sie eine
Übertragungsfunktion an: 50mA/Volt.

Nun möchte ich mit Hilfe dieses Lasertreibers und eines Mikrocontrollers
eine Laserdiode modulieren, bzw. pulsen. Die Frequenz ist sehr niedrig:
DC bis 1kHz. Es sollen aber Rechteckpulse generiert werden. Meine Frage
ist also, wie kann ich das am besten realisieren?
Prinzipiell heißt das doch, dass ich einen Strom mit analogen Spannung
steuern muss. Welche Schaltung dazwischen soll, bin ich mir nicht so
sicher.
Ich glaube, zunächts muss ein Impedanzwandler zwischen uC und
lasertreiber hin.
Dann habe ich an PWM für die Regelung gedacht... .

Autor: Raimund Rabe (corvuscorax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit der angegebenen Übertragungsfunktion von 50mA/V ist eigentlich schon 
alles angegeben, was man braucht.
Da die Laserdiode vom Laser-Controller mit einem von der 
Eingangsspannung abhängigen Strom gesteuert/geregelt wird handelt es 
sich bei diesem Laser-Controller bereits um eine spannungsgesteuerte 
Stromquelle.
Die angelegte Spannung (die 0...10V) steuert direkt den eingeprägten 
Strom (0...500mA) in die Laserdiode.
Abhängig von Deinem gewünschten Modulationsgrades/-hubs benötigst Du 
höchstens ein wenig analoge Elektronik, da Du für Vollaussteuerung (100% 
Modulation) leider 10V benötigst, die Dir der µC aber sicherlich nicht 
frei Haus liefern wird - wie denn auch aus 'nur' 5V Betriebsspannung.
Also gilt es die möglichen 0...5V (DAC?) aus dem µC, mittels 
nicht-invertierendem Verstärker mit einem Verstärkungsfaktor von 2, auf 
0...10V erweitern. Fertig.
Rechteck oder andere Signalformen zur Modulation heranzunehmen ist dem 
Laser-Controller sicherlich egal, solange sich das Eingangssignal im 
Bereich von 0...10V befindet.

Autor: Andrew Taylor (marsufant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und gelegentlich an die Laser-Schwelle denken, während man die Funktion 
am uC programmiert...

Wenn die verwendete Laserdiode z.B. bei 400 mA 100% Licht-Leistung 
abgibt und im Laser-Modus werkelt:

Dann gibt sie bei 40mA grantiert sehr viel weniger als 10% Lichtleistung 
ab.  Und lasert nicht mehr.


hth,
Andrew

Autor: Tobi. S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du mal die Diode und den Controller nennen?
Ab welchem Schwellstrom kommst du in den Bereich der induzierten 
Emission?
Welche zul. Stromanstiegszeiten sind vom Hersteller gegeben?
Auf welche Regelung zielst du genau ab?

Am besten du liest erstmal was zu der Thematik, denn wenn ich mir
anschau was du hier für Informationen rausrückst hast du das noch
nicht gemacht.

Autor: E. P. (metallman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mehr Info:

Die laserdiode ist mit einer Monitordiode versehen.

Der Schwellenstrom der LD: min. 50 mA (max. 90 mA).
Maximaler Strom der LD: max. 350 mA
Monitorstrom ist maximal 1,5 mA

Der LD-Controller ist IP500 von Thorlabs:
Den kann man in ACC (automatic current control) oder in APC (automatic 
power control) betreiben. Dazu kann man auf dem Controller die Jumper 
entsprechend einstellen. Ferner kann man die Strrombegrenzung auf dem 
Lasercontroller direkt über einen Poti einstellen.

Bei der Modulation (so in datasheet) benutzt man den ACC. Das ist klar, 
dass der Modulationssinal nie eine Amplitude von 0V haben darf, um die 
diode zu "lasern" (bzw. stimulierte emission zu erzeugen).

Meine Frage war eher, wie ich mit einem uC diese analoge 
ModulationsSpannung erzeuge um den Laser über dem gegebenen Controller 
pulsen zu können. Genauer, welche analogschaltung ich dazwischen 
bräuchte...

Autor: Raimund Rabe (corvuscorax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann leg mal Deine Arbeitspunkte fest, d.h. welcher Strom soll durch die 
LD fließen bei Low-Signal und welcher Strom bei High-Signal von Deinem 
angelegten Rechtecksignal. Oder soll das variabel sein? Wie präzise 
sollen die Werte konstant gehalten werden usw.
Am simpelsten wäre vmtl. der Einsatz von einem (oder mehrerer) OpAmp(s). 
Gain und Offset möglicherweise einstellbar, womit wir bei einem Summier- 
und/oder Differenzverstärker wären, je nachdem was alles in welchen 
Grenzen einstellbar sein soll.
Eine Versorgungsspannung von +10V sollte ebenfalls noch für den OpAmp 
eingeplant werden, evtl. sogar noch eine neg. Hilfsspanung (hängt aber 
auch vom Entwicklergeschick ab ;-) ).

Autor: Andrew Taylor (marsufant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind damit doch schon fest gelegt,

Minimum ist 90 mA, MAximum 350mA.

Dazwischen sollte man die modulationskurve einpassen.

Und damit die LD etwas länger hält, zwischen 90 und 300 mA.

> Bei der Modulation (so in datasheet) benutzt man den ACC. Das ist klar,
> dass der Modulationssinal nie eine Amplitude von 0V haben darf, um die
> diode zu "lasern" (bzw. stimulierte emission zu erzeugen).

Fast richtig.
Sehe ich eher so, das Du schon 0V haben darfst, jedoch sollte 0V nicht 
zu CC=0 führen. Sondern zu Cmin (also innerhalb der Toleranz mußt Du da 
90 mA wählen, damit es garantiert lasert)

> Meine Frage war eher, wie ich mit einem uC diese analoge
> ModulationsSpannung erzeuge um den Laser über dem gegebenen Controller
> pulsen zu können. Genauer, welche analogschaltung ich dazwischen
> bräuchte...

Nun, wurde ja schon gesagt das Du die max. 5 V die der uC liefert zu 10V 
umsetzen mußt um die Stromquelle voll nutzen zu können. Das wäre z.B. 
ein OP mit V=+2 beschaltet.

Den Rest der Kennlinie würde ich in den uC programmieren.

Du kannst natürlich auch alternativ diverse Einstellpotis, etc. 
vorsehen. Und damit Imin, Imax, sowie Kennlinie festlegen. Das wäre 
"old-fashioned", funktioniert natürlich auch.

Da fände ich aber die Programmierung die elegantere Lösung. Zumal 
sowieso der uC vorhanden ist.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@andrew taylor:
wie funktioniert das von dir erwähnte einstellen von imax, imin und 
kennlinie mit potis? bzw. von welcher schaltung gehts du hier aus?

Autor: E. P. (metallman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Andrew Taylor:


Vielen Dank für Deine Tipps.

Ok. So wie ich jetzt verstanden habe, muss ich die Spannung verstärken 
(mein uC arbeitet mit 3,3 V), vermutlich filtern und impedanz anpassen. 
Dazu benutze ich OP-Amps.

Welche OPAmps würden denn in Frage kommen? wasfür Parameter sind da 
wichtig?



Ich habe noch nicht so ganz verstanden, was Du mit "den rest der 
kennlinie programmieren" meinst.

Auf dem laser-controller kann man mittels Potis Den Arbeitspunkt des 
Lasers, bzw. für die Modulation den Offset einstellen.

Ich würde gerne erstaml Laserpulse einer festen, hohen Leistung (-> 
vielleicht bei etwa 300mA) erzeugen.

Die regelung der Impulsamplitude wäre dann wahrscheinlich im Nachhinein 
(sotwaretechnisch) implementierbar...

Autor: Raimund Rabe (corvuscorax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich vermute Andrew meinte die Kennlinie der Laserdiode, dessen 
Ausgangsleistung nicht direkt proportional mit dem eingeprägten Strom 
einhergeht.
Da Du aber bereits in Deinem ersten Post als Modulationssignal ein 
Rechteck und kein Sinus-, Sägezahn-, oder was-auch-immer-Signal 
erwähnt hast, stellt sich eigentlich nur die Frage wie groß der minimale 
und der maximale Strom durch die Laserdiode sein soll und damit die zwei 
nötigen Steuerspannungen zum Controller.

Für den Einsatz eines OpAmps mit nur einer Betriebsspannung von +10V 
benötigst Du evtl. Einen, der sowohl am Eingang als auch am Ausgang 
Rail-to-Rail kann. Am Eingang aber auf jeden Fall, wenn die 
Steuerspannung zum Laser-Controller von 0V an beginnen soll/muss. 
Benutze hier auf den Homepages von z.B. Linear Technology, Texas 
Instruments, oder wem auch immer, die parametrische Suche bei der 
Selektion von geeigneten OpAmps.
Bedenke, daß auch sogenannte Rail-to-Rail-OpAmps auch nicht 100%-ig bis 
an die Betriebsspannungsgrenzen aussteuern können (die Physik läßt sich 
noch nicht überlisten). Es bleiben häufig einige zig- bis wenige hundert 
Millivolt an den internen Endstufentransistoren 'hängen'. In Deiner 
Applikation sollte dies aber kein Problem sein, denke ich.

Autor: E. P. (metallman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK. Vielen Dank.

nun sieht es schon ziemlich digital aus. Ich gebe also ein 
Rechteck-Signal aus dem uC und verstärke es mit einer OPAmp-Schaltung. 
Die Ausgangsspannung des OPAmps gebe ich dann an den Laser-Controller 
als Modulationsspannung. Damit kann ich ja z.B. die Laserdiode mit einem 
Strom bestimmter Amplitude pulsen, sagenwir: Min: 100mA, Max: 300 mA - 
beudeutet, dass die ModSpannung Low: 2V, High: 6V ist. Also heißt das, 
dass ich einfach mein uC Spannung (high: 3,3V) mit dem OPAmp auf 6V 
verstärken muss. Sehe ich das richtig?



Später möchte ich aber auch die Amplitude des Lasersignals, d.h. die 
OP-Ausgangsspannung variieren. Das heißt ich müsste die Verstärkung 
ändern. Ich möchte jedoch diese Amplitude lieber auch über den uC 
regeln...

Autor: Andrew Taylor (marsufant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
E. P. wrote:
> OK. Vielen Dank.
>
> nun sieht es schon ziemlich digital aus. Ich gebe also ein
> Rechteck-Signal aus dem uC und verstärke es mit einer OPAmp-Schaltung.
> Die Ausgangsspannung des OPAmps gebe ich dann an den Laser-Controller
> als Modulationsspannung. Damit kann ich ja z.B. die Laserdiode mit einem
> Strom bestimmter Amplitude pulsen, sagenwir: Min: 100mA, Max: 300 mA -
> beudeutet, dass die ModSpannung Low: 2V, High: 6V ist. Also heißt das,
> dass ich einfach mein uC Spannung (high: 3,3V) mit dem OPAmp auf 6V
> verstärken muss. Sehe ich das richtig?


Das sehe ich genauso

>
>
>
> Später möchte ich aber auch die Amplitude des Lasersignals, d.h. die
> OP-Ausgangsspannung variieren. Das heißt ich müsste die Verstärkung
> ändern.

Nein.


> Ich möchte jedoch diese Amplitude lieber auch über den uC
> regeln...

Regeln nicht, hier sagt man wohl besser: Einstellen. Es reicht wenn Du 
dem Ausgang des uC "sagst" (programmierst) das er bittschön nun 2.5 oder 
3 oder was_du_wünscht  Volt ausgeben soll.

Schon ist das fertig.

Autor: Raimund Rabe (corvuscorax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vorausgesetzt der von Dir gewählte µC hat auch einen Pin, an dem er ein 
analoges und nicht (nur) ein digitales Signal ausgeben kann - falls 
das die Nuss ist, die Du (noch) nicht geknackt hast. ;-)

Autor: E. P. (metallman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hehe... das ist halt das Problem.

ich benutze einen uC, der nur digitale I/O pins hat. und keinen DAC 
besitzt. Ich kann den aber nicht austauschen, da ich den auch für andere 
Zwecke verwenden möchte.

Autor: Andrew Taylor (marsufant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann schalte halt extern einen DAC dazu.

Autor: Raimund Rabe (corvuscorax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha - angeschissene Links raus treten. ;-)

Das verändert die Sachlage natürlich entscheidend.
Mit dem rein digitalen Ausgang kannst Du natürlich nur korrekt die 
Zeiten bestimmen, wann es denn gilt den Modulationsgrad zu ändern. Einen 
beliebig programmierbarer Modulationsgrad (also die Festlegung des 
Min.- und Max.-Werts), läßt sich dann eher nur mit zusätzlicher 
Peripherie machen.

Da gibt's z.B. fertige I²C-Bausteine (evtl. auch als I2C oder IIC zu 
finden), die einen (8-Bit-)DAC-Wandler beinhalten. Da die meisten dieser 
ICs von Philips waren/sind fängt die Typenbezeichnung mit PCA oder PCF 
an. Der PCF8591 z.B. beinhalted einen ADC mit 4 Eingängen und einen 
einzigen DAC - alles in 8-Bit. Ein weiteres IC wäre z.B. der TDA8444, 
der zwar 8 DACs beherbergt, die aber nur eine Auflösung von 6 Bit haben. 
Zur Steuerung solcher ICs benötigt man dann nur zwei (in Zahlen: 2(!)) 
zusätzliche digitale Leitungen (Takt, üblicherweise mit SCL bezeichnet, 
und Daten, mit SDA bezeichnet). Die Ansteuerung ist recht simpel, ebenso 
ist der Anschluß von mehrerer solcher Bausteine möglich, z.B. zwei 
DAC-Bausteine (einer für Min.-Wert und der andere für Max.-Wert). Damit 
erspart man sich evtl. das dauernde Neuladen des Analogwertes in den 
DAC, was aber auch schon von der Geschwindigkeit Probleme bereiten 
könnte, aber das nur am Rande.
Ansonsten bleibt nur die simple Möglichkeit die Min.-/Max.-Werte mittels 
Potentiometer manuell zu ändern, um den digitalen Ausgang verwenden zu 
können.

Ab hier kann/darf sich aber jeder Schaltungsentwickler nach Herzenslust 
so richtig 'austoben'. :-))

Autor: E. P. (metallman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke.

ich habe schon an einen externen DAC gedacht. 8 bit müsste genügen. und 
ein I2C wäre optimal. Ich habe hier von TI eins gefunden: DAC5574. Sieht 
eigentlich schon ziemlich ok, oder?


ich denke, ich werde aber zuerst die AAmplitude manuel einstelle, sprich 
einen Poti in meiner schaltung verwenden.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.