Widerstandsmessung, komplexe Berechnung

OP #5969187
Lesenswert?

Hallo zusammen.
Ich muss 3 externe veränderliche unbekannte Widerstände ermitteln, und 
zwar mit einer vorgegebenen Messschaltung. Die drei Widerstände sind in 
Sternschaltung angeordnet, der Sternpunkt ist für mich nicht zugänglich. 
Die Messschaltung kann ich auch nicht verändern. Ich schließe die 
Messschaltung in drei verschiedenen Konstellationen an die Widerstände 
an und messe dann jeweils einen 'internen' Spannungswert.


zu ermitteln:
3 unbekannte externe Widerstandswerte: R1, R2, R3 (in Sternschaltung)

Messmittel:
Messchaltung mit bekannten Bauteilen R4, R5, R6, R7, R8, Vsin
R4 = R5 = R6,   C2 = C3

Ablauf:
In 3 Messschritten werden nacheinander mit unterschiedlichen 
Messschaltungskonstellationen die Spannungen V1, V2, V3 gemessen.

Lösungsansatz:
Man kann 3 Funktionsgleichungen mit der Messspannung als Funktion von 
R1, R2, R3 und den bekannten Bauteilen aufstellen:
Messung I  V1 = f1 (R1, R2, R3 und VSin, R4, R5, ...)
Messung II  V2 = f2 (R1, R2, R3 und VSin, R4, R5, ...)
Messung III  V3 = f3 (R1, R2, R3 und VSin, R4, R5, ...)
Das sind 3 Gleichungen mit 3 Unbekannten, die theoretisch lösbar sind:

R1 = f4 (R2, R3, V1, V2, V3, VSin, R4, R5, ...)
R2 = f5 (R1, R3, V1, V2, V3, VSin, R4, R5, ...)
R3 = f6 (R1, R2, V1, V2, V3, VSin, R4, R5, ...)

Frage:
Diese Gleichungen sind zu komplex, um sie per Hand zu lösen.
Mit welcher systematischen Methode können die Widerstandswerte R1, R2, 
R3 berechnet bzw. ermittelt werden? Und zwar nicht einmalig, sondern 
letztendlich per Software-Programm zyklisch wiederkehrend für 
veränderliche R1, R2, R3.

Ich bräuchte eine mathematische Methode, die ich dann programmtechnisch 
implementieren kann.

Maschenstromverfahren, Knotenpotenzialanalyse, Matrizen? Wie fange ich 
da an?
Hat da jemand einen guten Ansatz für mich?
Angehängte Dateien:
Gast #5969279
Lesenswert?

Gerd K. schrieb:
> Man kann 3 Funktionsgleichungen mit der Messspannung als Funktion von
> R1, R2, R3 und den bekannten Bauteilen aufstellen:
> Messung I  V1 = f1 (R1, R2, R3 und VSin, R4, R5, ...)
> Messung II  V2 = f2 (R1, R2, R3 und VSin, R4, R5, ...)
> Messung III  V3 = f3 (R1, R2, R3 und VSin, R4, R5, ...)
> Das sind 3 Gleichungen mit 3 Unbekannten, die theoretisch lösbar sind

Bist du sicher das diese Gleichungen ein System bilden,
denn VSin und R8 sind in den drei Schaltungen an unterschiedlichen 
Stellen.

Muss man nicht eher von drei verschiedenen VSinx und R8x ausgehen?
Gast #5969368
Lesenswert?

C1 müsste auch gegeben sein, sonst wären es ja 4 Unbekannte?!

Also dann die 3 Gleichungen für V1, V2, V3 aufstellen.
(Blöd, weil ausser den Widerständen auch Kondensatoren vorkommen,
könnte man denn nicht mit Gleichspannung arbeiten?)

Dann damit ein Lösungsprogramm füttern oder mit Excel o.ö.
beschäftigen (Solver).
OP #5970025
Lesenswert?

Die Kondensatorwerte sind auch bekannt.

Der Tip mit einem Solver ist interessant.

Kennt jemand ein 'Solver'-Verfahren, bei dem man Gleichungen mit 
komplexen Zahlen einsetzen kann und für das ein C-Code verfügbar ist? 
Wenigstens eine Verfahrensbeschreibung, so dass man den C-Code selber 
schreiben kann?
Gast #5970167
Lesenswert?

> Kennt jemand ein 'Solver'-Verfahren, bei dem man Gleichungen mit
> komplexen Zahlen einsetzen kann

