Reed-Kontakt => 3V Flip-Flop

#5809413
Lesenswert?

Hallo,

möchte (als blutiger Anfänger) folgende Schaltung realisieren.

Kurz: Ein Reed-Kontakt soll ein Flip-Flop asynchron (also ohne 
clock/Takt) auf "1" schalten. Dabei soll die Schaltung mit 3V 
funktionieren.

Ausführlich: Der Reed-Kontakt wird durch einen Magnet an einer Wippe in 
einem Regenmesser geschaltet. Der Magnet "fliegt" also kurz (<<1s) 
vorbei und es wird geschaltet. Ich habe das als einfache Schaltung mit 
meinem ESP32 "LOLIN32" auch schon über "3V -> Reed Kontakt -> GPIO" 
realisiert und kann das Signal korrekt abgreifen. Allerdings würde ich 
gerne den Stromsparmodus vom ESP32 benutzen. Dann würde der Prozessor 
fast immer schlafen, alle 100ms aufwachen, gucken ob in den letzten 
100ms geschaltet wurde, ggf. einen Zähler hochzählen, und sich dann 
wieder schlafen legen. Es muss also ein Zwischenspeicher her.

Ich dachte jetzt an ein Flip-Flop und habe nach einiger Recherche 
festgestellt dass die populärste Serie von ICs dazu 74xx zu sein 
scheint. Die 7474er würden von der Logik die Funktion liefern die ich 
möchte. Der Reed-Kontakt geht an den Eingang S, der Mikrocontroller 
schaltet dann R um das Flipflop zurückzusetzen. Wenn ich eine maximale 
Regenmenge pro Stunde annehme kann ich durch kurze Aufwachintervalle 
garantieren dass nicht gleichzeitig die Wippe umschlägt und R gesetzt 
ist (ausser jemand schüttelt den festgeschraubten Regenmesser aber was 
will man machen? :)

Allerdings scheint mir die Bauteile entweder THT (leicht zu löten) zu 
sein und mit 5V betrieben zu werden oder sie sind SMD (und schwerer zu 
löten) und können mit 3V betrieben werden (74LV*74).

Frage #1: Was mache ich hier am schlauesten?

Frage #2: Jetzt stellt sich mir noch die Frage ob ich den Schalter noch 
mit einem Kondensator entprellen sollte oder

Ich bin über jeden Hinweis dankbar.
Gast #5809427
Lesenswert?

Manuel H. schrieb:
> Allerdings würde ich
> gerne den Stromsparmodus vom ESP32 benutzen. Dann würde der Prozessor
> fast immer schlafen, alle 100ms aufwachen, gucken ob in den letzten
> 100ms geschaltet wurde, ggf. einen Zähler hochzählen, und sich dann
> wieder schlafen legen. Es muss also ein Zwischenspeicher her.

Ich kenne die Möglichkeiten eines ESP32 nicht.
Aber mit praktisch jedem Atmel Tiny kann man doch den Prozessor über 
einen externen Interrupt wecken, um den Zähler zu bedienen, ganz ohne 
externes FF.
Auch wenn er aus anderen Gründen sowieso alle 100ms was machen muss, ist 
das parallel dazu möglich.

Manuel H. schrieb:
> Frage #2: Jetzt stellt sich mir noch die Frage ob ich den Schalter noch
> mit einem Kondensator entprellen sollte

Naja, wenn dein Aufbau ausreichend störsicher ist, dann wäre ein Prellen 
uninteressant, denn es kommt ja vom Reedkontakt, weil er bedient wird. 
Ob der innerhalb weniger ms mehrmals schaltet, ist dann egal. Es ist 
ein Ereignis und das FF - betrieben als RS-FF - kann nur einmal 
gesetzt werden und muss danach wieder explizit scharf gemacht werden 
über den Reseteingang.
(Firma: Schweigstill IT) Persönliche Seite #5809432
Lesenswert?

Manuel H. schrieb:
> Frage #2: Jetzt stellt sich mir noch die Frage ob ich den Schalter noch
> mit einem Kondensator entprellen sollte oder

Wenn es akzeptabel sein sollte, dass in sehr, sehr seltenen Fällen ein 
Impuls zu viel gezählt wird, dann kannst Du auf die HW-Entprellung 
verzichten. Falls Du aber solch eine per RC-Glied realisieren solltest, 
musst Du darauf achten, dass der Kondensator nicht direkt durch den 
Reedkontakt auf ein Potential gezogen wird, da der Spitzenstrom zur 
Beschädigung des Kontaktes führen wird. Über 100R o.ä. ist das aber kein 
Problem.

Ein weiterer positiver Aspekt eines RC-Gliedes wäre ein deutlich 
verbesserter Schutz vor ESD.
Gast #5809452
Lesenswert?

> Allerdings scheint mir die Bauteile entweder THT (leicht zu löten) zu
> sein und mit 5V betrieben zu werden oder sie sind SMD (und schwerer zu

Nein. Du bekommst sowohl 74HCxxx Typen wie auch 4000er die mit 3.3V 
laufen und noch in DIL sind.

Du koenntest im uebrigen auch ein Monoflop (z.B 4538) nehmen und das auf 
120ms einstellen. Dann waere sichergestellt das du alle 100ms ein 
Ereignis in den letzten 120ms mitbekommen wuerdest.

Olaf

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