Hallo zusammen,
ich will 20 Temperatursensoren vom Typ DS18B20, über den 1-Wire Bus, an einem Raspberry Pi betreiben und die Temperatur messen. Es handelt sich bei diesen Sensoren um die wasserdichte Ausführung, welche ein 1m langes Kabel dran hat. Bis ca. 14 Sensoren klappt auch alles super und er gibt mir die Temperaturwerte korrekt aus. Wenn ich aber mehr Sensoren anschließen (20 Stück), gibt er mir zuerst die korrekten Werte für alle Sensoren aus. Nach aber ca. 100 richtigen Messungen werden die Temperatursensoren nicht mehr vom Pi erkannt. Sie werden auch im Ordner /sys/devices/w1_bus_master1 nicht mehr aufgelistet. Nach dem Herunterfahren und neu starten werden die Sensoren wieder erkannt.
In die Datei etc/modprobe.d/1-wire.conf habe ich folgende Zeile ergänzt: options wire max_slave_count=30
Nach folgendem Schema habe ich die Sensoren angeschlossen:
Ich habe schon verschiedene Sachen ausprobiert:
- verändern des Pullup Widerstandes der Datenleitung (1,8k / 2,35k / 3,3k / 4,7k)
- die Sensoren mit 5V Versorgungsspannung (VDD) betrieben (Datenleitung über Pullup an 3,3V)
- externes Netzteil welches mehr Strom zur Verfügung stellt verwendet
- GPIO gewechselt (GPIO21 statt GPIO4 verwendet) --> in /boot/config.txt habe ich dann folgendes eingetragen: dtoverlay=w1-gpio,gpiopin=21
Die ganzen Maßnahmen haben aber keine Besserung gebracht.
Hat von euch noch jemand Tipps, was ich noch versuchen könnte?
Gruß Toni