Forum: Mikrocontroller und Digitale Elektronik Reed-Kontakt für Alarmanlage: Kabellänge bis 40m


von Christoph A. (aumy)


Lesenswert?

Hallo!

für eine Alarmanlage möchte ich an jedem Fenster/Türe einen Reed-Kontakt 
anbringen und diesen mittels Arduino überwachen. Die Leitungslänge 
zwischen Kontakt und AVR beträgt bis zu 40 Meter! Bei gewissen anderen 
Kontakten aber "nur" 15m. D.h. ich suche eine Lösung, die Kontakte 
möglichst unabhängig ihrer Anschlussleitungslänge verlässlich und robust 
beschalten zu können.

Als Reed-Kontakte sehe ich die NO-Variante vor (normally open -> d.h. 
befindet sich das Magnet in der Nähe des Schalters, ist er geschlossen, 
anonsten steht er offen).

Eine weitere Anforderung wäre, einen kleine LED unmittelbar beim 
Reed-Kontakt zu platzieren, die signalisiert, dass die Überwachung 
scharfgeschaltet ist. Wird das Fenster geöffnet, unterbricht der Kontakt 
und die LED erlischt ebenfalls (Status-LED).
Als Rolls-Royce Lösung würde dann ebenfalls beim Fenster eine 2. LED zu 
blinken beginnen, die signalisiert, dass ein Einbruch festgestellt wurde 
(Alarm-LED). Zweck: beim eigenen ungewollten Auslösen des Alarms wird 
man so darauf hingewiesen, und man kann die Alarmanlage noch 
deaktivieren, bevor der Alarm mit einer Verzögerung von 15 Sek. zu 
heulen beginnt... Aber wie gesagt, dies wäre eher nice2have.

Auf Seiten des AVR sehe ich I2C Port-Expanders vor (z.B. MCP23017, 
PCF8574, ...), um auf die gewünschte Anzahl Inputs zu kommen. Diese 
würde ich dann pro Sekunde oder so 1x auslesen. Somit sind die 
Reed-Kontakte selber nicht getaktet, was sie so unanfälliger für 
Störungen machen sollte.

Die Frage wäre also eben, wie eine entsprechende Beschaltung der 
Reed-Kontakte aussehen könnte? Liesse sich das Problem der Leitungslänge 
mittels eigener Konstantstromquelle pro Reed-Kontakt (z.B. LM317) lösen? 
Oder habt ihr andere Ideen? Und lässt sich die Variante mit der einen 
Status-LED mit 2 Anschlussdrähten realisieren? Die Rolls-Royce Variante 
mit einer zusätzlichen Alarm-LED benötigt dann ja wahrscheinlich 3 
Leitungen...

Falls ich noch was anderes vergessen hahen sollte, wäre ich auch da um 
euren Input sehr dankbar!

Mit Gruss,
Christoph

von Jürgen Wissenwasser (Gast)


Lesenswert?

Damit das System längenunabhängig funktioniert, nimm' eine 
strombegrenzende Diode (so was wie JAN1N5293UR-1 odgl mit ca. 500µA).

Das Reed-Relais und die gewünschte LED setzt du in Serie zu dieser Diode 
und verwendest einen Shunt-Widerstand (z.B. 100-1000 Ohm) gegen Masse, 
an dem Du die Spannung mißt. Geht der Kontakt auf, fehlt der Stromfluß.

Bitte die erforderlichen Spannungen beachten
LED (rt):             ca. 1,4V
Konstantstromdiode:   ca. 1,4V
Shunt (1kOhm, 300uA):     0,3V
------------------------------
                          3,1V

Wenn Du diese Lösung je Kontakt direkt an einen I/O-Port anhängst, 
kannst Du damit außerdem das gewünschte Blinken realisieren. Beim 
Shunt-Widerstand evtl. noch einen Kondensator parallel, damit 
50Hz-Brummen kein Problem wird; die I/O-Ports evtl. noch mit Dioden 
gegen ext. Überspannung sichern.

von MaWin (Gast)


Lesenswert?

Christroph A. schrieb:
> Die Leitungslänge zwischen Kontakt und AVR beträgt bis zu 40 Meter!

Kein Problem bei einzelnen verdrillten Zuleitungen, mit 4k7 pull up am 
AVR.

Legt man den pull up an einen Port-Pin, der bei aktivierter Alarmanlage 
high ist und in Reihe mit dem Reed-Kontakt eine LED, signalisiert die 
einen geschlossenen Kontakt bei aktiviertem Alarm. Die Auswertung 
erfolgt dann mit einem Analogeingang weil eine LED kein low mehr 
zulässt.
Legt man antiparallel zum Kontakt eine LED und antiparallel zur 
vorherigen LED eine Diode, kann man durch verpolen der Leitungsspannung 
im Alarmfall die LED des offenen Kontakts blinken lassen. Bei 
geschlossenem Kontakt blinkt dann die andere LED.

