Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Microcontroller
    5. ESP 8266 Einbindung von DS18B20 Temperatursensoren

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ESP 8266 Einbindung von DS18B20 Temperatursensoren

    This topic has been deleted. Only users with topic management privileges can see it.
    • MartinP
      MartinP last edited by MartinP

      Ich habe eine Parallelschaltung von drei DS18B20 an einem D1-Mini.

      96e9e327-4b42-4add-bdf3-0f18cce39aae-grafik.png

      Nach dem Neustart des ESP werden in letzter Zeit häufig nur zwei von drei Sensoren erkannt. Nach kurzem Stromlos machen des ESP sind wieder alle drei Sensoren erreichbar ...

      Interessanterweise scheint immer der Sensor mit der höchsten Seriennummer zu fehlen.

      Hatte schon jemand ähnliche Probleme? Falls nicht, wird es wohl eher ein Wackelkontakt auf der Platine, als ein Problem mit der 1-Wire Library sein ...

      Ralla66 G 2 Replies Last reply Reply Quote 0
      • Ralla66
        Ralla66 Most Active @MartinP last edited by

        @martinp

        seitdem ich NodeMcu verwende keine Probleme mehr.

        1 Reply Last reply Reply Quote 0
        • G
          geschild @MartinP last edited by

          @martinp Poste mal deine Software.

          MartinP 1 Reply Last reply Reply Quote 0
          • MartinP
            MartinP @geschild last edited by MartinP

            @geschild die Kurzfassung wäre ...

            https://github.com/MartinP1/ESP8266_MQTT_THERMOSTAT

            #include <OneWire.h>
            #include <DallasTemperature.h>
            #ifdef ARDUINO_ESP8266_WEMOS_D1MINI
            #include <ESP8266WiFi.h>
            #include <LibPrintf.h>
            #else
            #include <WiFi.h>
            #endif
            #include <Ticker.h>
            // #include <AsyncMqttClient.h>
            #include <AsyncMqtt_Generic.h>
            .....
            OneWire oneWire(oneWireBus);
            
            DallasTemperature sensors(&oneWire);
            ...
            void initTemperatureSensors(){
              Serial.print("Locating devices...");
              numberOfDevices = sensors.getDeviceCount();
              // numberOfDevices = sensors.getDS18Count();
              // numberOfDevices = MAX_DS18B20_DEVICES;
              // locate devices on the bus
              Serial.print("Found ");
              Serial.print(numberOfDevices, DEC);
              Serial.println(" devices.");
              if(numberOfDevices > MAX_DS18B20_DEVICES){
                Serial.println("too many temp devices, limit to 3");
                numberOfDevices = MAX_DS18B20_DEVICES;
              }
            .....
            
            haselchen G 2 Replies Last reply Reply Quote 0
            • haselchen
              haselchen Most Active @MartinP last edited by

              @martinp

              Alternative wäre Tasmota flashen und Sonoff Adapter nutzen.

              MartinP 1 Reply Last reply Reply Quote 0
              • MartinP
                MartinP @haselchen last edited by

                @haselchen Das ist schwierig, weil da noch mehr angeschlossen ist. Bildet einen kompletten Heizkörperthermostaten, und der Regler ist auch im ESP codiert...
                Da wäre ich nicht fit genug in Tasmota Script Programmierung, um das zu übertragen.

                Mal überlegen, wie ich da vorgehe. Ich tippe aktuell immer noch auf den D1 Mini Clone von AZ Delivery mit ungeeignetem Spannungsregler. Der startet alle paar Tage neu, und dann ist sporadisch ein Temperatursensor "weg". Wahrscheinlich ist die Spannung im entscheidenden Moment nicht stabil.

                Ein pinkompatibles ESP32 Modul und eine richtige Leiterplatte sind bereit, um eingesetzt zu werden. Warte aber auf das Ende der Heizsaison, da ich den alten Aufbau zerlegen muss ...

                1 Reply Last reply Reply Quote 0
                • Flexer
                  Flexer last edited by

                  Hallo und guten Morgen in die Runde,

                  habe das Thema gerade gesehen und dacht mir ich klinke mich mit ein. Ich habe auch die Temperatursensoren verbaut jedoch bekomme ich ab und zu fehlerhafte Messwerte ein. Die Sensoren messen in D50 Rohren die Wassertemperaturen von meinem Pool.
                  Man sieht das hier auf dem Bild recht gut. -336 ist dann doch recht kalt 😉

                  Hat jemand eine Idee in welcher Richtung ich den Fehler suchen könnte?

                  Viele Grüße

                  94fe3458-f77e-47ec-8c91-e754c4195007-image.png

                  MartinP haselchen 2 Replies Last reply Reply Quote 0
                  • MartinP
                    MartinP @Flexer last edited by MartinP

                    @flexer Hmm, wie werden die Sensoren denn ausgewertet?
                    Eigenes ESP8266 Sketch, oder Tasmota?
                    Alle parallel auf einen OneWire Bus?
                    Ist der "Solar" Sensor auch der mit der höchsten Seriennummer unter den drei Sensoren?

                    Falls Du etwas mit den Messwerten machst, reicht es ja nicht, das Problem "kosmetisch" zu lösen...

                    Falls eine kosmetische Lösung reicht und Du die Werte über den influx-Adapter schreibst, könnte man hier etwas eintragen, um die Ausreißer zu ignorieren:

                    b5c4f120-d9a6-4082-af2e-7c7599e0b75c-grafik.png

                    1 Reply Last reply Reply Quote 0
                    • haselchen
                      haselchen Most Active @Flexer last edited by

                      @flexer

                      Widerstände in Deinem Konstrukt verbaut ?

                      Flexer 2 Replies Last reply Reply Quote 0
                      • G
                        geschild @MartinP last edited by

                        @martinp Geht mal, geht mal nicht klingt erstmal nach Wackelkontakt oder Störsignalen.
                        Versuch doch mal die DS direkt über ihre Adressen aufzurufen, siehe hier: https://github.com/milesburton/Arduino-Temperature-Control-Library/blob/master/examples/Multiple/Multiple.ino#L139

                        MartinP 2 Replies Last reply Reply Quote 0
                        • Flexer
                          Flexer @haselchen last edited by

                          @haselchen Ja genau einen. Den Aufbau muss ich raussuchen. Melde mich

                          1 Reply Last reply Reply Quote 0
                          • MartinP
                            MartinP @geschild last edited by

                            @geschild das ist auch mein Verdacht. Zweite Möglichkeit wäre der Spannungsregler des D1Mini Clones...

                            Neue Version mit Leiterplatte und ESP32 ist eigentlich fertig. Hat aber andere Abmessungen, als der Prototyp. Warte noch bis es wärmer ist mit dem Umbau

                            1 Reply Last reply Reply Quote 0
                            • Flexer
                              Flexer @haselchen last edited by Flexer

                              @haselchen IMG_1277.png

                              So hab ich es gemacht. Ist eine Nodemcu dran mit ESP Easy

                              So wie in dem Video
                              https://youtu.be/jQrcybWapuA?si=igohLALrPQ5Ec6lD

                              bahnuhr BananaJoe 2 Replies Last reply Reply Quote 0
                              • bahnuhr
                                bahnuhr Forum Testing Most Active @Flexer last edited by

                                @flexer sagte in ESP 8266 Einbindung von DS18B20 Temperatursensoren:

                                So hab ich es gemacht. Ist eine Nodemcu dran mit ESP Easy

                                sieht nicht richtig aus.
                                Nur 1 Widerstand und nur ein data

                                siehe:
                                https://forum.iobroker.net/topic/69730/csw120-warmwasserspeicher-an-welchen-rohren-messen/12

                                G 1 Reply Last reply Reply Quote 0
                                • BananaJoe
                                  BananaJoe Most Active @Flexer last edited by

                                  @flexer wie @bahnuhr schreibt: Nur ein Widerstand und alle Sensoren parallel schalten an einen GPIO des Wemos. Die Sensoren haben ja deshalb extra Adressen damit man das machen kann.

                                  MartinP 1 Reply Last reply Reply Quote 0
                                  • G
                                    geschild @bahnuhr last edited by

                                    @bahnuhr Man kann mehrere OneWire-Instanzen auf verschiedenen Pins betreiben.

                                    1 Reply Last reply Reply Quote 0
                                    • MartinP
                                      MartinP @BananaJoe last edited by MartinP

                                      @bananajoe Ist aber natürlich auch in der Weise, wie von @Flexer gelöst durchaus funktionsfähig. Einen zweiten One-Wire-Bus aufzumachen ist aber Overkill bei zwei Sensoren ... zwei Ports zu nutzen hat Vorteile bei Serienproduktion von Geräten. Da müsste man ansonsten anhand der Seriennummer "anlernen" welcher Sensor welchen Temperatur-Messpunkt überwacht....

                                      Die Farbcodes der Widerstände sind etwas unklar.

                                      Wenn das wirklich gelb - violett - braun - gold ist, wären das 470 Ohm. Das ist deutlich zu wenig ...
                                      https://www.analog.com/media/en/technical-documentation/data-sheets/ds18b20.pdf (Seite 7 Bild 7)

                                      In der Regel wird 4,7 kOhm 5% Toleranz genutzt (gelb - violett - rot - gold)

                                      Achtung bei Fünf-Ring-Farbcodes ist das anders! (gelb - violett - schwarz - braun - braun wäre 4,7 kOhm 1%)

                                      http://www.elektronik-kompendium.de/sites/bau/1109051.htm

                                      1 Reply Last reply Reply Quote 0
                                      • MartinP
                                        MartinP @geschild last edited by MartinP

                                        @geschild said in ESP 8266 Einbindung von DS18B20 Temperatursensoren:

                                        @martinp Geht mal, geht mal nicht klingt erstmal nach Wackelkontakt oder Störsignalen.
                                        Versuch doch mal die DS direkt über ihre Adressen aufzurufen, siehe hier: https://github.com/milesburton/Arduino-Temperature-Control-Library/blob/master/examples/Multiple/Multiple.ino#L139

                                        Es sind insgesamt drei Sensoren (Raumtemperatur, und Temperatur an der Zulauf- und Ablauf-Leitung eines Heizkörpers)

                                        Bisher war immer der Ablauf-Sensor betroffen, Jetzt war erstmals der Zulauf-Sensor nicht erreichbar.

                                        Im Code wird beim Startup erst nach den verfügbaren Sensoren gesucht, dann werden die Seriennummern ermittelt, in aufsteigender Reihenfolge sortiert, und danach wird nur noch nach Seriennummern adressiert

                                        Niedrigste Hausnummer -> Raumtemperatur
                                        Mittlere Hausnummer -> Zulauf
                                        Höchste Hausnummer -> Ablauf

                                        Wird nur ein Sensor gefunden, wird davon ausgegangen, dass er für die Raumtemperatur zuständig ist.
                                        Bei zwei Sensoren Raum + Zulauf

                                        Der Sensor ging diesmal "einfach so" verloren, ohne dass der ESP neu gestartet worden wäre ...

                                        der DS18B20 sollte ab +3V Versorgungsspannung funktionieren, der ESP-Chip ist mit 2,5 Volt zufrieden...

                                        Mein D1Mini Clone ist von AZ Delivery und hat statt des Spannungsreglers mit 500 mA des Originals nur einen mit 300 mA Maximalstrom. Vielleicht ist der kurz vor dem Zusammenbrechen, und ein DS18B20 ist abgeschmiert, während die anderen es noch vertragen haben ...

                                        Wird wohl wirklich Zeit, die neue Hardware in Betrieb zu nehmen, und den D1Mini Clone in den Giftschrank nebst Aufkleber "Nicht Zuverlässig" zu legen ...

                                        BananaJoe 1 Reply Last reply Reply Quote 0
                                        • BananaJoe
                                          BananaJoe Most Active @MartinP last edited by BananaJoe

                                          @martinp sagte in ESP 8266 Einbindung von DS18B20 Temperatursensoren:

                                          Mein D1Mini Clone ist von AZ Delivery und hat statt des Spannungsreglers mit 500 mA des Originals nur einen mit 300 mA Maximalstrom. Vielleicht ist der kurz vor dem Zusammenbrechen, und ein DS18B20 ist abgeschmiert, während die anderen es noch vertragen haben ...

                                          Ich habe hier die gleichen Klone laufen (von den AZ habe ich schon 25 Stück gekauft), mit 2 x DS18B20 und 1x MAX7219 7-Segmentanzeige. Die wird wohl mehr Strom ziehen.

                                          Anderes Netzteil (nicht Ladegerät) zu testen kann natürlich nicht schaden. Natürlich konnte auch so ein Sensor defekt sein oder die Lötstellen sind nicht perfekt.

                                          MartinP 1 Reply Last reply Reply Quote 0
                                          • MartinP
                                            MartinP @BananaJoe last edited by

                                            @bananajoe Vielleicht gibt es verschiedene Chargen, und AZ-Delivery baut inzwischen wieder 500 mA Regler ein ... die Markierungen auf den Winz-Chips sind aber nicht besonders einfach zu entschlüsseln

                                            Meiner trägt die Aufschrift "DE=A1D"
                                            https://www.sunrom.com/p/rt9193-33gb-rt9193-33pb-sot23-5-300ma-ldo
                                            also 300 mA

                                            Von AZ-Delivery gibt es aber wohl auch Chargen mit diesem hier, Aufschrift "4A2D"
                                            https://datasheet.lcsc.com/lcsc/2111081830_Shenzhen-Fuman-Elec-4A2D_C2832127.pdf

                                            Der hat 500 mA!

                                            BananaJoe 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            776
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            24
                                            1165
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo