DS2406 Onewire Taster ohne Pullup

OP #5280977
Lesenswert?

Hallo zusammen!

Ich möchte einen DS2406 als Signalgeber (Taster) an einem 1w-Bus 
verwenden.
An der Stelle wo ich den DS anbringe habe ich nur 2 Leitungen, also GND 
und DATA, d.h. er wird im parasitären Modus betrieben (geht bei der TO92 
Bauform auch nicht anders).
Ergo würde ich den 3. Pin des DS2406 (für IO) über einen Reed-Kontakt 
auf GND ziehen um den Schalter-Zu Status zu signalisieren.
So weit so gut, nur habe ich mir überlegt, daß man ja normalerweise - um 
einen eindeutigen Schaltzustand am Pin anliegen zu haben immer einen 
Pullup-Widerstand anbringt damit das Potential am Pin auf High steht 
wenn der Reed-Kontakt offen ist.
Aber in dieser konkreten Einbausituation (2 Drähte) habe ich ja nirgends 
eine Leitung mit Vcc um einen Pullup anzubringen.

Hat vielleicht jemand von Euch eine Idee wie man in so einem Fall 
vorgeht?

Vielen Dank für Eure Antworten und viele Grüße,

R.
(Firma: Golden Delicious Computers) #5280990
Lesenswert?

Rolf A. schrieb:
> Nikolaus S. schrieb:
>> Pull-Up am anderen Ende der 1w-Leitung?
>
> Hallo Nikolaus!
>
> Du meinst Pullup ggü. der DATA-Leitung?
> Ich weiß nicht, die wird ja für die Informationsübertragung von den
> ganzen 1w-Chips regelmäßig auf GND gezogen, da würde ich mir doch am
> IO-Pin ständig ein falsches Signal einfangen.
>
> Grüße,
>
> Rolf

Daher die Idee mit der Diode + C (hatte den Beitrag editiert)
(Firma: Golden Delicious Computers) #5281043
Lesenswert?

Rolf A. schrieb:
> Nikolaus S. schrieb:
>> "Idee: Diode vom 1w-DATA zu einem kleinen C und damit den Rest
>> versorgen."
>
> O.k. wenn ich Dich recht verstehe also so quasi wie die DS-Chips es im
> parasitären Modus intern zur Selbstversorgung auch machen?

Ja.

> Klingt plausibel.
> Welche Kapazität würdest Du für den C nehmen?

Ich denke Du willst nur den Eingang versorgen der nicht viel Strom 
zieht.
Wenn ein Pull-Up von 100k oder so ausreicht, dann sollten nach 
Bauchgefühl 100nF - 10uF reichen.

Jedenfalls eine Zeitkonstante deutlich länger als die Datenbits auf "0" 
sind.

Und eher eine Schottky-Diode nehmen als eine normale. Am besten mal 
ausprobieren und mit dem Oszi messen ob es zu großen "Ripple" gibt.
#5281051
Lesenswert?

@Rolf Alber (romanoir)

>> "Idee: Diode vom 1w-DATA zu einem kleinen C und damit den Rest
>> versorgen."

>O.k. wenn ich Dich recht verstehe also so quasi wie die DS-Chips es im
>parasitären Modus intern zur Selbstversorgung auch machen?
>Klingt plausibel.

Muss man auch, wenn man keinen Umschalter oder echten Logikausgang hat, 
um das PIO-Pin aktiv auf HIGH und LOW zu ziehen.

>Welche Kapazität würdest Du für den C nehmen?

Kommt auf deinen Pull-Up an. Der kann aber auch nicht endlos klein sein, 
denn er bildet einen Spannungsteiler mit dem Pull-Up der Datenleitung. 
Ich sag mal >47k sollten es sein. Ich würde mal 100k vorschlagen.

Dann muss man abschätzen, wieviel Datenverkehr auf dem OneWire Bus ist, 
denn während dessen geht der oft auf LOW, dann muss der Kondensator 
Strom liefern, wenn der Reedkontakt gerade auf LOW zieht. Die längsten 
Pausen bei One Wire sind das Reset mit >480us. Da sollte die Spannung am 
Kondensator noch nicht allzuviel abgefallen sein, denn sonst bremst der 
anschließende Ladevorgang die Datenkommunikation!

Ich sag mal tau=R*C sollte > 100*480us~50ms sein. Macht bei 100k ~ 
470nF.

Falls dennoch zuviele Störungen in die relativ hochohmige Leitung bei 
HIGH einkoppeln, kann man das mit einem RC-Tiefpass filtern.

https://www.mikrocontroller.net/articles/Entprellung#Einfacher_Taster

100k + 100nF sind OK.

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