www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sensorsignal integrieren - Problem Temperaturdrift


Autor: Goran B. (goaran)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe ein Signal eines Sensors welches ich integrieren will.
Dazu habe ich folgenden Pseudocode:
Signal = Messung_ADC;                // Spannung am ADC messen
Istwert_Sig=Signal-Signal_null;      // Signal_null ist der Initialisierungswert
Integral=Integral+Istwert_Sig;       // Aufaddieren
if(Integral>1000) Integral = 1000;   // Beschränkung gegen überlauf
if(Integral<-1000) Integral = -1000;

allerdings hat der Sensor einen Temperaturdrift, sodass der 
Initialisierungswert nach einer Weile nicht mehr an der richtigen Stelle 
liegt. Dadurch läuft das Signal dann immer gegen +-1000

Hat dazu jemand eine Idee wie ich dieses weglaufen des Integrals 
verhindern kann bzw den drift rausrechnen?

Danke schon mal..

Autor: Mathe6 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja,

die eigenschaft eines Integrators ist doch die Fläche unter der Kurve zu 
berechnen.

Bei gleichbleibender Messgrösse muss dieser Wert immer weiter wachsen...


Was genau willst Du machen ?

Autor: hmm. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gegen solche dinge nimmt man ueblicherweise einen lock-in Amplifier. Da 
fliegen drifen raus.

Autor: Mathe6 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst quasi die x-Achse abziehen, damit Du pos. und negative Werte 
als Abweichung bekommst ???

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der ADC wert vorzeichenbehaftet ist, (wie man aus der -1000er 
begrenzung schon erahnen kann) kann das durchaus sinn machen.

je nach dem mit welcher Frequenz deine Daten ankommen, kannst du auch 
einfach einen Hochpass einsetzten (hard oder software ist hier eigentich 
wurscht), der dir DC und Drift eleminiert.

Autor: Maxxie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, er berechnet auch kein Integral (Quadratur)
Wäre auch nicht wirklich sinnvoll. Das gibt, wenn schon das Problem mit 
dem Drift entsteht, einen riesigen numerischen Fehler. Selbst mit den 
höhergradigen Newton-Cotes-Formeln sehr schnell aus deinem Messbereich 
heraus.

Was kann man denn mit diesem Wert anfangen? Lang- bis kurzfristige 
Durchschnittswerte, da kann ich mir mehr vorstellen. Und da kannst du 
den Fehler durch den Drift auch recht einfach reduzieren.

Autor: Goran B. (goaran)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, erst mal danke für die Antworten.
@Mathe6 X-Achse abziehen wie ist das zu verstehen??
@Hauke.. die Frequenz kann unter umständen auch sehr niedirg sein <1Hz, 
das ist für einen PID Regler.. wenn ich da nen Softwarehochpass mache 
muss der schon sehr "tief" sein. Da brauche ich dann ja relative grosse 
werte? Oder was gibt es da für sinnvolle Algorithmen?
@ Maxxie bei Langfristigen durchschnittswerten brauche ich sehr viele 
Daten das ist dann ein starker rechenaufwand und geht auf die 
geschwindigkeit ansosnten sollte das viellecht gehen?

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.