mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Entprellen bei 50 Hz Signal


Autor: Transi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An einem 89C2051 habe ich vier Eingänge die über einen Optokoppler
angesteuert werden. Der Optokoppler hat auf der Transistorseite einen
4,7 kOhm Pull Up Widerstand. Vom Kollektor des Optokoppler geht es zum
Controller Eingang. Die LED des Optokoppler wird über einen 1 k Ohm
Widertand und eine Diode  entweder mit Gleichspannung 5 ... 24 V oder
mit Wechselspannung 5V ... 24 V/50 Hz angesteuert. Da diese Spannung
auch über einen mech. Schalter geschaltet werden kann prellt das Signal
natürlich. Das DC Signal per Software zu entprellen ist kein Problem,
mit der Entprellung des AC-Signals stehe ich aber im Moment so richtig
auf dem Schlauch.

Habe mich im Moment um die AC Entprellung in der Form gedrückt, dass
ich vom Kollektor des Optokopplertransistors einen 4,7 µF Kondensator
nach GND gesetzt habe. Damit sehe ich die 50 Hz am Eingang des
Mikrocontrollers nicht mehr, habe dafür aber natürlich einen sehr
langsamen 0 – 1 Wechsel von ca. 40 ms. Für meine Anwendung kann ich
damit gut leben, nur mag das der Controllereingang auf Dauer, wenn sich
das Signal so langsam ändert? Die Eingänge sind ja keine Schmitt-Trigger
Eingänge.

Was meint Ihr, kann ich die Hardwarelösung anwenden?
Kann mir jemand mit einem Tipp für eine Softwarelösung auf die Sprünge
helfen?

Schon mal herzlichen Dank

Transi

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Signal gilt als "ein", wenn Du mindestens x ms eine 1 empfängst und es
gilt aus "aus", wenn das Signal mindestens y ms 0 ist. Du bekommst
dadurch natürlich eine gewisse Ein- und Ausschaltverzögerung, aber das
kann man nicht vermeiden.

Autor: Transi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Markus
So leicht dürfte es nicht sein. Bei 50 Hz (ohne prellen) bekomme ich
nach meinem Optokoppler 10 ms „1“ und 10 ms „0“ und das solange wie das
Signal anliegt.
Eingeschaltet ist, wenn die „Schwingerei“ in diesem 10ms Takt da ist,
Ausgeschaltet ist, wenn sie weg ist. Nur in Wirklichkeit zappelt es
davor und danach wegen des prellens ganz böse. Ich müsste, so denke
ich, diese 10ms Impulse irgend wie schlau auswerten.

Gruss

Transi

Autor: bratsand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst ja nen Schmitt trigger davor hängen ;)

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann nimmst Du halt 5ms ein für "1" und 10ms aus "0". Die Werte
müssen ja nur eindeutig an oder aus sein. Die Verzögerung die durch das
Prellen entsteht dürfte doch vernachlässigbar sein.

Markus

Antwort schreiben

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

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.