- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 35

Thema: TDR Messgerät Entwicklung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.677
    Blog-Einträge
    1
    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).

    Geändert von Moppi (03.08.2025 um 09:49 Uhr)
    Mit freundlichem Gruß
    Moppi

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.269
    ...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.
    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.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.677
    Blog-Einträge
    1
    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:

    Code:
    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.
    Geändert von Moppi (03.08.2025 um 19:06 Uhr)
    Mit freundlichem Gruß
    Moppi

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.269
    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.

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.677
    Blog-Einträge
    1
    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.
    Geändert von Moppi (04.08.2025 um 11:47 Uhr)
    Mit freundlichem Gruß
    Moppi

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.269
    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.

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.677
    Blog-Einträge
    1
    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.
    Geändert von Moppi (04.08.2025 um 16:44 Uhr)
    Mit freundlichem Gruß
    Moppi

Ähnliche Themen

  1. RP6Control M32: Impulslängen-Messgerät
    Von Dirk im Forum Robby RP6
    Antworten: 15
    Letzter Beitrag: 23.10.2014, 21:08
  2. Biete Stelle Angewandte Forschung / Algorithmen-Entwicklung, Software-Entwicklung (m/w)
    Von duprein im Forum Jobs/Hilfen/Stellen - Gesuche und Angebote
    Antworten: 0
    Letzter Beitrag: 05.11.2012, 11:13
  3. Alkohol Messgerät
    Von harry3 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 21.02.2008, 20:31
  4. EMV Messgerät
    Von etsmart im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 26.09.2005, 21:25
  5. USB Messgerät
    Von Pfiff im Forum PIC Controller
    Antworten: 5
    Letzter Beitrag: 28.04.2005, 16:34

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test