www.mikrocontroller.net

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


Autor: Peter Kasi (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Kasi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.