Forum: Analoge Elektronik und Schaltungstechnik Entfernungsmesser LED: Einstellbarer Verstärker mit konstanter Phase


von Peter (Gast)



Lesenswert?

Hallo zusammen!

Ich bastle gerade an einer Schaltung (Bastelprojekt) und stehe vor einem 
Problem mit einem spannungsgeregelten Verstärker der eine konstante 
Phasenverschiebung aufweisen soll.

Zum Gesamtaufbau:
Ein FPGA erzeugt über eine LED kurze Lichtimpulse (ca. 150ns Länge), 
diese werden von einer Photodiode empfangen. Der Abstand zwischen LED 
und Photodiode ist variabel und soll gemessen werden. Maximalabstand 
30cm, Auflösung 1cm oder besser. Der Wechselanteil des Stroms der 
Photodiode wird verstärkt und per Komparator mit einer Schwellspannung 
verglichen. Beim Aussenden des Lichtpulses hat der FPGA einen Timer mit 
10ns Auflösung gestartet.
Der Zählerstand entspricht der groben Dauer der Lichtlaufzeit. Damit 
kann man natürlich keine 1 cm Auflösung erreichen. Daher wird dieser 
Ablauf nicht nur einmal sondern öfters durchgeführt und die LED nicht 
sofort sondern nach einer zufälligen Zeit in den 10 ns bestromt 
(Unterabtastung).
Das ganze funktioniert mit einer elektrischen Direktverbindung vom 
Ausgang FPGA zum Komparator einwandfrei.

Zum Problem:
Wenn der Abstand zwischen LED und Photodiode größer wird, dann nimmt die 
Lichtintensität und der Photostrom ab. Durch die geringere Amplitude hat 
der Verstärker eine andere Phase, das Signal wird also verschoben und 
die Messung verfälscht. Ich habe in LTSpice versucht, eine variable 
Abschwächung mit den Dioden D2 und D3 einzubauen, V_Gain ist die 
Steuerspannung für die Abschwächung und würde später so geregelt werden, 
dass die Ausgangsamplitude unabhängig vom Photostrom konstant ist. 
Allerdings bringen mir die zwei Dioden auch frequenzabhängige 
Phasenverschiebungen ein.

Wie kann ich die Amplitude regeln ohne die Phase frequenzabhängig zu 
ändern?

Gruß
Peter

: Verschoben durch Moderator
von Peter (Gast)


Angehängte Dateien:

Lesenswert?

Hier nochmal das Schaltbild, dieses mal besser zurecht geschnitten.

von Boris O. (bohnsorg) Benutzerseite


Lesenswert?

Geht es nicht um Rechteckimpulse? Bei denen ist die Verzerrung ja nicht 
wirklich relevant, wenn es nur um die Flanken geht. Daher ließe sich 
doch ordentlich verstärken, inkl. Übersteuerung, um nur die Flanken 
(Schmitt-Trigger) zu verarbeiten? (Automatic Gain Control ist eher was 
für Audio!?)

von Ralf L. (ladesystemtech)


Lesenswert?

Boris O. schrieb:
> Geht es nicht um Rechteckimpulse?

Eben. Es kann also sein, dass bei größerer Entfernung das Rauschsignal 
im Verhältnis zum Nutzsignal ansteigt (Rauschspannungsabstand).

von Mani W. (e-doc)


Lesenswert?

Peter schrieb:
> Ein FPGA erzeugt über eine LED kurze Lichtimpulse (ca. 150ns Länge),
> diese werden von einer Photodiode empfangen. Der Abstand zwischen LED
> und Photodiode ist variabel und soll gemessen werden. Maximalabstand
> 30cm, Auflösung 1cm oder besser.

Und wie willst Du den Abstand ermitteln?

Lichtgeschwindigkeit ist ein Begriff?

von Harald W. (wilhelms)


Lesenswert?

Mani W. schrieb:

> Und wie willst Du den Abstand ermitteln?
>
> Lichtgeschwindigkeit ist ein Begriff?

Ooch, Zeitmessungen mit einer Genauigkeit im Pikosekundenbereich
macht ein Bastler doch mit links. :-)

von Wolfgang (Gast)


Lesenswert?

Mani W. schrieb:
> Und wie willst Du den Abstand ermitteln?
>
> Lichtgeschwindigkeit ist ein Begriff?

Jeder Laserentfernungsmesser aus dem Baumarkt bekommt das hin, 
allerdings messen die Dinger Phasenverschiebungen.

