maximale Kabellänge mit 3,3 V oder anderen Problemen

10

Ich habe einen Himbeer-Pi an einen DS18B20-Temperatursensor angeschlossen (siehe Abbildung unten). Die Ein-Draht-Software ist installiert und ich kann die Temperatur erfolgreich aus dem Geräteordner / der Datei in lesen /sys/bus/w1/devices.

Geben Sie hier die Bildbeschreibung ein

Das Problem, das ich habe, tritt auf, wenn ein viel längeres Kabel (15 Fuß) verwendet wird, um alle drei Kabel (Masse, Daten und VCC) vom Sensor zum Pi zu verbinden. Der DS18B20 ist nicht mehr lesbar, es befindet sich kein Ordner mit der Seriennummer im /sys/bus/w1/devicesVerzeichnis. Ich dachte, ich könnte aufgrund der längeren Länge der Drähte Spannung verlieren, aber mit einem Mehrfachmessgerät erhalte ich an den mit den Pfeilen im nächsten Bild gekennzeichneten Stellen einen Wert von 3,28 V.

Geben Sie hier die Bildbeschreibung ein

Ich bin ein Neuling und suche Hilfe bei der Behebung des Problems und der Klärung offensichtlicher Missverständnisse.

BryanK
quelle
3
Lesenswert : maximintegrated.com/de/app-notes/index.mvp/id/148, aber es schlägt vor, dass 15 Fuß Buslänge kein Problem sein sollten ...
Ghanima
4
Welche Art von Draht / Kabel? Kapazitätsprobleme können ein Faktor sein, abhängig davon, wie das Kabel abgeschirmt ist. Türklingel- / Thermostat-Mehrdrahtkabel sind möglicherweise keine gute Wahl, während eine Länge von Cat-5 oder ähnlich wahrscheinlich zu besseren Ergebnissen führt.
Lornix
2
Es kann hilfreich sein, den Pull-up-Widerstand an das DS18B20-Ende des Kabels zu verschieben. Wie @lornix erwähnt, wird auch die Kapazität des Kabels erwähnt - und die Arbeitsspannung wird bei längeren Längen signifikanter (der DS18B20 funktioniert besser mit einer 5-V-Versorgung, aber dies ist mit einer direkten Verbindung zu den GPI-PINS des RPI nicht möglich). Drüben auf der Sparkfun- Seite für dieses Gerät erwähnt ein Kommentator, dass mit RJ11 (Telefonkabel, was sind Cat-2-Kabel?) Eine anständige Fernleistung erzielt wird, sodass Cat-5 oder ähnliches eine sehr gute Wahl zu sein scheint ...
SlySven
4
@lornix Es stellte sich heraus, dass es sich um das Kabel handelte, das von einem 24GA-Litzen (ich glaube verzinntes Kupfer) zu einem alten Telefonkabel wechselte, das wir herumliegen hatten und das aus Kupfer und einadrigem Kabel bestand. Ich bin mir nicht sicher, wie das Messgerät funktioniert, aber es funktioniert auch gut als Stecknadel in einem Brotbrett!
BryanK
denkovi.com/… Dies scheint eine mögliche Lösung zu sein . Die eigentliche Frage ist, gibt es eine Programmierbibliothek?
Chris

Antworten:

3

Sie können versuchen, das Gerät mit 5 V zu versorgen.

Sie müssten jedoch immer noch die Datenleitung auf 3V3 ziehen.

joan
quelle
Wenn ich auf 5 V umschalten würde, müsste ich den Widerstand ändern, um die Datenleitung auf 3 V3 zu bringen?
BryanK
@BryanK Der Widerstandswert? Nein, es muss zwischen 3V3 und der Datenleitung angeschlossen werden.
Joan
Okay, die GPIO-Pins sind 3V3?
BryanK
Ja, alle GPios des Pi sind 3V3. 5V werden schließlich den GPIO und den Pi töten.
Joan
1
@BryanK Der Daten-Pin des DS18B20 ist ein "offener Kollektor", dh er kann sich in einem von zwei Zuständen befinden - entweder "offener Stromkreis" (getrennt) oder mit Masse verbunden, sodass die 5-V-Versorgung keinen Pfad zum GPIO hat auf dem Raspberry Pi. Sie sollten einen Widerstand zwischen dem GPIO-Pin am Raspberry Pi und der 3,3-V-Versorgung haben, der als "Pull-up" -Widerstand fungiert, um zu vermeiden, dass der GPIO schwebt. Hoffe das hilft es zu erklären.
Robert Hunt
3

Dieses Problem wurde gerade in meinem Setup behoben (DS18B20 funktionierte mit einem kurzen Kabel, ein Fehler mit einem 5M CAT3-Kabel, ESP8266-Host). Mein Problem klingelte; Ich habe einen 80-Ohm-Widerstand (ein halb zufällig ausgewählter niedriger Wert) in Reihe mit der Datenleitung an beiden Enden des Kabels hinzugefügt, wodurch die Anstiegsgeschwindigkeit gesenkt und das Problem für mich behoben wurde.

Dies ist eine sehr umfassende Appnote von Maxim: https://www.maximintegrated.com/de/app-notes/index.mvp/id/148/CMP/ELK5

Richard Aplin
quelle
1

Ich habe ungeschirmtes CAT5-Kabel ca. 40m und 7 Sensoren DS18B20. GROUND ist mit 2 Drähten aus verschiedenen verdrillten Paaren verbunden. Die letzten Drähte aus diesen verdrillten Paaren werden für DATEN und Strom verwendet. Zwischen GPIO4 und 3,3 V befindet sich ein 2,2-k-Pullup-Widerstand und ich habe korrekte Daten von den letzten 2 Sensoren auf dem Kabel, während ein Sensor in der Mitte immer 85000 anzeigt. Für mich begann es zu funktionieren, als ich den Pullup-Widerstand von 4,7k tu änderte 2,2k. Unten gibt es eine Grafik dieses Tages und alle Tage von Anfang anGeben Sie hier die Bildbeschreibung ein

Tadas B.
quelle
0

Ich habe ungefähr 220m Länge mit 5 Sensoren. 4 in einer Reihe und die 5. ist parallel zur 4 .. RPi - S - S - S - S | __S Ich habe 5 V Sensorspannung, 500 Ohm Pullup auf 3,3 V, Cat5e abgeschirmtes Kabel. Ich denke, das Kabel ist wirklich nicht so wichtig. Was zählt, ist das Pull Up. Die Sensoren können ungefähr 820 Ohm auf dem Datenblatt verarbeiten, ich verwende 500 Ohm nur zum Testen von Zwecken. Mit 1kOhm habe ich 190m, also wäre es auch möglich, mit 1KOhm oder 820kOhm so weit zu kommen.

Mit 4,7 kOhm habe ich nur etwa 50 m oder etwas, was mich beunruhigte und ich hätte nie gedacht, dass ich diese Länge bekommen kann. Aber offensichtlich ist es möglich.

dgeigerd
quelle