Forum: Mikrocontroller und Digitale Elektronik Entprellen bei 50 Hz Signal


von Transi (Gast)


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

von Markus (Gast)


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.

von Transi (Gast)


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

von bratsand (Gast)


Lesenswert?

Kannst ja nen Schmitt trigger davor hängen ;)

von Markus (Gast)


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

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.