Man muss wohl meist getrennt nach Real- und Imaginärteil auflösen,
schon in den Gleichungen.
(Firma: Schweigstill IT) Persönliche Seite #5970190
Lesenswert?

Gerd K. schrieb:
> Kennt jemand ein 'Solver'-Verfahren, bei dem man Gleichungen mit
> komplexen Zahlen einsetzen kann und für das ein C-Code verfügbar ist?
> Wenigstens eine Verfahrensbeschreibung, so dass man den C-Code selber
> schreiben kann?

Die Auflösung der Gleichungen muss man doch nur einmal durchführen. C 
wäre für die entsprechenden Beschreibungen so ziemlich die ungeeigste 
Sprache, die man sich vorstellen kann. Entsprechende Mathematikpakete 
verwenden meist ihre eigenen Beschreibungssprachen für Gleichungen. Sehr 
verbreitet sind:

- Wolfram Mathematica
- Waterloo Maple
- Derive

Eine umfangreichere Liste findet man hier:
https://de.wikipedia.org/wiki/Computeralgebrasystem

Mit hoher Wahrscheinlichkeit kannst die entsprechenden Umformungen auch 
mit dem (teilweise kostenlosen) Dienst Wolfram Alpha durchführen, bei 
dem es sich weitgehend um eine Webversion von Mathematica handelt:

https://www.wolframalpha.com/input/?i=solve+x%5E3+-+4x%5E2+%2B+6x+-+24+%3D+0

Ggf. musst Du die resultierenden Ausdrücke noch so lange umformen, bis 
sie sich in geschlossener Form in C o.ä. hinschreiben lassen.
(Firma: Schweigstill IT) Persönliche Seite #5970202
Lesenswert?

Nachtrag:

Zu Beginn meines Studiums verwendete ich gelegentlich eine geklaute 
Version von Derive, die genau das tat, was ich benötigte. Und weil 
überall von Mathematica geschwärmt wurde, kaufte ich mir dann die 
Studentenversion (für DM 499,- oder so) und war stolz wie Bolle. Aber 
Mathematica war so unglaublich leistungsfähig und mit Feature 
vollgestopft, dass ich mir jahrelang vornahm, mich intensiv damit zu 
befassen. Dabei ist es leider geblieben, denn jeder Einarbeitungsversuch 
brachte die Erkenntnis, dass noch viel mehr Funktionalität vorhanden 
war, mit nochmals erhöhtem Einarbeitungsaufbau. Wirklich nett ist bei 
Mathematica, dass man die Rechenschritte als sog. Notebook organisieren 
kann, d.h. so wie man in der Schule oder in einer Übung im Studium 
seinen Lösungsweg hinschreibt.
OP #5970258
Lesenswert?

DC-Messung geht definitiv leider nicht.

Und es reicht nicht, wenn ich meine gesuchten Widerstände einmalig mit 
einem Mathematik-Tool ausrechne. Ich muss ein SW-Programm schreiben, 
welches die unbekannten veränderlichen Widerstände zyklisch mit der 
vorgegebenen HW-Schaltung misst und aus den gemessen drei Spannungen die 
unbekannten Widerstandswerte berechnet und diese dann ausgibt. Dazu 
brauche ich einen Ansatz, wie ich softwaretechnisch die 3 
Widerstandswerte aus den 3 gemessenen Spannungen berechnen kann.
(Firma: Schweigstill IT) Persönliche Seite #5970267
Lesenswert?

Gerd K. schrieb:
> Und es reicht nicht, wenn ich meine gesuchten Widerstände einmalig mit
> einem Mathematik-Tool ausrechne.

Dann warst Du offenbar zu faul, Dich mit den genannten Mathematikpaketen 
zu beschäftigen. Sonst wüsstest Du, dass sie nicht einfach numerisch 
drauflosrechnen, sondern sie dazu dienen, die Gleichungen entsprechend 
umzuformen.

> Ich muss ein SW-Programm schreiben,
> welches die unbekannten veränderlichen Widerstände zyklisch mit der
> vorgegebenen HW-Schaltung misst und aus den gemessen drei Spannungen die
> unbekannten Widerstandswerte berechnet und diese dann ausgibt. Dazu
> brauche ich einen Ansatz, wie ich softwaretechnisch die 3
> Widerstandswerte aus den 3 gemessenen Spannungen berechnen kann.

Genau.
OP #5970291
Lesenswert?

