DS18B20

Hallo iedereen

Het artikel van vandaag zal opnieuw worden gewijd aan de DS18B20 sensor om twee veelvoorkomende vragen te beantwoorden. Aan de ene kant produceert Maxim nu twee verschillende varianten, één met PAR en zonder PAR-modus. Ten tweede vragen veel klanten hoeveel van de sensoren tegelijkertijd in de praktijk kunnen worden gebruikt, daarom doen we een kleine testopstelling om te zien hoeveel sensoren op slechts één pin van de nano kunnen worden bediend.

Toen de sensor uit Dallas kwam, was er slechts één variant, die zowel parasitaire modus als normale werking ondersteunt. Maxim produceert nu de sensoren in de DS18B20 en DS18B20-PAR versies. Beide ondersteunen het 1-wire protocol: Het 1-wire protocol heeft zijn naam, zodat er slechts één regel nodig is voor communicatie in plaats van ten minste twee datalijnen zoals gebruikelijk, de PAR-modus heeft er niets mee te maken. Dus we hebben drie pinnen, of kabels, in normale werking: Data, VCC en GND. VCC en GND moeten duidelijk zijn, communicatie is bidirectioneel via gegevens. En aangezien elektriciteit altijd moet stromen om informatie door te geven, kan dit logischerwijs alleen via GND.

De DS18B20-PAR ondersteunt de parasitaire modus. Dit heet zo, omdat de sensor de stroom uit de datalijn kan scheren. Dit betekent dat in deze bedrijfsmodus slechts 2 regels nodig zijn: GND en Data. De VCC van de IC is verbonden met gegevens via een weerstand.

(Met het product op de foto hierboven, een weerstand werd al geplaatst in de mouw en slechts twee kabels werden geleid uit de mouw.)

Maxim's productbeleid heeft een echte puinhoop uit deze situatie. Aangezien de DS18B20 gebruikt om beide modi te ondersteunen en dit is niet langer het geval, veel retailers hebben niet aangepast uw productbeschrijving, niet de naam te veranderen of in het slechtste geval, weet niet wat je verkoopt op alle.

De talloze klachten, die niet alleen door ons, maar ook regelmatig door veel medeaanbieders worden ontvangen, zijn te voorkomen.

Helaas hebben we vastgesteld dat als de DS18B20-PAR ook als zodanig wordt aangeduid, de verkoop van het product enorm zal dalen. Daarom gebruiken we de aanduiding DS18B20 uniform.

In geval van twijfel, vraag altijd de dealer terug, de uitvoering mag niet expliciet worden vermeld in de productbeschrijving en men kan niet zonder de PAR-modus voor zijn project.

Het opzetten van de test: De vraag van een klant was hoeveel DS18B20s op de nano kan worden bediend op slechts een pin zonder extra voeding. Hiervoor bouwden we het circuit met 10 sensoren beschreven in het e-book op een van onze breadboards en vervolgens bedraad een voor een.

We waren in staat om 6 sensoren onmiddellijk te bedienen met de nano op een pin en uit te lezen met de tester.ino Sketch van de DallasTemperature Libary, hier is het resultaat:

Ik hoop dat de bijdrage van vandaag werpt enig licht op het onderwerp en bespaart sommigen van jullie een aantal van je grijze haren. Tot de volgende keer :)

ProduktvorstellungenSensoren

5 Kommentare

W.Rahn

W.Rahn

Hallo,
ich habe 25 Stück DS18B20 mit je 3 m Kabel bei AZ.Delivery erworben. Bei einer Überprüfung der Schrumpfschläuche am Übergang zwischen Kabel und Metallhülse konnte ich den Schrumpfschlauch problemlos von der Hülse runterschieben. Das Kabel ist dann immer noch in der Metallhülse fest. Ob die Verklebung des Sensors in der Hülle wasserdicht ist, werde ich nicht ausprobieren. Ich werde den vorhandenen Schrumpfschlauch längs aufschlitzen, entfernen und durch Schrumpfschlauch ersetzen, der innen mit Heißkleber beschichtet ist. Ich hab mir also Arbeit gekauft.
Nun zu mehr als 8 Sensoren an einem DataPin: ich nutze einen Arduino Uno von Geekreit, Stromversorgung der Sensoren aus 5V des UNO, bei einem Widerstand von 4,7 kOhm konnte ich 8 Sensoren an einem Pin auslesen. Bei mehr als 8 Sensoren ergab die CRC-Prüfung Fehler, bzw. die Sensoren wurden gar nicht gefunden. Ich habe nach und nach den Widerstand durch kleinere Werte ersetzt und konnte sukkzessive immer mehr Sensoren auslesen. Im Moment habe ich 24 Sensoren an Pin 8, mit einem Widerstand von 1,5 KOhm zwischen +5V und Data. Leider finde ich das Datenblatt nicht mehr, indem der untere Wert des Pull-Up-Widerstandes mit 1,2 KOhm angegeben ist.

