Forum: Mikrocontroller und Digitale Elektronik Reedschalter an AVR


von Julian V. (torten_juli)


Lesenswert?

Hallo,

ich habe mit Reedkontakten noch nie gearbeitet. Nun habe ich folgende 
Frage:

Kann ich einen Reedschalter(Schließer) direkt an einen MCU schalten wie 
einen ganz normalen Taster?

Ich möchte mit dem Reedschalter überprüfen, ob der Deckel meines 
Belichters geschlossen oder offen ist, damit ich bei Bedarf die 
UV-Röhren abschalten kann. Dazu wollte ich einen kleinen Magneten an den 
Deckel anbringen. Ist der Deckel geschlossen, so ist auch der 
Reedschalter geschlossen, sodass der Pin am MCU auf Low gezogen wird. 
Der Reedschalter soll mit dem internen Pullup des AVR gegen GND 
betrieben werden.

Wenn dies so funktionieren würde, dann muss ich mir nur noch Gedanken 
wegen des Prellens machen. Ich denke ein einfaches RC-Glied solte für 
meine Anwendung reichen. Ich weiß nur nicht, wie lange so ein 
Reedschlater prellt. Weiß da jemand was?

Falls ich den Redschalter nicht direkt am MCU betreiben kann, wäre dann 
sowas(http://www.ebay.de/itm/Schilf-Sensormodul-Magnetron-Modul-Reed-Schalter-Magnet-Schalter-/351332503916?var=&hash=item51cd0c916c) 
eine Alternative?

Grüße Julian

von Paul B. (paul_baumann)


Lesenswert?

Julian V. schrieb:
> Kann ich einen Reedschalter(Schließer) direkt an einen MCU schalten wie
> einen ganz normalen Taster?

Ja, kannst Du machen.

Julian V. schrieb:
> Wenn dies so funktionieren würde, dann muss ich mir nur noch Gedanken
> wegen des Prellens machen. Ich denke ein einfaches RC-Glied solte für
> meine Anwendung reichen. Ich weiß nur nicht, wie lange so ein
> Reedschlater prellt. Weiß da jemand was?

Entprelle es per Software, sondt kommst Du hier in Teufels Küche...
;-)

MfG Paul

von Stefan F. (Gast)


Lesenswert?

Reedschalter prellen nur sehr wenig, typischerweise weniger als eine 
Millisekunde.

Eine Entprellung brauchst du nur, wenn du die Anzahl der Impulse zählen 
willst. Da reicht ganz sicher ein kleiner 10nF Kondensator parallel zum 
Kontakt.

Das mit der Teufels Küche bedarf einer Begründung.

von wendelsberg (Gast)


Lesenswert?

Paul B. schrieb:
> Entprelle es per Software, sondt kommst Du hier in Teufels Küche...
> ;-)
>
> MfG Paul

Da es hier nur um Zustaende geht (offen=aus geschlossen=ein) wird es 
keine Entprellung brauchen.

Wenn allerdings mitgezaehlt werden soll, wie oft der Deckel geoeffnet 
wurde, schon.

wendelsberg

von Julian V. (torten_juli)


Lesenswert?

Danke schonmal für die Antworten.

Mit dem Prellen war ich mir nicht sicher, da ich je nach Zustand ein 
Relais ansteuern möchte.

Kann ich trotzdem auf das Entprellen verzichten?

Habe nur 47n und 100n Kondis zur Hand. Damit wäre ich dann wohl auf der 
sicheren Seite :D

von Stefan F. (Gast)


Lesenswert?

> Kann ich trotzdem auf das Entprellen verzichten?

Ja, wenn die Prellzeit kürzer ist, als die Ansprechzeit des Relais. Was 
ganz sicher der Fall ist. Es sei denn, dein Reedkontakt ist 
außergwöhnlich groß - riesig groß.

> Habe nur 47n und 100n Kondis zur Hand.

Zu groß sollte man die Kondensatoren aber auch nciht wählen, denn wenn 
der Kontakt schließt, fließt kurzzeitig ein hoher Strom durch den 
Kontakt. Je größer der Kondensator, umso stärker wird der Kontakt 
belastet. Ich weiss jetzt nciht, wo die Grenzen sind, aber für normale 
Taster verwende ich immer 100nF.

