Ankündigung

Einklappen
Keine Ankündigung bisher.

1-Wire Raumtemperaturmessung mit HA7E

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Hi,

    ich hab's mal ausprobiert mit den neuen/geänderten Makros vom Bernd. Leider nö. Gestern hab ich nach einem upload/neustart wieder einen 100° Wert.

    Aber das lass ich jetzt mal so. Das sind jetzt nämlich 100° Temperatur in der Abluft unserer KWL. Geile Sache. Da kann ich jetzt im Winter sämtliche Türen und Fenster aufreissen. Das wird garantiert nicht kalt.

    Grüße,

    Harry

    Kommentar


      #17
      Hallo,

      ich habe jetzt so ca. 10-15x neugestartet, weil ich z.Z. viel programmiere.

      Dabei habe ich 1-2x erneut das Problem gehabt, dass irgendein einzelner Sensor dauerhaft (d.h. bis zum nächsten EibPC Neustart) 100 liefert.

      Durch die Anpassung von Bernd ist das Verhalten der Sensoren deutlich besser geworden (vorher war immer min. 1 Sensor ohne Funktion).

      Dennoch verstehe ich nicht woran es liegt, dass ein Sensor über Stunden bzw. Tage 100 liefert und dann nach einem Neustart des EibPC perfekt funktioniert.

      Hat noch jemand eine Idee, warum die Kommunikation zu einzelnen Sensoren nicht ans Laufen kommt und dann nach einem EibPC Neustart tadellos funktioniert?

      Desweiteren würde m.E. nach eine zusätzliche Beschränkung auf eine Nachkommastelle für eine Raumtemperaturmessung auch Sinn machen. Manche Sensoren pendeln ständig zwischen zwei Nachkommastellen hin und her (z.B. 21,16°C und 21,17°C).

      Viele Grüße

      Michael

      Kommentar


        #18
        Zitat von Jambala Beitrag anzeigen
        Hallo,
        ich habe jetzt so ca. 10-15x neugestartet, weil ich z.Z. viel programmiere.
        Dennoch verstehe ich nicht woran es liegt, dass ein Sensor über Stunden bzw. Tage 100 liefert und dann nach einem Neustart des EibPC perfekt funktioniert.
        Ah, da fällt mir ein: Um die Last auf der RS232 etwas zu verteilen, wird dort mit einem Zufallsgenerator um die Minuten etwas variiert. Ggf ist das aber noch zu wenig.
        Änder mal in EnertexOneWire.lib
        Code:
        if after(cycle(Minute,0),convert(random(120000u32),0u64)) then {
        in
        Code:
        if after(cycle(Minute,0),convert(random([B]240000u32[/B]),0u64)) then {
        Die Abfrage der Sensoren kann dann um 240 Sekunden herum streuen.
        offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
        Enertex Produkte kaufen

        Kommentar


          #19
          Hi Michael,

          vielen Dank für den Hinweis. Jetzt funktioniert es nämlich perfekt.

          Vorher:
          Immer wieder mal nach dem Neustart 100° auf irgendeinem Sensor. Abhilfe nur durch einen weiteren Neustart des EibPC möglich.

          Jetzt:
          Nach Neustart manchmal 100° am Sensor. Diesmal aber nur beim allerersten readout. Danach in Ordnung.

          Die 100° Ausreisser kann man im Makro ja noch unterdürcken damit der Chart nicht versaut wird.

          Grüße,

          Harry

          Kommentar


            #20
            Zitat von FHarry Beitrag anzeigen
            Die 100° Ausreisser kann man im Makro ja noch unterdürcken damit der Chart nicht versaut wird.
            Bitte nicht vergessen, es gibt dann noch die 85 °C, die als Power-On-Reset-Wert der DS18B20 ausgelesen werden bei Spannungsversorgungsproblemen der DS18B20 (zumeist wegen Verdrahtungsfehler).

            glg

            Stefan

            Kommentar


              #21
              Zitat von StefanW Beitrag anzeigen
              es gibt dann noch die 85 °C, die als Power-On-Reset-Wert der DS18B20 ausgelesen werden bei Spannungsversorgungsproblemen der DS18B20
              Etwas OT, aber da es nun schon mal angesprochen wird, im Datenblatt von Maxim steht "Measures Temperatures from -55°C to +125°C".
              85° liegt da im Bereich weitab der Grenzen und kann somit auch ein gültiger Wert sein. Weiß jemand, warum man dafür keinen ohnehin ungültigen Wert verwendet hat, oder wenigstens einen der beiden Bereichsgrenzen -55° oder +125°?
              Tessi

              Kommentar


                #22
                Moin,

                ich vermute, die 85° könnten historisch bedingt sein.
                Allerdings ist oberhalb 100°C der Leckstrom so hoch, das der Messfehler immens ist und wiederum mit PTC zu vergleichen sein sollte.

                Ich meine mich auch mal erinnern gelesen zu haben, das der Meßbereich bei parasitic power mode ohnehin nur bis 85° geht. Leider finde ich das nicht wieder und im Datenblatt via Tante gOOgle steht das nicht so drin.

                Gruß,
                Bernd

                Kommentar


                  #23
                  Hallo,

                  laut den Data Sheets hat der DS1820 zwar einen Meßbereich von -55°C bis +125°C, aber nur in dem Bereich von -10°C bis +85°C eine Genauigkeit von +- 0,5°C.

                  Somit geht vermutlich niemand davon aus, dass der Sensor oberhalb von +85°C eingesetzt wird.

                  Viele Grüße

                  Michael

                  Kommentar


                    #24
                    Zitat von Tessi Beitrag anzeigen
                    ...85° liegt da im Bereich weitab der Grenzen und kann somit auch ein gültiger Wert sein. Weiß jemand, warum man dafür keinen ohnehin ungültigen Wert verwendet hat...?
                    Warum der POR auf einen Bitwert in den beiden Registern gesetzt wurde, der 85 °C entspricht ist mir auch nicht bekannt. Allerdings beträgt die Auflösung nach dem POR auch 12 Bit, respektive eine Auflösung von 0.0625 °C (mithin 1/16 °C). Vielleicht war das entsprechende Bitmuster mit 0550h so schön symmetrisch??

                    Es dürfte extrem unwahrscheinlich sein, dass ein Sensor genau und noch dazu konstant 85,0000 °C misst und nicht 84,9375 oder 85,0625 oder noch entfernter. Bereits bei zwei Messungen hintereinander dürften die Abweichung mindestens 1/16 °C oder mehr betragen.


                    Zitat von bmx Beitrag anzeigen
                    Allerdings ist oberhalb 100°C der Leckstrom so hoch, das der Messfehler immens ist und wiederum mit PTC zu vergleichen sein sollte.
                    Jein. Richtig ist, dass bei hohen Temperaturen um die 100 °C der Leckstrom des lokalen Speicherkondensators zunimmt und daher die Kommunikation bei parasitärem Betrieb nicht mehr gewährleistet ist, da der Energiebedarf aus dem (dann leckenden) Kondensator nicht mehr gestillt werden kann.

                    Mit der Messgenauigkeit hat der Leckstrom gar nichts zu tun. Denn beim Messen selbst wird der DS18B20 komplett aus dem Datensignal (dass in dieser Zeit auf einen HIGH-Pegel über einen MOSFET gehalten wird) versorgt. Die absolute Genauigkeit von +/- 0,5 °C ist lediglich für den Bereich von -10 °C bis 85 °C definiert. Ich verstehe das entsprechende Diagramm so, dass diese +/- 0,5 °C hierbei die dreifache Standardabweichung sind (Statistiker werden mich ob der ungenauen Interpretation vermutlich erschlagen).

                    Die Genauigkeit außerhalb dieses Temperaturbereiches ist nicht definiert, vermutlich wird das aber nicht gleich zum groben Schätzeisen.


                    Zitat von bmx Beitrag anzeigen
                    Ich meine mich auch mal erinnern gelesen zu haben, das der Meßbereich bei parasitic power mode ohnehin nur bis 85° geht.
                    Ja, das ist UNSERE Definition, also die von WireGate. Tatsächlich gibt es diese Grenze in hart laut Datenblatt nicht.

                    Im Datenblatt heißt es dazu:

                    The use of parasite power is not recommended for temperatures above +100°C since the DS18B20 may not be able to sustain communications due to the higher leakage currents that can exist at these temperatures.

                    Wir haben diese 85 °C eingeführt um ausreichend Sicherheitsreserve zu haben.



                    Zitat von Jambala Beitrag anzeigen
                    Somit geht vermutlich niemand davon aus, dass der Sensor oberhalb von +85°C eingesetzt wird.
                    Vermutlich sollten wir nicht vermuten, was allgemein vermutet wird.

                    Im Bereich Solaranlagen werden solche Temperaturen durchaus erreicht.


                    lg

                    Stefan

                    Kommentar


                      #25
                      Zitat von StefanW Beitrag anzeigen
                      Allerdings beträgt die Auflösung nach dem POR auch 12 Bit, respektive eine Auflösung von 0.0625 °C (mithin 1/16 °C). Vielleicht war das entsprechende Bitmuster mit 0550h so schön symmetrisch??
                      Das ist ziemlicher Bockmist im Meßbereich selbst so eine Bitfolge als Schlüsselwort festzulehen, das ist aber ja nicht Eure Schuld . Man sagt sich manchmal: "So bescheuert können die gar nicht sein" - und man wird immer wieder vom Gegenteil überzeugt.
                      offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                      Enertex Produkte kaufen

                      Kommentar


                        #26
                        Zitat von enertegus Beitrag anzeigen
                        Das ist ziemlicher Bockmist im Meßbereich selbst so eine Bitfolge als Schlüsselwort festzulehen, das ist aber ja nicht Eure Schuld .
                        Ich verstehe es auch nicht. Von einem 16 Bit Register werden ohnehin nur 12 Bit verwendet, da hätte man locker 4 Bit für "POR" usw. gehabt...

                        Aber es ist wie es ist, ansich ist das Sensorelement ja superklasse. Es gibt nichts vergleichbares zu dem Preis und der Genauigkeit (außer den Bruder mit I2C) mit Businterface.

                        lg

                        Stefan

                        Kommentar


                          #27
                          Zitat von StefanW Beitrag anzeigen
                          Aber es ist wie es ist,
                          ja und schlimmer kann es immer noch werden. Sie hätten ja 20.5 Grad nutzen können oder so...
                          offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
                          Enertex Produkte kaufen

                          Kommentar


                            #28
                            Hallo Zusammen,

                            die Hinweise von BMX und Enertegus haben auch über einen längeren Zeitraum für eine deutliche Verbesserung der Performance gesorgt.

                            An dem 1-Wire Makro wundert mich nur noch, dass immer wieder einzelne Meßwerte mit extrem viel Nachkommastellen geliefert werden.

                            Wert von Objekt 483 (EG_Esszimmer_Temperature) abfragen:
                            % /Users/michael/bin/Eib/nconf.bin -q 483 192.168.0.42
                            % Wert von Objekt 483: 0c 71 00 00 {2011-11-30 19:05:09}
                            % Typ: 16-Bit-Fliesskommazahl
                            % 22.740000000000002
                            % Wert von Objekt 468 (EG_GaesteWC_Temperature) abfragen:
                            % /Users/michael/bin/Eib/nconf.bin -q 468 192.168.0.42
                            % Wert von Objekt 468: 0c 4f 00 00 {2011-11-30 19:05:09}
                            % Typ: 16-Bit-Fliesskommazahl
                            % 22.06
                            % Wert von Objekt 478 (EG_Kueche_Temperature) abfragen:
                            % /Users/michael/bin/Eib/nconf.bin -q 478 192.168.0.42
                            % Wert von Objekt 478: 0c 68 00 00 {2011-11-30 19:05:09}
                            % Typ: 16-Bit-Fliesskommazahl
                            % 22.56
                            % Wert von Objekt 488 (EG_Wohnzimmer_Temperature) abfragen:
                            % /Users/michael/bin/Eib/nconf.bin -q 488 192.168.0.42
                            % Wert von Objekt 488: 0c 61 00 00 {2011-11-30 19:05:09}
                            % Typ: 16-Bit-Fliesskommazahl
                            % 22.42
                            % Wert von Objekt 513 (OG_Buero_Temperature) abfragen:
                            % /Users/michael/bin/Eib/nconf.bin -q 513 192.168.0.42
                            % Wert von Objekt 513: 0c 4f 00 00 {2011-11-30 19:05:09}
                            % Typ: 16-Bit-Fliesskommazahl
                            % 22.06
                            % Wert von Objekt 493 (OG_Diele_Temperature) abfragen:
                            % /Users/michael/bin/Eib/nconf.bin -q 493 192.168.0.42
                            % Wert von Objekt 493: 0c 58 00 00 {2011-11-30 19:05:09}
                            % Typ: 16-Bit-Fliesskommazahl
                            % 22.240000000000002

                            Kommen diese merkwürdigen Werte wirklich vom Sensor oder läuft hier im Makro etwas schief?

                            Wie kann ich die Werte auf eine Nachkommastelle runden?

                            Mehr "Genauigkeit" macht bei einer Raumtemperaturmessung keinen Sinn.

                            Viele Grüße

                            Michael

                            Kommentar


                              #29
                              Zitat von Jambala Beitrag anzeigen
                              dass immer wieder einzelne Meßwerte mit extrem viel Nachkommastellen geliefert werden.
                              Hoi Michael

                              Das liegt an den Datentypen DPT. Da hatte mal einer ne tolle Idee wie man alle Werte in wenige bits quetscht.

                              Da muss man nur runden, fertig, frag' nicht wie das genau geht...
                              Grüsse Bodo
                              Fragen gehören ins Forum, und nicht in mein Postfach;
                              EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

                              Kommentar


                                #30
                                Zitat von Jambala Beitrag anzeigen
                                Kommen diese merkwürdigen Werte wirklich vom Sensor oder läuft hier im Makro etwas schief?
                                Der Sensor DS18B20 löst je nach Einstellung mit 1/2, 1/4, 1/8 oder 1/16 °C auf. In Dezimal umgerechnet geht das damit bis zur 4. Nachkommastelle, weil 1/16 °C ist 0,0625 °C. Feinere Auflösungen liefert der Sensor nicht.

                                Die von Dir beschriebenen 22.740000000000002 kommen also aus der Software, entweder dem HA7E oder aus einem der Makros.

                                Edit: Binär kann der Sensor auch gar nicht den Wert von 22.74 °C ausgeben, sondern nur als 22.75 oder als nächstes 22.8125 oder dann 22.875 (sofern die Auflösung so hoch eingestellt ist). Weil er kann Nachkommastellen nur in 1/2, 1/4, 1/8, 1/16 °C oder Mischformen daraus (z.B. 1/2 + 1/4 + 1/16 = 13/16 = .8125) darstellen.

                                glg

                                Stefan

                                Kommentar

                                Lädt...
                                X