Forum: Analoge Elektronik und Schaltungstechnik Pulsgenerator / Platinenlayout


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Julian (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe vor Pulse im Nanosekunden-Bereich (1-800ns) zu erzeugen. Damit 
möchte ich später Infrarot-LEDs für einen Versuchsaufbau ansteuern.

Die Pulse möchte ich mit einem Arduino MEGA triggern.
Hierfür habe ich die angehängte Schaltung als Arduino-Shield aufgebaut. 
(Quelle Seite 8: 
https://www.analog.com/media/en/technical-documentation/application-notes/an98f.pdf)

Der Ausgangspuls soll später über die LEMO-Buchse an einen LED-Treiber 
geleitet werden.
Kurz zur Funktionsweise: Komperator IC1A invertiert das Signal welches 
sich in zwei Pfade mit unterschiedlichen Verzögerungen aufteilt. Durch 
R8 wird der obere Pfad länger/kürzer verzögert, hierdruch kann die 
Ausgangs-Pulslänge eingestellt werden. IC1B gibt das fest verzögerte 
Signal weiter, IC1C invertiert das variabel verzögerte Signal wieder. 
Das Gate IC2 sieht nun die überlagerte Verzögerung in der beide 
Komperator-Ausgänge auf HIGH sind und setzt seinen Ausgang für die Dauer 
auf HIGH.

Es funktioniert auch, wenn ich mit dem Arduino ein langes 1ms 
Trigger-Signal ausgebe, gibt das Gate einen Puls aus und lässt sich in 
der Pulsweite durch R8 anpassen.. Allerdings kommt der Puls erst am Ende 
des Trigger-Pulses (Oszi-Bild ;Kanal 1: Puls; Kanal 2:Trigger-Puls; 
Kanal 3 & 4 Ausgang IC1B/IC1C sind leitungsbedingt etwas verzögert.) In 
der Application Note kommt der Puls mit steigender Flanke des Triggers).
Woran könnte das liegen?

Lege ich ein schnelleres Triggersignal an (1kHz) fängt die Schaltung an 
zu schwingen. Ich schätze das liegt an meinem Platinenlayout und evtl. 
fehlender Terminierung? (Board im Anhang)

Kann ich das Trigger-Signal vom Arduino direkt auf den Komperator IC1A 
geben? In der Application Note ist der Komperator-Eingang mit 50 Ohm 
terminiert. Das macht aber der Arduino Ausgang wegen zu hoher Last nicht 
mit oder?

Dinge die ich in der nächsten Version ändern würde:
- Meine Leiterbahnen sind vermutlich zu breit 0,6mm? -> Was empfehlt 
ihr? Möglichst dünne Leiterbahnen?
- Leiterbahnen verkürzen, Signalwege auf das Nötigste reduzieren.
- Terminierung am Ausgang?

Ich hoffe Ihr könnt mir ein paar Tips geben um die Schaltung zu 
optimieren. Habe noch nicht viel Erfahrung im layouten.

Gruß,
Julian

von Julian (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Meinte natürlich Komparator und nicht KompErator.

Gruß

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
Julian schrieb:
> Hallo zusammen,
>
> ich habe vor Pulse im Nanosekunden-Bereich (1-800ns) zu erzeugen.

Ist dir klar, was ein 1ns (EINE Nanosekunde) Puls für Anforderungen an 
die Bauteile und das Layout stellt? Eher nicht.

Ich würde mal meinen, daß du mal mit 10ns++ anfangen solltest, und 
selbst das ist sehr schnell.

> Die Pulse möchte ich mit einem Arduino MEGA triggern.

Das ist trivial, jeder 08/15 Logikausgang kann das.

> Hierfür habe ich die angehängte Schaltung als Arduino-Shield aufgebaut.
> (Quelle Seite 8:
> 
https://www.analog.com/media/en/technical-documentation/application-notes/an98f.pdf)

Hmmm.

" Measurement Bandwidth is 3.9GHz"

Hast du derartige Meßtechnik? Und das Wissen, um diese richtig 
einzusetzen?

> Es funktioniert auch, wenn ich mit dem Arduino ein langes 1ms

Zeitlupe!

> Trigger-Signal ausgebe, gibt das Gate einen Puls aus und lässt sich in
> der Pulsweite durch R8 anpassen.. Allerdings kommt der Puls erst am Ende
> des Trigger-Pulses (Oszi-Bild ;Kanal 1: Puls; Kanal 2:Trigger-Puls;
> Kanal 3 & 4 Ausgang IC1B/IC1C sind leitungsbedingt etwas verzögert.) In
> der Application Note kommt der Puls mit steigender Flanke des Triggers).
> Woran könnte das liegen?

Du triggerst auf den 2. Puls, denn die Schaltung erzeugt an jeder Flanke 
einen ;-)
Trigger auf die steigende Flanke deines Triggers.

> Lege ich ein schnelleres Triggersignal an (1kHz) fängt die Schaltung an
> zu schwingen. Ich schätze das liegt an meinem Platinenlayout und evtl.
> fehlender Terminierung? (Board im Anhang)

Man sieht die Masseflächen nicht, die sind aber hier wichtig.

> Kann ich das Trigger-Signal vom Arduino direkt auf den Komperator IC1A
> geben?

Ja.

> In der Application Note ist der Komperator-Eingang mit 50 Ohm
> terminiert. Das macht aber der Arduino Ausgang wegen zu hoher Last nicht
> mit oder?

Nein, das geht nicht. Die 50 Ohm sind die Eingangsterminierung 
(Parallelterminierung). Kann man erstmal weglassen. Wenn man am Eingang 
längere Kabel anschließen will, nimmt man besser eine Serienterminierung 
an der Quelle. Siehe Wellenwiderstand.

> - Meine Leiterbahnen sind vermutlich zu breit 0,6mm? -> Was empfehlt
> ihr? Möglichst dünne Leiterbahnen?

Wenn du WIRKLICH 1ns breite Pulse willst, sollten es halbwegs 
impedanzkontrollierte Leiterbhanen sein. Wobei das bei DEN 
Leitungslängen nicht wirklich nötig ist. Und mit etwas Geschick kann man 
die weiter verkürzen. 0,6mm ist schon arg breit, 0,3mm reichen.

> - Leiterbahnen verkürzen, Signalwege auf das Nötigste reduzieren.
> - Terminierung am Ausgang?

Ja.

von Jochen F. (jamesy)


Bewertung
0 lesenswert
nicht lesenswert
Ich baue etwas ähnliches gerade auf - ich wollte das Augenmerk mal auf 
den MAX 9601 richten, der ist doch erheblich schneller und schafft 
tatsächlich die Nanosekunde.
In meiner Schaltung muß ich ein Komparatorfenster innerhalb einer 12.5 
nsec Periode mit variabler (einstellbarer) Breite und variabler 
Phasenlage erzeugen, und innerhalb des Fensters einen zeitlich 
unkorrelierten Impuls entweder durchlassen oder verwerfen. Geht soweit 
recht gut. Die Fangrate der Pulse muß hier 100% betragen, Pausen zur 
Signalverarbeitung sind nicht möglich.

von Julian (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:

> Ist dir klar, was ein 1ns (EINE Nanosekunde) Puls für Anforderungen an
> die Bauteile und das Layout stellt? Eher nicht.
> Ich würde mal meinen, daß du mal mit 10ns++ anfangen solltest, und
> selbst das ist sehr schnell.

Die ersten Tests waren mit 20ns (Oszi Bild). Mit sauberen 10ns wäre ich 
schon zufrieden.


> Hmmm.
>
> " Measurement Bandwidth is 3.9GHz"
>
> Hast du derartige Meßtechnik? Und das Wissen, um diese richtig
> einzusetzen?

Das Oszilloskop das ich verwende hat eine Bandbreite von 4GHz. Ich 
verwende 10:1 Tastköpfe & kann ein Oszilloskop bedienen, habe allerdings 
wenig Erfahrung mit so kurzen Pulsen. Gibt es da ein paar 
Punkte/Einstellungen auf die ich besonders achten sollte? Macht es mehr 
Sinn mit Tastköpfen oder mit LEMO - BNC direkt zu messen?

> Du triggerst auf den 2. Puls, denn die Schaltung erzeugt an jeder Flanke
> einen ;-)
> Trigger auf die steigende Flanke deines Triggers.
Ich messe gleich nochmal, aber in der Application Note kommt der Puls 
auch nur mit "steigender" Flanke?


>> Lege ich ein schnelleres Triggersignal an (1kHz) fängt die Schaltung an
>> zu schwingen. Ich schätze das liegt an meinem Platinenlayout und evtl.
>> fehlender Terminierung? (Board im Anhang)
>
> Man sieht die Masseflächen nicht, die sind aber hier wichtig.

Sind angehängt.

von Julian (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Jochen F. schrieb im Beitrag
> Ich baue etwas ähnliches gerade auf - ich wollte das Augenmerk mal auf
> den MAX 9601 richten, der ist doch erheblich schneller und schafft
> tatsächlich die Nanosekunde.
Danke schaue ich mir mal an falls es mit den vorhandenen Bauteilen nicht 
funktioniert.

von Jochen F. (jamesy)


Bewertung
0 lesenswert
nicht lesenswert
Anstatt mit 10:1 Tastköpfen messe ich in meiner Schaltung mit 
50-Ohm-Eingängen und einem angeschlossenen Koax, an dessen anderem Ende 
ein 2K2 zum Meßobjekt geht und ein 51R (NACH dem 2k2) von Signal nach 
Masse. Selbst bei ECL-Pegeln hat man noch "genügend" Millivolt für eine 
gute Darstellung, und man belastet das Meßobjekt praktisch nicht 
kapazitiv. Ein 10:1-Tastkopf, wie er mit einem 2 GHz-Tek ausgeliefert 
wird hat mit seinen 4 pF Kapazität immer noch einen Blindwiderstand von 
etwa 20 Ohm bei 2 GHz. Das verfälscht nicht nur die Kurvenforn, es macht 
auch jegliche Messung der Anstiegszeit unzuverlässig.

: Bearbeitet durch User
von Julian (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
>Du triggerst auf den 2. Puls, denn die Schaltung erzeugt an jeder Flanke
>einen ;-)
>Trigger auf die steigende Flanke deines Triggers

Ich habe mal die steigende Flanke des Trigger-Signals aufgenommen. Hier 
sollte die steigenden Flanke von IC1B (Oszi C4) eigentlich 20ns vor der 
fallenden Flanke von IC1C (Oszi C3)kommen. Durch die Verzögerund kommt 
der Puls erst mit fallender Flanke des Triggers. Woran könnte das 
liegen?


@Jochen F.

Danke für die Tipps und Informationen. Werde ich so ausprobieren!! :)

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
Julian schrieb:

> Die ersten Tests waren mit 20ns (Oszi Bild). Mit sauberen 10ns wäre ich
> schon zufrieden.

OK.

>> " Measurement Bandwidth is 3.9GHz"
>>
>> Hast du derartige Meßtechnik? Und das Wissen, um diese richtig
>> einzusetzen?
>
> Das Oszilloskop das ich verwende hat eine Bandbreite von 4GHz. Ich
> verwende 10:1 Tastköpfe & kann ein Oszilloskop bedienen,

Ich kann auch einen Ferrari "bedienen". ;-)

