1-wire DS18b20

  • Hallo,

    ich habe zur Zeit ein Problem mit folgendem Phänomen, und zwar habe ich einen Raspberry Pi3 welchen ich schon länger als Temperaturlogger für eine Lagerhalle benutze. Der Raspberry liest den DS18b20 aus und schreibt den gemessenen Wert periodisch in eine Datenbank auf meiner Synology Diskstation, das ganze hat nun seit über einem Jahr blendend funktioniert (unter Jessie ohne Device Tree).

    Ich habe den Raspberry nun aber neu aufgesetzt mit Stretch lite, seit dem Update auf dem sonst jungfräulichem Pi wird der Sensor zwar mit 28-0516c027e6ff erkannt, er gibt bei cat 28-0516c027e6ff/w1_slave aber nur nullen aus. Die Verdrahtung wurde hierbei nicht verändert. Des weiteren wurden schon verschiedene GPIO ports getestet, alle mit dem gleichen resultat.

    Die config.txt wurde natürlich mit

    Code
    dtoverlay=w1-gpio,gpiopin=4

    und dem richtigen gpiopin angepasst. Die Module sind nach abfrage mit

    Code
    lsmod

    alle ordnungsgemäß geladen. Wo kann denn der Fehler liegen? Ach ja, die 3,3 V wurden auch schon mit dem Multimeter überprüft.

    Zu meiner Verdrahtung:

    Da an der Hardware keine Änderung stattgefunden hat, verstehe ich das Problem nicht ganz, vor allem, da der Sensor wie gesagt ja ordnungsgemäß erkannt wird, nur keine Werte ausspuckt.

    Im Vorraus schon besten Dank für eure Hilfe.

  • Hast Du die /boot/overlays/README gesehem ?

    Schau mal auf Deiner installierten Distri nach.

    Du könntest "w1-gpio-pullup" benötigen.


    Servus !

    Spoiler anzeigen

    Name: w1-gpio

    Info: Configures the w1-gpio Onewire interface module.

    Use this overlay if you *don't* need a GPIO to drive an external pullup.

    Load: dtoverlay=w1-gpio,<param>=<val>

    Params: gpiopin GPIO for I/O (default "4")

    pullup Non-zero, "on", or "y" to enable the parasitic

    power (2-wire, power-on-data) feature


    Name: w1-gpio-pullup

    Info: Configures the w1-gpio Onewire interface module.

    Use this overlay if you *do* need a GPIO to drive an external pullup.

    Load: dtoverlay=w1-gpio-pullup,<param>=<val>

    Params: gpiopin GPIO for I/O (default "4")

    pullup Non-zero, "on", or "y" to enable the parasitic

    power (2-wire, power-on-data) feature

    extpullup GPIO for external pullup (default "5")


    RTFM = Read The Factory Manual, oder so

  • Problem Gelöst.

    Danke RTFM, von der README hab ich bis jetzt nichts gewusst, die ist spitze!!!


    habe den Eintrag in der Config nun wie folgt abgeändert, und funktioniert jetzt einwandfrei:

    Code
    dtoverlay=w1-gpio,gpiopin=18,pullup=on

    hatte das zwar vorher schon mal probiert, aber da wahrscheinlich einen Fehler drinn gehabt.

    Danke für die Schnelle und kompetente Hilfe.

    Habe die Ehre und Servus!

  • habe den Eintrag in der Config nun wie folgt abgeändert, und funktioniert jetzt einwandfrei:

    kann natürlich auch wieder mal entfallen oder abgeschaltet werden.

    Sicherer ist man stets mit echtem externen pullup wo man auch dne Wert bestimmen kann, für kurze Leitungen genügt der interne oder 10k-47k, für längere Leitungen muss man mit dem pullup schon mal auf 1k runter, aber sollte nicht mehr viel unter diesen gehen.

    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)

  • Schön, dass es noch geklappt hat, bevor Dein Thread nach 24 Stunden unbeantwortet aus der Anzeige rausfällt.

    Und ganz ehrlich. Ich hatte vorher auch nicht gewusst, dass der 1-wire Sensor jetzt auch im, Parasite-Power-Modus am Pi betrieben werden kann.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Ich hatte vorher auch nicht gewusst, dass der 1-wire Sensor jetzt auch im, Parasite-Power-Modus

    warum sollte das nicht gehen?

    der DS18B20 weiss doch nichts vom PI oder Arduino/AVR

    wichtig ist nur das der pullup niederohmig genug ist ohne PI/Arduino und DS18B20 strommäßig bei low zu überfordern, genügend Strom liefern kann um die Kabelkapzität schnell umzuladen bevor dem DS der Saft ausgeht und dem DS genug Pause zwischen 2 Messungen >1s lassen damit sich der DS Kondensator intern wieder aufladen kann.

    Das 3,3V vom PI weniger Energie im Kondensator speichern als 5V vom Arduino/AVR ist ja bekannt.

    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)

  • Deshalb habe ich, vor Jahrenm einen parasitärenTestaufbau am Steckbrett "just 4 fun" gar nicht erst begonnen.

    und als ich meine am Atmel funktionierende Verkabelung auf den PI klemmte ging erst mal nichts, als beließ ich es beim Atmel.

    War mir zu doof die Ursache zu suchen,

    heute weiss ich:

    pullup niederohmiger

    Treiberstrom beachten

    Pausen ausreichend lang

    Pi ist wegen immerwährender Sperenzchen (SSH Zertifikat abgelaufen, SD Karte stirbt uvam.) ungeeignet, alles Dinge mit dem mich der AVR in den letzten 8 Jahren verschonte.

    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)

Jetzt mitmachen!

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