Wenn du sicher gehen willst, schalte noch einen 100 Ohm Widerstand in 
Reihe zum Kondensator, um den Strom zu begrenzen.
1
               Kontakt
2
GND |----+--------/-------+-----o µC Eingang mit Pull-Up
3
         |                |
4
         +---||---[===]---+
5
           47nF   100 Ohm

von Flux (Gast)


Lesenswert?

... auf der unsicheren Seite.
Reedschalter mögen Ströme überhalb der Nennwerte gar nicht (bleiben dann 
z. B. kleben). Bei uns reichte schon die kapazitive Impulsbelastung 
durch 15m Leitung (allerdings bei 24V) für Ausfälle aus.

von Flux (Gast)


Lesenswert?

... zu spät gesehen.

von spess53 (Gast)


Lesenswert?

Hi

> Kann ich trotzdem auf das Entprellen verzichten?

Wenn du nur während der Belichtung abschalten willst, ja.

MfG Spess

von Paul B. (paul_baumann)


Lesenswert?

Stefan U. schrieb:
> Das mit der Teufels Küche bedarf einer Begründung.

Statt einer Begründung nur eine Gegenfrage: Wie lange liest Du schon 
in diesem Forum mit und wie oft wird pro Tag die Frage des Entprellens 
von Kontakten mittels Hard- oder Software diskutiert?

MfG Paul

von Stefan F. (Gast)


Lesenswert?

Oft, das einzige Argument gegen Hardware-Entprellung, das bei mir hängen 
geblieben ist, sind die Kosten für Massenprodukte.

von F. F. (foldi)


Lesenswert?

Füge doch einfach eine Pause von 10ms nach der Abfrage ein, wenn du 
nichts wirklich zeitkritisches in deiner Anwendung hast.
Das mache ich auch so und funktioniert prima.

von Löter (Gast)


Lesenswert?

Stefan U. schrieb:
> Oft, das einzige Argument gegen Hardware-Entprellung, das bei mir
> hängen geblieben ist, sind die Kosten für Massenprodukte.
Mir würde es schon bei einer einzigen Patine nicht gefallen unnötige 
Bauteile aufzulöten...

von Julian V. (torten_juli)


Lesenswert?

F. F. schrieb:
> Füge doch einfach eine Pause von 10ms nach der Abfrage ein, wenn du
> nichts wirklich zeitkritisches in deiner Anwendung hast.
> Das mache ich auch so und funktioniert prima.

Danke für den Tip. Das werde ich dann so mal ausprobieren.

von Stefan F. (Gast)


Lesenswert?

> Mir würde es schon bei einer einzigen Patine nicht gefallen
> unnötige Bauteile aufzulöten...

Sparst du auch bei Abblock Kondensatoren?

von Löter (Gast)


Lesenswert?

Stefan U. schrieb:
>> Mir würde es schon bei einer einzigen Patine nicht gefallen
>> unnötige Bauteile aufzulöten...
>
> Sparst du auch bei Abblock Kondensatoren?

Löter schrieb:
> unnötige Bauteile

von m.n. (Gast)


Lesenswert?

Stefan U. schrieb:
>> Mir würde es schon bei einer einzigen Patine nicht gefallen
>> unnötige Bauteile aufzulöten...
>
> Sparst du auch bei Abblock Kondensatoren?

Er spart bei der Eingangsschutzschaltung. Ein typischer Fehler für 
"Löter". "Denker" sparen an dieser Stelle nicht.

von Harald W. (wilhelms)


Lesenswert?

m.n. schrieb:

>> Sparst du auch bei Abblock Kondensatoren?
>
> Er spart bei der Eingangsschutzschaltung. Ein typischer Fehler für
> "Löter". "Denker" sparen an dieser Stelle nicht.

Für "Privatschaltungen" lohnt sich die Einsparung von Bauteilen,
die wenige Cent kosten, praktisch nie. Die Zeit, die man dann
möglicherweise zur Fehlersuche aufwendet, ist wesentlich wertvoller.

von m.n. (Gast)


Lesenswert?

Harald W. schrieb:
> Für "Privatschaltungen" lohnt sich die Einsparung von Bauteilen,
> die wenige Cent kosten, praktisch nie.

