DS1820 - Sensoren "spinnen"

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo zusammen,
    ich habe 4 Sensoren vom Typ DS1820am laufen. 3 Wasserdichte in 3 Aquarien und 1 für die Raumtemperatur.
    Zuerst lief ca 2 Wochen alles perfekt. aber seit ca 2 Tagen liefern die Sensoren (alle) teilweise flsche Werte.
    Sie messen dann nur noch -0.062 °C. immer mal wieder, ohne feste zeiten und auch immer mal wieder abwechselnd.
    Dann messen sie mal wieder 1 Stunde die korrekten Werte, dann wieder Fehlmessungen.

    Hat das schonmal jemand gehabt? Woran kann das liegen?

    LG Markus

  • Hallo cced.

    Leitungen anders gelegt ?. Dadurch evtl Störeinflüsse.
    Sauber verlötet bzw. geklemmt ?, mal nachziehen.(Aquarium... 'n kleiner Guppy kommt nich mit seinen nassen Flöss'chen ran, oder ???):lol:
    Bei diesen Dingern mache ich ein 10K Poti hin, und drehe bis sie sauber laufen. (~3K), je nach Länge.
    Nach nem reset oder einschalten ist z.T. der erste Messwert falsch (~60°), aber das ist bekannt.
    Mal so als Tipp.

    gruß root

    Einmal editiert, zuletzt von root (14. August 2014 um 03:21)

  • an 5V 2,2k
    an 3,3V extra power legen
    CRC check nochmal nachmessen
    2-3 Messungen deren CRC OK ist hintereinander mitteln !
    Wago Klemmen verwenden
    4 Jahre Betrieb ohne Probleme

    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)

    Einmal editiert, zuletzt von jar (14. August 2014 um 07:24)

  • Danke schonmal für eure Anregungen..
    Alslso, die Sensoren in den Aquarien sind natürlich die Wasserdichten :)
    An der Verkabelung habe ich tatsächlich erwas geändert auf dem Stechboard, aber danach liefen die sensoren ohne Probleme.
    habe alle 4 nur an 3,3v und ok, zugegeben 13 Meter Kabel.
    Habe gestern versucht Strom (5v) anzulegen, aber dann funktionieren sie garnicht mehr. ist auch nur 1 4,7k Wiederstand dran (an der gesammten leitung mit 4 Sensoren).

    Werde das heute Abend nochmal umbauen nach euern Vorschlägen.
    Bin noch neu in dem Thema, und habe eigentlich 0, garkeine Ahnung von Elektrik / Elektronik. Versuche mir das notwendige Wissen im Netz anzueignen.
    Leider steht dort aber auch immer viel Mist.

    Danke für eure Tips...
    Werde heute Abend mal loslegen...

    LG Markus


  • Habe gestern versucht Strom (5v) anzulegen, aber dann funktionieren sie garnicht mehr.

    5V und dann an PI kann kaputt bedeuten ohne Schutz :mad_GREEN:

    Jeder mit PI sollte wissen das 5V für Atmel und Arduino an 5V bedeutet !

    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 mehrere Anlagen mit dem DS18B20 gebaut und kann aus Erfahrung sagen, dass die Stromversorgung von 3,3V vollkommen ausreicht. Parasitär ist mit dem RasPi allerdings nicht so richtig möglich. Also 3,3V, GND und Data sind dann 3 Leitungen (nicht mit 1wire :lol: ). Zwischen 3,3V und Data den Pullup. je mehr Sensoren, umso kleiner der Pullup. Ich nehme da gerne einen 1k mit einem 4k7 Trimmer in Reihe, dann läuft man nicht Gefahr den Widerstand zu klein einzustellen. Dann funktioniert es aber tadellos. Wichtig ist, die Verkabelung vernünftig zu machen, also Schraubklemmen nutzen oder löten. Keine verschieden dicken Kabel nehmen, Abschirmung, falls vorhanden nicht als Leiter nutzen und nur an einer Seite auf GND legen. Bei Twisted Pair (Netzwerkkabel) nicht mehrere Adern zu einer zusammenfassen, also immer nur eine Leitung prp Ader nutzen. Kabel möglichst nicht Stückeln. Die Art der Schaltung (Stern, Linie oder Kombiniert) hat keinen Einfluss auf die Funktion. Falsche Werte und Messfehler sind meist aud schlechte Verkabelung zurückzuführen oder auf große induktive Lasten (Stromaggregate, Kühlanlagen, Motoren) die sich zu nahe an der Busleitung befinden.

  • Man muss sich nur an das halten, was im Datenblatt steht: 4,7k Pullup und 5V Betrieb (geht direkt am GPIO nicht).
    Bei grösseren Entfernungen parasitär über verdrillte (Telefon/Netzwerk) Leitung anschliessen (Schirm gar nicht oder nur masterseitig; + der DS an Masse). Parasitär schränkt auf <= 80 GradC ein und geht direkt über GPIO nicht.

  • Ich würde aktuell 1k8 mit zwei Sensoren am Pi an 3,3V verwenden - Kabellänge max. gut 20m - spricht da was dagegen?

    Ich verwende im übrigen GPIO 5 - sollte aber für die Wahl des Pullups egal sein!

    Using Tapatalk

    Einmal editiert, zuletzt von galdo (14. August 2014 um 18:08)


  • Ich würde aktuell 1k8 mit zwei Sensoren am Pi an 3,3V verwenden - Kabellänge max. gut 20m - spricht da was dagegen?

    Ich verwende im übrigen GPIO 5 - sollte aber für die Wahl des Pullups egal sein!


    Ich verstehe nicht, was ein geringerer Pullup, als im Datenblatt angegeben, bringen soll. Der macht es den Sensoren (und dem Pi) nur schwerer, den Bus während der Kommunikation auf Masse zu ziehen und erhöht damit bestenfalls die Verluste bzw. verschlechtert potentiell das Verhalten. Und ob es bei 3.3V stabil geht kannst du nur ausprobieren. Dafür gemacht sind die Sensoren nun mal nicht.


  • Ich verstehe nicht, was ein geringerer Pullup, als im Datenblatt angegeben, bringen soll. Der macht es den Sensoren (und dem Pi) nur schwerer, den Bus während der Kommunikation auf Masse zu ziehen und erhöht damit bestenfalls die Verluste bzw. verschlechtert potentiell das Verhalten. Und ob es bei 3.3V stabil geht kannst du nur ausprobieren. Dafür gemacht sind die Sensoren nun mal nicht.

    ??? ich weiss das du auch Ahnung hast, aber ich verstehe dein Posting nicht !

    http://datasheets.maximintegrated.com/en/ds/DS18B20.pdf

    Das Datenblatt gibt klar die Spannungsgrenzen vor und da ist 3,3V inklusive !
    "Can Be Powered from Data Line
    ; Power Supply
    Range is 3.0V to 5.5V
    "

    Das Datenblatt auch gibt klar die Stromgrenzen vor und liegt bis 4mA also
    "Logic - low voltages are specified at a sink current of 4mA."

    Ein langes Kabel ist im wesentlichen eine Kapazität und wenn die in einer gewissen Zeit umgeladen werden soll braucht es Strom ! Ist der Widerstand zu groß werden die Flanken nicht mehr erkannt und damit der Chip, also muss man langen Kabeln und damit großen Kapazitäten mit weniger Widerstand entgegenwirken.

    Bei 3,3V und 4mA sind sogar 820 Ohm möglichund kein Verbrechen.

    Natürlich gilt so groß wie möglich, so klein wie nötig.

    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 würde aktuell 1k8 mit zwei Sensoren am Pi an 3,3V verwenden - Kabellänge max. gut 20m - spricht da was dagegen?

    Ich verwende im übrigen GPIO 5 - sollte aber für die Wahl des Pullups egal sein!

    Wie bringst Du den GPIO 5 dazu 1wire zu unterstützen?


    Ich verstehe nicht, was ein geringerer Pullup, als im Datenblatt angegeben, bringen soll. Der macht es den Sensoren (und dem Pi) nur schwerer, den Bus während der Kommunikation auf Masse zu ziehen und erhöht damit bestenfalls die Verluste bzw. verschlechtert potentiell das Verhalten. Und ob es bei 3.3V stabil geht kannst du nur ausprobieren. Dafür gemacht sind die Sensoren nun mal nicht.


    Der DS18B20 ist für 3,3V ausgelegt und zusätzlich noch für die parasitäre Stromversorgung. Das ist auch der Grund, warum man bei mehreren Sensoren irgendwann mit dem Widerstand runter muss. Data zieht nicht nur den Pegel auf low, sondern zieht auch Strom über die gleiche Leitung. Irgendwann reicht der Strom der durch den 4k7 kommt, nicht mehr aus und das Ganze funktioniert nicht mehr. Deshalb ist im Treiber auch die maximale Anzahl von Sensoren auf 10 begrenzt.

  • Ich hab's verrafft - ich werd den Port für die nächste Revision meiner Platine wieder auf Port 4 ändern - wie gesagt - kein Problem, weil man die Einstellung in der cmdline.txt anpassen kann.

    Ich hatte das mit den geringerer Widerständen hier im Board gelesen - mich hinsichtlich der Abweichung zum Datenblatt gewundert und jetzt nochmal nachgefragt. Ich nehm jetzt erstmal wieder 4k7 und schau wies läuft!

    Danke für die Hinweise

    Using Tapatalk

  • Hallo.
    Mal kurz noch meine Erfahrung zu diesem Sensor.
    Die Leitung ist ca ~10 Meter, dann jeweils zum Sensor ~ 1 Meter als Baum.
    Bei ner Versorgung von 3.3V gab's oft Probleme.
    Habe dann die Sensoren mit 5V versorgt, und den DQ über nen Levershifter zum Raspi gegeben.
    Außerdem abgeschirmtes Kabel einseitig auf Masse gelegt. (siehe Bild).
    Seitdem ist Ruhe im Gebälk.
    Weiterhin prüfe ich bei jedem Lesen erst das CRC, wenn ok akzeptiere ich den Wert wenn er "innerhalb" vernünftiger Grenzen liegt.
    Tut er das nicht, mache ich das 3 Zyklen mit, und gebe dann wenn keine Ruhe ist ne Meldung aus.
    Das ganze rennt im 24/7 Betrieb.
    Fehlermeldungen ..... vlt. alle 3 Wochen mal einer.... juckt mich net.
    Reset mach ich eh alle 4 Wochen mal.
    anhang:
    Sensoren
    ...mal alles bis auf die Sensoren und den Levelshifter wegdenken.

    gruß root

  • Der Pullup hat mit der Energieversorgung nichts zu schaffen, auch nicht im parasitären Betrieb. Parasitär muss der Master insbesondere zu den Wandlungszeiten den Bus auf niederohmige Versorgung schalten (den Pullup bypassen; vergl. Figure 4 im Datenblatt). Da steht auch nirgends was von niedrigem Pullup bei mehreren Devices.
    Grössere Entfernungen gehen m.E. nur vernünftig im parasitären Betrieb, über verdrillte Leitung, sonst sind Störungen vorprogrammiert. Parasitär brauche ich aber die Spannungs/Energiereserve in den internen Kondensatoren, kann also nicht auf das unterste mögliche Spannungsniveau (3V) herunter. Je höher die potentiell zu messenden Temperaturen desto geringer die interne Kapazität...
    Also einfach 5V parasitär und 4.7k Pullup und gut. Rennt bei mir jedenfalls wunderbar durchs ganze Haus.


  • Der Pullup hat mit der Energieversorgung nichts zu schaffen,

    habe ich auch nicht behauptet !


    Da steht auch nirgends was von niedrigem Pullup bei mehreren Devices.

    da steht aber auch nicht das 4,7k pullup für jede kapazitive Last reicht !


    Grössere Entfernungen gehen m.E. nur vernünftig im parasitären Betrieb,

    dafür habe ich keinen Beleg


    über verdrillte Leitung, sonst sind Störungen vorprogrammiert.

    ist normal und braucht nicht erwähnt zu werden


    Parasitär brauche ich aber die Spannungs/Energiereserve in den internen Kondensatoren, kann also nicht auf das unterste mögliche Spannungsniveau (3V) herunter.

    damit kann ich mich auch ohne Beweise anfreunden

    Je höher die potentiell zu messenden Temperaturen desto geringer die interne Kapazität...

    damit auch, ist aber bei "Raumtemperaturen" wohl nicht so das Problem

    Also einfach 5V parasitär und 4.7k Pullup und gut. Rennt bei mir jedenfalls wunderbar durchs ganze Haus.

    bei mir eben nicht !

    und du verschweigst wie das Timing mit 4,7k pauschal eingehalten werden soll wenn die kapazitive Last steigt und warum du 4,7k als Allheilmittel ansiehst was nachweislich bei mir nicht funktioniert hatte.

    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)


  • Also einfach 5V parasitär und 4.7k Pullup und gut. Rennt bei mir jedenfalls wunderbar durchs ganze Haus.


    Bist Du sicher, dass Du parasitär meinst? Woher kommen dann die 5V? Oder betreibst Du den Pullup gegen 5V?
    Im übrigen habe ich weder mit parasitärer Stromversorgung (4 Sensoren) an 3,3V noch mit externer (16 Sensoren) Probleme . Aber egal wie Deine Meinung ist, ich musste wohl oder übel runter mit dem Widerstand. Im übrigen ist ein Beispiel in einem Datenblatt eben nur ein Beispiel (meist auch nur die Minimalbeschaltung). Entscheidend sind doch die Angaben in den Diagrammen und Tabellen.

  • dafür habe ich keinen Beleg


    ist normal und braucht nicht erwähnt zu werden


    Die Verdrillung macht eben nur in Kombi. mit parasitärem Betrieb Sinn. Sobald ich durch die separate Spannungsversorgung einen zusätzlichen Strompfad aufmache habe ich (in Data/Masse) keine symmetrischen Ströme und Spannungen mehr, womit der entstörende Effekt dieses Prinzips nicht mehr gegeben ist.


  • Die Verdrillung macht eben nur in Kombi. mit parasitärem Betrieb Sinn. Sobald ich durch die separate Spannungsversorgung einen zusätzlichen Strompfad aufmache habe ich (in Data/Masse) keine symmetrischen Ströme und Spannungen mehr, womit der entstörende Effekt dieses Prinzips nicht mehr gegeben ist.


    Legt Ihr bei langen Leitungen die Stromversorgung mit dem Kabelstrang? So ist das eigentlich nicht gedacht. Normalerweise baut man die Stromversorgung doch in die Nähe des Sensors. Zum Experimentieren habe ich ab und an mal die 5V vom RasPi benutzt. Im "Wirkbetrieb" haben die Sensoren eigene Stromversorgungen entweder aus dem Schaltschrank oder mit Steckernetzteil aus Dose. Legt Ihr echt eine 5V Leitung mit der Datenleitung 50m weit?

  • bei mir eben nicht !

    und du verschweigst wie das Timing mit 4,7k pauschal eingehalten werden soll wenn die kapazitive Last steigt und warum du 4,7k als Allheilmittel ansiehst was nachweislich bei mir nicht funktioniert hatte.


    Ich habe ja geschrieben, ich verstehe es nicht. Wir haben an Leitungskapaziät (Telefonleitung) was bei 100nF/km. Die unbeteiligten Sensoren sollten sich während Kommunikationsphasen neutral verhalten, wirken also auch nur parasitär, wobei dazu nichts im Datenbaltt steht. Es bräuchte z.B. unrealistisch hohe 100nF pro Sensor, um bei 4.7k ab vier Sensoren die Grenzfrequenz unter 100kHz zu drücken...

    Egal, Praxis schlägt Theorie, und wenn es bei euch mit <4.7k besser läuft, ok. Warum bleibt für mich persönlich ein Rätsel.

    Übrigens hatte ich meine Sensoren bisher an einer proprietären USB-IO-Karte (5V parasitär 4.7k), über Jahre ohne irgend welche Probleme. Um meine bisherige 40W-Linux-Kiste abzulösen bin ich auf den Pi umgestiegen, woran diese Karte aber nicht lief. Habe dann auch kurz probiert, die Sensoren direkt mit GPIO (3.3V) anzusteuern, was aber nur Müll ergab. In Kombi mit anderen Faktoren habe ich mich dann entschieden die an einen Arduino (Uno) zu hängen (5V parasitär 4.7k) und jetzt laufen die wieder einwandfrei (noch im Testbetrieb)...


    Legt Ihr bei langen Leitungen die Stromversorgung mit dem Kabelstrang? So ist das eigentlich nicht gedacht. Normalerweise baut man die Stromversorgung doch in die Nähe des Sensors. Zum Experimentieren habe ich ab und an mal die 5V vom RasPi benutzt. Im "Wirkbetrieb" haben die Sensoren eigene Stromversorgungen entweder aus dem Schaltschrank oder mit Steckernetzteil aus Dose. Legt Ihr echt eine 5V Leitung mit der Datenleitung 50m weit?


    Ich denke, das wird doch eher der Normalfall sein? Wenn man die dezidierte Stromversorgung über ein zweites Aderpaar macht geht das natürlich auch. Dann darf die Masse aber erst am Sensor zusammengeschlossen werden und das Netzteil muss sich gegenüber Data (Masse) des Sensorbusses quasi potentialfrei verhalten. Damit sind wir dann aber bei einem Vierleitersystem (2x2).
    Ich nutze hier grösstenteils Telefonleitung, die ich ursprünglich zur Steuerung der Rollladen (unterputz) in alle Räume (Rolladenkästen sowie bis zu den ehemaligen Gurtwicklerkästen) gezogen habe. In Summe habe ich so etwas über 50m verlegt, wobei die direkte Entfernung zum entferntesten Sensor etwa 15m betragen dürfte. Geht, wie gesagt, parasitär - bei geeigneter Ansteuerung durch den Master - wunderbar.

    Einmal editiert, zuletzt von habichthugo (15. August 2014 um 10:49)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!