Es kann an der Zahl der Sensoren liegen, da jeder einzelne Sensor bis zu 1,5 mA zieht und ein großer Pull-Up-Widerstand zu wenig Strom für alle durchlässt. Es kann aber auch an den steigenden Kabellängen und den damit steigenden Kapazitäten der Kabel liegen. Zumindest gibt es bei einem unpassenden Verhältnis von Sensorzahl=Kabelkapazität und Widerstand ( zwischen + und Data ) kein ‘zackiges’ Bild mehr in meinem MiniOszi (Masse an GND OsziEingang an Data).
Ich hoffe das hilft.
Hinweis aus dem Datenblatt: bei Temperaturen von mehr als 100°C wird die ‘parasitäre’ Stromversorgung beim DS18B20 nicht empfohlen, dann zieht der Sensor noch mehr Strom bei der AD-Wandlung.

Ernst Brill

Ernst Brill

Ich betreibe 8 DS18B20 mit 3 Leitungen und gemeinsamen Widerstand an einem MEGA. Benutze ich mehr als 8 Sensoren, dann werden mir die Werte nicht mehr korrekt angezeigt. Die Systematik nach der die Sensoren ausfallen, habe ich nicht herausgefunden. Eventuell hängt das mit der internen Adresse zusammen. Mit einer 2. Datenverbindung mittels 1-Wire könnte man vermutlich noch einmal 8 Sensoren betreiben. etc.

Auffällig ist jedoch, dass es deutlich unterschiedliche Qualität bei den Sensoren gibt. Wenn diese in Wasser oder einem anderen leitenden Medium betrieben werden, dann könnte es zu Kurzschlüssen kommen. Bei allen 10 Sensoren, die ich von AZ-Delivery gekauft hatte, hatte einer der Leiter eine Verbindung zur Metallhülse. Bei Produkten eines anderen Lieferanten war das nicht der Fall.
Also vor dem Einsatz in Wasser, unbedingt alle 3 Leitungen auf eine Verbindung zur Metallhülse durchmessen!

Tim

Tim

Hallo, hatte das gleiche Problem, wie oben beschrieben. Bei mit hat es dann am D1 statt am vorgesehenen D5 geklappt. Ob man den Pull-Up mit 4,7kOhm weglassen kann, habe ich dann nicht mehr getestet.

Heinz-Gerd

Heinz-Gerd

Hallo, ich möchte ein 3 Draht DS18B20 an einem Wemos D1 Mini betreiben.
VCC an 3,3V - GND an Ground - Data auf GPIO14
In den Tasmota Einstellungen habe ich den DS18X20 (4) eingestellt.
Leider bekomme ich im Hauptmenu keine Temperatur-Anzeige.
D.H. es wird überhaupt kein Sensor angezeigt.
Schliesse ich einen DHT11 an so bekomme ich eine komplette Anzeige!

Thomas Keil

Thomas Keil

Danke für den Bericht, die Info ist interessant.

Bleibt vielleicht noch zu ergänzen das der DS18S20 für einen größeren Temperaturumfang spezifiziert ist ( -55°C to +125°C) als der DS18S20-PAR (–55°C to +100°C).

Das Datenblatt schreibt hierzu: “The use of parasite power is not recommended above 100°C, since it may not be able to sustain communications given the higher leakage currents the DS1820 exhibits at these temperatures.”

Ich würde vermuten, das das insbesondere bei niedriger Versorgungsspannung, wie sie der ESP liefert, gilt.

Vielleicht wäre das ja eine eigene Versuchsreihe in einem weiteren Beitrag wert ;-)

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert

Aanbevolen blog berichten

  1. Installeer ESP32 nu van de raad van bestuur
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - ESP Programmeren via Wi-Fi