... und erst recht nicht im industiellen Bereich, wo jeder ungeschützte 
Eingang den ganzen µC 'wegpusten' kann.
Für Löter ist es aber wohl wichtiger, die richtige Seite des Kolbens zu 
greifen ;-)

von Harald W. (wilhelms)


Lesenswert?

m.n. schrieb:

> ... und erst recht nicht im industiellen Bereich, wo jeder ungeschützte
> Eingang den ganzen µC 'wegpusten' kann.

Naja, wenn solche Modifikationen zur Verkürzung der Lebensdauer
von Geräten beitragen, ist ein solches Verhalten heutzutage ja
eher erwünscht...

von Löter (Gast)


Lesenswert?

[ ] Ich kenne die Bedeutung des Wortes "unnötig"

von Harald W. (wilhelms)


Lesenswert?

Löter schrieb:
> [ ] Ich kenne die Bedeutung des Wortes "unnötig"

Ob ein Bauelement nötig oder unnötig war, entscheidet sich manchmal
erst nach mehrstündiger, frustrierender Fehlersuche...

von Stefan F. (Gast)


Lesenswert?

Der Kondensator parallel zum Reedkontakt dient nicht nur der 
Entprellung. Er blockt auch Störungen durch elektromagnetische Wellen 
ab.

So viel zum Thema "unnötig".

von Falk B. (falk)


Lesenswert?

@ Stefan Us (stefanus)

>Der Kondensator parallel zum Reedkontakt dient nicht nur der
>Entprellung. Er blockt auch Störungen durch elektromagnetische Wellen
>ab.

Nicht wirklich. Da hat mal wieder jemand das Thema Entprellung mit 
Snubber verwechselt.

>So viel zum Thema "unnötig".

Ist es in der Form auch. Eine Entprellung bzw. HF-Abblockung von Tastern 
macht man nämlich SO!

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

von Tom (Gast)


Lesenswert?

Falk B. schrieb:
> HF-Abblockung von Tastern

Die ist in der Nähe von UV-Röhren + Vorschaltgerät vielleicht ganz 
sinnvoll.

von Axel S. (a-za-z0-9)


Lesenswert?

Falk B. schrieb:
>>So viel zum Thema "unnötig".
>
> Ist es in der Form auch. Eine Entprellung bzw. HF-Abblockung von Tastern
> macht man nämlich SO!
>
> https://www.mikrocontroller.net/articles/Entprellung#Einfacher_Taster

Beziehungsweise für die konkrete Anwendung in diesem Thread: gar nicht. 
Denn es interessiert ja für die Notabschaltung bei offenem Deckel gar 
nicht, ob der Kontakt prellt. Wenn der Nutzer die Start-Taste drückt, 
hat der Deckel zu zu sein (der Kontakt also geschlossen) - sonst wird 
der Befehl zum Start der Belichtung schlicht ignoriert. Und wenn bei 
laufender Belichtung der Kontakt bei auch nur einer Abfrage offen ist, 
dann wird der Belichtungsvorgang abgebrochen. Sofort. Vollkommen egal ob 
der Kontakt danach noch prellt oder nicht.

In der Praxis wird man aber sowieso alle Kontakte, Taster, Drehgeber 
und was weiß ich noch in einem zetralen Timerinterrupt abfragen und 
entprellen wollen. Da spielt es dann überhaupt keine Rolle, ob der 
Kontakt für Notabschaltung auch noch mit entprellt wird oder nicht.
Und die paar ms Verzögerung durch die Entprellung dürften auch kein 
Problem darstellen.

von Joachim B. (jar)


Lesenswert?

Löter schrieb:
> Mir würde es schon bei einer einzigen Patine nicht gefallen unnötige
> Bauteile aufzulöten...

sehe ich auch so, Reedkontakt, dem sollte doch der interne pullup 
reichen und eine Entprellroutine (PeDa) die man für Tasten eh will.

sollte wirklich der interne pullup zu hochohmig sein weil die Leitung 
lang ist oder die Umgebung versifft lötet man halt einen externen pullup 
ein.

von Karl H. (kbuchegg)


Lesenswert?

Axel S. schrieb:

> Denn es interessiert ja für die Notabschaltung bei offenem Deckel gar
> nicht, ob der Kontakt prellt.


Genau so ist es.