Also keinerlei Eigenintelligenz auf Seite der Kontakte erforderlich, 
aber pro Kontakt eine Zuleitung nötig, keine 'Meldeschleife', immerhin 
verringert sich dadurch die Empfindlichkeit auf Blitzenschläge in der 
Nähe erheblich. Durch millisekundenlange Verpolung kann man auch die 
Leitung von Kurzschluss und Durchtrennen unterscheiden, also Sabotage 
entdecken.

von Stefan F. (Gast)


Lesenswert?

LED und Reed Kontakt würde ich über separate Leitungen führen. Denn eine 
anständige Alarmanlage kann den Status der Kontakte auch in nicht 
scharfem Zustand anzeigen.

Es gibt hier und da auch mal die Anforderung, dass man einen Bereich nur 
scharf schalten können darf, wenn alle (oder bestimmte) Kontakte 
geschlossen sind.

Mit einer ausgefuchsten Software, die Ströme Pulsieren lässt, kann man 
durchaus die zusätzliche Ader zur "Scharf" Anzeige einsparen, aber damit 
rechnet niemand, der die Anlage nicht selbst konstruiert hat. 
Normalerweise hat man entweder einfache DC Signale (an/aus), manchmal 
Widerstände zur besseren Sabotageerkennung und seltener digitale 
Übertragung zwischen Anlage und Proprietären Sensoren.

Nimm für die Anzeige also lieber eine separate Ader. Das ist einfacher 
und reduziert genau deswegen potentielle Probleme für die Techniker, die 
nach Dir daran arbeiten müssen.

Zur Schaltung: Die 40 Meter sind gar kein Problem. Ich empfehle dies:
1
       Kontakt
2
        ____        100Ω        10kΩ
3
    +---o  o-------[===]---+---[===]-------------o VCC (z.B. 5V)
4
    |                      |
5
    |                      |    47kΩ
6
    |                      +---[===]---+---------o µC Eingang
7
    |                      |           |
8
    |               10µF  ===         === 100nF    
9
    |               35V    |           |
10
   GND                    GND         GND

Wenn du automatisch erkennen können möchtest, ob die Leitung manipuliert 
wurde, dann schalte parallel zum Kontakt einen Widerstand (z.B. 10kΩ) 
und benutze am µC einen analogen Eingang. Achte allerdings darauf, den 
analogen Eingang nicht allzu häufig abzufragen, weil sonst am 47kΩ 
Widerstand viel Spannung abfällt und die Messung verfälscht. Ich halte 5 
bis 100 Abtastungen pro Sekunde für angemessen.

Infos zur Bauteile-Auswahl:

Die 10kΩ sollten nicht allzu hochohmig sein, damit durch den 
Schaltkontakt genug Strom fließt. Bei zu wenig Strom verschließen viele 
(oder alle?) Kontakte vorzeitig. Wenn du zu deinen Kontakten keine 
Angabe findest, lasse 0,5mA bis 1mA fließen. Das ist ein guter 
Erfahrungswert.

Die 100Ω begrenzen den Entladestrom vom 10µF Elko, damit der 
Schaltkontakt nicht kaputt geht und dabei keine unnötigen HF Störungen 
von der langen Leitung abgestrahlt werden. Es soll aber ein recht 
geringer Widerstandswert sein, damit die entprellende Wirkung des 
Kondensators nicht beeinträchtigt wird. Nur wenn der Kontakt lange genug 
geöffnet ist, soll am µC ein High Pegel ankommen.

Damit wäre auch schon die Hauptfunktion des 10µF Kondensators erklärt. 
Seine zweite Aufgabe besteht darin, niederfrequente Störungen zu 
unterdrücken. Die langen Leitungen wirken wie Antennen und empfangen 
Netzbrummen, Radiowellen und andere elektromagnetische Felder.

Hinter dem Elko folgt ein weiterer Tiefpass auf 47kΩ und 100nF. Der 
100nF ist besser imstande, hochfrequente Störungen zu unterdrücken 
(Elkos können das wegen ihrer hohen Induktivität weniger gut).

Der 47kΩ Widerstand beschützt außerdem den Mikrocontroller vor 
Fremdspannung. Bei mehr als 5,5V oder weniger als -0,5V werden die 
Schutzdioden im Eingang des µC wirksam, der Widerstand begrenzt in 
diesem Fall die Stromstärke. Die Schutzdioden begrenzen die Spannung.

