Hallo zusammen, ich beschäftige mich mit der Theorie zu einem LCR-Meter. Als Basis dazu dient das LCR-Meter von Elektor aus 2013. Die Berechnung, die dahinter steckt, habe ich in den Anhang gepackt. Die Idee ist nun einen Audio ADC und DAC zu verwenden. Die sind günstig und bieten eine hohe Auflösung. Das wird so auch verwendet bei kommerziellen Geräten: https://www.eevblog.com/forum/testgear/hioki-3522-lcr-meter-teardown/ Bei den Formalen geht es nun um den Term in der Klammer (2*Pi()*i/N). Das ist ja der Winkel. Aber wie muss ich den ändern, wenn man nicht über eine Periode, sondern über mehrere sampelt? Wenn zum Beispiel der ADC mit 96kHz sampelt und die Messfrequenz bei 10kHz liegt, dann bekommt man nur noch sehr wenige Stützstellen pro Periode, außer man sampelt über mehrere. Man muss also zwangsweise über mehrere Perioden sampeln. Für die Summenbildung danach sollte das ja kein Problem sein, da die Reihenfolge egal ist. Wichtig ist nur, dass man zu den Messwerten immer den richtigen Winkel hat. Ich vermute man muss was mit Modulo machen, aber ich komme noch nicht dahinter. Vielleicht kann mir jemand einen Hinweis geben, wie ich hier weiter komme. Danke euch! Grüße, Jens
:
Bearbeitet durch User
Jens W. schrieb: > Wichtig ist nur, dass > man zu den Messwerten immer den richtigen Winkel hat. Das ist leichter gesagt/geschrieben als gemacht. Bedenke mal, daß deine Samples zu recht unterschiedlichen Zeiten (aus Sicht der Periode) hereinkommen und du erstmal weder die tatsächliche Amplitude noch den tstächlichen Winkel zur anderen Größe (also U zu I oder umgekehrt) hast. Natürlich könnte man (auch bloß theoretisch) einen Sinus-Wellenzug an die diversen Stützstellen dranfitten, aber das ist ein elender Aufwand, zumal man das dann für beide Signale (U und I) machen müßte. Obendrein hat man bei der Ausgabe der Erreger-Spannung per Software+DAC immer mit Latenzzeiten zu tun und auch ein etwaiges Filter hinter dem DAC kann noch die Phase beeinflussen. Folglich ist es keine wirklich gute Idee, sich auf eine sonstige Zeitbasis als Referenz zu verlassen und die beiden Winkel erstmal relativ zu dieser zu bestimmen, um danach daraus den Winkel zwischen U und I zu errechnen. Soviel zu den Winkeln. Dein nächstes Problem wäre die Bestimmung der beiden Amplituden. Wenn du das aus den Samples direkt machen willst, dann müßtest du zum einen exakt wissen, wo das jeweilige Sample innerhalb der Periode steht und dann eine Regression machen - aber keine lineare! Und das ist wieder ein elender Aufwand, bei dem vieles schief gehen kann. Ansonsten hatte ich dir ja bereits geschrieben, auf welche Weise ich diese Klippen zu umschiffen probieren würde - allerdings ist davon noch nichts ausprobiert. W.S.
Für das LCR-Meter kann man die Dreivoltmetermethode anwenden: https://m.youtube.com/watch?v=aKmj7qD728A Es reicht den **Spitzenwert** der drei Spannungen zu messen. Dann kann man die Impdanz bzw Real und Imaginärwert des Messobjekts errechnen.
Jens W. schrieb: > Wichtig ist nur, dass > man zu den Messwerten immer den richtigen Winkel hat. > Ich vermute man muss was mit Modulo machen, aber ich komme noch nicht > dahinter. Ob du den Sinus von phi oder den Sinus von phi+x*2*pi berechnest, macht keinen Unterschied (solange x eine ganze Zahl ist). Dasselbe gilt für den Cosinus. Wenn du also über x Perioden aufsummieren willst, dann musst du einfach nur i von 0 bis x*N-1 laufen lassen. Grundsätzlich müsstest du dann auch noch anstelle des Normierungsfaktors 1/N einen Normierungsfaktor 1/(x*N) wählen. Allerdings spielt bei der Anwendung beim LCR-Meter ein Normierungsfaktor keine Rolle, solange es nur der identische Normierungsfaktor für die Strommessung wie für die Spannungsmessung ist. Bei der komplexen Berechnung von Z = U / I kürzt sich dieser Normierungsfaktor heraus. W.S. schrieb: > Obendrein hat man bei der Ausgabe der Erreger-Spannung per Software+DAC > immer mit Latenzzeiten zu tun und auch ein etwaiges Filter hinter dem > DAC kann noch die Phase beeinflussen. Folglich ist es keine wirklich > gute Idee, sich auf eine sonstige Zeitbasis als Referenz zu verlassen > und die beiden Winkel erstmal relativ zu dieser zu bestimmen, um danach > daraus den Winkel zwischen U und I zu errechnen. Offenbar beziehst du dich in deinem Beitrag auf einen anderen Thread des TO, den ich nicht kenne. Aber was die Anwendung beim LCR-Meter angeht: klar werden bei der Ausgabe der anregenden Sinusfunktion Latenzen und Phasenverschiebungen gegenüber der "internen" Zeitbasis auftreten. Deswegen wäre es tatsächlich problematisch, wenn man mit der internen Zeitbasis die jeweilige Phasenlage von U oder die Phasenlage von I bestimmen wollte. Aber wenn man sich nur die Phasenlage von Z=U/I interessiert, kürzen sich identische Phasenverschiebungen von beiden gegenüber der internen Zeitbasis heraus. Man kann also mit einer beliebigen Definition der Phasenlage 0 arbeiten (auch mit der "internen Zeitbasis"), die Phasenlage des berechneten Z wird dadurch nicht verfälscht. Vorausgesetzt, dass sowohl die Momentanwerte von u(t) als auch die Momentanwerte von i(t) im identischen Zeitraster abgetastet werden/auf die identische interne Zeitbasis bezogen werden.
Moin, grundsätzlich wird in deinem Beispiel eben nur ein Koeffizient der DFT berechnet. Durch den Trick, dass die d_i eine Periode abbilden soll, klappt das so wie dort beschrieben. Die (normierte) DFT ist allgemein
Für den Realteil gilt bspw. also
Wenn man annimmt, dass genau eine Periode über N Werte gesampled wird, erhält man für k = 1 den Fourierkoeffizienten der Schwingung. Das hast du aber nicht, also musst du dir anders behelfen. Mit der Messfrequenz 10 kHz und fs = 96 kHz, kannst du 48 Messwerte aufnehmen. Damit hast du exakt 5 Perioden des Messsignals abgetastet. Gilt also N = 48 und setzt du k = 5, berechnest du den richtigen Fourierkoeffizienten. Also bspw.
wobei x(n) den 48 Messwerten entspricht. Du musst also sicherstellen, dass die Stützstellen deiner DFT deine Frequenz genau treffen und eben diesen Koeffizienten bestimmen.
Hallo Achim, ich hatte noch ein bisschen weiter gemacht, bevor es hier weiter ging. Es hat mir einfach keine Ruhe gelassen. Ich bin zu der gleichen Erkenntnis gekommen wie du. Ich habe mit dem Oszi ein paar Werte aufgenommen und das mal gemessen. Ich habe euch den Messaufbau und den Kurvenverlauf angehängt. Die Ergebnisse, die ich für die Berechnungen genommen habe, sind die vom Oszilloskop. Da sah das genau so aus. Nur die Amplituden waren ein bisschen höher. Den Phasenwinkel habe ich mir vom Oszi ausgeben lassen. Aus all den Werten habe ich eine Excel Tapete gebaut, die die Berechnungen durchführt. Und mit den Hinweisen, die du gegeben hast, funktioniert das erstaunlich gut. Zur Excel-Tapete: Auf der linken Seite werden die Werte vom Oszi eingetragen. Daraus erzeuge ich mir auf der zweiten Seite die Sinusverläufe von Spannung und Strom, so wie sie im Speicher liegen würden, wenn es ein echtes Messgerät wäre. Und aus den Werten berechne ich dann Z und alle weiteren Werte. Zur Phasenlage: Da habt ihr sicher Recht. Da muss man aufpassen, wenn man das echt aufbaut, aber im Moment bin ich ja mit der bloßen Theorie beschäftigt. Da muss es erstmal funktionieren, bevor man an den Aufbau geht. Grüße, Jens
Rezy schrieb: > Mit der Messfrequenz 10 kHz und fs = 96 kHz, kannst du 48 Messwerte > aufnehmen. Damit hast du exakt 5 Perioden des Messsignals abgetastet. > Gilt also N = 48 und setzt du k = 5, berechnest du den richtigen > Fourierkoeffizienten. > > Du musst also sicherstellen, dass die Stützstellen deiner DFT deine > Frequenz genau treffen und eben diesen Koeffizienten bestimmen. Agree. Was aber passiert, wenn man die Frequenz nicht genau trifft, d.h. über nicht komplette Perioden sampelt (z.B. wegen Störsignalen)? Ja, auch dafür gibt es Lösungen (windowing, stacking, ...). Aber welche Messfehler sind damit zu erwarten? Bevor ich "komplexe" Messverfahren in Betracht ziehen würde, hätte ich erst mal sämtliche schwachen Ecken abgeklopft, Beispiele von problematischen Fällen modelliert - und diese mit 'modernen' Werkzeugen (octave?) abgeklopft. Ob ich aber unbedingt auf eine Elektor aus 2013 aufsetzen würde - also ich weiss nicht. Üblicherweise setzt man besser auf Messverfahren bekannter Geräte auf, recherchiert in Firmenschriften, klappert mal die bestehenden Patente ab. Dies o.g. Quelle (eevblog) ist jedenfalls schon mal kein schlechter Ansatz. Auch wurden dort andere Geräte schon genannt. just my 2ct
Alois schrieb: > Was aber passiert, wenn man die Frequenz nicht genau trifft, d.h. über > nicht komplette Perioden sampelt (z.B. wegen Störsignalen)? Ja, auch > dafür gibt es Lösungen (windowing, stacking, ...). Aber welche > Messfehler sind damit zu erwarten? Nehmen wir das Beispiel von Rezy: eine Messfrequenz von 10kHz und ein Sampling über 5 Perioden. Das brächte einen neuen Messwert alle 0,5 ms - etwas, das für eine Anzeige eines LCR-Meters völlig unnötig schnell wäre (und damit auch unnötig ungenau). Ein normales Multimeter zeigt auch nicht alle 0,5ms einen neuen Wert an sondern mittelt wesentlich länger (um genauere Ergebnisse zu erhalten). Mein eigenes LCR-Meter hat als Mindest Integrationsdauer eine Zeit von 200 ms. Die genaue Integrationsdauer wird dann so angepasst, dass sie im Rahmen der Abtastrate möglichst genau bei einem ganzzahligen Vielfachen der Messperiode liegt. Wenn die Mindest Integrationsdauer 200ms beträgt hat man 2000 vollständige Schwingungen der 10kHz Messfrequenz abgedeckt und trifft dann ggf. mit dem allerletzten Sample nicht mehr die exakte Periodendauer. Das ergibt noch einen "Randeffekt", aber 2000 Perioden sind vollständig abgedeckt und nur die letzte Periode des Messignals ist zu maximal (10k/96k)=10% daneben - da hält sich der Fehleranteil in Grenzen. Eine ausreichend lange Integrationsdauer bzw. Wartezeit bis zur Erfassung eines neuen Messwerts kann auch deswegen sinnvoll und notwendig sein, weil einige Messobjekte (mit hoher Güte) z.B. nach einem Wechsel der Messfrequenz erst mal ein ausreichend lange Einschwingzeit benötigen, ehe wirklich die stationären Sinuskurven für Strom und Spannung vorliegen.
Hallo Alois, deine Bedenke über Elektor sind sicher richtig. Da hat die Qualität stetig abgenommen und heute braucht man die Zeitung (zumindest ich) nicht mehr. Am deutlichsten sieht man das, wenn man die Neuauflage des LCR-Meters von 2019 mit der Version von 2013 vergleicht. Heute sind keine Grundlagen mehr erklärt. Der Artikel aus 2019 liest sich eher wie eine Hymne auf sich selbst. Das ist nicht mein Ding. Aber was das Messverfahren angeht, stimme ich nicht mit dir überein. Klar gibt es Verfahren, die deutlich einfacher sind. Beträge und Phase messen und ein bisschen Rechnen, dann ist man fertig. Aber der Unterschied ist, dass man dazu deutlich mehr Aufwand auf der Leiterplatte treiben muss. Man braucht sehr genaue Gleichrichter und Phasendetektoren. Sonst wird das nichts. Und wenn da ein bisschen Rauschen drauf ist, wird das ebenfalls ungenau. Den Vorteil, den ich in dem Verfahren sehe ist, dass man wenig Schaltungsaufwand hat. Ein zweikanaliger, hochauflösender ADC reicht aus. Der Rest ist Mathematik. Für mich hat das was. Und nachdem man da nicht viel Hardware braucht, kann man sowas auch auf einem Evalboard implementieren für einen Versuch. Grüße, Jens
Jens W. schrieb: > Aber was das Messverfahren angeht, stimme ich nicht mit dir überein. Frei nach Friedrich II: Bei mir kann jeder nach seiner Facon seelich werden, solange wie er seine Steuern pünktlich zahlt... Also, was der Achim da eingeworfen hat, ist berechtigt: Ein RLC-Meter für den menschlichen Gebrauch braucht bloß alle 200..500 ms eine neue Zahl auf dem Display zu bringen. Da hat man bei 10 kHz Meßfrequenz 2000 bis 5000 Perioden Zeit. Das legt nahe, daß man über diese Zeit mittelt, wobei eben auch das Nicht-Treffen der exakten Perioden sich nur noch marginal auswirkt. Und dazu braucht man keine zusätzliche Analogtechnik, sondern eben nur eine passende Anzahl von Rechenoperationen im µC. W.S.
Hallo, so dachte ich eben auch. Ich werde es mal ausprobieren und dann berichten. Danke an alle! Grüße, Jens
Jens W. schrieb: > Ein zweikanaliger, hochauflösender ADC reicht > aus. Er sollte auch genau sein. Und das sind Audio ADCs nicht. Die sind rauscharm und bieten all das, was man für Audio benötigt. Aber eben nicht für Messtechnik zu gebrauchen. Schau Dir mal den ADS131A02 an. Gruß Jobst
Hallo Jobst, was man braucht ist vor allem ein ADC mit wenig Linearitätsfehler. Das sollten die Audio ADCs können. Dass die nicht genau sind, das stimmt, aber dafür linear. Der Gain Error und der DC Error sind nicht so toll. Da man aber den ADC sowieso kalibrieren muss, lässt sich das heraus rechnen. Ein ähnliches Problem hatte ich schon einmal bei einem analog Frontend Chip von Analog Device für Smart Meter Anwendungen. Da hatte ich mich auch gewundert, dass der ADC bei kurzgeschlossenen Eingängen komische Werte ausgegeben hatte. Da hat sich dann heraus gestellt, dass das der DC Offset war. Im Datenblatt gingen die dann davon aus, dass eine Zweipunkte-Kalibrierung durchgeführt wird. Danach waren die Ergebnisse beeindruckend! (So erhoffe ich mir das auch von den Audio ADCs). Aber ein bisschen vorsichtig bin ich auf jeden Fall noch. Wie gesagt, es kommt mir ja auf einen Versuch an. Das ist ja gerade das was ich heraus finden will.
Was ich schon heraus gefunden habe ist, dass der absolute Winkel (also wann die Werte gesampelt werden) keine große Rolle spielt, bei diesem Verfahren. Es spielt keine Rolle an welcher Stelle man während einer Periode anfängt. Da brauche ich keinen weiteren Komparator für den Nulldurchgang. Was aber absolut wichtig ist: Der Phasenbezug zwischen den beiden Messsignalen (Strom und Spannung) muss unbedingt konstant sein! Ein Winkeloffset lässt sich heraus rechnen. Aber der darf über Frequenz nicht variieren, sonst wird es schwierig. Ebenso ein DC Offset auf dem Eingangssignal spielt keine Rolle. Das rechnet sich automatisch durch die DFT heraus. Grüße, Jens
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.