Wobei ich an dieser Stelle überhaupt diesen Kontakt gar nicht unbedingt 
über den µC laufen lassen würde. Die Versorgung der Röhren über einen 
entsprechenden Kontakt führen, so dass die Notabschaltung mechanisch bei 
Deckelöffnung erzwungen wird, selbst wenn der unwahrscheinliche Fall 
eintritt, dass der µC abschmiert.

von Route_66 H. (route_66)


Lesenswert?

Karl H. schrieb:
> selbst wenn der unwahrscheinliche Fall
> eintritt, dass der µC abschmiert.

Wenn man die Probleme und Fragen der User hier im Forum liest, ist Dein 
genannter Fall der sicher, ständig und immer eintretende Zustand!

Nicht nur deshalb sollte jeder, der irgend etwas mit Sicherheit 
entwirft, auf sowas
> dass der µC abschmiert.
vorbereitet sein.

: Bearbeitet durch User
von Julian V. (torten_juli)


Lesenswert?

Karl H. schrieb:
> Wobei ich an dieser Stelle überhaupt diesen Kontakt gar nicht unbedingt
> über den µC laufen lassen würde. Die Versorgung der Röhren über einen
> entsprechenden Kontakt führen, so dass die Notabschaltung mechanisch bei
> Deckelöffnung erzwungen wird, selbst wenn der unwahrscheinliche Fall
> eintritt, dass der µC abschmiert.

Ich könnte den Reedschalter als Notabschaltung nutzen. Der müsste doch 
dann nur entprechend ausgelegt sein. Gibt es günstige Reedschalter als 
Öffner, die ich in einen 230V AC Stromkreis einbauen kann?

Da es sich nur um ein Hobbyprojekt handelt und nur ich das Gerät 
bedienen werde, hat das Gerät nicht solche hohen 
Sicherungsaanforderungen.

Mechanisch ist leider aufgrund der Bauweise nicht mehr möglich.

von Harald W. (wilhelms)


Lesenswert?

Julian V. schrieb:

> Gibt es günstige Reedschalter als
> Öffner, die ich in einen 230V AC Stromkreis einbauen kann?

Kannst Du nicht einfach einen Mikroschalter nehmen? Der dürfte
für Deine Anforderungen wesentlich billiger und einfacher zu
besorgen sein.

von Teufelszeug (Gast)


Lesenswert?

Route 6. schrieb:
> Karl H. schrieb:
>> selbst wenn der unwahrscheinliche Fall
>> eintritt, dass der µC abschmiert.
>
> Wenn man die Probleme und Fragen der User hier im Forum liest, ist Dein
> genannter Fall der sicher, ständig und immer eintretende Zustand!
>
> Nicht nur deshalb sollte jeder, der irgend etwas mit Sicherheit
> entwirft, auf sowas
>> dass der µC abschmiert.
> vorbereitet sein.

Genau. Man kann froh sein, wenn der überhaupt läuft.

von Axel S. (a-za-z0-9)


Lesenswert?

Julian V. schrieb:
> Ich könnte den Reedschalter als Notabschaltung nutzen. Der müsste doch
> dann nur entprechend ausgelegt sein. Gibt es günstige Reedschalter als
> Öffner, die ich in einen 230V AC Stromkreis einbauen kann?

Ich würde den Reedkontakt eher nicht in den 230V Stromkreis legen. 
Verwendest du nicht sowieso ein Relais, um den 230V Kreis zu schalten? 
Dann pack den Reedkontakt doch auf die Niederspannungsseite.

von Stefan F. (Gast)


Lesenswert?

> Gibt es günstige Reedschalter als
> Öffner, die ich in einen 230V AC Stromkreis einbauen kann?

Die gibt es, kosten natürlich ein bisschen mehr.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ich betreibe seit ca. 6 Monaten einen Arduino als "Sniffer" an einer 
fremden SPS (Steuerung Autowaschanlage), die mit 24V läuft. Dazu habe 
ich 12 St. 24-V-Reedrelais verwendet, die jeweils einen Arduino-Eingang 
auf Masse ziehen. Nach Plus (auf Arduino-Seite) habe ich zusätzlich je 
eine LED mit interner Strombegrenzung (spart den extra Widerstand) 
geschaltet, so dass man auch sieht, wenn geschaltet wird.

