Hallo Zusammen, Bin gerade dabei den HP03 Sensor von Pollin anzusteuern. Das Auslesen der Parameter klappt, aber die Berechnung läuft schief... Habe die Rechenschritte aus dem Pollin-Datenblatt entnommen. Für den Luftdruck kommt nun bei mir 15220 raus und die Temperatur ist 0. Ich habe zu Testzwecken das ganze über den UART ausgegeben. Dort kopiere ich einfach die float Werte in ein int. Dies ist nur zu Testzwecken. Leider weis ich nicht mehr weiter woran die Fehlerhafte Berechnung liegen könnte... Vielen Dank für eure Hilfe. viele grüße Simon
Hallo nochmals, Habe nun weitergeforscht und folgendes rausgefunden: Das Problem liegt vermutlich hier:
1 | |
2 | |
3 | |
4 | |
Die ausgelesenen Parameter sind alle 255. lt. Datenblatt sind es 8 Bit Werte, In der Beispiel Rechnung sind sie zwischen 1 und 4.... Warum kommt hier immer 255 raus? die anderen Parameter werden doch auch korrekt ausgelesen?? Vielen Dank nochmals gruß Simon
Gast
#3311379
>Leider weis ich nicht mehr weiter woran die Fehlerhafte Berechnung >liegen könnte... Lies in deinem C-Buch noch mal das Kapitel Array und Indizes.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Buffer Overflows überall sag ich nur. param[4] gibts es nicht.
So, habe nun die ganzen Berechnungen überarbeitet und nebenbei noch einen Fehler im Pollin Datenblatt gefunden..... Allerdings habe ich nun ein weiteres Problem: jedes mal wenn ich die Werte auslese verringert sich der Wert D2!? Desweiteren stimmt die Berechnung der Temperatur nicht, Habe eben mit meinem Multimeter 19Grad gemessen und berechnet wurden 25??? Vielen Dank für die weitere Unterstüzung Viele Grüße
kleiner Nachtrag: D2 ist der Wert vom Datenblatt und heißt bei mir rtemp.
Gast
#3317511
Habs jetzt nicht komplett durchgeackert, aber bei meinem HP03S muss ich das Teil an einem Pin noch mit einem 32768Hz Takt füttern. Hast Du das gemacht?
Ja den Takt erzeuge ich auch aber in der main. Der ist bei mir immer eingeschaltet. Anbei der Code aber der Takt funktioniert.
1 | |
2 | |
3 | |
4 | |
5 | |
Grüße
Hallo zusammen, Leider komme ich immer noch nicht weiter.... Habe mal die Debug Ausgabe angehängt. Wenn ich den Sensor auf den Balkon stelle (Aktuell sind es 13°C) Dann zeigt er mir -14000°C an, stelle ich Ihn wieder auf den Schreibtisch kommen zwischen 25 und 26C dabei raus (eigentlich sind es 20C. Habe nun mal meine Debug ausgabe angehängt damit die Ausgelesenen Parameter zur Verfügung stehen. Ist leider nicht so gut lesbar... Start HP03 XCLR auf low i2c start end coeff Nr 0:-4340 coeff Nr 1:1606 0 coeff Nr 2:3119 coeff Nr 3:288 coeff Nr 4:1042 coeff Nr 5:-31698 coeff Nr 6:5952 coeff Nr 7:2500 param: 9param Nr 0:7 param Nr 1:30 param Nr 2:6 param Nr 3:9 XCLR high rohdaten: rhpa -4113 rohdaten rtemp -31236-- Temp: 263 press: 13320 _end---- --------------------------------------------------------------------- Viele Grüße
Gast
#3328374
Mit Berechnung mittels int32 hatte ich Abweichungen von ein paar Kelvin. Hab es dann auch float umgestellt und es passt. Der LPC1769 hat genug Dampf für floats. Also lasse ich es jetzt so. Beim Luftdruck drauf achten, dass Du etwa 1mBar je acht Höhenmeter "verlierst". Das Datenblatt von Pollin hat auch eine ')' in einer Formel zu wenig. Ich ping dich mal heute/morgen per PN an, dann kannst Du mal in meinen Code schauen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.