[vz-users] Mehr als 10 1wire DS18B20 Sensoren?

Alexander vz at alex-j.net
Sat Nov 7 14:54:03 CET 2015


Hallo,

habe einige neue Erkenntnisse, jedoch noch keine Lösung. Von einer Grenze
von maximal 10 Sensoren kann ich nun nicht mehr sprechen, da ich es
zwischenzeitlich geschafft habe 12 Sensoren abzufragen. Aktuell gehe ich
davon aus, dass mit der Schaltung etwas nicht stimmt, ich weiß nur nicht,
wie ich die Ursache identifizieren kann.

Habe nun versucht das Problem auf Betriebssystem Ebene zu analysieren. Habe
also den vzlogger beendet. 1wirevz läuft natürlich auch nicht.

Anzahl der aktuell angeschlossenen Sensoren: cat
/sys/bus/w1/devices/w1_bus_master1/w1_master_slave_count
Liste der aktuell angeschlossenen Sensoren: cat
/sys/bus/w1/devices/w1_bus_master1/w1_master_slaves

Diese Liste müsste mit der Ausgabe von ls -l /sys/bus/w1/devices
übereinstimmen. Wobei es hier noch den Pfad w1_bus_master1 gibt.
Das Ergebnis von ls -l /sys/bus/w1/devices | grep -v '^total' | wc -l ist
demnach w1_master_slave_count + 1.

In meiner bestehenden Schaltung sind 10 Sensoren angeschlossen.

find /sys/bus/w1/devices -name "28-*" -exec cat {}/w1_slave \;

Jeder Sensor liefert einen Wert und der CRC Wert wird immer mit YES
bestätigt.

Beispiel:
5d 01 4b 46 7f ff 03 10 8c : crc=8c YES
5d 01 4b 46 7f ff 03 10 8c t=21812

Schließe ich nun einen weiteren Sensor an, ist nach wenigen Sekunden der
Wert w1_master_slave_count eins höher und es wird auch unter
/sys/bus/w1/devices ein Sensor mehr angezeigt. Bei allen Sensoren lässt
sich w1_slave abfragen und die Checksumme wird mit YES bestätigt.

Schließe ich nun z.B. 14 Sensoren an, ist der Wert w1_master_slave_count
kurzzeitig bei 14. Frage ich jedoch die Werte ab, wird z.B. folgendes
ausgegben:
ff ff ff ff ff ff ff ff ff : crc=c9 NO
5d 01 4b 46 7f ff 03 10 8c t=-62

Kurze Zeit später ist der w1_master_slave_count Wert bei 0 und es werden
keine Sensoren mehr unter /sys/bus/w1/devices aufgelistet.
Ich gehe nicht davon aus, dass ein einzelner Sensor defekt ist, da sie in
kleineren Schaltungen alle funktionieren.

Da ich nun ein Problem in meiner Schaltung suche, beschreibe ich diese
kurz.
Von der Pi Erweiterung gehen drei Adern (Klingeldraht) zu einer
Lüsterklemme. An dieser sind drei Cat5e Netzwerkkabel angeschlossen. Diese
drei Adern gehen dann zu einem Patchfeld und über Cat7 Kabel geht es in
drei verschiedene Räume. An den Netzwerkdosen sind nun kurze Cat5e
Patchkabel angeschlossen. Die Adern wieder auf eine Lüsterklemme und dort
sind ein oder mehrere Sensoren angeschlossen.
Schließe ich nun weitere Sensoren an, verändert sich dadurch die Schaltung
nicht groß. Die Kabellängen bleiben so gut wie gleich.
Ein einfaches Multimeter habe ich. 5V liegen überall auf der Phase an und
es gibt keine Kurzschlüsse in der Schaltung. Hat jemand eine Idee, was ich
hier prüfen sollte?

Vermutlich wird mir nichts anderes übrig bleiben als testweise alle
Sensoren in einer möglichst kleinen Schaltung anzuschließen. Was meint Ihr?

Gruß
Alexander

Am 6. November 2015 um 20:20 schrieb Matthias Behr <mbehr at mcbehr.de>:

