[vz-users] Mehr als 10 1wire DS18B20 Sensoren?
Alexander
vz at alex-j.net
Sat Nov 7 15:18:57 CET 2015
Hallo,
die Diskussionen zu dem Thema "vzlogger findet w1 sensoren nach reboot
nicht obwohl vorhanden" bringen mich nun dazu, zu der Beschreibung meiner
Schaltung noch etwas hinzuzufügen.
Es handelt sich bei mir um eine Sternschaltung. (
http://www.fhemwiki.de/wiki/1-Wire_Busverlegung#Topologie) Vom Pi teilt es
sich auf in drei Richtungen. An den Enden sind über kurze Leitungen jeweils
mehrere Sensoren angeschlossen.
Stellt diese Schaltung so ein Problem dar? Sollte ich es in eine lineare
Schaltung umbauen?
Tobias hat in seinem Post vom 28.10. ja ein ähnliches Problem beschrieben.
---------------------------------------------------
Von: Theo <geocaching.theo at me.com>
Datum: 28. Oktober 2015 um 10:50
Betreff: Re: [vz-users] vzlogger findet w1 sensoren nach reboot nicht
obwohl vorhanden
An: "volkszaehler.org - users" <volkszaehler-users at demo.volkszaehler.org>
Also ich hab anfangs die sensoren sternförmig von einem punkt aus
verkabelt. In dreiadriger ausführung. Da hatte ich zu beginn 10 sensoren
dran. Wollte ich einen elften anschließen ist der ganze bus in die knie
gegangen und kein sensor war mehr zu finden. In der linearen verschaltung
mit 4 adern gingen aber 11 sensoren problemlos. Also scheint es durchaus
einen unterscheid zu machen wie verkabelt wird.
Gruß Tobias
---------------------------------------------------
Gruß
Alexander
Am 7. November 2015 um 14:54 schrieb Alexander <vz at alex-j.net>:
> 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/b9f7e9db/attachment-0001.html>
More information about the volkszaehler-users
mailing list