> habe allerdings
> wenig Erfahrung mit so kurzen Pulsen. Gibt es da ein paar
> Punkte/Einstellungen auf die ich besonders achten sollte? Macht es mehr
> Sinn mit Tastköpfen oder mit LEMO - BNC direkt zu messen?

Bei den Pulse sollte man auf passive Z0-Tastköpfe wechseln. Außerdem ist 
die Massekontaktierung kritisch.

https://www.mikrocontroller.net/articles/Oszilloskop#Tastk.C3.B6pfe_richtig_benutzen

>> Du triggerst auf den 2. Puls, denn die Schaltung erzeugt an jeder Flanke
>> einen ;-)
>> Trigger auf die steigende Flanke deines Triggers.
> Ich messe gleich nochmal, aber in der Application Note kommt der Puls
> auch nur mit "steigender" Flanke?

Sicher? Das sind einfach nur Komparatoren und ein XOR, das ist der 
klassische Pulsverdoppler, nur halt etwas aufwändiger und schneller.

https://www.elektronik-kompendium.de/public/schaerer/exorfd.htm

>>> Lege ich ein schnelleres Triggersignal an (1kHz) fängt die Schaltung an
>>> zu schwingen. Ich schätze das liegt an meinem Platinenlayout und evtl.
>>> fehlender Terminierung? (Board im Anhang)
>>
>> Man sieht die Masseflächen nicht, die sind aber hier wichtig.
>
> Sind angehängt.