Der 100nF hat noch eine zweite Aufgabe: Er speichert Energie für die 
Messung durch den ADC. Ohne Kondensator würde die Spannung bei jeder 
Messung stark absacken und zu einem ziemlich falschen Messergebnis 
führen.

Dass der Kontakt nach GND Schaltet ermöglicht es Dir auch, aktive 
Sensoren mit Open-Collector (oder Open-Drain) Ausgang anzuschließen.

Außerdem kannst du analoge Sensoren (z.B. Temperaturfühler) anschließen, 
die wie ein Widerstand im Bereich von ca. 1kΩ bis 100kΩ wirken.

Du kannst auch aktive Sensoren anschließen, die 12V oder gar etwas mehr 
ausgeben. Dann fließt allerdings ein Strom in "falscher" Richtung durch 
den 10kΩ Widerstand in das Netzteil. Wenn dieser Strom höher wird, als 
die Stromaufnahme der Alarmanlage, kommt es zu einer Spannungserhöhung. 
VCC erreicht dann Werte über 5V. Das wird aber sicher erst passieren, 
wenn mehr als 10 solcher Eingänge an hoher Spannung (z.B. 12V) hängen. 
Dagegen kann man folgendes tun:
1
         Zener 5,6V 1,3W
2
3
GND |-----|>|------o VCC 5V

Sollte die Versorgungsspannung über 5,6V ansteigen, leitet die 
Zenerdiode den Strom ab, so dass die Spannung nicht weiter ansteigen 
kann.

Dieses Schaltungsprinzip habe ich schon oft in Alarmanlagen und anderen 
Konstruktionen angewendet. Es funktioniert sehr zuverlässig und ist sehr 
robust gegen starke Störsignale. Abgeschirmte Kabel sind hierbei ganz 
nett aber nicht wirklich notwendig.

von D.Urchschlupf (Gast)


Lesenswert?

Stefanus F. schrieb:
> Ich halte 5 bis 100 Abtastungen pro Sekunde für angemessen.

Besteht bei nur 5 Abtastungen pro Sekunde nicht schon die Gefahr, das 
ein potentieller Einbrecher zwischen zwei Abfragen das Fenster öffnet, 
durchschlüpft und hinter sich wieder schließt?

DAS erscheint doch arg unsicher.

von Stefan F. (Gast)


Lesenswert?

> Besteht bei nur 5 Abtastungen pro Sekunde nicht schon die Gefahr,
> das ein potentieller Einbrecher zwischen zwei Abfragen das Fenster
> öffnet, durchschlüpft und hinter sich wieder schließt?

Das schafft nur Flash. Kein normaler Mensch ist so schnell. Abgesehen 
davon würde als nächstes irgendein Bewegungsmelder auslösen oder eine 
Lichtschranke, oder ein Türkontakt.

Man sollte sich ohnehin nicht auf einen einzigen Kontakt verlassen. Die 
können immer mal versagen.

von Christoph A. (aumy)


Lesenswert?

Hallo zusammen,

erstmal ein herzliches Dankeschön an alle. Ist einfach ein echter 
Genuss, wie rasch und kompetent einem hier geholfen wird!!

Von den 3 Lösungsansätzen scheint mir der von Stefanus F. am 
einleuchtendsten zu sein, da am einfachsten umzusetzen. PS: Ich habe von 
Anfang an vorgesehen, die Kontakte mittels "Sternschaltung" 
anzuschliessen, d.h. jeder Kontakt hat eine eigene, dedizierte 
Verbindung zur Alarmanlage. Als Reed-Kontakte verwende ich diese hier: 
https://www.aliexpress.com/item/Jshej/32830324655.html

Ich habe nicht vor, eine Sabotage-Detektion einzubauen. Die 
Reed-Kontakte sind bei mir unsichtbar verbaut (da im Fenster- resp. 
Türrahmen bauseits eingelegt), und die Kabel somit nicht einfach 
zugänglich. Ich sehe drum kein Risiko, dass sich ein potentieller 
Einbrecher an den Kontakten oder auch Zuleitungen zu schaffen macht, 
ohne dabei den Alarm auszulösen... Der Vorteil ohne Sabotage liegt 
meines Erachtens darin, die Reed-Kontakte nicht analog, sondern rein 
digital auslesen zu können. Somit könnte ich die vorgesehenen I2C 
Port-Expanders verwenden, um auf die nötigen Ports zu kommen.

