www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sensor-Kalibrierung


Autor: Andi C. (spex)
Datum:

Bewertung
0 lesenswert
nicht 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ß

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andi C. (spex)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Varianten gibt es denn bzw. kennt ihr irgendwelche Seiten in 
diesem Bereich?

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andi C. (spex)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andi C. (spex)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab noch eine Verständnisfrage zur Kalibrierung:

Senorspg.----->Messverstärker----->µC

Bezieht sich das Kalibrieren auf die Sensorspg. zum Ausgang des µC oder 
des Eingang des µC?

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Martin S. (mast4)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: High Performer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: High Performer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als Anmerkung 5kg ist kein Gewicht sondern eine Masse.

Autor: Martin S. (mast4)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke High Performer aber ich bin mit dem ganzen Bereich nicht so 
vertraut,  kannst du ein kleines Bsp einer einfachen linearen Regression 
reinbringen?

Autor: High Performer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: High Performer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, zur Theorie der Regression siehe Wikipedia oder ein Mathebuch 
Deiner Wahl.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.