Naja. Gerade hier wäre die Darstellung in einem Bild besser. Aber ich 
ahne schon, daß einige kritische Pfade von GND/VCC zerschnitten sind.

https://www.mikrocontroller.net/articles/Richtiges_Designen_von_Platinenlayouts

Abschnitt Masseflächen.

von Falk B. (falk)


Bewertung
1 lesenswert
nicht lesenswert
Jochen F. schrieb:
> Anstatt mit 10:1 Tastköpfen messe ich in meiner Schaltung mit
> 50-Ohm-Eingängen und einem angeschlossenen Koax, an dessen anderem Ende
> ein 2K2 zum Meßobjekt geht und ein 51R (NACH dem 2k2) von Signal nach
> Masse.

Falsche Stelle. Die 50 Ohm Terminierung gehört an den Eingang vom Oszi.

von Falk B. (falk)


Bewertung
1 lesenswert
nicht lesenswert
Julian schrieb:
> Ich habe mal die steigende Flanke des Trigger-Signals aufgenommen. Hier
> sollte die steigenden Flanke von IC1B (Oszi C4) eigentlich 20ns vor der
> fallenden Flanke von IC1C (Oszi C3)kommen. Durch die Verzögerund kommt
> der Puls erst mit fallender Flanke des Triggers. Woran könnte das
> liegen?

