PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TDR Messgerät Entwicklung



wkrug
26.07.2025, 09:10
Hallo,
Ich bin zur Zeit auf der Ideensuche für die Realisierung eines TDR ( Time Domain Reflectometry ) Messgerätes.

Mein Plan wäre ein Rechtecksignal zu generieren und dieses dann auf das zu messende Kabel zu geben.
Die Auswertung soll dann über schnelle Komperatoren erfolgen, die Ihre Vergleichsspannung von einem A/D Wandler erhalten.
So sollte über mehrere Messzyklen mit veränderter Referenzspannung die Länge des Kabels, offene Enden, Kurzschlüsse sowie der ungefähre Wellenwiderstand des Kabels ermittelt werden können.

Was natürlich nicht geht, ist die Länge von richtig abgeschlossenen Kabeln zu erkennen.

Ein Microcontroller ist für die Messung so kurzer Zeiträume nicht geeignet.
Meine Idee wäre hier ein Time of Flight IC zu nehmen ( z.B. das TDC7200 ) und die gemessenen Werte dann von einem Microcontroller auslesen zu lassen.

Als Controller würde wohl ein Typ aus der AVR Controllerserie zum Einsatz kommen, weil Ich die kenne - Vorerst hatte Ich da mal einen AVR32DB32 vorgesehen.
Ein Display soll dann die entsprechenden Werte, sowie grob den Signalverlauf anzeigen. Vorerst mal ein 128x64 Pixel Display, weil Ich die hier habe.
Im fertigen Gerät möchte Ich dann eine Tabelle hinterlegen in der dann der jeweilige Velocoty Faktor ( Laufzeit des Kabels ) für verschiedene Kabeltypen hinterlegt ist.
Damit die gemessenen Längen dann auch stimmen.

Was haltet Ihr von der Idee?
Ist das mit einfachen Mitteln realisierbar?
Sollte man für die Messung ein anderes Konzept verwenden? Welches?

Crazy Harry
02.08.2025, 07:27
Hallo W, ich hab mir schon vor längerer Zeit diesen Link bzw. die Webseite Offline gespeichert, in der Hoffnung, daß ich einmal Zeit finde mich damit zu befassen. Evtl. findest du da brauchbare Informationen.
https://ngb.to/threads/bauanleitung-impulsreflektometer-irm2.123625/

BTW habe ich früher mal darüber einiges gelesen und alle Lösungen deuten auf die Verwendung eines Oszilloskops hin: Puls einspeisen, Oszi sieht Startpuls und Reflexion. Über die Zeit ist die Länge errechenbar und man sieht evtl. noch weitere Reflexionen von z.B. irgendwelchen Flickstellen im Kabel.

wkrug
02.08.2025, 08:01
Hallo Harry,
Ich kenn sogar den Verfasser dieser Anleitung.
Die Lösungen mit dem Oszilloskop kenn Ich schon. Eine war auch schon mal in Elektor.
Was diese Lösungen alle nicht können ist es die Längen für verschiedene Kabeltypen zu bestimmen ( Velocity Faktor ).
Vorerst nehm Ich mal nur ein paar schnelle Komperatoren und guck mal, ob es im Prinzip funktioniert.
Falls das funktioniert kommt im nächsten Schritt ein Time to Digital Konverter und ein Microcontroller zum Einsatz.
Der Controller kann dann aus der Laufzeit eine Länge für verschiedene Kabeltypen berechnen.
Es soll ja ein tragbares Gerät werden.
So wäre vorerst mal mein Plan.

Moppi
02.08.2025, 17:08
Du brauchst ein sehr gutes Rechtecksignal. Dafür wiederum brauchst du extrem Schnelle Logikgatter, mit kurzen Anstiegs-und Abfallzeiten (74LVC..). TDC7200 scheint perfekt zu passen.