Frage zur Status- resp. Alarm-LED: Im Printip lässt sich beides mit 
einer einzigen LED realisieren. ON=Alarm scharfgeschaltet aber nicht 
ausgelöst, blinkend=Alarm ausgelöst, OFF=REED-Kontakt unterbrochen (bei 
aktiver aber nicht scharfgeschalteter Alarmanlage) resp. Alarmanlage 
ganz ausgeschaltet.

Muss die LED infolge langer Zuleitung speziell betrieben werden, z.B. 
mittels höhere Spannung am Eingang der Leitung, damit nach 2x40m (hin 
und zurück) noch die nötige Spannung an der LED anliegt? Wie siehts mit 
dem Vorwiderstand aus, und ist dieser abhängig der Leitungslänge? -> Wie 
sieht die Lösung hier aus, um eine generischen Schaltung für 
verschiedende Leitungslängen realisieren zu können?

Ich habe vor, ein 3 oder 4-adriges Signalkabel zu verwenden (ggf. mit 
Schirm). Auf dem Schirm wäre dann GND. Oder wären 2 verdrillte Aderpaare 
besser?

Einmal mehr vielen Dank und Grüsse,
Christoph

von Stefan F. (Gast)


Lesenswert?

> Von den 3 Lösungsansätzen scheint mir der von Stefanus F. am
> einleuchtendsten zu sein, da am einfachsten umzusetzen.

Vorsicht. Ich bin zwar auch ein Freund von einfachen Lösungen und 
Erklärungen, aber das garantiert noch lange nicht, dass es für deinen 
Fall beste ist.

Wobei ich Dir diesen Vorschlag schon mit bestem gewissen gegeben habe. 
Also keine Sorge, völlig daneben wird sie nicht sein.


> Muss die LED infolge langer Zuleitung speziell betrieben werden

Nö.

> Wie siehts mit dem Vorwiderstand aus, und ist dieser
> abhängig der Leitungslänge?

Nein, dein Kabel ist ja nicht 10km lang. Sein Innenwiderstand ist 
vernachlässigbar.

> Wie sieht die Lösung hier aus, um eine generischen Schaltung
> für verschiedende Leitungslängen realisieren zu können?
1
       LED     220Ω
2
3
GND ----|<|---[===]---o µC Ausgang

Verdrillung hilft, Störungen zu vermeiden. Abschirmung ebenfalls. Die 
Abschirmung soll normalerweise nicht zur Stromversorgung verwendet 
werden.

Also 2 Adern verdrillt für die LED und 2 Adern verdrillte für den 
Reedkontakt. GND kommt zusätzlich an den Schirm (aber nur an einem Ende 
des Kabels).

Falls dein Kabel vier-adrig verdrillt ist (wie Telefonkabel) gehören die 
gegenüber liegenden Adern als Paar zusammen.

von Weingut P. (weinbauer)


Lesenswert?

Hab bei mir z-verdrahtung mit 10k Abschlusswiderstand, Alarmanlage ist 
quasi Messbrücke mit Differenzverstärker für die Fensterkontakte. 
Glasbruchmelder sind eh im Z da gleiche Konstruktion, dann kann das 
ganze einfach durchgeschliffen werden.

von my2ct (Gast)


Lesenswert?

Stefanus F. schrieb:
> Nein, dein Kabel ist ja nicht 10km lang. Sein Innenwiderstand ist
> vernachlässigbar.
>
>> Wie sieht die Lösung hier aus, um eine generischen Schaltung
>> für verschiedende Leitungslängen realisieren zu können?
>        LED     220Ω
>
> GND ----|<|---[===]---o µC Ausgang

Soll das die LED der Raumbeleuchtung sein?
Ausgehend von vielleicht 3V am Widerstand und einer LED, die nicht 
gerade aus Restbeständen des vorigen Jahrhunderts stammt, darf der 
Widerstand wohl gerne einen Faktor 5 größer sein.
Sonst muss man am Ende doch noch den Leitungswiderstand in die 
Kalkulation mit einbeziehen ;-)

von oszi40 (Gast)


Lesenswert?

Stefanus F. schrieb:
> Verdrillung hilft, Störungen zu vermeiden.

Verdrillung kann es nützlich sein, aber durch Nässe/Sturm verzogene 
Holzteile könnten trotzdem zu lästigen Fehlalarmen führen, die man 
vermeiden sollte! Ein echter Alarm sollte NUR ausgelöst werden, wenn 
mehrere Bedingungen erfüllt sind. Sonst ignoriert man Deine Alarme bald.

von Stefan F. (Gast)


Lesenswert?

> Soll das die LED der Raumbeleuchtung sein?

Ich habe es für die (miesen) Standard LEDs von Conrad ausgelegt.