Du hast die Eingänge an IC1B und IC1C vertauscht ;-)

von Falk B. (falk)


Bewertung
1 lesenswert
nicht lesenswert

von Jochen F. (jamesy)


Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> Anstatt mit 10:1 Tastköpfen messe ich in meiner Schaltung mit
>> 50-Ohm-Eingängen

Die sind terminiert! Erst bissel denken, dann auf "Senden" hauen.
Allerdings muß auch die Quellimpedanz stimmen. Jede Abweichung stellt 
ein schnelles Oszilloskop gnadenlos dar, und ich habe hier Tek 7104 
(ohne TDS!) und 7S12 bzw. 7S11 mit S4 und 7T12.

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
Jochen F. schrieb:
> Falk B. schrieb:
>> Anstatt mit 10:1 Tastköpfen messe ich in meiner Schaltung mit
>>> 50-Ohm-Eingängen
>
> Die sind terminiert! Erst bissel denken, dann auf "Senden" hauen.

In der Tat. Mit deinen zusätzlichen 50 Ohm am EINGANG des Koaxkabels 
verschenkst du nochmal 50% der Amplitude deines Signal, und das 
vollkommen sinnlos.

> Allerdings muß auch die Quellimpedanz stimmen. Jede Abweichung stellt
> ein schnelles Oszilloskop gnadenlos dar, und ich habe hier Tek 7104
> (ohne TDS!) und 7S12 bzw. 7S11 mit S4 und 7T12.

Und ich hab ein Chinaman 08/15! WOW!

