Hallo,
ich möchte 1 bis 10 viele Reed-Kontakte (unten habe ich nur 3
abgebildet) an einen ESP8266 anschließen.
Anwendungsfall:
Ich möchte bei jedem Reed-Kontakt den Zustand wissen. Im Standardfall
sind alle Reed-Kontakte geschlossen.
Ich dachte mir es sei klug zum Strom sparen den CHPD (Chip Power
Down-Pin) zu nutzen. d.h. sobald die Reeds geschlossen sind, fällt die
Spannung ab und es müsste Power am CHPD anliegen.
Ist die Schaltung richtig oder wie macht man es richtig?
Als Transistor (hier: BC) würde ich "BC 557B :: Bipolartransistor, PNP,
45V, 0,1A, 0,5W, TO-92 (von polin)" nutzen.
Gruß
Markus
Markus Reinmann schrieb:> Ich möchte bei jedem Reed-Kontakt den Zustand wissen. Im Standardfall> sind alle Reed-Kontakte geschlossen.
Alarmanlage?
> Ich dachte mir es sei klug zum Strom sparen den CHPD (Chip Power> Down-Pin) zu nutzen. d.h. sobald die Reeds geschlossen sind, fällt die> Spannung ab und es müsste Power am CHPD anliegen.
Dafür braucht es keine Transistoren, nur passende Pull-Up Widerstände
von vielleicht 100k-1M an jedem Pin. Die Reed-Kontakte schalten dann
gegen GND. Fertig. Klar frißt ein 1M Widerstand an 3,3V 3,3uA, das ist
teilweise mehr als ein Mikrocontroller im Ruhezustand, aber viel anders
als mit Pull-Ups geht es bei einfachen Kontakten halt nicht.
Alternativ kann man die Pull-Ups schaltbar machen, d.h. man klemmt sie
nicht an VCC sondern alle an einen IO-Pin, welcher als Ausgang
geschaltet wird. Der Controller wacht nun per Timer alle paar hundert ms
auf, schaltet die Pull-Ups ein, wartet ein paar Dutzend us und prüft
dann die Eingänge. Am Ende werden die Pull-Ups wieder ausgeschaltet.
Damit spart man viel Strom und kann die Pull-Ups auch deutlich kleiner
machen, so 10-100k.
Ich mache sowas beim AVR mit dem Pin-Change Interrupt.
Jeder Kontakt hat einen 1MΩ Pullup. Wird high erkannt, wacht der AVR auf
und schaltet noch seine internen 50kΩ parallel, um die Störfestigtkeit
zu erhöhen. Bei low schaltet er den internen Pullup ab, um Strom zu
sparen.
Falk B. schrieb:> Alternativ kann man die Pull-Ups schaltbar machen, d.h. man klemmt sie> nicht an VCC sondern alle an einen IO-Pin, welcher als Ausgang> geschaltet wird. Der Controller wacht nun per Timer alle paar hundert ms> auf, schaltet die Pull-Ups ein, wartet ein paar Dutzend us und prüft> dann die Eingänge. Am Ende werden die Pull-Ups wieder ausgeschaltet.
Das ist zum Stromsparen die sinnvollste Variante. Alternativ kann man
auch Reed-Öffner oder Reed-Wechsler nehmen. Oder man baut einen
Schließer mit zwei Magneten ein: einem festen Magneten, der den
Kontakt schließt. Und einen zweiten, beweglichen Magneten, der das
Magnetfeld des ersten Magneten aufhebt, wenn er in Ruheposition ist.
Für Fenster- und Türkontakte ist das machbar. Wenn es darum geht, das
Wegnehmen einer beweglichen Sache von einer Unterlage zu deketieren,
dann eher nicht.
Axel S. schrieb:> Das ist zum Stromsparen die sinnvollste Variante. Alternativ kann man> auch Reed-Öffner oder Reed-Wechsler nehmen.
Die sind ARG exotisch und damit auch teuer.
> Oder man baut einen> Schließer mit zwei Magneten ein: einem festen Magneten, der den> Kontakt schließt. Und einen zweiten, beweglichen Magneten, der das> Magnetfeld des ersten Magneten aufhebt, wenn er in Ruheposition ist.
Warum? Die intelligente Auswertung ist um Größenordnungen einfacher.
Markus Reinmann schrieb:> Anwendungsfall:> Ich möchte bei jedem Reed-Kontakt den Zustand wissen. Im Standardfall> sind alle Reed-Kontakte geschlossen.>> Ich dachte mir es sei klug zum Strom sparen den CHPD (Chip Power> Down-Pin) zu nutzen. d.h. sobald die Reeds geschlossen sind, fällt die> Spannung ab und es müsste Power am CHPD anliegen.
Das ist jetzt missverständlich: willst Du wissen ob ein Kontakt
geöffnet hat, oder welcher Kontakt geöffnet hat?
Im ersten Fall schaltet man einfach die Kontakte in Serie.
Für den zweiten Fall ist Deine oben vorgestellte Schaltung vollkommen
ungeeignet.
In der direkten Umgebung des ESP Moduls und der Antenne würde ich nur
Widerstände <10kΩ verwenden, da er sonst von seinen eigenen HF Signalen
gestört werden kann.
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang