Forum: Analoge Elektronik und Schaltungstechnik Hysteresenmesung / Berechnung schlägt fehl


von Hytserie (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin dabei über den Aufbau aus Abbildung 4 die magnetische Hysterese 
eines Ringtrafos zu bestimmen.

Gemessen wird der Strom auf der Primärseite sowie die Spannung auf der 
sekundärseite Seite

Ich möchte H (mag. Feldstärke) über B (mag.Flussdichte) plotten.

H sollte sich über die Formel in Abbildung 2 berechnen lassen.
B sollte sich über die Formel in Abbildung 3 berechnen lassen.

Meine Messwerte sind in 7.1.csv abgelegt ( t,I(t),U(t) ).

Über Matlab führe ich die Berechnung aus den Abbildungen 2 und 3 durch 
und lasse das Ganze plotten. Mein Problem ist nun, dass die Hysterese 
"wandert" und ich mir nicht so recht erklären kann worduch dieder Fehler 
zustande kommt (s. Abbildung 1). Könnt ihr mir da vielleicht 
weiterhelfen?

VG.
Thorsten

von Stef (Gast)


Lesenswert?

Hallo,

ich nehme an dass deine Abtastintervalle nicht exakt synchron zu den 
50Hz erfolgen. Dementsprechend müsste die "Wanderung" nach ... Perioden 
wieder von vorne beginnen bzw. mit der "Frequenzdifferenz" hin und her 
"wandern".

Gruss

von Helmut S. (helmuts)


Lesenswert?

Dein U hat einen Offset.
Mit +0,7 sieht die Hysterese-Kurve gut aus. Füge mal noch diese Zeile 
nach dem einlesen der Daten ein. Deshalb wandern die integrierten Werte 
weg.

U=U+0.7;


Die Anzahl der Werte in deinem Skript stimmt nicht mit der Länge deiner 
csv-Datei überein.
ende = 86660;

: Bearbeitet durch User
von Hytserie (Gast)


Lesenswert?

Tatsache!

Vielen,vielen Dank Helmut! Wie bist du aber auf 0,7 gekommen?

von Helmut S. (helmuts)


Lesenswert?

Hytserie schrieb:
> Tatsache!
>
> Vielen,vielen Dank Helmut! Wie bist du aber auf 0,7 gekommen?

Leider war es nicht genau der Mittelewert mean(U). Deshalb habe ich 
einfach ein paar Werte probiert bis die Kurve plot(flux) keinen Anstieg 
mehr hatte.

von Hytserie (Gast)


Lesenswert?

Hm hast du eine Idee wie ich über Matlab den Offset automatisch 
bestimmen und korrigieren kann?

von Helmut S. (helmuts)


Lesenswert?

Hytserie schrieb:
> Hm hast du eine Idee wie ich über Matlab den Offset automatisch
> bestimmen und korrigieren kann?

Vielleicht liegt das Problem an der geringen Auflösung und Genauigkeit 
der Spannungsmessung (3. Spalte).

0.050858564,-47.664,-102
0.050860872,-47.85,-102
0.050863181,-48.037,-101
0.050865489,-48.411,-101
0.050867797,-48.785,-100
0.050870106,-48.785,-99
0.050872414,-48.785,-98

von Hytserie (Gast)


Angehängte Dateien:

Lesenswert?

Hm ich glaube eher unwahrscheinlich. In der oben hochgeladenen Messung 
hatte ich vergessen die Skallierung zu aktivieren. -102 sind keine V 
sonder mV. Habe mal die korrekt skallierte Messdatei angehängt und auch 
gleich mal plotten lassen.

von Lurchi (Gast)


Lesenswert?

Der Mittelwert der Spannung wäre schon mal ein erster Ansatz die Drift 
zu korrigieren. Damit es besser passt sollte man den Mittelwert über 
ganze Perioden bilden.

von Hytserie (Gast)


Lesenswert?

* Es müsste eigentlich ausreichend genau sein. Selbst mit dem 
Messergebnissen gemessen mit einem PicoScope 4424 (12 Bit) habe ich das 
Problem.

von Hytserie (Gast)


Lesenswert?

Lurchi schrieb:
> Der Mittelwert der Spannung wäre schon mal ein erster Ansatz die
> Drift
> zu korrigieren. Damit es besser passt sollte man den Mittelwert über
> ganze Perioden bilden.

Ich habe noch andere Messreihen mit höherern Frequenzen aufgenommen. Da 
weicht der Offset noch deutlicher von dem Mittelwert zusammengefasster 
Perioden ab.

Ein Ansatz könnte doch sein, dass man die gemittelte Steigung der 
flux-Funktion berechnet und man darauf auf den benötigten Offset 
rückschließen kann. Mir fehlt da allerdings der mathematische Ansatz.

von Lurchi (Gast)


Lesenswert?

An sich sollte es mit dem Mittelwert hinkommen, unabhängig von der 
Qualität der Daten. Kleine Rundungsfehler könnten ggf. bei den Zeiten 
mit rein kommen.

Statt des Mittelwertes wäre das Integral geteilt durch die Zeit dann 
unabhängig von etwas ungleichen Zeiten.

von Helmut S. (helmuts)


Lesenswert?

Du kannst ja den Offsetabgleich in Matlab durch eine Suche des optimalen 
Offsets automatisieren.

dx=0;

for n...
U1=U+dx
flux=cumtrapz(t,U);
All Maximas von flux bestimmen und Summe der quadrierten Abweichnungen 
vom Mittelwert der Maximas bestimmen.
result_abw(n)= ...;
result_dx(n) = dx;
dx = dx+0.01
end

Jetzt aus den Ergebnissen result_abw() das nehmen das die kleinsten 
Abweichungen hat. Das dazugehörige dx ist der gesuchte Offset.

U1 = U+result_dx( );
flux=cumtrapz(t,U1);

von Hytserie (Gast)


Lesenswert?

Ich habe grad mla versucht eure beiden Antworten anchzuvollziehen. Aber 
so ganz will der Groschen nicht fallen. Habr ihr vielleicht ein 
konkretes Codebeispiel?

von Helmut S. (helmuts)


Lesenswert?

Hytserie schrieb:
> Ich habe grad mla versucht eure beiden Antworten anchzuvollziehen. Aber
> so ganz will der Groschen nicht fallen. Habr ihr vielleicht ein
> konkretes Codebeispiel?

Fest steht, dass man mit den Messdaten das Problem in den Griff bekommt, 
wenn man zu U eine Offsetspannung addiert. Wenn man dann das Integral 
flux plotted, dann sieht man, dass die Spitzen der verbeulten Sinuskurve 
wegdriften.
Strategie: Herausfinden mit welchem Offset die Spitzen des verbeulten 
Sinus gleich bleiben.
Der schwierigste Teil ist die Bestimmung der Spitzen der verbeulten 
flux-Sinuskurve.

: Bearbeitet durch User
von Dieter (Gast)


Lesenswert?

Die Kurve und die Drifft sind schon richtig und kein Messfehler.

Die Neukurve verursacht einen Offset, der mit Lmax exponential 
abklingend hochlaeuft ueber mehrere Perioden.

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
Noch kein Account? Hier anmelden.