Dein Hinweis ist sinnvoll, mal sollte vorher mal prüfen, wie hell die 
LED damit leuchtet. Ich beziehe meine LEDs inzwischen aus Asien (die 
billigsten) und betreibe sie mit 1 bis 10mA, je nach gewünschter 
Helligkeit. Meistens reichen 1mA schon.

10mA sind allerdings optisch nicht 10x heller als 1mA, weil das Auge 
logarithmisch reagiert.

> Ein echter Alarm sollte NUR ausgelöst werden, wenn
> mehrere Bedingungen erfüllt sind.

Oh ja, das wäre schön. Bei uns im Viertel höre ich jede Woche irgendwo 
einen Alarm. ich glaube nicht, dass das alles Einbrüche sind. Ich gucke 
inzwischen tatsächlich nicht mehr nach.

von Alexander (Gast)


Lesenswert?

oszi40 schrieb:
> Stefanus F. schrieb:
>> Verdrillung hilft, Störungen zu vermeiden.
>
Ein echter Alarm sollte NUR ausgelöst werden, wenn
> mehrere Bedingungen erfüllt sind. Sonst ignoriert man Deine Alarme bald.

Also ich habe schon einige VDS zertifizierte Einbruchmeldeanlagen 
eingebaut.
Und bei jeder Anlage geht der Alarm los, sobald ein Fenster aufgehebelt 
wird.
Sprich eine Bedinung erfüllt wurde.
Gleiches gilt für Brandmeldeanlagen.

von Christoph A. (aumy)


Lesenswert?

oszi40 schrieb:
> Ein echter Alarm sollte NUR ausgelöst werden, wenn
> mehrere Bedingungen erfüllt sind.

Wie soll denn das realisiert werden? Mittels 2er unabhängigen 
Magnetkontakten an einem Fester/Türe? Schliesslich muss ja nur ein 
Fenster überwunden werden, und dann ist man "drin"...
Leider fallen bei mir Bewegungsmelder weg (Katzen...) und auch 
Lichtschranken o.ä. sind irgendwie keine Option (Verkabelung...).

Sind denn Magnetkontakte derart "unzuverlässig"?
Denn ich glaube nicht, dass bei mir verzogene Holzteile ein Problem sein 
werden, vielleicht höchstens Minustemperaturen im Winter.

von Stefan F. (Gast)


Lesenswert?

> Sind denn Magnetkontakte derart "unzuverlässig"?

Wenn sie solide montiert sind, funktionieren sie zuverlässig. Was viel 
häufiger aus Versehen passiert ist, dass Fenster nur angelehnt sind 
anstatt verriegelt. Dann öffnet ein Windstoß das Fenster und schon hast 
du einen Alarm.

Die meisten Leute, die Alarmanlagen betreiben, haben kein Personal vor 
Ort (obwohl das so eigentlich sinnlos ist). Wer macht dann das Fenster 
zu?

von Christoph A. (aumy)


Lesenswert?

Stefanus F. schrieb:
> Fenster nur angelehnt sind
> anstatt verriegelt. Dann öffnet ein Windstoß das Fenster und schon hast
> du einen Alarm.

Das wird sicher nicht passieren! Das Fenster nur angelehnt werden, kommt 
bei einer Parterrewohnung (EG) per se nicht in Frage...

Wenn die Zuverlässigkeit von Reed-Kontakten bei solider Montage 
gewährleistet ist, und "Bedienfehler" (angelehntes Fenster) 
ausgeschlossen werden können, sehe ich nicht ein, weshalb eine Vorsorge 
gegen Fehlalarme umgesetzt werden sollte. Solche dürfte es ja so nur 
sehr selten geben...

von oszi40 (Gast)


Lesenswert?

Christoph A. schrieb:
> sehe ich nicht ein, weshalb eine Vorsorge
> gegen Fehlalarme umgesetzt werden sollte. Solche dürfte es ja so nur
> sehr selten geben...

Das ist die Theorie. Nach 14 Tagen Regenwetter hatte sich eine Holztür 
so stark verzogen, daß es zur Auslösung kam.

von Teo D. (teoderix)


Lesenswert?

oszi40 schrieb:
> Nach 14 Tagen Regenwetter hatte sich eine Holztür
> so stark verzogen, daß es zur Auslösung kam.

Dann lags aber sicher nicht an der Alarmanlage. :)

von Alexander (Gast)


Lesenswert?

Teo D. schrieb:
> Dann lags aber sicher nicht an der Alarmanlage. :)

Und die verzogene Tür dürfte auch nicht mehr aufgegangen sein.

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.