Stefan Oler schrieb:
> verstehe ich nicht, wie man auf einen 470 Ohm-Wiederstand kommt.
Ganz einfach: Der weiss noch weniger als du.
Die Schaltung laut Steckbrett ist:
1 | +---------+--- +3.3V
|
2 | | |
|
3 | Kontakt |
|
4 | | |
|
5 | +--470R--|< BC547
|
6 | |E
|
7 | +--- GPIO
|
8 | |
|
9 | 10k
|
10 | |
|
11 | Masse
|
Es handelt sich also um einen Emitterfolger (Kollektorschaltung) in der
die ganze Stromverstärkung des Transistors wirkt. So bald der Strom
durch den Transistor 100uA überschreitet, wird der Spannungabfall an den
10k so gross, daß der uC ein logisches high erkennt statt dem üblichen
logischen low Ruhepegel. Damit diese 100uA fliessen, braucht ein BC547
ca. 0.5uA Basisstrom.
Die sind selbst bei offenem Kontakt leicht erreicht, der Kontakt bzw.
das Zuleitungskabel muss bloss 30MOhm haben, und es gibt nichts, was das
verhindert, in dem es beispielsweise Strom nach Masse ableitet.
Die 470 Ohm begrenzen die 0.5uA gar nicht, man kann den Widerstand vor
der Basis des Transistors auch einfach weglassen.
Die Schaltung ist also grober Unfug, möglichst nicht nachbauen.
Wie baut man es richtig ?
Solche Magnetkontakte aka Reedschalter brauchen nur einen geringen
Mindeststrom. Trotzdem sollte der Strom hoch genug sein, um grösser zu
sein als Störungen sein können. Nehmen wir 1mA. 1mA bei 3.3V sind
3k3Ohm, wenn du die 470 Ohm schon hast, nimm die.
Es wird geschaltet:
1 | +--- +3.3V
|
2 | |
|
3 | 3k3 (oder 470Ohm wenn man hat und 3k3 nicht hat))
|
4 | verdrillt |
|
5 | +------------------+--- GPIO
|
6 | Kontakt
|
7 | +---------------------- Masse
|
Man braucht keinen Transistor. Diese simple Schaltung hält den GPIO Pin
auf low so lange der Fesnterkontakt geschlossen ist, und legt ihn auf
high so bald der Fensterkontakt geöffnet wird.
Man könnte über Massnahmen zum Schutz vor Störungen, und vor allem
zerstörenden Störungen nachdenken. Geht die Leitung nur vom rPi zum
Fensterkontakt, sollte man sie verdrillen (Klingelleitung,
Telefonleitung verdrillt, ein Adernpaar einer CAT Netzwerkleitung). Da
sie mit einem Ende an Masse des rPi angeschlossen ist, ist sie damit
recht störsicher..
Schlecht wird es, wenn man mehrere Kontakte in Reihe in einer
Ringleitung legt
1 | +------- +3.3V
|
2 | Kontakt |
|
3 | | | 3k3
|
4 | | | |
|
5 | +-------+ +--------+--10k-- GPIO
|
6 | |
|
7 | Kontakt +-------- Masse
|
8 | | |
|
9 | +---+ +---------+ |
|
10 | | | | |
|
11 | Kontakt Kontakt
|
Die Störungen, die man sich da einfängt, können den rPi zerstören, daher
sind die 10k dort vor dem GPIO Pin.
Also besser immer Hin- und Rückleitung als verdrilltes Adernpaar führen.
Danach könnte man die "Alarmanlage" verbessern, in dem man Manipulation
an der Leitung erkennt, durch Wechselstrom. Und möglichst was
betriebssichererers nehmen als einen rPi. Strom sparen tut man mit einem
rPi sowieso nicht.