von Peter (Gast)


Lesenswert?

Boris O. schrieb:
> Geht es nicht um Rechteckimpulse? Bei denen ist die Verzerrung ja nicht
> wirklich relevant, wenn es nur um die Flanken geht. Daher ließe sich
> doch ordentlich verstärken, inkl. Übersteuerung, um nur die Flanken
> (Schmitt-Trigger) zu verarbeiten? (Automatic Gain Control ist eher was
> für Audio!?)

Ich habe schon versucht mit Übersteuerung zu arbeiten. Allerdings 
verhält sich der Verstärker bei unterschiedlichen Eingangspegeln (trotz 
übersteuertem Ausgang) leicht unterschiedlich: Die Ausgangsflanke kommt 
zeitlich verschoben an. Es geht nur um Nanosekunden oder Bruchteile 
davon, aber eine Nanosekunde bedeutet den kompletten Messbereich von 
30cm.
Ich habe auch schon versucht, die Photodiode mit einem höheren 
Lastwiderstand zu betreiben um eine höhere Spannung zu erhalten. Leider 
wird sie dadurch langsamer, und die Intensität spielt wieder rein.


Harald W. schrieb:
> Mani W. schrieb:
>
>> Und wie willst Du den Abstand ermitteln?
>>
>> Lichtgeschwindigkeit ist ein Begriff?
>
> Ooch, Zeitmessungen mit einer Genauigkeit im Pikosekundenbereich
> macht ein Bastler doch mit links. :-)

Wenn die LED weiter vom Empfänger weg ist, kommt der Lichtimpuls später 
an. Bei 30 cm Maximalabstand also 1 ns. 1 cm Auflösung entspricht 33 ps.
Diese Zeiten passen erstmal nicht zur Zählerauflösung von 10 ns da sie 
viel kleiner sind. Da ich aber beliebig viele Lichtpulse sende und die 
einzelnen Pulse zufällig zwischen 0 und 10 ns verzögere, kann ich 
Oversampling anwenden.
Angenommen, ich sende 1000 Pulse und hätte gar keine Verzögerung, dann 
würde ich nur den Timerwert 1 erhalten, da alle Pulse im ersten 
Timerintervall von 10ns landen. Wenn es aber eine Verzögerung von 1 ns 
gibt, dann landen ca 90% der Pulse im ersten Intervall und 10% im 
zweiten. Bei einer Verzögerung von 2 ns landen 80% im ersten Intervall 
und 20% im zweiten und so weiter.

Hier noch die Theorie im Spannungsbereich statt im Zeitbereich:
http://www.atmel.com/images/doc8003.pdf
Interessant ist die Tabelle auf Seite 8, letzte Zeile: Mit einem 
Oversamplingfaktor von 4096 (=4096 Lichtpulse) erhöhe ich die Auflösung 
des Zählers um 6 Bit und komme so auf ungefähr 16ps Auflösung.
Ich bezweifle, dass weiteres Oversampling noch was bringt, da ja auch 
der Quarz/PLL genau genug sein müssten.

Das ganze habe ich schon aufgebaut mit einer elektrischen Verbindung 
zwischen dem FPGA und dem Komparator: Ich konnte die Länge von 1cm, 7cm, 
20cm und 200cm langen Leitungen elektrisch über die Laufzeit bestimmen 
:-)


Wolfgang schrieb:
> Mani W. schrieb:
>> Und wie willst Du den Abstand ermitteln?
>>
>> Lichtgeschwindigkeit ist ein Begriff?
>
> Jeder Laserentfernungsmesser aus dem Baumarkt bekommt das hin,
> allerdings messen die Dinger Phasenverschiebungen.

Du meinst, ich sollte die LED zum Beispiel mit einem Sinus modulieren 
und im Empfänger die Phase dazu bestimmen? Gibt es dort nicht das 
gleiche Problem? Eine andere Intensität verschiebt die Phase der 
Empfangsstufe obwohl die Verzögerung konstant ist.

von Werner H. (werner45)


Lesenswert?

Die bereits erwähnten Laserentfernungsmesser aus dem Baumarkt können das 
auf relativ einfache Weise, also ist das Problem mit der Modulation als 
gelöst zu betrachten.
Die Distometer der Theodolite können das noch besser, allerdings mit 
mehr Aufwand, dann aber auf Millimeter genau.

Gegen die starken Intensitätschwankungen hilft optische Abbildung. 
Sowohl Sender als auch Empfänger im oder kurz hinter dem Brennpunkt 
einer Optik  anbringen.

