TIA Nicht linearischer Stellwert berechnen

R.K.

Level-1
Beiträge
40
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe ein kleines Problem damit, einen Stellwert zu ermitteln für eine Magnetkupplung.

Zum Aufbau der Anlage:
Es geht um 2 Antriebe, mit denen etwas aufgewickelt wird. Zwischen den Antrieben und dem Wickelrad, ist eine Magnetkupplung, der man mit 0..10V einen Sollwert vorgeben kann.

Der Stellwert soll sich zwischen irgendwo 90cN und 500cN abhängig davon, was / wie gewickelt wird einstellen.
Ich habe mit einer Waage die ist Zugskraft ermittelt, abhängig davon wie start die Magnetkupplung eingestellt ist.

Mein Problem ist, dass die Werte nicht Linear sind, sondern um so höher der Sollwert der Magnetkupplung, umso höher die Schrittweite. ( von 10% auf 11% + 20cN und von 20% auf 21% + 45cN)

Ich hoffe ich konnte verständlich beschreiben was ich meine.


Ich brauche jetzt also eine Formel / Möglichkeit, den wert nicht linear zu skalieren, aber wenn ich nach meinem Problem Googele, kommen einfach nur ne Menge Mathe Hausaufgaben, die mir leider nicht das erklären was ich suche.

Schon mal Danke im voraus.
 
Hi,
ggf. hilft dir Excel weiter:
Du ermittelst die wichtigsten Punkte durch deine Messung und trägst diese dann in einer x/y Tabelle ein und läßt dir von Excel die Funktion ableiten.
y=m*x+b

Mit dieser kannst du dann arbeiten.

HtH
Shrimps
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kannst du eine Textdatei posten, in der die Messwerte drinnen liegen? Oder die Messwerte direkt hier posten?
Dann lässt sich da schnell was basteln.

Ideal wäre z.B. bei einer Siemens-Karte:
0 50cN
3000 100 cN
6000 155 cN
9000 220 cN
...
bis 27648
 
Zuletzt bearbeitet:
Ich brauche jetzt also eine Formel / Möglichkeit, den wert nicht linear zu skalieren, aber wenn ich nach meinem Problem Googele, kommen einfach nur ne Menge Mathe Hausaufgaben, die mir leider nicht das erklären was ich suche.
Das was du tun willst nennt man übrigens 'Curve Fitting' und geht mit numerischen Werkzeugen wie Matlab recht schnell - wenn man damit umgehen kann und etwas Erfahrung hat. Die oben angegebene lineare Funktion nach dem Schema y = k*x+d hilft hier sicher nicht, sondern man wird einen Polynom- oder Spline-Ansatz brauchen - wie schon oben gepostet: bitte brauchbare Messdaten posten - wenn die Kennlinie einigermaßen gutmütig ist, dann kann ich dir das kurz machen.

lg
 
Hi,

die Messwerte sind Folgendermasen

% des Stelwertes Zugkraft in cN
00
10
20
30
40
50
60
70
80
950
1070
1190
12125
13145
14180
15220
16250
17290
18325
19365
20405
21445
22490


Gewisse Messunreinheiten sind vorhanden. Ich gehe davon aus, dass ab 6% der Wert anfängt zu steigen aber die Waage noch nicht ausschlägt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, mal anbei die geplottete Kennlinie. D.h. im Umkehrschluss, dass du davon ausgehst, dass bei 5% noch gar nichts geht?
Magnetbremse-KL.png
Aus dem Bauch heraus sieht das ähnlich wie eine quadratische KL aus, ich werd mal ein wenig damit herumbasteln
 
vielen dank für die Hilfe.

Ja ich gehe davon aus, das 5% gebraucht werden, damit die Magnetkupplung überhaupt reagiert, oder die Mechanik überhaupt überwunden wird.
 
Ok, im angehängten Bild bin ich davon ausgegangen, dass bei 5% die Kraft 0 ist, die Messwerte 6, 7 und 8% habe ich ausgeschieden.
Magnetbremse-KL-Poly2a.png
Entspricht das deinen Vorstellungen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, zu obiger Kurve folgendes:
Das ist ein Polynom 2. Grades gemäß der Formel
y = a0 + a1*x + a2*x^2