wkrug
03.08.2025, 07:52
Danke für den Tipp mit den Logikgattern.
Wäre ein 74AHC14 ( 6fach Schmitt Trigger ) schnell genug?.
Die Impulse würde Ich mit einem Microcontroller erzeugen und mit dem 74AHC14 puffern, da der TDC7200 ein bestimmtes Timing an verschiedenen Pins erfordert.
Also Quasi = D/A Vergleichsspannung -> Enable -> Impulsstart -> Impuls -> Messung. Das Impulsende würde Ich mit einem Timer machen.
Dadurch wäre die Impulslänge frei programmierbar.
Ein kleineres Problem ist noch, das die Komperatoren und die Logik mit 5V laufen, der TDC aber mit 3,3V.
Ein schneller Komperator mit Open Kollektor Ausgängen wäre da einfacher anzubinden.

Ein Display muss das Teil auch bekommen - Ich weiß nur noch nicht welches.
Da Ich auch eine Art Oszillogramm + Messwerte darstellen möchte ist mir ein 128x64 Pixel Display zu klein.
Also eher ein 320x240 mäßiges wie das hier (https://www.reichelt.de/de/de/shop/produkt/arduino_shield_-_display_2_8_touch_320_x_240_pixel_ili9341-282497?search=Display%2520240%2520x%2520320&).
Ich sammel zur Zeit nur mal Ideen, weil ein anderes Projekt gerade Vorrang hat.

Moppi
03.08.2025, 08:23
Der Mikrokontroller ist nicht das Problem. Die Signale müssen aber durch die Materie zurück, wodurch sie verfälscht und damit schlecht erfassbar werden. Deswegen nimmst Du einen Mikrokontroller und ein nachgeschaltetes Logikgatter, das extrem schnell steile Flanken erzeugt. D.h. das Logikgatter muss schneller sein, als der µC die Signale erzeugen kann, das reicht aus. Vielleicht gibt es einen sweet spot (Flankensteilheit zur Messgenauigkeit und Auflösung), wo der liegt wirst du feststellen. Dein 74AHC14 könnte unter bestimmten Voraussetzungen funktionieren. Aber die LVC-Gatter sind schneller und daher sicher besser geeignet. Wenn Du den 74AHC14 hast, kannst Du damit zuerst testen.

"Damit die gemessenen Längen dann auch stimmen."

Das ist Deine Wunschvorstellung. Definiere was genau genug ist. Die gemessene Kabel-Länge hängt auch von der Steilheit der Signalflanken ab. Evtl. musst Du wohl noch tiefer in den Profibereich vordringen (wie LMH7322 der weitaus steilere Flanken erzeugen kann als ein LVC).

wkrug
03.08.2025, 09:50
...das extrem schnell steile Flanken erzeugt. D.h. das Logikgatter muss schneller sein, als der µC die Signale erzeugen kann, das reicht aus.
Ich möchte nicht die Messmethode mit den kurzen Impulsen und dem Echo machen - falls Du das meinst - sondern etwas längere Rechtechsignale benutzen und die Impulshöhe auswerten.
Siehe hier (https://youtu.be/BtTvu6I3pto).
Da alle Messungen mit den gleichen Koperatoren stattfinden sollen spielt die " Reaktionszeit " eine untergeordnete Rolle.
Die Referenzspannung der Komperatoren möchte Ich mit einer Rampe ansteuern und dann in etwa 128 Messwerte ( geplant ) abspeichern, sortieren und daraus ein pseudo Oszillogramm erzeugen.

Moppi
03.08.2025, 11:14
Dann brauchst Du den TDC7200 nicht. Wenn Du die Amplitude misst (in festen intervallen die dein µC intern erzeugt), hat der TDC7200 keinen Nutzen, er würde nur die Zeit messen bis das Signal zurück gekommen ist.

--

Gut, dann versuche ich mal eine mögliche Lösung, um die Timing-Probleme mit einem µC zu umgehen:

-CPU sendet Impuls: Die CPU schaltet einen Pin, um den Impuls ins Kabel zu senden.
-CPU startet Timer: Die CPU gibt einem Hardware-Timer den Befehl zu starten.
-Timer startet ADC: Nach Ablauf der genauen Wartezeit sendet der Timer ein Triggersignal an einen externen ADC.
-ADC misst: Der ADC führt die Messung durch und stellt das Ergebnis an seinem Ausgang bereit.
-CPU liest aus: Die CPU wird per Interrupt benachrichtigt oder prüft ein Statusflag, dass der Messwert am ADC bereitsteht. Sie liest das Ergebnis ein und speichert es.
-Wiederholung: Der gesamte Vorgang beginnt von vorn, mit Erhöhung des Timers für die Wartezeit (entspricht einer anderen Stelle im Kabel).

Dafür kannst du womöglich einen AD9280 nehmen.

--

Dennoch würde hier ein 74LVC1G14 gut sein, der der Signale formt die vom µC kommen. Denn auch der ADC soll ja einen möglichst genauen Wert liefern und nicht irgendwas durch zu lange Flanken Verwaschenes. Zudem wäre er mit dem µC pannungskompatibel.


--

Wegen der Berechnung, hier ein nicht getestetes Beispiel (z.B. Arduino-Code), um die Berechnung zu veranschaulichen:



double berechneKabellaenge(unsigned long timerValue, double velocityFactor) {


const double LICHTGESCHWINDIGKEIT = 299792458.0;
const double TIMER_AUFLOESUNG_S = 1.0 / 42.0 / 1000000.0; //42MHz


double gesamtlaufzeit_s = static_cast<double>(timerValue) * TIMER_AUFLOESUNG_S;
double signalgeschwindigkeit = velocityFactor * LICHTGESCHWINDIGKEIT;
double laenge_m = (gesamtlaufzeit_s * signalgeschwindigkeit) / 2.0;


return laenge_m;
}


timerValue: letzter Timer-Startwert (Wartezeit bis ADC Messung gestartet. Anfangswert ist 0, jede weitere Erhöhung um 1)
velocityFactor: wird benötigt für eine möglichst genaue Berechnung (folgende Tabelle enthält typische Werte)


Nr. Kabeltyp (Beispiel) Dielektrikum (Isolierung) Verkürzungsfaktor (Vf)
1 Allgemeine Schätzung Massives PE 0,66
2 Allgemeine Schätzung Geschäumtes PE 0,80
3 RG-58 C/U, RG-213/U Massives PE 0,66
4 RG-58 (Foam) Geschäumtes PE 0,78
5 RG-59 B/U Massives PE 0,66
6 RG-59 (Foam) Geschäumtes PE 0,78
7 RG-174 A/U Massives PE 0,66
8 RG-11/U Massives PE 0,66
9 RG-8 (Foam) Geschäumtes PE 0,78
10 LMR-195 Geschäumtes PE 0,80
11 LMR-240 Geschäumtes PE 0,84
12 LMR-400 Geschäumtes PE 0,85
13 Aircell 7, Ecoflex 7 Spezialschaum 0,83
14 Ecoflex 10, Aircom Premium Spezialschaum 0,86
15 PTFE (Teflon) Teflon 0,70
16 Luftisoliertes Kabel Luft 0,95 - 0,98

Diese Werte sind Schätzungen. Der tatsächliche Verkürzungsfaktor eines bestimmten Kabels kann jedoch leicht abweichen, zum Beispiel aufgrund von Herstellertoleranzen oder Materialschwankungen. Deshalb ist die Kalibrierung mit einer bekannten Kabellänge immer die genaueste Methode.

wkrug
04.08.2025, 07:04
Im Prinzip hast Du recht.
Allerdings kann Ich mit einem AVR32DB keine Impulse mit 42Mhz erzeugen, geschweige denn auflösen, da er maximal mit 24MHz läuft.
Auch ein A/D Wandler braucht eine Conversation Time.
Die muss dann bei der Messung raus berechnet werden.
Der TDC7200 hat eine max. Auflösung von 55ps was letztlich einer Auflösung von 1cm entspricht.
Die maximale Länge beträgt dann im " kleinen " Modus rund 100m - Im großen Bereich möchte Ich bis Rund 1km kommen.
Was die Messung verfälscht ist die Länge des Messkabels, die Verschleifung der Impulse, Ungenauigkeiten der Taktfrequenz, Fehler im Verkürzungsfaktor.
Hier hatte Ich an eine TXCO gedacht um Temperaturdrift zu vermeiden.

Danke übrigens für die Tabelle der Verkürzungsfaktoren!

Ich werde mal zuerst die Signale der Komperatoren mit nem Oszi anschauen, wenn meine 50m Kabeltrommel dran hängt.
Als Referenz für den 2ten ( Stop Komparator ) wird erstmal ein Spindelpoti herhalten müssen - Später der D/A Ausgang des AVR32DB.
Als Taktquelle möchte Ich den Rechteckausgang meines Funktionsgenerators nutzen.
Wenn Ich Oszilogramme habe, kann Ich die mal hier posten.

Moppi
04.08.2025, 09:53
Wenn du nur mit 24MHz arbeitest trägst du in die Formel 24 statt 42 ein. Die Genauigkeit bleibt damit noch immer unter 1cm (th. deutlich unter 1cm). Ob das praktisch haltbar ist, müsste man sehen (wegen der unbekannten Störquellen, die aber auch bei anderen Methoden vorhanden wären). Diese Methode wäre praktisch, um das gesamte Kabel abzutasten. Selbst wenn es "ungenau" wäre, evtl. doch ein Vorteil. Du würdest auch die Art der Störquellen auf dem gesamten Kabel erkennen. Ein TDR7200 liefert vor allem die Laufzeit bis zur ersten Reflexion. Die Signalverformung und Abschwächung, sowie das Hinzukommen von Rauschen ist generell ein Problem bei langen Leitungen, auch für den TDC7200. Also wenn Du damit auch nur eine Genauigkeit von einigen (Dutzend) cm erreichst, wäre das nicht ungewöhnlich. Die eigentliche Amplitudenerfassung über eine Rampe wäre wohl ungenauer als ein einmaliger Impuls für einen externen ADC, durch einen internen Timer des µC.

Aber Du hast schon Recht, das ist eine gute Sache, das erst einmal einfach auszuprobieren, um danach die Methode zu verfeinern.

PS: was mir nach wie vor unklar ist, ist der Einsatz des TDC7200. Es richtig dass er sehr genau messen kann, aber wie soll damit ein Oszillogramm zustande kommen? Wenn Du den TDC7200 theor. mit der Amplitudenmessung verbindest, bekommt Du nur einen Wert, kein Oszillogramm. Wie es auch sei, bleibt die Sache mit der Rampe und der Spannungserzeugung (DAC, nicht ADC wie Du schriebst(?)) um den Amplitudenwert zu ermitteln. Das würde zu lange dauern, weil es vermutlich auf einige Microsekunden (oder gar viel mehr) käme, auf diese Weise einen analogen Wert zu ermitteln (der DAC selbst muss das Analogsignal erstmal zur Verfügung stellen, dafür hat er eine Mindestzeit).

--

Hybridansatz:

Wenn Du nicht das gesamte Kabel abtasten willst, sondern nur das erste reflektierte Signal, dann würde das Sinn ergeben, aber auch nur in einem Szenario, denke ich. Du benötigst die Zeit in der die Reflexion kommt. Dafür würde der tdc7200 dienen, der die Zeit liefert. Mit dieser Zeit konfigurierst Du den Hardwaretimer des µC und ermitteltst dann per Trigger zum Starten des Externen ADC die Abtastwerte über einige Zyklen (z.B. 128 Zyklen), in denen Du zu Beginn immer wieder dasselbe Signal losschickst und bei jedem Zyklus verschiebst Du den Start der ADC-Messung um einen Timer-Tick des internen Timers des µC.

wkrug
04.08.2025, 12:56
Meine Idee wäre die Messung mit dem TDC mit einem Fix eingestellten Komperator zu starten.
Ein zweiter Komperator bekäme dann eine sich ändernde Referenzspannung vom DAC.
Danach wird die gemessene Zeit aus dem TDC ausgelesen und abgespeichert.
Vorerst hätte Ich mal 128 Messzyklen geplant = 128 Impulse mit sich ändernder Referenzspannung.
Theoretisch gäbe der AVR32DB auch 1024 her!
Die Ergebnisse möchte Ich dann aufsteigend sortieren und die dann als Diagramm auf dem Display darstellen.
Als Messfrequenz hätte Ich dabei an 100kHz gedacht - Ich käme damit grob auf etwa 700 komplette Messungen / s - Ich denke das ist mehr als genug.
Der Start des Impulses und des restlichen Timings möchte Ich aus der Hauptschleife des Controllers starten.
Das Ende des Impulses möchte Ich über einen Timer Interrupt auslösen.
Ein Timer ist damit auch nicht überlastet, da er eben nur bis ca. 240 ( bei 100 kHz ) zählen muss bis ein Interrupt ausgelöst wird, der den Messimpuls abschaltet.
Problematisch sehe Ich dabei die Messung von Kurzschlüssen, da hierzu ein weiterer Komparator nötig wäre, der TDC aber nur einen Stopp Eingang hat.

Ich hab im Internet schon so einen ähnlichen Aufbau gesehen, hier wurde ein Digitales Poti als Referenzquelle verwendet.
Sollte also Prinzipiell schon mal hin hauen.

Dein Ansatz hätte den Charme, das die Messwerte nicht sortiert werden müssen, alledings seh Ich hier das Problem mit dem Timing für den A/D Wandler.

Moppi
04.08.2025, 15:23
Ich habe alle Anforderungen nochmal durchgelesen. Ich denke, Dein Fehler ist anzunehmen, dass die Rampenmethode schnell genug wäre. Es ist eine gute Methode, ja. Die Umwandlungsrate des DACs ist für diese Aufgabe aber nicht ausreichend (wobei noch unklar ist, welchen Du verwenden willst). Die µC kann zwar nur relativ langsam arbeiten , aber die Hardware Timer sind präzise genug, damit schnelle Messabläufe gesteuert werden können. Also diese Grundvoraussetzung wäre vorhanden.
Das Ziel ist, Reflexionen zu analysieren, um Fehler zu finden. Jeder kleine Fehler im eigenen Aufbau würde zusätzliche, unerwünschte Reflexionen erzeugen, die eine genaue Fehlerdiagnose erschweren würden.
Überlege, ob das angestrebte Rampenverfahren schnell genug ist, um Deine Anforderungen zu erfüllen. Zur genauen Messung müsstest Du dich im Nanosekundenbereich bewegen, jedenfalls für eine einzige Messung. Umso länger das dauert, umso ungenauer wird das Ergebnis sein, bis es nicht mehr sinnvoll brauchbar ist.

Das ist wie ein formel1-Rennwagen den man auf der Rennstrecke fotografieren will. ja man kann ihn bei jeder Runde fotografieren, auch an einer anderen Stelle, aber mit einer Belichtungszeit von 1/60s erkennt man ihn kaum noch oder gar nicht mehr.

wkrug
05.08.2025, 06:52
Dein Fehler ist anzunehmen, dass die Rampenmethode schnell genug wäre.
Der D/A Wandler wird vor jedem Impuls ein mal gesetzt.
Im Timer Interrupt der den Impuls abschaltet kann man ja den D/A für die nächste Messung setzen - Ob das so klappt kann man ja mit nem Oszilloskop überprüfen und die Wartezeit bei Bedarf verlängern.
Die Pause zwischen dem letzten Rechteckimpuls und dem Folgenden ist ja frei bestimmbar - Es ist also im Prinzip egal wie schnell der D/A ist, da man hier ja warten kann.
Als D/A kommt der interne 10Bit D/A des AVR32DB32 zum Einsatz - den hab Ich schon mit einer Ausgabefrequenz bis 2 kHz im Einsatz ( anderes Projekt ) - Der kann aber noch wesentlich schneller.
Lt. Datenblatt:
10 Bit Resolution
Up to 140ksps Conversation Time
High Drive Capabilities
Sollte also reichen.
Wird der Speicher des AVR32DB32 zu klein ( Grafikdisplay ), kann man den Pin kompatiblen AVR128DB32 einsetzen.
Die Chips gibt es auch mit 48 und 64 Pins mit Identischem Innenleben ( 2 Ports braucht ja u.U. schon das geplante Display );

Lass mich mal in Ruhe die Komparatoren Methode prüfen.
Die Dinge, die wir hier Besprechen sind ja irgendwo Schritt 10.

Moppi
05.08.2025, 08:16
Es gibt verschiedene Lösungsmöglichkeiten und alle haben ihre Tücken. Ich habe auch exzessiv verschiedene betrachtet, aber komme immer wieder an einen Punkt, wo die Hardwarevoraussetzungen nicht zu passen scheinen, weil Widersprüche auftauchen. Es ist auch wichtig, was ganz genau erfasst werden soll. Bloß für das Eintreffen der Reflexion reicht die Zeitmessung, Damit weißt Du an welcher Stelle (sogar ziemlich genau) ein Fehler sich befindet, aber er ist nicht zu sehen. Das Sichtbarmachen mit der notwendigen Schärfe ist das Problem. Ok, der µC kann wohl eine Rampe mit dem DAC erzeugen. Dann komme ich zum Problem der Zeitverschiebung, um verschiedene Punkte der Reflexion abzutasten. 1/24MHz reichen dafür offenbar nicht aus.

Moppi
06.08.2025, 09:03
Wenn Du die Versuche startest, rechne damit, dass die Ergebnisse deiner Messungen ungenau sind. Das wäre mit den Bauteilvoraussetzungen kein Fehler, sondern zu erwarten. Konzentriere dich drauf, dass das Prinzip funktioniert und zunächst auf Fehler (Reflexionen) die etwa 6m bis 15m auseinander liegen. Umso weiter die Anfangs auseinander liegen, desto besser zum Ausprobieren, um Ergebnisse zu erhalten die einem Kabelabschnitt zuzuordnen sind. Später verringerst Du die Abstände und wirst sehen, wo die Messergebnisse verschwimmen.

wkrug
06.08.2025, 09:43
OK, mal erste Ergebnisse des Komperators.
Die gelbe Kurve zeigt das Eingangssignal.
Die Jeweils Magenta Kurve Zeigt das Ausgangssignal des Komperators bei den Vergleichsspannungen 3,68V und 1,51V.
Der Innenwiderstand der Quelle hat 220Ohm. Es wurde eine aufgewickelte Kabeltrommel mit 50m Länge angehängt.
36083
Referenzspannung am Komperator 1,51V
36084
Referenzspannung am Komperator 3,68V
Der "Start" Komperator ist fix auf eine Referenzspannung von 0,5V eingestellt ( nicht im Oszillogramm sichtbar - Hab nur 2 Kanäle ) die muss evtl noch etwas erhöht werden.
Die Referenzspannung soll ja mal mit nem D/A Wandler erzeugt werden, zur Zeit ist da nur ein Spindelpoti.

Noch ein Bild bei einer kurzgeschlossenen Kabeltrommel:
Referenz 1,2V.
36085

Fürs Erste schaut das IMHO, trotz des krautigen Aufbaus ( Bread Board ), schon ziemlich vielversprechend aus.
Rechnerisch wäre damit die Länge 99m ( 640ns ) was für einen VF von 0,5 spricht, der Wellenwiderstand wären dann 66Ohm ( 3*1,5 Gummikabel ).

Mit der Referenzspannung kann Ich schön dem Signal entlang fahren.

Moppi
06.08.2025, 10:48
Sieht so weit gut aus und bestätigt, dass das Verfahren funktioniert. Es fehlen nur exakte Messwerte, weil das alles feinabgestimmt werden muss (Bauteile und Aufbau). Die Berechnung würde ich mal noch vernachlässigen, weil nichts stimmt: Schaltungsaufbau, Impedanzanpassung der Schaltung an das Kabel.

wkrug
06.08.2025, 13:51
Die Impedanz könnte man verifizieren indem man das Kabel hinten mit einem Abschlusswiderstand abschließt bis kein Impedanzsprung mehr sichtbar ist.
Das werd Ich dieser Tage mal testen.

Moppi
07.08.2025, 07:10
Ja, das ist wahrscheinlich Feintuning am Ende. Wichtig ist die zeitlich korrekte Erfassung. Jetzt hast Du ein Oszilloskop benutzt. Das muss in einen Schaltungsaufbau übergehen, der das digital gestufte Signal so genau erzeugt, dass er die gelbe Kurve möglichst genau abbildet. Obwohl zur Fehlererkennung gar nicht so viele Stufen notwendig sind. Es müssen mehrere Stufen über Nullinie und mehrere Stufen unter Nullinie sein, um alle Fehlerarten aus der Kurve zu erkennen. Und dafür genügen erstaunliche 2 bis 4 (also insgesamt 4-8 Stufen oder auch ein paar mehr, wenns sein muss). Dutzende oder hunderte Komparator-Stufen bringen zwar optisch eine schönere Kurve, aber die Aussagekraft steigt nicht im gleichen Maß.

wkrug
07.08.2025, 09:09
Und dafür genügen erstaunliche 2 bis 4 (also insgesamt 4-8 Stufen oder auch ein paar mehr, wenns sein muss). Dutzende oder hunderte Komparator-Stufen bringen zwar optisch eine schönere Kurve, aber die Aussagekraft steigt nicht im gleichen Maß.
Da hast Du zu 100% recht.
Ich möchte aber auch die Impedanz grob abschätzen können und dafür sind dann schon mehrere Stufen erforderlich, weil die Spannung im ersten Moment vom Innenwiderstand und der Impedanz des Messlings abhängig ist.
Und dafür braucht es dann mehr Stufen.
Da der TDC7200 auch eine Totzeit hat sind Längen unter 3m nicht erfassbar - Leider.
Als nächstes werde Ich wohl den Microcontroller einbauen und mit dem TDC verbinden.
Über den USART könnte Ich dann die Werte zum PC übertragen und mit EXCEL schöne Kurven zeichnen.
Ich brauch dazu allerdings erstmal einen DIL Adapter für den TDC, den Ich erst bestellen muss.

Weitere Entwicklung, noch nicht ausgegoren!?:
Meine derzeitige Idee wäre im fertigen Gerät die Kurve zu zeichnen und dann mit einem Cursor ( Drehencoder ) entlang zu fahren.
Die Taste am Drehencoder würde Ich dann zum Umschalten zwischen den Einstellparametern verwenden.
Das würde mir eine aufwändige Signalauswertung im Controller ersparen.
Die gemessenen Werte ( TOF, Impedanz, Länge ) unter dem Cursor sollen dann im Klartext angezeigt werden.
Üblicherweise machen aber die Displays immer die größten Probleme ;-) .
Momentan wäre das mein Favorit:
Display Link (https://www.reichelt.de/de/de/shop/produkt/arduino_shield_-_display_2_8_touch_320_x_240_pixel_ili9341-282497)

Moppi
07.08.2025, 10:34
Ich habe noch die kleinen Display. Paar Zentimeter breit und hoch. Um so eine Kurve darzustellen würden die ausreichend sein. Mit so großen Displays habe ich keine Erfahrung.

wkrug
08.08.2025, 17:51
Ich hab noch mal den Wellenwiderstand nachberechnet.
Das Kabel hätte laut Anzeige 69Ohm.
Bei der Verifizierung mit einem Poti bin Ich auf 82Ohm gekommen.
Ich finde das ist jetzt nicht so schlecht.
Zudem könnte man das am fertigen Gerät noch Anpassungen vornehmen

Moppi
09.08.2025, 15:49
Als Versuchsaufbau sollte das in Ordnung sein. Für die Endschaltung sollten die richtigen Bauteile verwendet werden, so wenig Jitter als möglich, kurze und korrekte Verbindungen auf der Platine, saubere und schnelle Signale und deren Erfassung muss ebenso gut sein. Das wird dann den Unterschied machen ob es mehr eine Schätzung wird oder eine genaue Messung.

wkrug
12.08.2025, 06:41
Das positive Rechteck zur Messung wird vermutlich relativ wenig Jitter haben, da er immer mit der gleichen Controller Routine startet und vom gleichen Timer Interrupt gestoppt wird.
Ich hab mir die Datenblätter vom 74LVC14 und dem 74ACT14 angeschaut.
Die Low nach High Zeit ist bei beiden Chips am Ausgang gleich. Das Delay vom Eingang zum Ausgang innerhalb des Chips ist im Prinzip egal, weil der Startimpuls ohnehin mit einem Komparator am Ausgang des 74AHC14 abgenommen wird.
Der 74AHC14 kann aber im Gegensatz zum 74LVC14 ( soll mit 3,3V laufen ) mit 5V betrieben werden, was mehr Energie in den Messling - Das Kabel - bringt.
Davon erhoffe Ich mir weniger Probleme mit Rauschen und anderen nicht erwünschten Artefakten.
Auch das Delay durch den Komparator spielt keine entscheidende Rolle weil der Start und der Stopp Komparator im gleichen IC sind.

Mein derzeitiger Plan schaut so aus:
1. Ich setze die Vergleichsspannung für den Stopp Komparator auf den niedrigsten Spannungswert.
2. Ich konfiguriere den TDC auf steigende Stopp Flanke.
3. Ich aktiviere den TDC für einen Messzyklus.
4. Ich setze den Ausgang für den Impuls, der 74AHC14 verstärkt den Impuls und versteilert die Flanken ( Schmitt- Trigger ).
Dadurch bekommt der TDC dann seinen Start Impuls.
5. Ich starte den Timer und gebe den Timer Interrupt zum Stoppen der Messung frei. Die Messung läuft nun.
6. Der Timer Interrupt stoppt den Impuls, verhindert weitere Interrupts und setzt mir ein Flag.
7. Im Hauptprogramm wird nun der TDC Ausgelesen, die TOF Werte berechnet und in einem Speicher gepuffert - Mit dem dazugehörigen D/A Wert.
8. Der DAC wird auf den nächsten Schritt erhöht und es geht weiter mit Schritt 2. bis alle D/A Werte durchlaufen sind ( mal 128 geplant ).

Dann möchte Ich das Spiel mit absteigenden D/A Werte wiederholen, allerdings soll dabei der Stopp Impuls für den TDC mit der fallenden Flanke des Komparators getriggert werden.
Damit sollten dann auch die absteigenden Werte der Messung sichtbar werden, also auch Kurzschlüsse am Ende oder im Kabel.

Anschließend würde Ich die Werte sortieren - Vermutlich mit der Bubble Methode, weil die am wenigsten Speicher braucht.

Aus diesen Werten sollte sich dann eine Kurve erstellen lassen die dann in etwa einem Oszillogramm entspricht.
Was klar damit nicht funktionieren wird ist die Feststellung von kapazitiven oder induktiven Lasten im, oder am Ende des Kabels.
Eventuell könnte man da eine zweite Messbuchse zum Anschließen eines Oszilloskops einbauen?

Das Endziel wäre mit einem Cursor diesem quasi Oszillogramm entlang zu fahren und die dort gemessenen Werte, sowie die dazugehörige Kabellänge und Impedanz anzuzeigen.

So mal der Plan, aber das ist wie gesagt irgendwo Schritt 14 oder 15.

Moppi
12.08.2025, 08:58
Probiere das erstmal Schritt für Schritt aus. So erkennst Du die eventuellen Schwachstellen, die dann diskutiert werden können. Anstatt jetzt theoretisch Dinge vorweg zu nehmen, die noch nicht offenbar sind. Das mit dem 74AHC scheint tauglich zu sein.

wkrug
23.08.2025, 09:02
Erste Programmschnipsel!
Ich hab mal für den Controller ein erstes rudimentäres Programm geschrieben.
Die gelben Impulse sind 240 Stück für jeweils 11µs.
Die violette Kurve ist der Ausgang des D/A Wandlers, der als Vergleichsgröße für die Komperatoren dienen soll.
Die ersten 120 Messungen für steigende Flanken, die 2ten 120 für fallende.
Das Ganze dauert ca.8 ms. Die Auswertung, sortierung und Übertragung braucht dagegen knapp 700ms ( Hier nicht sichtbar ).
36087

Crazy Harry
30.08.2025, 15:36
Sorry, aber es tut weh, das zu lesen: Es heißt "Komparator" .... ohne jegliches "e" im Wort.