von -gb- (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> Das sind einfach nur Komparatoren und ein XOR,

Das ist ein AND.

von Gustl B. (-gb-)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und die Schaltung funktioniert wie sie soll. Mit genau einem Impuls je 
Periode.

von Julian (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

die Schaltung funktioniert soweit. Danke für die vielen Tipps.

Ich habe noch eine weiterer Frage. Die Intensität der IR-LEDs ist für 
meine Anwendung zu stark, deshalb würde ich gerne den Strom der Pulse 
regeln.. Leider ist die Strombegrenzung des externen Netzteils zu träge 
für so schnelle Pulse.  Ich nehme mal an das auch eine 
Konstantstromquelle mit Shunt-Messung zu träge ist um in so kurzer Zeit 
den Strom richtig einzustellen?

Hat jemand eine Idee wie ich das umsetzen könnte?

von Jens G. (jensig)


Bewertung
0 lesenswert
nicht lesenswert
Also wenn es Dir wirklich um das letzte Quentchen an Flankensteilheit 
rausholen willst, dann würde ich überlegen, die IRED auf optischem Wege 
zu dämpfen. Also irgendwas halbdurchlässiges davor.
Könntest aber auch einen Vorwiderstand davorhängen, aber das könnte die 
Flanken schon wieder verschleifen.

von Andrew T. (marsufant)


Bewertung
0 lesenswert
nicht lesenswert
Julian schrieb:
> Hat jemand eine Idee wie ich das umsetzen könnte?

Schau mal nach   Graukeil, das ist eine mögliche Lösung.

Für einfache Experimente genügen auch eine oder mehrere Lagen 
Pergamentpapier.

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert
Julian schrieb:
> deshalb würde ich gerne den Strom der Pulse regeln..
Du willst ihn nicht "regeln", sondern "verändern" oder "einstellen". Das 
sind ganz grundlegend andere Aufgabenstellungen.

> Ich nehme mal an das auch eine Konstantstromquelle mit Shunt-Messung
> zu träge ist um in so kurzer Zeit den Strom richtig einzustellen?
Stromregelung im GHZ-Bereich mit einem Netzteil?

> Hat jemand eine Idee wie ich das umsetzen könnte?
Nimm eine hohe Treiberspannung und einen hochohmigen Vorwiderstand. Das 
ist die grundlegende Spezifikation für eine Konstantstromquelle: 
unendliche hohe Leerlaufspannung und unendlich hoher Innenwiderstand. 
Und weil diese KSQ dann nur aus einem Widerstand besteht, ist sie 
prinzipiell blitzschnell. Die Diode wird dann abgeschaltet, indem du 
sie kurzschließt. Und wie schnell du die Diode dann ein- und ausschalten 
kannst, hängt nur vom Schalttransistor und vom Layout ab.

: Bearbeitet durch Moderator
von Julian (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Lothar M. schrieb:

> Nimm eine hohe Treiberspannung und einen hochohmigen Vorwiderstand. Das
> ist die grundlegende Spezifikation für eine Konstantstromquelle:
> unendliche hohe Leerlaufspannung und unendlich hoher Innenwiderstand.
> Und weil diese KSQ dann nur aus einem Widerstand besteht, ist sie
> prinzipiell blitzschnell. Die Diode wird dann abgeschaltet, indem du
> sie kurzschließt. Und wie schnell du die Diode dann ein- und ausschalten
> kannst, hängt nur vom Schalttransistor und vom Layout ab.

Was für ein Layout würdest du empfehlen bei ca. 40MHz@max.1A? Lieber 
einen BJT statt FET? Wie würde ich die IR-LED damit kurzschließen? Ich 
nehme mal an um die Fall-Time zu verkürzen?


Ich hatte bis vor kurzem die angehängte Schaltung mit dem FET[1] 
aufgebaut. Der Kondensator ist da um die Peaks zu überbrücken und die 
Spule als "active  carrier  sweep-out" um die Fall-time zu verkürzen 
[2].
Die Schaltung hat auch funktioniert. Leider habe ich den FET überlastet 
und zerstört. Seit ich die Schaltung erneut aufgebaut habe funktioniert 
sie nicht mehr. Der FET schaltet nur noch bis ca 700-800kHz. Dannach 
stellt sich vermutlich eine Tiefpasswirkung am Gate ein? Woran könnte 
das liegen?

([1] Datasheet FET: 
https://www.mouser.com/datasheet/2/149/FDME1024NZT-348226.pdf )

([2] Note Seite 3(C): 
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6851184&tag=1 )

von Werner H. (werner45)


Bewertung
0 lesenswert
nicht lesenswert
Du hast Lothar nicht richtig verstanden.
Die Konstantstromquelle läuft durch, der Schalttransis ist PARALLEL zur 
Led.
Nur wenn der Transis AUS ist, fließt Strom durch die Led, ansonsten 
übernimmt er den Strom. Dazu muß die Restspannung natürlich kleiner als 
die Led-Schwellenspannung sein (notfalls deren Kathode etwas anheben). 
Und er muß schnell schalten.

von Joggel E. (jetztnicht)


Bewertung
0 lesenswert
nicht lesenswert
Allenfalls sollte man Pulserzeugung und Endstufe entflechten. Als 
Endstufe wuerde ich heutzutage die LIDAR Laserdiodentreiber empfehlen.

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.

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