Du brauchst die Umkehrung, die sieht etwas komplizierter aus:
x = -a1/(2*a2) + sqrt(a1^2/(4*a2^2) + (a0-y)/a2)

Einfacher (und rechenzeitschonender) ist die pq-Form:
p = a1/(2*a2)
q = (a0-y)/a2
x = -p + sqrt(p^2 - q)

Die Zahlenwerte:
a0 = -35.771374774008040
a1 = 0.212698756148384
a2 = 1.08942242747378

p lässt sich also statisch ausrechnen
p = 84.089289993433240

Der SCL-Code ergibt also:

Code:
p = 84.089289993433240;
q = (-35.771374774008040 - y)/1.08942242747378;
x = -p + sqrt(p*p - q);
y ist der Eingang, x der Ausgang, p und q sind Temp (p kann auch als Const definiert werden)
alle Variablen vom Typ REAL oder LREAL

lg
 
Hi, Erka!
Wenn Du keine Formeln magst, geht es auch ohne Formeln.
1. Du suchst den Wert in der einen Spalte, ggfs den nächst kleineren und den nächst größeren, und liest in der anderen anderen Spalte den/die entsprechenden Messwert(e). Findest Du den gesuchten Wert, gibt's nichts zu rechnen. Ansonsten tust Du so, als sei eine lineare Interpolation zwischen dem nächst kleineren und dem nächstgrößeren Wert genau genug ;o)
2. Die linke Spalte in Deiner Tabelle sieht sowas von linear aus ... da brauchst Du nichtmal zu suchen. Nimm den Wert einfach als Index beim Zugriff auf die rechte Spalte! (Nötigenfalls normieren, will sagen, wenn Du z.B. für 0, 5, 10, 15, 20, ... Werte gemessen hast, teil die Zahl durch 5, runde sie auf ganze Zahl und verwende sie dann als Index).
Wenn das nicht genau genug ist, musst Du doch MatheHausaufgaben machen - aber dabei wird Dir ja offensichtlich schon geholfen ...
In welcher Sprache willst Du das Problem knacken?
Gruss, Heinileini
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi, Erka!
Wenn Du keine Formeln magst, geht es auch ohne Formeln.
1. Du suchst den Wert in der einen Spalte, ggfs den nächst kleineren und den nächst größeren, und liest in der anderen anderen Spalte den/die entsprechenden Messwert(e). Findest Du den gesuchten Wert, gibt's nichts zu rechnen. Ansonsten tust Du so, als sei eine lineare Interpolation zwischen dem nächst kleineren und dem nächstgrößeren Wert genau genug ;o)
2. Die linke Spalte in Deiner Tabelle sieht sowas von linear aus ... da brauchst Du nichtmal zu suchen. Nimm den Wert einfach als Index beim Zugriff auf die rechte Spalte! (Nötigenfalls normieren, will sagen, wenn Du z.B. für 0, 5, 10, 15, 20, ... Werte gemessen hast, teil die Zahl durch 5, runde sie auf ganze Zahl und verwende sie dann als Index).
Wenn das nicht genau genug ist, musst Du doch MatheHausaufgaben machen - aber dabei wird Dir ja offensichtlich schon geholfen ...
In welcher Sprache willst Du das Problem knacken?
Gruss, Heinileini
Vorteil deiner Variante:
- Die Messwerte lassen sich schnell von Hand anpassen ohne Faktoren zu aktualisieren
- man muss keine Wurzel ziehen
Nachteil:
- etwas mehr Code (mit Poly sind 2 Zeilen) und das Hinterlegen der Daten als Tabelle.

lg
 
Vielen Dank für Eure Beiden Antworten.

Die Polynom Formel von maxder2te git genau den Wert zurück, den ich erwarte zu haben!
So lange es keine Änderungen an der gewünschten Zugkraft gibt, werde ich das so bei behalten.

Für den Fall, das sich jemand doch noch was anderes ausdenkt, werde ich auf die Variante von
Heinileini umstellen da es einfach und Schnell an zu Passen ist.

Vielen Dank!

 
Zuletzt bearbeitet:
Zurück
Oben