Probleme mit DS18B20

  • Hallo,

    ich wollte den Temperatursensor DS18B20 an meinen Raspberry pi 5 anschließen und bin genau nach der Anleitung https://webnist.de/temperatur-sen…-pi-mit-python/ vorgegangen.

    Die Aktivierung des 1-Wire scheint auch noch geklappt zu haben:

    Code
    pi@Raspberrypi:~ $ sudo lsmod
    
    w1_therm               49152  0
    w1_gpio                49152  0
    wire                   65536  2 w1_gpio,w1_therm

    Das Auslesen funktioniert aber nicht. Nach Eingabe von

    Code
    cd /sys/bus/w1/devices
    ls

    wird mir nur ein Verzeichnis mit “w1_bus_master1” angezeigt, das für mich wichtige Verzeichnis mit einer Code-Bezeichnung der Art "28-0516848e26ff“ fehlt leider.


    Könnt ihr mir bitte weiterhelfen?


    Vielen Dank


    LG Bader

  • Welche Firmware hast du denn drauf? Ich nutze , das ESP32 immer Tasmota. Das wird dann leichter und einfacher. Willst du den Temperatur-Sensor ins Smarthome einbinden?

    Mit Sicherheit doch ja, hast du noch andere Devices, dafür? Ein ESP32 Modul an den Pi "zu koppeln" -> ohne dahinter das effektiv zu nutzen (MQTT etc.) / Werte sollen ja irgendwo hin ... ! Sag mal, was genau du vor hast, dann kann man auch helfen.

  • Moin Bader,

    dann wollen wir mal auf dein Probelm reagieren ;-))

    Deine Webseite ist, zumindest was die Module betrifft, einfach nur veraltet. Anders wie auf der Webseite beschrieben, braucht man keine Module laden. Einfach das Overlay eintragen und neustarten. Ob das Python-Programm funktioniert muss man später sehen.
    Es reicht, wenn du dir das richtige Overlay in der /boot/firmware/config.txt einträgst. Dazu solltest du dir die Datei /boot/firmware/overlays/README durchlesen. Seit dem RPi 5 gibt es für das W1-Protokoll 2 Overlays.

    Code
    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                  Now enabled by default (ignored)
    
    
    Name:   w1-gpio-pi5
    Info:   See w1-gpio (this is the Pi 5 version)

    Das ist ein Auszug aus der README.

    Ich habe das mal eben mit einem RPI3b nach gebaut. Hier das Ergebnis:

    Code
    ls -l /sys/bus/w1/devices/
    insgesamt 0
    lrwxrwxrwx 1 root root 0 28. Apr 18:44 28-00000b67ec43 -> ../../../devices/w1_bus_master1/28-00000b67ec43
    lrwxrwxrwx 1 root root 0 28. Apr 18:39 w1_bus_master1 -> ../../../devices/w1_bus_master1
    
    cat /sys/bus/w1/devices/28-00000b67ec43/w1_slave 
    50 01 4b 46 1f ff 10 10 d9 : crc=d9 YES
    50 01 4b 46 1f ff 10 10 d9 t=21000

    Falls noch Fragen sind, bitte nachfragen.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Hallo,

    vielen Dank für eure Antworten. Angeschlossen habe ich den Sensor wie unter https://cbrell.de/blog/raspilab-…it-dem-bs18b20/ beschrieben.

    @ Bernd:1000 Dank. Ich habe /boot/firmware/config.txt verändert und die /boot/firmware/overlays/README durchgelesen (bin damit nicht richtig klargekommen)

    Bei /boot/firmware/config.txt steht jetzt :



    Allerdings das Ergebnis bleibt unklar, es scheint nicht zu funktionieren:


    Code
    pi@Raspberrypi:~ $ ls -l /sys/bus/w1/devices/
    total 0
    lrwxrwxrwx 1 root root 0 Apr 29 19:18 00-240000000000 -> ../../../devices/w1_bus_master1/00-240000000000
    lrwxrwxrwx 1 root root 0 Apr 29 19:18 00-440000000000 -> ../../../devices/w1_bus_master1/00-440000000000
    lrwxrwxrwx 1 root root 0 Apr 29 19:18 00-c40000000000 -> ../../../devices/w1_bus_master1/00-c40000000000
    lrwxrwxrwx 1 root root 0 Apr 29 18:44 w1_bus_master1 -> ../../../devices/w1_bus_master1

    Kannst du/jemand mir bitte helfen? Ich bin leider totaler Anfänger und stelle dumme Fragen.

    Danke!

    LG Bader

  • Moin Bader,

    ich zitere mal mich selber..

    Name: w1-gpio-pi5 Info: See w1-gpio (this is the Pi 5 version)

    Du hast, laut Überschrift einen RPi5, oder?

    Dann sollte dein Eintrag in der config.txt so aussehen.

    dtoverlay=w1-gpio-pi5,gpiopin=4

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Hallo Bernd,

    ja, ich habe einen RPi 5 (Trixie). Meine Datei /boot/firmware/config.txtsieht nun so aus:


    Das Ergebnis ist leider:


    Code
    pi@Raspberrypi:~ $ ls -l /sys/bus/w1/devices/
    total 0
    lrwxrwxrwx 1 root root 0 Apr 29 20:14 00-600000000000 -> ../../../devices/w1_bus_master1/00-600000000000
    lrwxrwxrwx 1 root root 0 Apr 29 20:14 00-a00000000000 -> ../../../devices/w1_bus_master1/00-a00000000000
    lrwxrwxrwx 1 root root 0 Apr 29 20:14 00-e00000000000 -> ../../../devices/w1_bus_master1/00-e00000000000
    lrwxrwxrwx 1 root root 0 Apr 29 20:09 w1_bus_master1 -> ../../../devices/w1_bus_master1

    Was mache ich falsch?


    LG Bader

  • Moin Bader,

    ich habe mir mal die Webseite aus deinem Beitrag #4 angesehen. Er nutzt den GPIO-Pin 21!!!!
    Wenn du in der config.txt als Parameter GPIOPIN=4 einträgst, dann musst du auch diesen Pin nehmen. Der Pin liegt, lut Belegungsplan, auf dem physischen Pin 7. Siehe diese Seite: https://pinout.xyz.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Moin Bernd,

    ich habe die config.txt abgeändert und dir Bilder geschickt, wie ich das Ganze angeschlossen habe.

    Irgendwas ist da wohl faul, es klappt immer noch nicht.

    Vielen Dank für deine geduldige Hilfe!!


    LG Bader

  • Hallo,


    ich habe nochmals umgesteckt:

    der gelbe Draht (VDD) an GPIO 4 (Pin7, innen), weißer Draht (DQ, Signal) an GPIO 24 (Pin 18, außen), schwarzer Draht an GND (Pin39,innen).

    Klappt leider immer noch nicht. Irgendwas mach ich falsch.

    LG Bader

  • Moin Bader,

    FALSCH!
    VDD muss an 3,3V Pin1(innen), DQ an Pin7(innen) und GND kann an Pin39(innen) bleiben.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Moin Bernd,

    vielen Dank fur deine tolle Hilfe und deine Geduld für mich als hoffnungslosen Fall. Ich habe umgesteckt, leider klapppt es immer noch nicht! DQ der Datenpin ist an GPIO 4 (Pin 7) so, wie es in der Datei /sys/boot/config.txt steht:

    Code
    dtoverlay=w1-gpio-pi5,gpiopin=4

    Es tut sich leider immer noch nichts, keine Ahnung, was ich (nochmals) überprüfen soll.

    Vielen vielen Dank für deine tolle Hilfe!

    LG Bader

  • Moin Bader,

    dann schauen wir uns mal den 18BS20 an. Der Sensor steckt im Steckbrett und die flache Seite zeigt zu dir. Dann ist:

    - links GND Pin 6
    - mitte DQ Pin7
    - rechts 3,3V Pin1
    und der Widerstand wird mit der Mitte und dem rechten Bein des Sensors verbunden.

    Soweit sollte alles stimmen.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Moin Bernd,

    sehr nett von dir. Eine Frage: Wo ist links bzw, rechts? Ich habe im Internet nachgeschaut und bin zum Entschluss gekommen, dass es aus der Perspektive von "hinten" stammt, als wenn man auf die abgerundete Hälfte schaut, die flache ist einem abgewandt.


    Soweit habe ich es aufgebaut, leider immer noch ohne Erfolg. Ich habe auch den Sensor erfolglos getauscht. Was nun?

    Vielen Dank für deine Hilfsbereitschaft!!!!!

    LG Bader

  • Moin Bader;

    Der Sensor steckt im Steckbrett und die flache Seite zeigt zu dir. Dann ist:

    Zu deinen Bildern:

    Am Raspberry: Der gelbeDraht ist 3,3V, der weiße Draht ist DQ und der schwarze Draht ist GND.
    Am DS18B20: Ich meine das der gelbe und der schwarze Draht getauscht werden muss. Und der Widerstand muss auch umgeschwenkt werden. Weil DQ braucht die 3,3V.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Moin Bader,

    sach ma der Widerstand hat die Farben gelb,violett und schwarz? Wenn ja, dann sind das nur 470 OHM. Das ist dann zu wenig!
    Er sollte bei 3000 - 5000OHM sein oder anders ausgedrückt, zwischen 3 KOhm und 5 KOhm.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Moin Bernd,

    ich hab zur Sicherheit den Widerstand gegen einen (laut Etiketts des Herstellers) 4,7 kOhm Widerstand ausgetauscht.

    Hat wieder leider nicht fuktioniert, der Widerstand wurde nach kurzer Zeit merklich warm bis heiß.


    ?????????


    LG Bader

  • Moin Bader,

    das ist aber nun bedenklich. Ein 4,7K hat die Farben gelb,violett,orange und der vierte Ring ist Edelmetall, also Silber oder Gold.
    Ein Messgerät hast du nicht, oder?

    Ich werde morgen, bei Tageslicht, mal ein Foto von meinem Aufbau machen.
    Dann würde ich sagen, heute kommen wir nicht weiter.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Ich fürchte, dass Du den GPIO 4 im SoC schon längst geschrottet hast. Schon seitdem Du den Pullup gegen 5 V geschaltet hast. Da haben sich die 5 V vom Pullup mit den 3,3 V vom GPIO getroffen. Ob das zerstörungsfrei gelungen ist, weiss ich nicht.


    Du kannst aber mit "pintest" überprüfen, ob der GPIO 4 noch in Ordnung ist. Siehe "man pintest" und beachte das Warning.


    Seit mehr als 10 Jahren wird der interne Pullup immer aktiviert.

    Das wird auch im dtoverlay README eindeutig mit "pullup......Now enabled by default (ignored)" dokumentiert.

    Zum internen Pullup gesellt sich der zusätzliche externe pullup dazu, und es ergibt sich der Gesamtwiderstand für zwei parallel geschaltete Widerstände.

    Ich weiß nicht, warum die Forengranden und die Pi-Internetexperten das noch immer nicht berücksichtigen.


    Servus !

    RTFM = Read The Factory Manual, oder so

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!