ich habe ein kleines Problem mit den Temperatursensoren DS18B20 über 1wire am Raspberry PI.
Habe mir eine Testplatine mit 10 dieser Sensoren gebastelt und lese diese über das angepasste Beispielprojekt aus.
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).
Ich denke, da auf dem Raspberry unter /sys/devices/w1_bus_master1 die Ordner der ausgefallenen Sensoren dann auch nicht mehr angezeigt werden, der Fehler nicht in der SPS, sondern Hardwareseitig bzw. im Treiber auf dem Raspberry zu suchen ist.
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
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
wie lange fallen die den aus wenn die "weg" sind?
Kommen die dann wieder selber an den Bus?
Klar wenn es blos paar Messungen sind das Sie weg sind könnte man ja nicht Fehlmessungen rausfiltern..
Es ist sehr unterschiedlich. Einen Sensor habe ich dabei, der immer wieder ausfällt. Meist nur für ein paar Mituten, manchmal aber auch für eine halbe Stunde.
Dies ist auch abhängig davon, welchen Wert ich für timeout in die 1-wire.conf eintag.
Der timeout Wert in der config ist für das Suchen nach neuen Sensoren auf dem Bus in Minuten.
Bei größeren Werten (30) fallen die Sensoren seltener aus. Allerdings dann auch für längere Zeit. Was ja auch logisch ist.
Wenn ich sicher wüsste, dass die Sensoren nach der nächsten Messung wieder da sind könnte ich schon damit leben. Da mein Projekt aber eine Temperaturregelung für ein Haus werden sol,l muss ich mich schon darauf verlassen können, dass ich mindestens alle viertel Stunde einen richtigen Wert bekomme.
Werde mich am Sonntag mal durch den Link lesen und arbeiten. Vielen dank dafür.
Bin aber weiterhin für Tipps uns Links dankbar.
Ich habe selbst noch eine Idee. Im 1wire Treiber gibt es (wenn ich es richtig verstanden hab) die Möglichkeit die vorhandenen ID´s in die ADD Datei einzutragen.
Somit könnte ich die Suche nach neuen Sensoren deaktivieren. Was meiner Meinung nach daran schuld ist, dass immer wieder Sensoren ausfallen. Dies werde ich ebenfalls am Sonntag testen.
Mfg
David
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo
Ewtl. kannst Du es ja mit einem "1-Wire Busmaster / USB Hostadapter DS9490R" versuchen.
Die Firma Elaborated Networks vertreibt ein Wiregate die Software ist speziell auf I-wire ausgelegt.
Dort gibt es seit kurzem einen Profi Busmaster http://shop.wiregate.de/wiregate/professional-busmaster-1.html
ob der aber mit einem RPi läuft kann ich nicht sagen.
Gruß NetFritz
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hab jetzt eine Lösung gefunden mit der ich gut leben kann.
Ich habe die kontinuierliche Suche nach Sensoren in der Datei 1-wire.conf mit
"options wire search_count=0"
deaktiviert.
Dann dem Treiber die Sensoren angelernt, durch eintragen der ID in die Datei w1_master_add.
Dazu habe ich mir ein Skript geschrieben das nach jedem Neustart die Sensoren nacheinander in die w1_master_add schreibt.
Jetzt kommt es zwar noch zu CRC Fehlern. Aber nur noch ca. 1 Fehler pro Stunde.
Da die Sensoren ja alle ca. 10 Sekunden ausgelesen werden, stört mich das nicht.
Mfg
David
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Moin
Nach dem Update auf die Runtime vom Pi auf 2.1.0.0 und der neuen V3.5.Sp6 funktioniuert 1Wire nicht richtig.
Es werden falsche devices angelegt.
00-800000000000 -> falsch nicht vorhanden
00-aabbccddeeff -> falsch nicht vorhanden
10-0008019c4d67 -> richtige ID
w1_bus_master1
Mit der alten version war das nicht und es wurde sogar der 2te DS18B20 gefunden.
Was könnte die URsache sein ???
Gruß Herbert
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
also ich habs nun nochmals getestet mit Pi 2 und neuem Image.
Wenn man einen 4K7Ohm Wiederstand zwischen 3.3V und GPIO4 macht funktioniert das bei mir...
Mag sein das es auch was mit dem neuen Kernel und der Tatsache zu tun hat.
Da sich beim Betriebssystem des Pi was geändert hat funktionierten die Temperatur sensoren nicht mehr.
Schuld ist die neue Tree Funktion für die Treiber.
4.3: Disabling device tree usage
If you decide this DT lark isn't for you (or for diagnostic purposes), you can disable DT loading and force the kernel to revert to the old behaviour by adding:
device_tree=
to config.txt. Note, however, that future kernel releases may at some point no longer support this option.
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 und lese diese über das angepasste Beispielprojekt aus.
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).
Ich denke, da auf dem Raspberry unter /sys/devices/w1_bus_master1 die Ordner der ausgefallenen Sensoren dann auch nicht mehr angezeigt werden, der Fehler nicht in der SPS, sondern Hardwareseitig bzw. im Treiber auf dem Raspberry zu suchen ist.
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.
Hi,
wie lange fallen die den aus wenn die "weg" sind?
Kommen die dann wieder selber an den Bus?
Klar wenn es blos paar Messungen sind das Sie weg sind könnte man ja nicht Fehlmessungen rausfiltern..
Es scheint echt ein weit verbreitetes Problem zu sein. Vielleicht hilft der Link noch weiter;
http://www.raspberrypi.org/forums/viewt ... ue#p514641
Grüße
Edwin
Hallo,
vielen dank für die schnelle Antwort.
Es ist sehr unterschiedlich. Einen Sensor habe ich dabei, der immer wieder ausfällt. Meist nur für ein paar Mituten, manchmal aber auch für eine halbe Stunde.
Dies ist auch abhängig davon, welchen Wert ich für timeout in die 1-wire.conf eintag.
Der timeout Wert in der config ist für das Suchen nach neuen Sensoren auf dem Bus in Minuten.
Bei größeren Werten (30) fallen die Sensoren seltener aus. Allerdings dann auch für längere Zeit. Was ja auch logisch ist.
Wenn ich sicher wüsste, dass die Sensoren nach der nächsten Messung wieder da sind könnte ich schon damit leben. Da mein Projekt aber eine Temperaturregelung für ein Haus werden sol,l muss ich mich schon darauf verlassen können, dass ich mindestens alle viertel Stunde einen richtigen Wert bekomme.
Werde mich am Sonntag mal durch den Link lesen und arbeiten. Vielen dank dafür.
Bin aber weiterhin für Tipps uns Links dankbar.
Ich habe selbst noch eine Idee. Im 1wire Treiber gibt es (wenn ich es richtig verstanden hab) die Möglichkeit die vorhandenen ID´s in die ADD Datei einzutragen.
Somit könnte ich die Suche nach neuen Sensoren deaktivieren. Was meiner Meinung nach daran schuld ist, dass immer wieder Sensoren ausfallen. Dies werde ich ebenfalls am Sonntag testen.
Mfg
David
Hallo
Ewtl. kannst Du es ja mit einem "1-Wire Busmaster / USB Hostadapter DS9490R" versuchen.
Die Firma Elaborated Networks vertreibt ein Wiregate die Software ist speziell auf I-wire ausgelegt.
Dort gibt es seit kurzem einen Profi Busmaster
http://shop.wiregate.de/wiregate/professional-busmaster-1.html
ob der aber mit einem RPi läuft kann ich nicht sagen.
Gruß NetFritz
Hallo,
hab jetzt eine Lösung gefunden mit der ich gut leben kann.
Ich habe die kontinuierliche Suche nach Sensoren in der Datei 1-wire.conf mit
"options wire search_count=0"
deaktiviert.
Dann dem Treiber die Sensoren angelernt, durch eintragen der ID in die Datei w1_master_add.
Dazu habe ich mir ein Skript geschrieben das nach jedem Neustart die Sensoren nacheinander in die w1_master_add schreibt.
Jetzt kommt es zwar noch zu CRC Fehlern. Aber nur noch ca. 1 Fehler pro Stunde.
Da die Sensoren ja alle ca. 10 Sekunden ausgelesen werden, stört mich das nicht.
Mfg
David
Moin
Nach dem Update auf die Runtime vom Pi auf 2.1.0.0 und der neuen V3.5.Sp6 funktioniuert 1Wire nicht richtig.
Es werden falsche devices angelegt.
00-800000000000 -> falsch nicht vorhanden
00-aabbccddeeff -> falsch nicht vorhanden
10-0008019c4d67 -> richtige ID
w1_bus_master1
Mit der alten version war das nicht und es wurde sogar der 2te DS18B20 gefunden.
Was könnte die URsache sein ???
Gruß Herbert
Hallo Herbert,
verwendest du unser Image oder hast du das update der sps über
das debian Packet eingespielt?
Grüße
Edwin
Hallo Edwin
Ich benutze das neuste Image von euch.
Grüße Herbert
Hi Herbert,
also ich habs nun nochmals getestet mit Pi 2 und neuem Image.
Wenn man einen 4K7Ohm Wiederstand zwischen 3.3V und GPIO4 macht funktioniert das bei mir...
Mag sein das es auch was mit dem neuen Kernel und der Tatsache zu tun hat.
/boot/config.txt
#kernel fix >= 3.18
dtparam=i2c_arm=on
dtparam=spi=on
dtoverlay=w1-gpio-pullup,pullup=1
(könnte auch helfen ,pullup=1)
zu rentfernen... musst mal checken.
Grüße
Edwin
Moin
Endlich wieder Zeit mit dem PI zuspielen.
Da sich beim Betriebssystem des Pi was geändert hat funktionierten die Temperatur sensoren nicht mehr.
Schuld ist die neue Tree Funktion für die Treiber.
4.3: Disabling device tree usage
If you decide this DT lark isn't for you (or for diagnostic purposes), you can disable DT loading and force the kernel to revert to the old behaviour by adding:
device_tree=
to config.txt. Note, however, that future kernel releases may at some point no longer support this option.
mfg Herbert
Hier noch ein Link
http://raspberry.tips/faq/raspberry-pi- ... hr_w1-gpio m