Adapter für DS18B20 Temperatursensor

Hallo,

ich hätte mal eine Frage:ich habe einen ESP32 mit einer Temperaturmessung für meine Heizung im Vor- und Rücklauf. Am Anfang hat das Ganze gut funktioniert, mittlerweile steigt ein Sensor regelmäßig aus. Ich habe diesen Adapter, an dem ich beide Sensoren parallel angeschlossen habe, von dort aus dann per Kabel mit Stecker zum ESP32:

Da der eine Sensor immer wieder Probleme macht, hatte ich gelesen, das man einen Widerstand zwischen Dat & VCC schalten soll (ich glaube 4,7kOhm). Nun sehe ich auf der Platine ist bereits ein Widerstand - brauche ich dann keinen mehr? Und ist die parallele Schaltung der Sensoren durch den Widerstand (der ja nur an den ersten Sensor soll) vlt deshalb gestört?

Woran könnte es noch liegen?

Ja, der Pull-Up Widerstand ist schon auf den Adapterboard.

Wenn du einen zweiten 4,7 kΩ-Widerstand parallel schaltest, halbiert sich der Gesamtwiderstand – vorausgesetzt, der Widerstand auf der Platine hat ebenfalls 4,7 kΩ, was in der Regel der Fall ist. Für die Temperaturmessung ist das kaum relevant. Ein 2,35 kΩ-Pull-Up beim DS18B20 sorgt für schnellere Signalflanken und kann die Übertragung insbesondere bei langen Leitungen stabilisieren. Die Temperaturmessung selbst bleibt unverändert, lediglich die Strombelastung steigt leicht.

Danke für die Antwort. Ich werde heute mal die Leitungen kürzen, habe sie seinerzeit so gelassen, vlt ist das aber zu lang.

Dann brauche ja ich keinen Widerstand einzubauen.

Sollte das nichts bringen, reklamiere ich den DS18B20 bei AZ Delivery, dann scheint da was nicht zu passen. Habe gerade erst 3 x MT3608 reklamiert, nachdem ich gestern Abend schon an mir gezweifelt habe, ob ich zu blöd bin sowas zu bauen. Bei 4V Eingangsspannung bekam ich statt >4V immer nur 3,59V am Ausgang - bis ich im Internet dazu entsprechende Berichte/Videos über billige und defekte China Ware gefunden habe. Im Video war das genau der gleiche Fehler wie bei mir. Habe AZ Delivery angeschrieben - Antwort: “…bitte drehen sie den Poti solange gegen den Uhrzeigersinn, bis ein leises Klick zu hören ist.” Schauen wir mal ob wir das überhaupt hören in meinem Alter und mit leichten Tinnitus :joy: Ansonsten schicken sie mir eine Ersatzlieferung.

Bei den Widerständen sind die DS18B20 leider etwas empfindlich. Je nach Hersteller, Bauform (loser Sensor, mit Kable, mit Kabel und integriertem Widerstand, mit Adapterboard…) und Versorgungsspannung variieren die optimalen Werte. Bei zwei parallelen Sensoren mit jeweils 4,7kOhm könnte der Wert bereits etwas zu gering sein.

Das Forenmitglied EiderHA hat für mit 5V versorgte Sensoren folgende Tabelle für seine Sensoren ermittelt:

1x Sensor = 4,7kOhm
2x Sensor = 4,7kOhm
3x Sensor = 3,3kOhm
4x Sensor = 3,3kOhm
5x Sensor = 2,7kOhm
6x Sensor = 2,7kOhm
7x Sensor = 1,0kOhm
8x Sensor = 1,0kOhm
9x Sensor = 0.680kOhm
10x Sensor = 0.680kOhm

(siehe Dallas DS18B20 mit Onewire einzelner Sensor fällt aus )

Wenn den Sensoren der Gesamtwiderstand nicht passt, dann fallen sie leider aus bzw. funktionieren temporär nicht. Du könntest versuchen den zweiten Sensor an einen zweiten One-Wite-Bus zu hängen (extra Kabel). Dann würde der Widerstand für beide wieder passen (oder einen Widerstand ablöten).

1 „Gefällt mir“

Das werde ich mal probieren, am ESP32 sind noch reichlich Eingänge frei. Wie müsste die Yaml aussehen, einfach den Wire Part kopieren wird nicht funktionieren denke ich. Nur einen zweiten GPIO Part einfügen??

one_wire:
 - id: bus_one
   platform: gpio
   pin:
    number: GPIO2
    number: GPIOX
    mode:
      input: true
      pullup: true

GPIOX dann durch den zweiten Anschluss ersetzen?

Ich verweise mal auf einen alten Beitrag von mir:

Da habe ich einen Steckplatz für den Widerstand vorgesehen. So kann man ein wenig probieren.

Hi, Ich nutze den kleineren esp8266 und habe insgesamt sieben Sensoren an einen Eingang per OneWire angeschlossen.

Der esp8266 verfügt über einen internen PullUp.

Mein Code dazu sieht folgendermaßen aus:

one_wire:
  - platform: gpio
    pin:
      number: D4
      mode:
        input: true
        pullup: true

# Individual sensors
sensor:
  - platform: dallas_temp
    address: 0xe43c71045711f928
    name: "FBH_Ruecklauf_Badezimmer"
    unit_of_measurement: "°C"
    icon: "mdi:thermometer-plus"
    device_class: "temperature"
    state_class: "measurement"
    accuracy_decimals: 2
    update_interval: 1440s

# usw.

Der reinen Lehre nach soll man den internen PullUp nur bei einem Sensor verwenden. Wenn’s geht würd ich da aber auch nichts mehr fummeln.

Ich glaube mittlerweile das bei mir ein Sensor das Zeitliche gesegnet hat - wird nicht mehr erkannt,egal was ich mache. Hab jetzt 2 neue bestellt,war im Set günstiger als einzeln. Auch die ersten waren von AZ Delivery, irgendwie hab ich bisher keine guten Erfahrungen mit deren Zeug gemacht…

Kleines Update:

das hat mir keine Ruhe gelassen und ich bin nicht zu 100% der Meinung gewesen, das der Sensor kaputt sein soll.Und ich habe Recht behalten. Eine Variante hatte ich noch nicht getestet:

Ein DS18B20 habe ich direkt an den Adapter (Plugable Terminal mit Wiederstand) geklemmt, den anderen direkt an den GPIO Pin (also ohne Widerstand). Somit hat nur der erste Fühler den Widerstand , der zweite nicht. Und was soll ich sagen: es funktioniert. Der zweite Fühler wurde dann wieder erkannt und jetzt zeigen beide an.Immer wieder was Neues und man lernt nie aus…

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)