Messen im Minusbereich mit DS1820 und GUI

  • Hat jemand dafür eine Lösung?

    Lösungen gibt es viele, nur nicht immer das passende Problem, wo klemmts denn? :lol:

    Du sollest mehr schreiben, klemmts am Rechnen mit negativen Zahlen?

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hallo Düsentrieb,


    Hallo,

    ich versuche verzweifelt auch im Minusbereich zu messen.

    Hat jemand dafür eine Lösung?

    ja, ich habe eine Lösung.


    Für ein Projekt musste ich bis -80 °C Temperaturen recht genau messen können. Ich habe nach einiger Recherche Tieftemperatursensoren erworben, die bis -200 °C linear arbeiten. Vertrauend darauf, dass der Temperaturkoeffizient von -200 bis + 150 °C konstant sein soll (lt. Datenblatt), habe ich diesen im Temperaturbereich 100 bis 30 °C mittels Blockkalibrator bestimmt und bei tiefen Temperaturen mit CaCl2 * 6 H20 - Eis (-50 °C) und Trockeneis-Ethanol (-72 °C) verifiziert. Demnach kann ich in diesen Bereichen mit weniger als 0,15 °C Abweichung messen.

    Leider komme ich an Flüssigstickstoff nicht heran, um bei -196 °C verifizieren zu können.


    Reicht Dir das?


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • ja, ich habe eine Lösung.

    endet die mit con oder hon am Ende? ;)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • ich habe Deine Frage mal in einen eigenen Thread ausgelagert

    prima, trotzdem wissen wir noch nicht welcher Art sein Problem ist ;)

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hallo jar,

    endet die mit con oder hon am Ende? ;)

    nee, am Ende ist 0, 00 und 000.


    Ach, und das Projekt war auch noch in Deinem Wohnort. Du erinnerst Dich noch dran?



    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • nee, am Ende ist 0, 00 und 000.


    endet die mit con oder hon am Ende?

    ich meinte aber ICON oder PYTHON :lol:

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hallo zusammen,


    leider ging durch das Auslagern der ursprüngliche Code auf den ich mich bezogen habe verloren:

    Leider wird in allen Foren, in denen die Abfrage des DS1820 mit Python beschrieben ist, immer der selbe Code beschrieben:


    Quote
    Code
        # Temperaturwerte auslesen und konvertieren    
    stringvalue = filecontent.split("\n")[1].split(" ")[9]    
    temperature = float(stringvalue[2:]) / 1000

    Damit sind aber nur Temeperaturen >= 0°C auswertbar. Fällt die Temeperatur unter 0, geht der Wert auf über 4000 hoch.


    Leider bin ich nicht fit genug um das Programm so anzupassen dass auch im Minusbereich der richtige Wert angezeigt wird.


    Wer kann mir helfen?

  • hmmm ich sehe auch keine Fehlerbearbeitung


    z.B. ist

    85°C nicht Temperatur sondern Fehler

    125°C oder 129°C ist nicht Temperatur sondern Fehler


    Der Code scheint unvollständig!

    In C berechnet mit CRC Check funktioniert das besser, da müsste ich noch mal in meinen C Code schauen, aber du fragst ja nicht nach C sondern nach Python und das kann ich nicht!


    https://www.mikrocontroller.net/topic/317823#3443725

    Code
    (int16_t)0xFFF8 = -8
    -8 * 0,0625 = -0,5°C
    
    Man sollte natürlich das Datenblatt lesen können:
    "The temperature data is stored as a 16-bit sign-extended two’s 
    complement number"

    CRC

    https://www.mikrocontroller.net/topic/258453#2672394

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Edited once, last by jar ().

  • Hallo,

    die Ausgabe hier lautet: t=4084397

    Da sich der Wert ändert liegt es sicher nicht am Sensor


    Zum vergleich, ein anderer Sensor liefert das Ergebnis t=30562, was einer Temperatur von 30,56 °C entspricht

  • > Ich denke aber dass es da doch sicher einen festen Algorithmus geben muss?

    Klar gibt es das.


    Nach dem Datenblatt ist es ein 16 Bit Wert mit Sign-Bit(s). 4084397 ergibt aber eine 6 stillige Hex-Zahl. Der Driver auf dem Pi scheint da noch was zu machen.


    - - - - - - -


    Ist der Wert ueberhaupt gueltig?


    Ich glaube frueher mal gab es negative Werte fuer t=

    Edited once, last by Tell ().