Danke, das war mir nicht ganz so klar.
Nun ja, wie du schreibst, ist das Kennenlernen der Mathematiktools mit 
viel Einarbeitungszeit verbunden, was ich jetzt auch angehen werde.

Für einen Vorabtip, welche Tools auch Gleichungen mit komplexen Zahlen 
umformen können, wäre ich dennoch dankbar.
(Firma: Schweigstill IT) Persönliche Seite #5970314
Lesenswert?

Gerd K. schrieb:
> Für einen Vorabtip, welche Tools auch Gleichungen mit komplexen Zahlen
> umformen können, wäre ich dennoch dankbar.

Textverständnis ist nicht so Dein Ding?

Andreas S. schrieb:
> Mit hoher Wahrscheinlichkeit kannst die entsprechenden Umformungen auch
> mit dem (teilweise kostenlosen) Dienst Wolfram Alpha durchführen, bei
> dem es sich weitgehend um eine Webversion von Mathematica handelt:
Gast #5970388
Lesenswert?

Gerd K. schrieb:
> Diese Gleichungen sind zu komplex, um sie per Hand zu lösen.

Wieso das denn? Das kann man schon symbolisch von Hand rechnen. Ist nur 
ziemlich nervig und man muss sehr sorgfältig arbeiten.

> Maschenstromverfahren, Knotenpotenzialanalyse, Matrizen? Wie fange ich
> da an?
> Hat da jemand einen guten Ansatz für mich?

Zuerst einmal die Schaltungen vereinfachen.