Zur SOftware-Entprellung benutze ich die Zählschleifen-Methode: Wird 
beim Abfragen ein High festgestellt, wird eine Variable inkrementiert 
bis max. zum Wert 20, wird Low festgestellt bis min. zur Null 
dekrementiert. Ist die Variable größer 10 werte ich den Eingang als 
High, sonst als Low. Die Zählschleife selber läuft ca. 10 mal schneller 
als das Setzen und Auslesen der Variablen, damit tritt auch kein 
Flattern um die 10 herum auf ...

Damit kann ich auch den Taktimpuls der Transportkette (ca. 5 Hz) noch 
problemlos erfassen. Die anderen Signale sind in meinem Falle 
unkritisch.

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

Für alle die, die es noch nicht bemerkt haben:


In seinem Fall wird dieser EIngang nicht entprellt. Man braucht es 
schlicht und ergreifend nicht. Denn über diesen Pin muss keine Flanke 
festgestellt werden (na ja), sondern das ist eine reiner 
Zustandseingang.

Drückt der Benutzer auf 'Start' dann wird der Engang abgefragt, ob der 
Deckel geschlossen ist. Ist er nicht geschlossen (=Zustand) dann gehen 
die Lampen erst gar nicht an.
Während die Belichtung läuft wird laufend der Eingang erneut abgefragt, 
ob der Deckel immer noch geschlossen ist. Ist er nicht geschlossen, dann 
werden die Lampen abgeschaltet und werden auch nicht wieder erneut 
gestartet. Dazu muss der Benutzer erneut auf "Start" drücken.
An keiner Stelle spielt Prellen eine Rolle. Denn wenn die Lampen erst 
mal über den Deckelschalter aus sind, dann bleiben sie auch aus.
1
  while(1) {
2
3
    if( LampOn ) {
4
      if( DeckelOpen ) {
5
        TurnLampOff;
6
        LampOn = false;
7
        ErrorLedOn;
8
      }
9
    }
10
11
    else {
12
      if( Start_Pressed ) {
13
        if( !DeckelOpen ) {
14
          TurnLampOn;
15
          LampOn = true;
16
          ErrorLedOn;
17
        }
18
        else
19
          ErrorLedOff;
20
      }
21
22
....
23
    }
24
  }
25
}

eine andere Baustelle sind die Bedienertasten. Aber um die gehts ja 
nicht.

: Bearbeitet durch User
von Jan H. (jan_m_h)


Lesenswert?

Frank E. schrieb:
> Wird beim Abfragen ein High festgestellt, wird eine Variable
> inkrementiert bis max. zum Wert 20, wird Low festgestellt bis min. zur
> Null dekrementiert. Ist die Variable größer 10 werte ich den Eingang als
> High, sonst als Low.

Hmm. Klingt funktionsfähig, aber ich glaube besser wäre high bei >15 und 
Low bei <5, dazwischen den Wert halten? Dann sparst du dir das da:

Frank E. schrieb:
> Die Zählschleife selber läuft ca. 10 mal schneller als das Setzen und
> Auslesen der Variablen,

Sollte schneller sein. Gut, ist bei 5 Hz jetzt echt egal.

Zum Reedkontakt des TE:

Karl H. schrieb:
> In seinem Fall wird dieser EIngang nicht entprellt

Sehe ich auch so. Selbst den Startknopf muss er nicht umbedingt 
entprellen.

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

Jan H. schrieb:

> Sehe ich auch so. Selbst den Startknopf muss er nicht umbedingt
> entprellen.

Jep.
Ich geh allerdings davon aus, dass er noch ein paar Tasten zur 
Zeiteinstellung haben wird. Da geht dann der Startknopf 'gratis' auch 
noch mit.

von F. F. (foldi)


Lesenswert?

Karl H. schrieb:
> Da geht dann der Startknopf 'gratis' auch
> noch mit.

Gratis ist gut! :-)

von qwertzuiopü+ (Gast)


Lesenswert?

Wenn er den Startknopf auch zum Stoppen benutzen will, wäre Entprellen 
gar nicht schlecht ;-)

von Karl H. (kbuchegg)


Lesenswert?

qwertzuiopü+ schrieb:
> Wenn er den Startknopf auch zum Stoppen benutzen will, wäre Entprellen
> gar nicht schlecht ;-)

:-)
er kann ja den Deckel aufmachen
:-)

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.