Gruß   -   Werner

: Bearbeitet durch User
von Bernd K. (prof7bit)


Lesenswert?

Es gibt auch fertige Bauteile dafür, die haben das alles schon halbwegs 
in den Griff bekommen, z.B. 
https://www.espros.com/portfolio_item/epc600/

von Horst S. (Gast)


Lesenswert?

Peter schrieb:
> Allerdings bringen mir die zwei Dioden auch frequenzabhängige
> Phasenverschiebungen ein.


Muss man da vielleicht die Kapazitäten der Dioden kompensieren?
(http://www.instructables.com/id/DPScope-SE-the-simplest-real-oscilloscopelogic-/)

(Schuss ins Blaue, ich weiß)

von Mike H (Gast)


Lesenswert?

Peter schrieb:
> Angenommen, ich sende 1000 Pulse und hätte gar keine Verzögerung, dann
> würde ich nur den Timerwert 1 erhalten, da alle Pulse im ersten
> Timerintervall von 10ns landen. Wenn es aber eine Verzögerung von 1 ns
> gibt, dann landen ca 90% der Pulse im ersten Intervall und 10% im
> zweiten. Bei einer Verzögerung von 2 ns landen 80% im ersten Intervall
> und 20% im zweiten und so weiter.
>
> Hier noch die Theorie im Spannungsbereich statt im Zeitbereich:
> http://www.atmel.com/images/doc8003.pdf

Mein Gefühl sagt mir, dass das wohl nicht funktionieren wird, weil sich 
dein Signal (=Abstand) nicht mindestens ein Bit Rauschen aufweist 
(30cm).

Im Dokument steht dazu

" criteria for a successful enhancement of the resolution  is  that  the 
input  signal  has  to  vary  when  sampled.  This  may  look  like  a
contradiction, but in this case variation means just a few LSB. The 
variation should be seen as the noise-component of the signal. "

von Horst S. (Gast)


Lesenswert?

Mike H schrieb:
> Mein Gefühl sagt mir, dass das wohl nicht funktionieren wird,...

Er schreibt aber doch (und das finde ich interessant), dass Messungen 
auf einer Leitung (also ohne das Problem der entfernungsabhängigen 
Signalamplitude) erfolgreich waren.

von Peter (Gast)


Lesenswert?

Werner H. schrieb:
> Die bereits erwähnten Laserentfernungsmesser aus dem Baumarkt können das
> auf relativ einfache Weise, also ist das Problem mit der Modulation als
> gelöst zu betrachten.
> Die Distometer der Theodolite können das noch besser, allerdings mit
> mehr Aufwand, dann aber auf Millimeter genau.
>
> Gegen die starken Intensitätschwankungen hilft optische Abbildung.
> Sowohl Sender als auch Empfänger im oder kurz hinter dem Brennpunkt
> einer Optik  anbringen.
Hmmmm... Das hört sich gut an. Leider bin ich in der Optik nicht so 
bewandert. Ich habe aber Linsen da, damit werde ich mal experimentieren.

Bernd K. schrieb:
> Es gibt auch fertige Bauteile dafür, die haben das alles schon halbwegs
> in den Griff bekommen, z.B.
Es stimmt, dass es solche Produkte bereits gibt (wie auch den schon 
benannten Laserentfernungsmesser aus dem Baumarkt). Ich möchte es gerne 
nachbauen und schauen wie weit ich komme.
> https://www.espros.com/portfolio_item/epc600/
Interessanter Chip! Das Datenblatt gibt leider nicht so genau Auskunft, 
wie gemessen wird. Ich vermute aber ähnlich wie in Wikipedia 
beschrieben:
https://en.wikipedia.org/wiki/Time-of-flight_camera#Principle

Mike H schrieb:
> Mein Gefühl sagt mir, dass das wohl nicht funktionieren wird, weil sich
> dein Signal (=Abstand) nicht mindestens ein Bit Rauschen aufweist
> (30cm).
>
> Im Dokument steht dazu
>
> " criteria for a successful enhancement of the resolution  is  that  the
> input  signal  has  to  vary  when  sampled.  This  may  look  like  a
> contradiction, but in this case variation means just a few LSB. The
> variation should be seen as the noise-component of the signal. "
Das Rauschen füge ich künstlich hinzu: Der Timer hängt einem Quarz/PLL 
mit 100MHz, ist also relativ genau und stabil. Ein Triggersignal startet 
den Timer, aber die LED wird nicht sofort sondern erst nach einer 
zufälligen Zeit (etwa 0ns - 25ns) eingeschaltet. Realisiert wird das 
durch einen zweiten Oszillator (Ringoszillator) der mit etwa 40 MHz 
läuft. Erst wenn beim zweiten Oszillator eine positive Flanke kommt wird 
die LED eingeschaltet. Da die zwei Oszillatoren nicht synchronisiert 
sind, passiert das zu einem zufälligen Zeitpunkt.

Horst S. schrieb:
> Muss man da vielleicht die Kapazitäten der Dioden kompensieren?
> 
(http://www.instructables.com/id/DPScope-SE-the-simplest-real-oscilloscopelogic-/)
>
> (Schuss ins Blaue, ich weiß)
Ich glaube, das ist ein guter Ansatz (interessantes Projekt btw). Die 
Dioden verändern ja je nach DC-Spannung ihre Kapazität. Aber wie bekomme 
ich Ausgleichskapazitäten in Abhängigkeit von V_Gain rein? Irgendwie 
müssten die gleichen Dioden nochmals rein, nur umgekehrt?

von Horst S. (Gast)


Lesenswert?

Hmmm, bin nur Laie bei dem ganzen Analogkram, muss daher mal fragen:

VGain steht bei Deinem Schaltplan an der Gleichspannungsquelle. Ich 
verstehe es so, dass VGain nur ein fester Offset ist, der das 
Eingangspotential der Diode anhebt, so dass sie durchschalten kann.

Inwieweit ist VGain überhaupt variabel zu behandeln?

von Peter (Gast)


Lesenswert?

Horst S. schrieb:
> Hmmm, bin nur Laie bei dem ganzen Analogkram, muss daher mal fragen:
>
> VGain steht bei Deinem Schaltplan an der Gleichspannungsquelle. Ich
> verstehe es so, dass VGain nur ein fester Offset ist, der das
> Eingangspotential der Diode anhebt, so dass sie durchschalten kann.
VGain muss höher als die Flussspannung sein, dass die Dioden überhaupt 
leiten, das ist richtig. Darüber hinaus verändert sich mit VGain der 
Diodenstrom und damit die Abschwächung des Signals. Mit dem DC-Strom 
verändert sich der differenzielle Widerstand der Dioden, daher die 
unterschiedliche Abschwächung.

> Inwieweit ist VGain überhaupt variabel zu behandeln?
Meine Idee ist es, am Ausgang des letzten Transistors die Amplitude des 
Signals zu detektieren und damit VGain zu steuern. Dadurch wollte ich 
eine konstante Amplitude des Signals und somit eine konstante 
Phasenverschiebung des Verstärkers erreichen.

von Peter (Gast)


Lesenswert?

Nachtrag:
Die zwei Dioden verhalten sich für HF-Signal wie ein klassischer 
Spannungsteiler. Allerdings kann der Teiler mit VGain eingestellt 
werden.

von Horst S. (Gast)


Lesenswert?

Wenn Du:
- VGain steuerst
- VGain lt. Diagramm die Größe ist, die Deine Signalverzögerung 
beeinflusst.

...sind dann nicht alle Variablen Deines Systems bekannt? Kannst Du dann 
nicht eine Korrektur der Distanz in Abhängigkeit von VGain 
softwareseitig implementieren?

von Peter (Gast)


Lesenswert?

Horst S. schrieb:
> ...sind dann nicht alle Variablen Deines Systems bekannt? Kannst Du dann
> nicht eine Korrektur der Distanz in Abhängigkeit von VGain
> softwareseitig implementieren?

Ja, das würde gehen. Ich hatte gehofft, es ohne Kalibrierung 
hinzubekommen.

Vielen Dank für eure Hilfe!

von Horst S. (Gast)


Lesenswert?

Selbst wenn's nicht mit LED läuft, kannst Du ja mal vielleicht ne 
Beschreibung der Leitungslängenmessung ins Projekte-Forum setzen.
Das würde mich schon interessieren, was da so bezüglich 
Laufzeitmessungen geht.

von Lurchi (Gast)


Lesenswert?

Elektronisch die Verstärkung zu verändern kann immer auch 
Phasenverschiebungen / Verzögerungen rein bringen, das wird zumindest 
schwer und wird vermutlich Korrekturfaktoren rein bringen. Man kann eher 
die Verluste Optisch anpassen, etwa über einen verstellbaren Spalt, der 
bei geringem Abstand die Intensität reduziert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.