Forum: Mikrocontroller und Digitale Elektronik Pull-up am DS1812


von Martin (Gast)


Lesenswert?

Hallo, wer kann mir die Funktionsweise des parasit powersupply mit einem
Pull-up-Woderstandes am DS1820 erklären.
aus dem Datenblatt werde ich nicht schlau.

Danke

von Peter D. (peda)


Lesenswert?

Der Pull-Up wird immer gebraucht. Ich habe mit 2,2kOhm gute Erfahrungen
gemacht.

Bei langen Leitungen ist auch ein 100 Ohm in Reihe mit dem AVR-Pin zu
empfehlen, damit die Flanken nicht so steil sind (Überschwingen).


Parasite power wird nur während der Wandlung (max 1mA) gebraucht, wenn
kein dritter VCC-Draht mitgeführt werden soll.

Dazu reicht es beim AVR den Pin als Ausgang und auf 1 zu setzen. Damit
können etwa 10 Sensoren gespeist werden.
Ansonsten nimmt man einen extra Transistor nach VCC, z.B. den BS250.

Den Transistor braucht man immer, wenn der 100 Ohm in Reihe ist
(s.o.).


Peter

von Sven (Gast)


Lesenswert?

Hi Peter! Du schreibst:

>>Den Transistor braucht man immer, wenn der 100 Ohm in Reihe ist
(s.o.).

Wieso, das sind doch bei 1mA Stromaufnahme nur 100mA Spannungsabfall,
damit sollte doch noch genug am DS ankommen?

Ansonsten laufen die DS1820 bei mir mit 3k3 Pull-Up schon ganz gut,
allerdings an nur 3m Kabel.

Sven

von Martin (Gast)


Lesenswert?

Tja Jungs, alles gute Antworten, aber meine Frage nach der
Funktionsweise ist noch nicht geklärt. Sorry!

von Sven (Gast)


Lesenswert?

Oh, Tschuldigung.

Der PullUp-Widerstand wird für die Datenübertragung im
1-Draht-Protokoll verwendet. Er legt die Datenleitung erstmal auf
High-Pegel. Will der Controller den DS ansprechen, zieht er die Leitung
über seinen Ausgang (als Open-Collector) auf Masse und der DS bekommt
einen Low-Pegel. Gleiches funktioniert auch vom DS zum Controller.
Deswegen muß auch der Controller-Pin im Grundzustand Tri-State sein,
sonst klappt das Runterziehen von seiten des DS nicht richtig. Zum
Protokoll siehe das Datenblatt, es wird immer ein kurzer
Synchronisations-Puls gesendet, gefolgt vom Datenbit.

Nun braucht der DS noch eine Versorgungsspannung. Die wird entweder
über eine dritte Leitung an den noch übrigen Pin geliefert, oder der DS
zapft die im Ruhezustand auf High liegende Datenleitung an => Parasite
Power. Bei 3k3 PullUp-Widerstand kann er schon bis 100µA ziehen, ohne
dass das stört. Wird jetzt vom Controller eine Messung initiiert,
braucht der DS aber mehr Strom für die Wandlung. Deswegen muss nach dem
Start der Messung die Datenleitung vom Controller an +5V gelegt werden,
indem der Controller-Pin als High-Ausgang geschalten wird. Die Spannung
muß, glaube ich, 750ms anliegen, steht im Datenblatt. Dann wird der
Controller-Ausgang wieder auf TriState geschalten, der
PullUp-Widerstand wird wirksam und die Daten können abgefragt werden.
So etwa funktioniert's bei mir.

Sven

von Martin (Gast)


Lesenswert?

Danke !!!
Das ist was ich wissen wollte.

von Ronny Schulz (Gast)


Lesenswert?

@Sven:

Wieso, das sind doch bei 1mA Stromaufnahme nur 100mA Spannungsabfall,
damit sollte doch noch genug am DS ankommen?

1. Was ist das für ein widersprüchlicher Satz? 1mA Stromaufnahme und
100mA Spannungsabfall ... hä? Was an dem abfällt ist völlig egal. Zumal
die gesamten 5V da abfallen, wo sollen die auch sonst hin (den Pullup
jetzt mal außer acht gelassen)?

2. Das eigentlich Problem ist die Speisung aus dem Atmel. Wenn pro
DS1820 1mA fließt kommt man irgendwann an die Grenzen.

von Sven (Gast)


Lesenswert?

Hi Ronny!

>>1. Was ist das für ein widersprüchlicher Satz? 1mA Stromaufnahme und
100mA Spannungsabfall ... hä? Was an dem abfällt ist völlig egal. Zumal
die gesamten 5V da abfallen, wo sollen die auch sonst hin (den Pullup
jetzt mal außer acht gelassen)?

Nee, nur ein Schreibfuhler, soll natürlich 100mVOLT heißen. Und wenn
die gesamten 5V daran abfallen, solltest Du mal die Leitung auf
Kurzschluß prüfen. Das 1-Wire-Protokoll nutzt den
3k3-PullUp-Widerstand, der 100R wird nur relevant, wenn der DS während
der Wandlung (in der er mehr Strom braucht) über den AVR-Pin mit
Spannung versorgt wird. Dann fallen bei 100R und 1mA Stromaufnahme eben
100mV am Widerstand ab, wodurch die Spannung für den DS um eben diesen
Betrag nochmal verringert wird, unerheblich.

2. Das eigentlich Problem ist die Speisung aus dem Atmel. Wenn pro
DS1820 1mA fließt kommt man irgendwann an die Grenzen.

Dann muß die Versorgung eben über den extra Transitor nach +5V
realisiert werden, wie Peter schreibt. Den würde ich aber hinter den
100R setzen. Und sicherstellen, dass er niemals geschalten wird, wenn
ein DS noch was sagen möchte. Also lieber noch ein Schutzwiderstand.
Ganz elegant kann man dem Transitor ja noch eine Strombegrenzung auf
50mA verpassen.

Nebenbei, wie sieht es eigentlich mit den Kabelkapazitäten aus? Bis zu
welcher Leitungslänge und mit wieviel Sensoren seid ihr so gekommen?

Sven

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.