- LiFePO4 Speicher Test         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: TDR Messgerät Entwicklung

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.248

    TDR Messgerät Entwicklung

    Anzeige

    E-Bike Praxistest
    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?

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Crazy Harry
    Registriert seit
    15.01.2006
    Ort
    Raum Augsburg - Ulm
    Beiträge
    1.312
    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-...r-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.
    Ich programmiere mit AVRCo

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

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.656
    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.

    Mit freundlichem Gruß
    Moppi

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.248
    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.
    Ich sammel zur Zeit nur mal Ideen, weil ein anderes Projekt gerade Vorrang hat.
    Geändert von wkrug (Gestern um 08:03 Uhr)

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.656
    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 (Gestern um 08:49 Uhr)
    Mit freundlichem Gruß
    Moppi

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

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.656
    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 (Gestern um 18:06 Uhr)
    Mit freundlichem Gruß
    Moppi

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

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.656
    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 (Heute um 10:47 Uhr)
    Mit freundlichem Gruß
    Moppi

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. RP6Control M32: Impulslängen-Messgerät
    Von Dirk im Forum Robby RP6
    Antworten: 15
    Letzter Beitrag: 23.10.2014, 20: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, 10:13
  3. Alkohol Messgerät
    Von harry3 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 21.02.2008, 19:31
  4. EMV Messgerät
    Von etsmart im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 26.09.2005, 20:25
  5. USB Messgerät
    Von Pfiff im Forum PIC Controller
    Antworten: 5
    Letzter Beitrag: 28.04.2005, 15:34

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress