Sensor-Kalibrierung

OP #1670493
Lesenswert?

Hallo,

ich habe  zu einem Kraftsensor einen Messverstärker gebaut den ich nun 
kalibrieren will. Als erstes wollte ich einem Signal einen Wert zuweisen 
z.B. 3,6V = 5kg.

Als nächstes wollte ich diese Werte in das Eeprom schreiben. Nun will 
ich das aufgenommene Signal mit einer Switch-Case Abfage einem 
definierten Bereich zuordnen um dann den Messfehler abzuziehen.

Meine Frage ist: Hab ich das mit dem Kalibieren überhaupt richtig 
verstanden, gibt es eine bessere Methode als die Switch-Case Abfrage 
z.B. eine Formel und wird das Programm zu langsam wenn ich andauernt 
Werte aus dem Eeprom abfrage?


Gruß
Gast #1670527
Lesenswert?

Andi C. schrieb:
> z.B. 3,6V = 5kg

Als Anmerkung  5kg ist keine Kraft sondern ein Gewicht.
=> wohl eine Wägezelle ;)

Der Ansatz mit den Werten ist schonmal ein erster Schritt.

Mach mal eine Tabelle und Grafik mit Gewichten und den Messwerten.
Die Messwerte am besten so, wie sie im µC ankommen also
z.B. 10 Bit (0-1023) (Volt ist es nicht).

Dann kann man aus dem Verlauf und der benötigten
Genauigkeit eine Variante wählen.

avr
Gast #1670547
Lesenswert?

Das Thema wurde hier schon oft (meist bei Temperaturmessung)
durchgekaut.

Es gibt deine Tabelle, Näherungsfunktionen, Interpolationen
etc..

Oft gibt es für die Sensoren vom Hersteller auch Formeln.

Dann ist noch die Umsetzung. Der PC hat es leich ein e^(2*t/f)
zu rechnen, der µC braucht da viel Zeit und Platz oder
eine gute Optimierung.

Wichtig ist auch die Genauigkeit, lohnt der Aufwand?

Also Kurve + Angaben, dann kann man besser helfen.

avr
OP #1678892
Lesenswert?

Hi, ich kamm leider nicht früher zu den Messungen:

Prüflast in kg --- Sensorspg. --- Messwert/µC
       0            0,04mV            19,05
       1            2,07mV            62,05
       2            4.18mV            105,06
       3            6,12mV            146,02
       5            10,75mV           240.23
       6            12,89mV           283,24
       7            14,96mV           326,25
       8            17,13mV           371,3
      10            21,11mV           453,2


Der Verstärkungsfaktor beträgt 100
#1678976
Lesenswert?

Du stellt uns Fragen zu deiner Messung... also eine Kalibrierung 
bedeutet man passt die Werte der Messung den Werten des Sensors an. Der 
Sensor schein hinreichend linear zu sein. Der ADC nicht mehr. Ein Graph, 
der die Sensorspannung mit den ADC werten vergleicht waer noch was. Ich 
nehm mal an der Verstaerker ist nicht geeignet, und kann nicht auf null 
runter ausgeben.
Das mit Software ausbuegeln zu wollen macht wenig sinn. Da muss ein 
anderer Verstaerker her. Oder ist es nur ein Offset ?
#1679139
Lesenswert?

Moin, hab zu dem Thema auch mal eine Frage und zwar wie die oben 
beschriebenen Methoden(Tabelle, Näherungsfunktionen, Interpolationen) 
aus sehen könnten beziehungsweise wo man Informationen dazu 
findet(Sensorhersteller sagt nichts und google hilft auch nicht weiter).
Die andere Frage ist wie eine Tabelle dann in das Eeprom abgelegt wird 
beziehungsweise aufgerufen wird.
Gast #1679151
Lesenswert?

Die Anforderungen an die Umrechnung der Werte sind abhängig vom 
Einsatzbereich völlig unterschiedlich. Bei einfacheren Anforderungen, 
und wenn das System halbwegs linear ist, prüfe ich grundsätzlich zuerst, 
ob ich mit einer einfachen linearen Regression ausreichend genau bin. 
Das trifft in meinem Bereich meistens zu. Je nach Anforderung kann man 
die Regression noch verfeinern.
Gast #1679156
Lesenswert?

>Die andere Frage ist wie eine Tabelle dann in das Eeprom abgelegt wird
>beziehungsweise aufgerufen wird.

das hängt von der benötigten Genauigkeit ab. Hast Du ein Intervall z.B. 
von 0 bis 1000 (A/D-Eingangswert), dann kannst Du je nach geforderter 
Genauigkeit z.B. für alle 1, 10, 100 oder 1000 Steps ein Arrayelement 
definieren. Somit kannst Du direkt über den Eingangswert die beiden 
Indizes berechnen, zwischen denen der Eingangswert liegt. Mit den zwei 
Indizes und den entsprechenden Tabelleeinträgen interpoliert man dann 
noch zwischen den beiden Werten und dem Eingangswert.
Gast #1679340
Lesenswert?

Hallo,

Ziel der linearen Regression ist es vereinfacht gesagt, durch eine 
gegebene Anzahl von Punkten eine Gerade so zu legen, dass der Fehler 
zwischen Punkten und Gerade möglichst klein wird. Das können eigentlich 
alle Matheprogramme und Office-Pakete.

Ich habe Deine Messwerte mal schnell in die Tabellenkalkulation von 
OpenOffice mal eingegeben und erhalte für die Regressionsgerade eine 
Steigung von 43,85 und einen Achsenabschnitt von 18,32.

Damit lautet die Formel zur Ermittlung der Masse in kg aus dem 
Eingangswert
des A/D-Wandlers:

Masse = (Eingangswert - 18,32) / 43,85

Ob das Deinen Genauigkeitsansprüchen genügt, musst Du selbst 
entscheiden.

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