> Falls nicht ein „YES“ zurückgeliefert wird, deutet das auf
> crc/Übertragungsprobleme hin. Du scheinst also eher ein physikalisches
> Problem zu haben. Der Treiber unterstützt definitiv mehr.
> Kernel Config gibt es dazu keine.
>
>
> Am 06.11.2015 um 08:50 schrieb Alexander <vz at alex-j.net>:
>
> Guten Morgen,
>
> ich habe mich beim lesen des Farbcodes in der Richtung geirrt. Der
> Farbcode ist gelb, violett, schwarz, braun, braun und demnach ein 4,7 kOhm
> Widerstand.
>
> Die Info von Jan stimmt mich ja optimistisch, dass er ohne Probleme 16
> Sensoren angeschlossen hat. Auch an der Erweiterung von Udo oder direkt an
> einen GPIO vom Pi?
>
> Die Information cat
> /sys/bus/w1/devices/w1_bus_master1/w1_master_max_slave_count = 64 ist ja
> recht eindeutig, dennoch ist es merkwürdig, dass es bei mir diese
> Schallmauer von 10 Sensoren gibt. Der vzlogger wertet ja alle Sensoren aus
> die sich unter /sys/bus/w1/devices befinden. In meinem Fall beginnen alle
> mit 28-.
>
> Aktuell sind dies 10 Sensoren. Kommt ein weiterer dazu wird dieser nicht
> unter /sys/bus/w1/devices aufgelistet und alle bestehenden Sensoren liefern
> beim cat w1_slave nach aktuellem Kenntnisstand ein String zurück der nicht
> "YES" enthält.
> Ausschnitt aus:
> https://github.com/volkszaehler/vzlogger/blob/master/src/protocols/MeterW1therm.cpp#L69
>
> ab Zeile 69
> if (!strstr(buffer, "YES")) { // e.g. 07 01 55 00 7f ff 0c 10 18 : crc=18
> YES
>             print(log_debug, "CRC not ok from %s (%s)", "w1t",
> dev.c_str(), buffer);
>         }
>
> Weiß jemand wie genau das Betriebssystem die angeschlossenen Sensoren
> abfragt, also durch die Einträge in /sys/bus/w1/devices zustande kommen?
> Gibt es hier irgendwelche Konfigurationsmöglichkeiten? Wobei auch bei 11
> angeschlossenen Sensoren ein Neustart nicht bewirkt, dass alle 11 erkannt
> werden.
>
> Für Tipps was ich noch so testen könnte wäre ich dankbar. Hoffe ich finde
> am Wochenende die Zeit zum basteln. Meint Ihr es wäre ein Versuch wert
> nicht den 1wire Anschluss der Erweiterung zu nutzen sondern mal direkt über
> den GPIO 4 zu gehen?
>
> Gruß
> Alexander
>
> Am 5. November 2015 um 22:38 schrieb <jan.andrea7 at googlemail.com>:
>
>> Hallo
>>
>> Hast du nicht einfach ein Multimeter und kannst den wiederstsnd messen ?
>>
>>
>> Habe 16 ds18b20 am Bus hängen mit
>> 1,1k ohm
>>
>>
>> Mit freundlichen Grüßen
>> Jan
>> Von meinem iPhone gesendet
>>
>> > Am 05.11.2015 um 22:31 schrieb Udo1 <udo1 at gmx.net>:
>> >
>> > Hallo Alexander,
>> >
>> >> Am 05.11.2015 um 21:14 schrieb Alexander:
>> >> der Widerstand hat folgenden Farbcode:
>> >> Braun Braun Schwarz Violett Gold
>> > Das wäre ein Metallschichtwiderstand mit 110 x 10˄7 Ohm. Das kann nicht
>> sein....
>> > Wenn violett die Grundkörperfarbe ist, dann wären es 11 Ohm und das
>> wäre viiiel zu klein.
>> >
>> >> Hast du eine Idee, warum das System unter /sys/bus/w1/devices nicht
>> alle Sensoren anzeigt, wenn ich mehr als 10 angeschlossen habe?
>> > Keine Ahnung, ich habe selbst noch nie soviele Sensoren angeschlossen.
>> > Aber das wäre ja im Widerspruch zu: cat
>> /sys/bus/w1/devices/w1_bus_master1/w1_master_max_slave_count = 64
>> >
>> > Gruß
>> > Udo
>> >
>>
>
>
> Gruß
>
> Matthias
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20151107/d8064dee/attachment.html>


More information about the volkszaehler-users mailing list