Sporadischer Ausfall 1-wire ds18b20

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo alle zusammen,

    ich habe ein kleines Problem mit den Temperatursensoren DS18B20 über 1wire am Raspberry PI.

    Habe mir eine Testplatine mit 10 dieser Sensoren gebastelt.
    Soweit so gut. Grundsätzlich funktioniert das alles soweit.

    Mein Problem ist, das nach einiger Zeit immer wieder einzelne Sensoren ausfallen, die dann auch mal wieder funktionieren (Sporadisch).
    Auf dem Raspberry sind unter /sys/devices/w1_bus_master1 die Ordner der ausgefallenen Sensoren dann auch nicht mehr zu finden.[/php]

    Versucht habe ich schon folgendes:

    Hardware
    -Pullup Widerstand variiert von 800Ohm bis 4k7
    -Leitungslänge von 20cm bis 30m
    -Kondensator 100nF zwischen GND und Versorgungsspannung
    -Spannungsversorgung der DS18B20 von extern eingespeist

    Software
    -in der Datei /etc/modprobe.d/1-wire.conf folgendes eingetragen
    options wire max_slave_count=20
    options wire timeout=100

    Laut Google haben dieses Problem mehrere Leute. Leider habe ich noch nirgens eine passende Lösung gefunden.
    Wenn irgendwer noch eine Idee hat was man versuchen könnte wäre ich um jeden Hinweis dankbar.
    Sehr interessant wären auch mehr infos zum 1wireTreiber.

    Einmal editiert, zuletzt von Stefantaust (29. November 2014 um 22:17)

  • Hallo.


    Mein Problem ist, das nach einiger Zeit immer wieder einzelne Sensoren ausfallen, die dann auch mal wieder funktionieren (Sporadisch).


    Mit dem Prob hab ich auch mal ne Weile gekämpft.
    Versuche es mit ner abgeschirmten Leitung.
    Das mag zwar unlogisch bei der rel. kurzen Leitung klingen, ist es aber nicht.
    Den Schirm aber nur Pi-seitig auf Masse legen, sonst hast Du ne Masseschleife.

    Ich musste bei mir sogar die DQ Signalleitung über nen pull-down ~22kOhm auf Masse ziehen.
    Seitdem ist absolute Ruhe im Gebälk.
    viel Efolg

    gruß root

  • Hallo,
    habe den 22k gegen Masse und die geschirmte Leitung ausprobiert, brachte leider keinen Erfolg!
    Ich habe sogar die Sensoren gegen neue ausgetauscht, das wars leider auch nicht.

    Da sich die Sensoren ja nicht mehr ändern, könnte ich die IDs fest eintragen und die Suche nach neuen IDs beenden

    siehe hier: Link


    Leider weis ich nicht genau, wie und wo ich das eintragen kann

    Grüsse
    Stefan

  • Hallo.


    Da sich die Sensoren ja nicht mehr ändern, könnte ich die IDs fest eintragen und die Suche nach neuen IDs beenden


    Das ist korrekt.


    Leider weis ich nicht genau, wie und wo ich das eintragen kann


    Weis ja nicht, in welcher Sprache Du programmierst, aber ich kann es Dir zeigen, wie ich es in C gemacht habe.
    def der Sensoren:

    Code
    char *file_1 = "/sys/devices/w1_bus_master1/28-0000055e93c9/w1_slave";
    char *file_2 = "/sys/devices/w1_bus_master1/28-0000055f2593/w1_slave";
    char *file_3 = "/sys/devices/w1_bus_master1/28-0000055f1ef0/w1_slave";
    char *file_4 = "/sys/devices/w1_bus_master1/28-0000055f29bb/w1_slave";


    Aufruf zum lesen:

    Code
    while (1) {
    		err = read_sensor(1);
    		err = read_sensor(2);
    		err = read_sensor(3);
    		err = read_sensor(4);


    lesen,checken und auswerten der Sensoren:


    Aber das wird Dich nicht weiterbringen, denn wenn ein Sensor nicht gelesen werden kann existiert das File nicht und ein fopen() schlägt fehl.
    Da sie offensichtlich sporatisch ausfallen, ist der nächste Versuch wieder erfolgreich, und das File existiert wieder.

    Bei diesen komischen Ausfällen muss ich im Moment leider auch passen,
    da bei mir seitdem Ruhe ist.
    Die laufen hier im 24/7 Betrieb, und das seit Monaten.
    Vlt. noch eines:
    Ich betreibe die Dinger mit 5 V.
    Die Datenleitung DQ zum raspi geht über einen Levelshifter, da raspi absolut keine 5V mag.
    Mag sein, dass es daran liegt.
    gruß root

    Einmal editiert, zuletzt von root (1. Dezember 2014 um 15:22)

Jetzt mitmachen!

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