mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 2-dimensionale Näherungsfunktion?


Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Ich habe folgendes Problem: Ich muß relativ genau einen Absolutdruck 
messen (Gesamtfehler < 0,05% FSO) und das ganze noch in einem relativ 
weiten Temperaturbereich (realistisch etwa -20°C bis +50°C).

Die üblichen piezoresistiven Drucksensoren, egal ob preiswerte Consumer- 
oder hochwertige Industriesensoren im Edelstahlgehäuse, sind viel zu 
schlecht. Alle kommerziellen Lösungen beruhen darauf, einen schlechten 
Sensor genau zu vermessen und anschließend die bekannten Fehler zu 
kompensieren. Diese Lösungen sind für mich aber entweder zu groß oder 
viel zu teuer (Preise im mittleren vierstelligen Eurobereich pro Stück).

Deshalb möchte ich nun diesen Ansatz selbst verfolgen - mit einem 
preiswerten Sensor, der entsprechend kompensiert wird, gute Daten 
erreichen. Hardwareseitig ist das auch alle kein Problem. Der gewählte 
Sensor hat ausgezeichnete Eigenschaften in bezug auf nicht 
kompensierbare Fehler (Hysterese!) und besitzt sogar einen PTC "on 
chip", mit dem die Temperatur direkt an der Meßbrücke bestimmt werden 
kann. Ich habe ein Testboard mit einem Zweikanal-A/D-Wandler und die 
"rohen" (d.h. unkompensierten) Werte für Druck und Temperatur können 
digital ausgelesen werden.

Nun gehe ich in den Klimaschrank und schließe einen sehr genauen 
Referenzdruckgeber an mein Testboard an. Nun kann ich den gewünschten 
Temperaturbereich schrittweise alle paar Grad durchfahren und für jeden 
dieser Schritte den kompletten Druckbereich.

Daraus entsteht dann eine zweidimensionales Array mit den 
Korrekturwerten. Im Prinzip also eine Funktion:

echter_Druck = Funktion(gemessene Temperatur, gemessener Druck, 
Kompensationsarray).

Nun endlich zum eigentlichen Problem: Wenn ich einen kleinen µC habe mit 
nicht sehr viel Speicher und Rechenpower, wie kann ich diese 
Korrekturfunktion am besten implementieren? Im Prinzip bräuchte ich eine 
zweidimensionale Näherungsfunktion. Gibt es so etwas? Wie baut man sich 
so ein Polynom zusammen?

Versteht mich nicht falsch, ich möchte nicht, daß jemand meine Arbeit 
übernimmt, ich wäre schon für Literaturtips, den entsprechenden 
mathematischen Fachbegriff oder für den einen oder anderen kleinen Tip 
dankbar!

Grüße, der Gerhard.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Excel kann das.
Daten eintragen, Funktion bestimmen lassen.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du koenntest die Tabelle im Controller speichern und z.B. bilinear 
interpolieren.

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.