mehrere DS18S20 Sensoren an einem Bus

OP #2197186
Lesenswert?

Hallo,

Ich möchte 5 DS18S20 Temperatursensoren an einem Bus betreiben. Wenn ich 
drei von denen am Bus habe funktionierts einwandfrei, die anderen beiden 
zusammen funktionieren auch einwandfrei. Leider funktioniert es nicht, 
wenn alle 5 am Bus sind oder die funktionierenden ersten drei mit einem 
der anderen Sensoren. Komischerweise wird auch kein Fehler ausgegeben, 
sondern nur eine 0. Die Temperaturkonvertierung geht auch viel schneller 
von statten, als wenn alles funktioniert. Woran könnte das liegen?
Gast #2197190
Lesenswert?

Treibst du niederohmig genug? Anders gefragt: Hat dein Zwischengesicht 
genügend Power, den ganzen Sauschwanz zu bedienen? Wenn man da mit zu 
wenig Leistung kommt passieren die queersten Sachen, hab' ich selbst 
erlebt. Eventuell reicht schon ein Treiber (im einfachsten Fall ein 
Transvestit).

Gruß, Bert
OP #2197235
Lesenswert?

???
Also ich hab einen 4,7k Widerstand zwischen DQ und Vcc (5V) wie im 
Datenblatt angegeben. Die Sensoren werden normal betrieben, also kein 
parasite power. Die Sensoren werden an eine 3er-Klemme angeschlossen. 
Was du jetzt genau meinst weiß ich leider nicht... die Sensoren werden 
direkt von einem Atmega32 ausgelesen. Könnte es vielleicht auch an der 
Länge der Kabel liegen, an denen die Sensoren dranhängen?
Gast #2197336
Lesenswert?

Moin,

achte peinlich aufs Timing. Interrupts während des Recovery und der 
Read/Write Slots stören.

...
Zwischengesicht = interface / an deinem Prozzi
Sauschwanz      = pigtail / dein Bus
oder so ähnlich :-)
...

MfG
#2197366
Lesenswert?

Hallo,
sendest du den Temperatur-Konvertierungsbefehl für alle Sensoren auf 
einmal?? Sprich: Konvertieren alle Sensoren die Temperatur zur selben 
Zeit? Ich meine mal gelesen zu haben, dass der 4,7k Pull-Up nur für 
einen Sensor ausgelegt ist. Wenn nun alle Sensoren gleichzeit die 
Temperatur wandeln, und somit mehr Energie benötigen, reicht der 4,7k 
Pull-Up eventuell nicht aus, um die Sensoren mit genügend Strom zu 
versorgen! Versuche entweder den Pull-Up kleiner zu machen, oder die 
Sensoren einzeln nacheinander anzusprechen!
mfg olli
Gast #2197382
Lesenswert?

Bin jetzt kein DS-Profi, aber hab auch mein erstes Projekt mit 4 
Sensoren am BUS fertig und läuft (natürlich nach einigen Fehlern zuvor).

- Du sagst, du betreibst nicht parasitär, also als 3-Draht-BUS.

- Ist der BUS ein Stern oder alles fein hintereinander?

- Bei mir ist alles hintereinander und der 4,7k ist direkt am 1-WIRE-PIN 
des µCs

- Ich war auch erstaunt, daß die Wandlung sehr schnell fertig war, ABER 
das ist nicht immer so und nicht zuverlässig.

- Kam bei mir auch zu Fehllesungen dann.

Meine Vorgehensweise und SEITDEM KEINE Fehler mehr:

1.) START CONVERSION-Befehl an ALLE Sensoren GLEICHZEITIG senden. Hab 
den gerade nicht im Kopf, den gibts aber.

2.) jetzt kannst Dich in Deinem Programm um andere Sachen kümmern

3.) ERST nach mind. 750ms fragst die einzelnen Fühlern nach ihrem 
konvertierten Wert. Eine Wandlung KANN bis zu 750ms dauern. Geht 
manchmal schneller, KANN aber 750ms dauern. Laut Datenblatt!

Seitdem ich konsequent erst nach 750ms abfrage, treten keine Probleme 
mehr auf.

Vorschlag:

Bau mal ne schöne BUS-Leitung mit den Sensoren auf und mach KEINE 
Stern-BUSSE!!! Schreib das billigste Programm: Konvertierungsbefehl an 
alle, 750ms warten, die Fühler auslesen!!!

Gruß Hackes
OP #2197393
Lesenswert?

Hallo,

also ich sende den convertt-befehl an alle gleichzeitig und frage dann 
einzeln ab. Die Sensoren sind Sternförmig angeordnet.

Die Zeit habe ich grad auf 1s erhöht und gleiches Ergebnis. Wenn ich 
aber einen Widerstand parallel zu dem 4,7k Widerstand hänge 
funktionierts einwandfrei. Da kommt also wirklich zu wenig Saft am Bus 
an...
Da danke ich euch für eure Hilfe :)

Gruß
Paul
Gast #2198109
Lesenswert?

> Paul P. schrieb:
>> Herr Bert schrieb:
>> Treibst du niederohmig genug? Anders gefragt: Hat dein Zwischengesicht
>> genügend Power, den ganzen Sauschwanz zu bedienen? Wenn man da mit zu
>> wenig Leistung kommt passieren die queersten Sachen, ...
> ???
> Die Sensoren werden an eine 3er-Klemme angeschlossen.
> Was du jetzt genau meinst weiß ich leider nicht...

Naja, ich meinte damit, daß die Gesamtkapazität deiner langen Leitung 
und der mehreren Sensoren für deinen treibenden Baustein eventuell 
einfach zu groß sein könnte.

Gruß, Bert

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren