Forum: Mikrocontroller und Digitale Elektronik 12V AC mit Optokoppler detektieren


von Peter Kasi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich versuch gerade ne Eingangskarte mit 10 Eingängen zu erstellen. Die
Karte soll lediglich feststellen, ob 12V Wechselspannung anliegen oder
nicht. Mein Problem ist nun, das beim Nulldurchgang der
Optokopplerausgang kurz auf high geht. Die zeit die er auf High ist
(0,5ms) reicht aus, beim Abfragen zufällig ein falsches Ergebnis zu
bekommen. Da es 10 Eingänge sind wollte ich den Hardwareaufwand so
gering wie möglich halten (vor dem Opto gleichrichten und mit Elko
glätten will ich nicht unbedingt). Eine Möglichkeit wäre es mit
Software auszubügeln (einfach mehrfach in einer Halbwelle abfragen und
mittelwert aus den Ergebnissen bilden + ceil-Funktion o.s.ä.), Hardware
wäre mir aber lieber. Hat einer von euch 'nen Vorschlag?
Könnte ich z.B. einfach nen Kondensator zwischen GND und Port hängen,
der den Peak nierderknüppelt?

Danke mal im voraus
Gruß
Peter

von ...HanneS... (Gast)


Lesenswert?

Hi...

Mittelwert ist nicht gut, nimm lieber für jeden Eingang ein Register
als Timeout-Counter, das bei L am Port auf Startwert gesetzt wird und
bei Überlauf die Aktion (Strom weg) auslöst. Das Ganze in einer
Timer-ISR, die  mehrmals je Halbwelle aufgerufen wird. Es geht u.U.
auch mit einem Nibble als Zähler.

...HanneS...

von Matthias (Gast)


Lesenswert?

Hi

wie lang ist den die High-Phase? Wohl kaum länger als 1ms. Also einfach
im Abstand von 1ms (oder 10ms) den Eingang abfragen. Wenn zweimal
hintereinander high->inaktiv ansosnsten aktiv(State Machine). Du mußt
nur so langsam abtasten das du nicht zweimal in einer High-Phase
abtatstest aber auch schnell genug um nicht zufällig zwei Spikes zu
erfassen.

Wenns unbedingt Hardware sein soll:

C (Kapazität je nach Spike-Länge bei 1ms Spike und den 100k Pullup
sollten 100nF ganz gut passen) gegen Masse und R (100 Ohm) in Reihe zum
Schalttransistor des Optokopplers.

Matthias

von Peter Kasi (Gast)


Lesenswert?

Danke mal für eure Antworten,
@Matthias
hab das mal mit dem Tiefpass mit deinen Werten ausprobiert, scheint gut
zu funktionieren. Laut Oszi ist ein Peak jetzt nur noch 0,27 V hoch.
Müsste eigentlich ausreichen damit es als low durchgeht.
War auch meine erste Idee, hatte aber einen Denkfehler (Elko langsam
entladen über opto, und schnell mit Pull-Up, so krieg ich aber meine
Peaks nicht weg:), bin eben doch nicht vom Fach, aber man ist ja nicht
lernresistent...

Das in Software werd ich mir noch mal überlegen.

btw, wie würde eigentlich die Eingangsbeschaltung bei einer
professionellen Lösungen mit Optokopplern aussehen. Wird da der
Optokoppler auch direkt beschalten, oder macht man da noch was davor
(wenn man was macht, will man es ja auch richtig machen)?

Peter

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.