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ß
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
Welche Varianten gibt es denn bzw. kennt ihr irgendwelche Seiten in diesem Bereich?
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
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
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?
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 ?
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.
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.
>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.
Danke High Performer aber ich bin mit dem ganzen Bereich nicht so vertraut, kannst du ein kleines Bsp einer einfachen linearen Regression reinbringen?
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.
Ach ja, zur Theorie der Regression siehe Wikipedia oder ein Mathebuch Deiner Wahl.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.