www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SHT11 Sensor - Luftfeuchtigkeit umrechnen


Autor: Robert S. (razer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle

Ic schreibe gerade eie Lib für den SHT11 Luftdruck und Temperatursensor.
Nur wie bekome ich den den gemessenen Luftdruckwert in einen 
Prozentwert?

Dazu gibtes Formeln aus dem Datenblatt:

c1 = -4
c2 = 0.0405
c3 = -2,8 * 10^-6

Um das Signal Temperaturkompensiert zu machen gibt es diese Formel.

t1 = 0.01
t2 = 0.00008

Die beiden Formel sind a recht komplex. Durch die Einbindung der float 
lib, wird das ganze recht rechenintensiv (ich verwende einen AVR!) und 
Speicherintensiv.

Wäre es möglich, das ganze in Integer zu rechnen, damit ich einen Ineger 
für die Ganzzahl und einen Integer für das Komma bekomme?

Danke im Voraus
Gruß Robert

Autor: nop(); (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, man kann immer mit Integer rechnen. Dabei muss man die Rechnung auf 
Integer abbilden. Mit longint kann man 9 dekaden abbilden.

Autor: Robert S. (razer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wie mache ich das genau?

Bei beiden Rechnungen kommt als Ergebnis ein float mit 2 
Nachkommastellen heraus. Wenn ich das Ganze mit 100 multipliziere, komme 
ich auf das erwünschte Ergebnis.

Wenn ich die Einzelfaktoren mit 100 multiplziere, hab ich aber noch 
immer floats drinne. Wie kann ich denn das umgehen?

Autor: nop(); (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die floats raus und die integer so skalieren (behalte /10000, oder so) 
dass der Bereich bei jeder Operation hinkommt.

Autor: Robert S. (razer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meinst du das so?
  hum = (uint16_t) (-40000000 + 405000 * hum->_int - 28 * (uint32_t) hum->_int * hum->_int) / 100000;

Autor: nop(); (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das koennte hinkommen, ohne jetzt ins detail gegangen zu sein.

Autor: Robert S. (razer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok Prinzip verstanden :)

Autor: Robert S. (razer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Rechnung ist ja immer noch sehr aufwändig. Kann man das für einen 
Avr noch vereinfachen?

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.