-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: HowTo: Messwerttabelle in Formel umrechen

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.10.2006
    Ort
    Wien
    Beiträge
    389

    HowTo: Messwerttabelle in Formel umrechen

    Anzeige

    Hallo Robotergemeinde!

    Sensoren liefern oft keine lineare Ausgangsgröße, die direkt propertional zur gemessenen Größe ist, wie beispielsweise die Distanzsensoren von Sharp.

    Daher ist es in den meisten Fällen notwendig, eine Messwerttabelle zu verwenden, um beispielsweise eine Ausgangsspannung in eine Distanz umzurechnen.

    D.h. es werden einige Messwerte experimentell erhoben:


    Entweder definiert man diese Werte als Array, oder noch schöner: man entwickelt eine Formel, am Besten mit Hilfe von Excel (Trendlinienfunktion).

    Dazu erzeugt man zuerst eine Graphik:


    Dann fügt man über das Menü "Diagramm\Trendlinien hinzufügen" eine geeignete Trendlinien hinzu. Bin kein Mathematiker, also das einfachste ist einfach ein paar Trendlinien ausprobieren, die am Besten in die Kurve reinpassen:


    Um die Formel zu ermitteln, muss man im Reiter die Option "Gleichung in Diagram anzeigen" auswählen:


    Volia:


    Damit kann ich die Fomel einfach im Programm verwenden.

    In meinen Fall ist das zb:

    Code:
    Wenn Spannung zwischen 3,1 und 1,05 V dann
    y = 0,0119x2 - 0,0166x + 1,1007
    Wenn die Werte nicht hinkommen, kann man mit den Konstanten spielen oder nur für Teilbereiche eigene Formeln entwicklen, je nach dem wie genau man die Werte braucht.

    Aber hier ging es ja fürs erste nur ums Prinzip!

    LG
    Georg!

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    17.04.2006
    Beiträge
    2.193
    Schöner Tipp für alle, die noch wissen wollen, was sie tun, aber sich dann doch nicht mit oolynomialer Interpolation befassen wollen. Für mein aktuelles Projekt bliebe die Frage: wie bekomme ich Excel in einen ATmega64

  3. #3
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.372
    Es geht bei der EXCEL Operation wohl nur um die Bestimmung der Koeffizienten der Näherungsformel die dann lokal ausgerechnet werden soll.
    Es wird dann auch nicht jede Näherungsformel einfacher auszuwerten sein sein als die Interpolation einer Tabelle.
    Manfred

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Gibts da auch sowas schönes für Matlab?

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.10.2006
    Ort
    Wien
    Beiträge
    389
    Hallo shaun,

    ich nehme an, du meintest das als Scherz:

    Zitat Zitat von shaun
    Schöner Tipp für alle, die noch wissen wollen, was sie tun, aber sich dann doch nicht mit oolynomialer Interpolation befassen wollen. Für mein aktuelles Projekt bliebe die Frage: wie bekomme ich Excel in einen ATmega64
    In dem du die Formel, die Excel generiert per Drag and Drop in die Entwicklungsumgebung deines ATmega64 kopierst.

    Aber ein Excel-Addin für nen ATmega64 wäre doch was als Projekt

    @Manf: Hast du eine Formelsammlung für die Interpolation, oder legst du einfach eine Gerade zwischen zwei Messpunkte durch?
    Ob Interpolation oder Näherungsformel hängt natürlich vom Einzelfall. Es gibt immer mehrere Wege zum Ziel...

    Sonst könnte man diese Methode plus Interpolation ins RN-Wissen aufnehmen, wenn es das noch nicht gibt...

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    17.04.2006
    Beiträge
    2.193
    Der Smiley sollte sowas in der Art wie einen Scherz suggerieren, ja.
    Nur hilft mir Dein Vorschlag auch nicht: es geht um 4-5 Strecken (passive wie aktive Bauteile dazwischen), die im f-Bereich von 10kHz bis 100MHz in Betrag und Phase linearisiert werden müssen, und zwar nicht unter Zuhilfenahme externer Rechner, sondern durch gezielte Messungen mit geeichtem Equipment und Übergabe der gemessenen Werte an die Firmware. Das Interpolationspolynom muss der ATmega daraus selbst berechnen.

  7. #7
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.990
    Blog-Einträge
    1
    Zitat Zitat von Sheridan
    Aber ein Excel-Addin für nen ATmega64 wäre doch was als Projekt

    Sonst könnte man diese Methode plus Interpolation ins RN-Wissen aufnehmen, wenn es das noch nicht gibt...
    Gute Anregung, sowas solltet ihr ruhig mal näher aufgreifen und in einem RN-Wissen Artikel verarbeiten. Denkbar wäre auch ein Tool das aus Messwerten nicht nur Formel sondern auch gleich Bascom Code oder/und C-Code erzeugt. Vielleicht hat ja mal jemand etwas Lust und Zeit sowas anzugehen, erspart sicherlich später so einiges an Arbeitszeit.

    Gruß Frank

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    16.12.2005
    Ort
    Oberschwaben
    Beiträge
    82
    Zitat Zitat von Jaecko
    Gibts da auch sowas schönes für Matlab?
    Wenn Du die Punkte zeichnen läßt, gibt es im Figure-Window unter Tools den Menüpunkt "Basic Fitting".

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    16.12.2005
    Ort
    Oberschwaben
    Beiträge
    82
    Zitat Zitat von Sheridan
    Denkbar wäre auch ein Tool das aus Messwerten nicht nur Formel sondern auch gleich Bascom Code oder/und C-Code erzeugt.
    Braucht man wirklich ein Programm, um aus

    y = 0,0119x² - 0,0166x + 1,1007

    die Programmzeile

    y = 0.0119*x*x - 0.0166*x + 1.1007;

    zu machen? (Bzw. aufgesplittet für Bascom)

    Markus

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    @Markus4004
    @Sheridan

    Braucht man wirklich ein Programm, um aus
    y = 0,0119x² - 0,0166x + 1,1007
    die Programmzeile
    y = 0.0119*x*x - 0.0166*x + 1.1007;
    Wenn Du von einem Wasserstand ausgehend versuchst, die zugehörige Spannung auszurechnen wohl kaum. Das bringt Dir aber leider nicht viel... Du brauchst nämlich die Umkehrfunktion!!! Und dazu musst Du dann wohl doch Papier und Bleistift bewegen, bzw. Matlab fragen. Zumindest, wenn Du diese Funktion benutzen willst.
    Die UF ist übrigens nicht mehr so spaßig, wenn man halbwegs genaue Werte haben will und der µC auch noch was anderes machen soll, als Wurzelziehen...
    Das ist übrigens der Grund, warum man sich dann meistens doch für einen LookUpTable entscheidet, jedenfalls auf 8Bit Ebene.
    Gruß Gock

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •