Forum: Mikrocontroller und Digitale Elektronik Ausgleichsfunktion für nichtlineare Kurve


von Andre W. (andy4wpt)


Lesenswert?

Guten Abend zusammen,

ich bin auf der Suche nach einer Funktion (sowas wie Polynom oder 
lineare Regression) um ein Messignal eines Strom/Spannungswandlers 
auswerten zu können.

Leider bewege ich mich auch im nicht linearen Bereichen dieses 
Bausteines (BTS555).

Ich habe schon eine Messertaufnahme (x,y) programmiert. Diese soll nach 
dem einstllen von mehrer Stromwerte die Messwerte speichern.

Leider komme ich am Punkt wo es um die Berechnung der Funktion geht 
nicht weiter.

Ich würde mich über Idee oder Beispielcode sehr freuen.

Liebe Grüße
André

von Karl H. (kbuchegg)


Lesenswert?

Wie sieht deine Kurve aus?

von avr (Gast)


Lesenswert?

Hallo Andre,

hier kannst du deine Werte (x,y) mit Copy/Past einfügen,
die Therme deiner "Wunschfunktion" wählen und das
Ergebnis als Formel und Grafik betrachten.

http://www.arndt-bruenner.de/mathe/scripts/regr.htm

Und wenn du weiter nach unten siehst hast du auch die
Erklärung was gerechnet wird.

avr

von Reinhard Kern (Gast)


Angehängte Dateien:

Lesenswert?

Andre Wojciech schrieb:
> Leider komme ich am Punkt wo es um die Berechnung der Funktion geht
> nicht weiter.

Hallo,

das ist nichts für Handbetrieb, ich verwende dafür MathCad, es geht aber 
auch mit jedem anderen Mathe-Paket, Beispielausdruck anbei. Ich habe für 
einen Pt100 ein Polynom dritten Grades gewünscht, x,y,z sind die 
gesuchten Koeffizienten.

Gruss Reinhard

von Udo S (Gast)


Lesenswert?

Wenn Du die Werte in einem Rechner auswerten musst ist es oft 
vorteilhafter eine Mapping-Tabelle anzulegen. Zwischenwerte kann man 
dann linearisieren. Hat den Vorteil das man die Mappingtabelle ggf. auf 
einen bestimmtes Exemplar bzw. auf den ganzen Übertagungsweg kalibrieren 
kann.
Ist einfacher, schneller und oft sogar genauer als eine komplexe 
Berechnung einer Übertragungsfunktion.

Udo

von avr (Gast)


Lesenswert?

@Reinhard Kern

hab deine Werte mal in meinem Link getestet:

1
0,001114
2
2,330245
3
-244,150677
4
________________________
5
6
 f(x) = 0,001114 * x^2 + 2,330245 * x - 244,150677 
7
________________________
8
9
 S = 0,03237553266789185
10
________________________
11
12
f(100) = 0,013813
13
f(138,5) = 99,957252
14
f(175,84) = 200,044098
15
f(212,02) = 299,984837


Past

avr

von Vlad T. (vlad_tepesch)


Lesenswert?

avr schrieb:
> Hallo Andre,
>
> hier kannst du deine Werte (x,y) mit Copy/Past einfügen,
> die Therme deiner "Wunschfunktion" wählen und das
> Ergebnis als Formel und Grafik betrachten.
>
> http://www.arndt-bruenner.de/mathe/scripts/regr.htm
>
> Und wenn du weiter nach unten siehst hast du auch die
> Erklärung was gerechnet wird.
>
> avr

wenn da jetzt noch ne Fix-Pointskalierung ausgewählt werden könnte und 
direkt avr-code rausfallen würde, wärs perfekt
;)

ne aber netter link, danke

von Andre W. (andy4wpt)


Lesenswert?

Schönene Dank Für eure Hilfe...

Ich währe eher an Quellcode für ein Polynom 3 - 5 Grades interessiert. 
Ich habe die Sache zwar schon fast fertig ein wenig Hilfe kann jedoch 
nicht schade. Wenn ich zu erst fertig sein sollte, stelle ich den Code 
natürlich ein.


Lg
André

von Andre W. (andy4wpt)


Angehängte Dateien:

Lesenswert?

Guten Morgen,

Ich habe leider nicht die Möglichkeit ein LookUp Tabel zu nutzen. Die
Bausteine sind von Teil zu teil so unterschiedlich, das geht auf jeden
Fall schief!

Das gemeine ist einfach der Bereich zwischen 0 und 30 A. Leider liege
ich genau dort. Siehe Diagramm.

Lg
André

von Anja (Gast)


Lesenswert?

Hallo,

hoffentlich ist das ganze nicht auch noch Temperaturabhängig.
Das Datenblatt gibt die Kurve nur bei 25 Grad an.
Gibt es aus der Baureihe auch eine Endstufe bis 30A?
Dann wärst Du größere Strecken im "linearen" Bereich.

Und: Wenn der BTS alleine den Strom begrenzt müßtest Du ja die 
Leitungsquerschnitte auf die 500A Abschaltstrom dimensionieren.

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.