DS18B20 wird hin und wieder nicht erkannt

  • Hallo,

    ich habe das Problem, das ein DS18B20 hin und wieder nicht
    erkannt wird. Manchmal läuft es tagelang ohne Probleme und
    dann steigt er aus und der Lüfter, der durch seine Werte gesteuert wird
    bleibt stehen. Das ist bei meiner Anwendung ein großes Problem.
    Dummerweise hilft auch kein Reboot, ich muß das Netzteil
    kurz trennen, das läuft wieder alles.
    Der Pullup Wiederstand ist 4,7 K groß, das ist ja der Standartwert bei einem
    einzelnen Sensor, bringt es was, ihn mal zu verkleinern?
    Das Kabel zum Sensor ist angeschirmt und ca. 1 Meter lang.

    Was könnte ich tun? Mal den Sensor wechseln, könnte das was bringen?
    Wie könnte ich den Raspberry dazu bringen, ihn nach einen Fehlerfall
    neu zu erkennen?

    Gruß Reinhard

  • Hallo Reinhard,

    wenn Du die Suchfunktion nutzt, wirst Du feststellen, dass Du der ca. 83. mit genau disem Phänomen bist.

    Es kann am Widerstand liegen, es kann an der Verschaltung liegen, es kann an der Software liegen, es kann an der Abfrage-Frequenz liegen.


    Wenn es sooo sehr wichtig ist, das DER EINE Temperatursensor erkannt wird, um den Lüfter zu regeln, dann müsstest Du eigentlich deren mehrere einsetzen (Erhöhung der Ausfallsicherheit durch Redundanz).

    Dann würde das Vorgehen so aussehen:
    1. mehrere Sensoren DS18B20 anschließen
    2. Poti (5k) und Widerstand (820 Ohm) setzen (in Reihe)
    3. am Poti die optimale Stellung finden, bei der die meisten bis alle Sensoren oft bis (fast) immer gefunden werden
    4. Software anpassen: Nicht festgelegte Verzeichnisse auslesen sondern jedes mal die Verzeichnisse ermitteln, die gerade da sind - diese dann gezielt auslesen
    5. Mittelwerte der gefundenen Sensoren bilden
    6. ein wenig Statistik betreiben: Welcher Sensor wie oft gefunden, welche Sensoren messen überwiegend übereinstimmend (jeweils in Abhängigkeit des Widerstands am Poti)
    7. "Schlechte" Sensoren austauschen und diesen Einfluss aufs Gesamtkonzept ermitteln
    ...
    Nach etlichen solcher Runden wirst Du den optimalen Widerstand passend zum Satz von 3 bis 4 Sensoren gefunden haben, bei dem über längere Zeit die geringste Störung auftritt.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (3. Februar 2017 um 16:00)

  • Servus,
    das mit dem Ein-/Ausschalten kannst Du probieren ... kann aber leicht sein, dass es nicht funktioniert, weil dem Sensor dann die Initialisierung fehlt.
    Es gibt afair aber einen Reset sowohl für den DS18B20 als auch für den gesamten 1-Wire Bus.
    Da müsstest Du vielleicht mal ein bisschen recherchieren ...

    cu,
    -ds-

  • Andreas:

    Das viele das Problem haben war mir schon bekannt, aber meist bei langen Leitungen und mehreren
    Sensoren. Ich bin immer davon ausgegangen, das man bei einem Sensor nicht mit dem Widerstand
    experimentieren braucht.
    Die Möglichkeit mit den mehreren Sensoren, die du beschreibst ist schon interessant, aber da der Fehler
    so selten auftritt schon zeitaufwendig.


    KrawallKurt:

    Zitat

    Das Netzteil trennen? Reicht es eventuell auch, den Sensor mal kurz zu trennen? Dann wäre es eventuell eine Option, den Sensor über 'nen Transistor zu schalten. Beim Abfragen einschalten und danach wieder aus.

    Gute Idee, ich habe den Sensor mal kurz abgezogen und dann einen Reboot ausgelöst und er war
    wieder da :thumbs1: . Schön dumm von mir, ich hätte vor dem Reboot schauen sollen, ob er wieder erkannt wird
    jetzt warte ich auf den nächsten Ausfall :(

    dreamshader

    Zitat

    das mit dem Ein-/Ausschalten kannst Du probieren ... kann aber leicht sein, dass es nicht funktioniert, weil dem Sensor dann die Initialisierung fehlt.
    Es gibt afair aber einen Reset sowohl für den DS18B20 als auch für den gesamten 1-Wire Bus.
    Da müsstest Du vielleicht mal ein bisschen recherchieren ...

    Guter Tip, da belese ich mich gleich mal.

    Vielen Dank erstmal!

    Gruß Reinhard

  • ich habe das Problem nach 5 Jahren am AVR (Atmel) entweder ist ein Sensor gealtert oder der Arbeitspunkt war vorher mit 2,2k Ohm grad an der Grenze.

    Muss ich auch suchen, doof passiert aber....

    1. Versuch neuer Sensor
    2. Versuch R auf 1,5k verringern bei mir.

    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!