Auch wenn es nicht so aussieht, es sind drei verschiedene Schaltungen, 
die man jeweils einzeln bearbeiten muss. Dein Professor war nämlich ein 
bisschen gemein. Besonders mies ist Schaltung 3, in der neben den in 
allen Schaltungen vagabundierenden R8, Vsin auch noch Bauteile ihre 
P{osition getauscht haben. Subtil-böse.

Methode? Stern-Dreieck Umwandlung. Zumindest scheint es so, dass dein 
Professor in jeder der drei Schaltungen genug Möglichkeiten zur 
Umwandlung und Zusammenfassung vorgesehen hat. Gerade C1 bis C3 schreien 
danach.

Nach den Zusammenfassungen hast du drei Gleichungen mit je drei 
Unbekannten. Ein lineares Gleichungssystem. Methoden das zu lösen lernt 
man in der Schule (Einsetzungsverfahren, Gauß-Verfahren, 
Gleichsetzungsverfahren, Subtraktionsverfahren).
Gast #5972193
Lesenswert?

Das Problem löst sich nicht so einfach wie gedacht.

Ich habe die Gleichungen aufgestellt und versucht mit einem
Solver (Maxima und Mathematica) nach R1,R2,R3 aufzulösen.

Alle anderen Werte symbolisch.

Nach ca. 5 Minuten hatten die Solver noch keine Lösung
und ich habe abgebrochen.
Vielleicht hätten sie später noch eine Lösung gefunden, aber
erfahrungsgemäss eher nicht.

Hat noch jemand einen Trick oder ein anderes Verfahren?
Gast #5972239
Lesenswert?

Josef schrieb:
> Nach ca. 5 Minuten hatten die Solver noch keine Lösung
> und ich habe abgebrochen.
> Vielleicht hätten sie später noch eine Lösung gefunden, aber
> erfahrungsgemäss eher nicht.

Meist liegt das daran, dass entweder die zu bestimmenden Parameter nicht 
linear unabhängig oder die Startwerte Mist sind.

Gerd K. schrieb:
> ... ein SW-Programm ...

Man könnte auch sagen "ein weißer Schimmel" ...
#5972340
Lesenswert?

Mit drei Messungen kann man bis zu 6 Gleichungen aufstellen, wenn man 
Betrag und Phase berücksichtigt. Damit kann  man also auch die 
unbekannten Kondensatoren bestimmen.

Man kann für jede der drei Messungen entweder eine Matrix(LGS), 
aufgestellt mit der Knotenpotentialanalyse, numerisch lösen oder man 
nimmt einen symbolischen Solver und bestimmt einmalig die Formel V1=..., 
V2= und V3=... Dadurch entfällt das wiederholte Lösen des LGS.
Diese V=.. sind auf Grund der Komplexität der Schaltung vermutlich 
nichtlineare Gleichungen bezüglich der Widerstände R1, R2 und R3. 
Deshalb muss man das im allgemeinen mit numerischen Verfahren lösen - 
Stichwort Jacobi-Matrix.

Symbolische Solver gibt es für Matlab - SCAM mit symbolic toolbox - oder 
man nimmt ein spezielles Programm dafür - SapWin4. Allerdings sollte man 
die symbolischen Lösungen mit einem SPICE-Simulationsprogramm 
überprüfen, da ich da auch schon mal einen Fehler in einer symbolischen 
Lösung gefunden habe,
#5974673
Lesenswert?

Elektrofan schrieb:
>> Das Gleichungssystem löst man dann numerisch.
>
> @egonotto:
> Und es sollte doch linear sein?
> Weil nur lineare Elemente vorhanden sind, und keine Leistung
> gegeben/gesucht ist.

Die Berechnung von V1 bildet schon eine lineares Gleichungssystem, aber 
die Berechnung von R1 ergibt kein lineares Gleichungssystem da in allen 
3 Gleichungen Terme mit R1*R2, R1*R3 und R2*R3 vorkommen.

Als Beispiel die Formel für V1 die mir Sapwin4 berechnet hat. Wenn man s 
durch jw ersetzt, dann bekommt man die komplexe Spannung V1.


V1(s) = (
(R2+R1)+
(C2*R2*R7+C2*R2*R6+C2*R2*R4+C2*R2*R3+C2*R1*R7+C2*R1*R6+C2*R1*R3+C2*R1*R2 
+C3*R2*R7+
C3*R2*R6+C3*R2*R3+C3*R1*R7+C3*R1*R6+C3*R1*R5+C3*R1*R3+C3*R1*R2)*s
)/(
(R8+R2+R1)+
(C1*R5*R8+C1*R4*R8+C1*R2*R8+C1*R2*R5+C1*R2*R4+C1*R1*R8+C1*R1*R5+C1*R1*R4 
+C2*R7*R8+
C2*R6*R8+C2*R4*R8+C2*R3*R8+C2*R2*R7+C2*R2*R6+C2*R2*R4+C2*R2*R3+C2*R1*R8+ 
C2*R1*R7+
C2*R1*R6+C2*R1*R4+C2*R1*R3+C2*R1*R2+C3*R7*R8+C3*R6*R8+C3*R5*R8+C3*R3*R8+ 
C3*R2*R8+
C3*R2*R7+C3*R2*R6+C3*R2*R5+C3*R2*R3+C3*R1*R7+C3*R1*R6+C3*R1*R5+C3*R1*R3+ 
C3*R1*R2)*s+
(C2*C1*R5*R7*R8+C2*C1*R5*R6*R8+C2*C1*R4*R7*R8+C2*C1*R4*R6*R8+C2*C1*R4*R5 
*R8+C2*C1*R3*R5*R8+
C2*C1*R3*R4*R8+C2*C1*R2*R7*R8+C2*C1*R2*R6*R8+C2*C1*R2*R5*R7+C2*C1*R2*R5* 
R6+C2*C1*R2*R4*R8+
C2*C1*R2*R4*R7+C2*C1*R2*R4*R6+C2*C1*R2*R4*R5+C2*C1*R2*R3*R8+C2*C1*R2*R3* 
R5+C2*C1*R2*R3*R4+
C2*C1*R1*R7*R8+C2*C1*R1*R6*R8+C2*C1*R1*R5*R8+C2*C1*R1*R5*R7+C2*C1*R1*R5* 
R6+C2*C1*R1*R4*R7+
C2*C1*R1*R4*R6+C2*C1*R1*R4*R5+C2*C1*R1*R3*R8+C2*C1*R1*R3*R5+C2*C1*R1*R3* 
R4+C2*C1*R1*R2*R8+
C2*C1*R1*R2*R5+C2*C1*R1*R2*R4+C3*C1*R5*R7*R8+C3*C1*R5*R6*R8+C3*C1*R4*R7* 
R8+C3*C1*R4*R6*R8+
C3*C1*R4*R5*R8+C3*C1*R3*R5*R8+C3*C1*R3*R4*R8+C3*C1*R2*R7*R8+C3*C1*R2*R6* 
R8+C3*C1*R2*R5*R7+
C3*C1*R2*R5*R6+C3*C1*R2*R4*R8+C3*C1*R2*R4*R7+C3*C1*R2*R4*R6+C3*C1*R2*R4* 
R5+C3*C1*R2*R3*R8+
C3*C1*R2*R3*R5+C3*C1*R2*R3*R4+C3*C1*R1*R7*R8+C3*C1*R1*R6*R8+C3*C1*R1*R5* 
R8+C3*C1*R1*R5*R7+
C3*C1*R1*R5*R6+C3*C1*R1*R4*R7+C3*C1*R1*R4*R6+C3*C1*R1*R4*R5+C3*C1*R1*R3* 
R8+C3*C1*R1*R3*R5+
C3*C1*R1*R3*R4+C3*C1*R1*R2*R8+C3*C1*R1*R2*R5+C3*C1*R1*R2*R4+C3*C2*R5*R7* 
R8+C3*C2*R5*R6*R8+
C3*C2*R4*R7*R8+C3*C2*R4*R6*R8+C3*C2*R4*R5*R8+C3*C2*R3*R5*R8+C3*C2*R3*R4* 
R8+C3*C2*R2*R7*R8+
C3*C2*R2*R6*R8+C3*C2*R2*R5*R7+C3*C2*R2*R5*R6+C3*C2*R2*R4*R8+C3*C2*R2*R4* 
R7+C3*C2*R2*R4*R6+
C3*C2*R2*R4*R5+C3*C2*R2*R3*R8+C3*C2*R2*R3*R5+C3*C2*R2*R3*R4+C3*C2*R1*R7* 
R8+C3*C2*R1*R6*R8+
C3*C2*R1*R5*R8+C3*C2*R1*R5*R7+C3*C2*R1*R5*R6+C3*C2*R1*R4*R7+C3*C2*R1*R4* 
R6+C3*C2*R1*R4*R5+
C3*C2*R1*R3*R8+C3*C2*R1*R3*R5+C3*C2*R1*R3*R4+C3*C2*R1*R2*R8+C3*C2*R1*R2* 
R5+C3*C2*R1*R2*R4)*s^2
)
Gast #5975199
Lesenswert?

> ... aber die Berechnung von R1 ergibt kein lineares Gleichungssystem
> da in allen 3 Gleichungen Terme mit R1*R2, R1*R3 und R2*R3
> vorkommen.

Auch gut,
hoffentlich muss ich sowas unübersichtliches, wie

> V1(s) = (
> (R2+R1)+
> (C2*R2*R7+C2*R2*R6+C2*R2*R4+C2*R2*R3+C2*R1*R7+C2*R1*R6+C2*R1*R3+C2
> *R1*R2+C3*R2*R7+
> C3*R2*R6+C3*R2*R3+C3*R1*R7+C3*R1*R6+C3*R1*R5+C3*R1*R3+C3*R1*R2)*
> s)/(
> ...

NIE ausrechnen.     ;-)
#5975293
Lesenswert?

Elektrofan schrieb:
>> ... aber die Berechnung von R1 ergibt kein lineares Gleichungssystem
>> da in allen 3 Gleichungen Terme mit R1*R2, R1*R3 und R2*R3
>> vorkommen.
>
> Auch gut,
> hoffentlich muss ich sowas unübersichtliches, wie
>
>> V1(s) = (
>> (R2+R1)+
>> (C2*R2*R7+C2*R2*R6+C2*R2*R4+C2*R2*R3+C2*R1*R7+C2*R1*R6+C2*R1*R3+C2
>> *R1*R2+C3*R2*R7+
>> C3*R2*R6+C3*R2*R3+C3*R1*R7+C3*R1*R6+C3*R1*R5+C3*R1*R3+C3*R1*R2)*
>> s)/(
>> ...
>
> NIE ausrechnen.     ;-)

Dafür gibt es ja Programme die aus einem Schaltplan oder einer Netzliste 
diese Formel berechnen - SAPWIN4, SCAM, .... SAPWIN4 ist kostenlos.

Für SCAM benötigt man Matlab mit der Symbolic-Toolbox. Das angeblich 
hochkompatible Octave hat bei meinem letzten Versuch mit SCAM kläglich 
versagt wegen seinem inkompatiblen "Symbolic-Solver". Seitdem bin ich 
vorsichtig mit der Behauptung Octave wäre super-kompatibel zu Matlab.

Alternativ stellt man nur das Gleichungssystem mittels 
Knotenpotentialanalyse auf und löst es rein numerisch. Genau das macht 
z. B. SPICE. Es stellt sogar die Gleichungen für einen auf aber man 
sieht sie nicht. Man zeichnet nur noch die Schaltung, drückt RUN und 
bekommt das Ergebnis. Um mittels SPICE R1 zu berechnen, muss man noch 
einen Optimizer bemühen. In manchen SPICE-Programmen ist der schon 
eingebaut. Bei LTspice muss man einen externen Optimizer nehmen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren