Forum: Mikrocontroller und Digitale Elektronik Spannungsänderungen mit Optokoppler erkennen?


von Stefan S. (kami)


Lesenswert?

Hi,

folgende Aufgabenstellung: Wie müsste eine Schaltung am Arduino 
aussehen, der über 1 Optokoppler (CNY17-3 oder PC817) eine 
Spannungsänderung von 2,5V auf 4,4V erkennt und diese direkt über einen 
zweiten Optokoppler (auch CNY17-3 oder PC817) durchschaltet. Also 
sozusagen erkennen und dann durchleiten. Aber auch sperren können.

Hintergrund ist meine Waschmaschine pippt 10 mal am Ende. Ich will das 
piepen erkennen aber nur 4mal weitergeben die restlichen soll der µC 
verschlucken. Software kriege ich selber hin nur Hardware ist die Frage. 
Verwende einen ESP32 also genug I/O vorhanden. Galvanisch trennen will 
ich nur weil der ESP hat sein eigenes Ground.

Danke.

Gruß kami

von Stefan F. (Gast)


Lesenswert?

Sehr wahrscheinlich handelt es sich nicht um eine einfache Spannung, 
sondern um ein pulsierendes Signal. Das sollte man mit einem Oszilloskop 
erfassen und erst danach eine Lösung erarbeiten.

Mehrere Optokoppler hintereinander zu schalten finde ich kreativ aber 
sinnlos.

von Christian S. (roehrenvorheizer)


Lesenswert?

Überlege, ob ein Komparator, Schmitt-Trigger oder eine Zehnerdiode zum 
Einsatz kommen kann.

MfG

von Winzer (Gast)


Lesenswert?

Per 2 Kondensatoren entkoppeln, Einweggleichrichtung und 
Impedanzwandler, Monoflop bzw. Mikroc. zur Auswertung

von Winzer (Gast)


Lesenswert?

PS: Für n Zehner bekommste viele Zenerdioden

von Stefan S. (kami)


Lesenswert?

Hi,

mit dem Oszi messe ich nochmal nach. Aber welche Schaltung könnt ihr mir 
den empfehlen. Meinetwegen gerne über Optokoppler habe genug davon 
rumfliegen.

Danke.

Gruß kami

von Christian S. (roehrenvorheizer)


Lesenswert?

Sollte ohne H sein. Das kann man für "Wiehderstand" verwenden....

Kann man Deine Piepsspannung überhaupt mit einigen mA belasten, ohne daß 
sie einbricht?

MfG

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@Stefan S. (kami)

>mit dem Oszi messe ich nochmal nach. Aber welche Schaltung könnt ihr mir
>den empfehlen.

Kommt drauf an, wie der Treiber auf der Platine aussieht und wieviel der 
treiben kann. Prinzipiell willst du ja einen hochohmigen, galvanisch 
getrennten Abgriff/Tastkopf bauen. Also sollte man eher mit wenig Strom 
auskommen. Dafür braucht es einen sparsamen Optokoppler, aber sowas gibt 
es. Den Arbeitswiderstand auf der Ausgangsseite kann man auch eher hoch 
wählen, so 100K oder so, denn die CMOS-Eingänge eine Mikrocontrollers 
brauchen nichts niederohmiges.

> Meinetwegen gerne über Optokoppler habe genug davon
> rumfliegen.

Naja, da muss man etwas vorsichtig sein. Viele Waschmaschinen haben ein 
Kondensatornetzteil und dort hängt die Steuerung direkt am Netz, da MUSS 
man galvanisch trennen! Kann sein, daß bessere Modelle ein echtes 
Netzteil mit galvanischer Trennung haben.

Wie kommst du auf die Spannungsänderung von 2,5 auf 4,4V? Mit dem 
Multimeter gemessen?

Im einfachsten Fall schaltet man ein paar Dioden in Reihe zum 
Optokoppler, sodaß die Schaltschwelle > 2,5V zustande kommt. Dann ein 
passender Vorwiderstand, fertig.

von Stefan S. (kami)


Lesenswert?

Hi,

hat nicht jemand mal einen ganz einfachen praktikablen 
Schaltungsvorschlag hierfür? Ich kann ja auch auf dem Multimeter mit den 
Augen gut erkennen, wann die Hupe an ist und wann nicht. Also 2,5 zu 4,4 
V mehr soll der µC ja auch nicht auswerten und Vorschlag ist halt dann 
als Ausgang ein Relais zu schalten.

Danke.

Gruß kami

von Stefan F. (Gast)


Lesenswert?

Stefan S. schrieb:
> hat nicht jemand mal einen ganz einfachen praktikablen
> Schaltungsvorschlag hierfür?

Dazu müsste man erstmal wissen, wie das Eingangssignal aussieht. Wenn 
man nicht weiß, was man verarbeiten will, dann kann man es nicht 
verarbeiten.

Deine Messung mit dem Multimeter ist unzureichend, das mit 99% 
Wahrscheinlichkeit keine einfache Gleichspannung ist.

von H.Joachim S. (crazyhorse)


Lesenswert?

Technisch sollte das einfach zu lösen sein, wenn du denn weisst, wie das 
Signal tatsächlich aussieht.

Aber: muss denn wirklich jeder Kram "vernetzt" werden? Meine 
Maschmaschine zeigt mir nach Start an, wie lange sie braucht. Ich bin da 
ziemlich fix drin, diese Zeit zur aktuellen im Kopf zu addieren und die 
Endzeit auf den Aminosäure-stack zu legen :-). Und wenn es man ne halbe 
Stunde später wird ist das nicht wirklich dramatisch.

Eine sinnvolle Vernetzung einer WaMa wäre für mich ein gesteuerter Start 
nach Lastlage im Netz oder wenn man eine eigene Solaranlage hat und die 
Solarprognose gut ist.
Irgendwann bekommen wir variable Strompreise je nach Stromangebot, und 
dann macht man die Waschmaschine eben nicht in Spitzenzeiten an.

Ein bisschen könnte man sich schon heute danach richten,auch wenn es 
keinen Cent bringt.

von Sebastian R. (sebastian_r569)


Lesenswert?

Ist die galvanische Trennung überhaupt erforderlich?

"weil der ESP hat sein eigenes Ground." ist für mich noch keine 
Begründung.


Ansonsten den Ausgang der Steuerung zum Pieper auf den ESP (mit 
Pegelanpassung/Spannungsteiler) und dann mit dem ESP den Pieper 
ansteuern.

Dann kriegst du das Piepen von der Steuerung mit und kannst mit dem 
Piepser machen, was du willst.

Alles andere klingt unnötig kompliziert.

Ansonsten gibt es auch analoge Optokoppler, die dir eine analoge 
Spannung galvanisch trennen. Oder U/f-Konverter, die dann durch einen OK 
getrennt werden können.

von opamanfred (Gast)


Lesenswert?

Den Piep mit einem Tondecoder (NE567) auswerten.

von Sebastian R. (sebastian_r569)


Lesenswert?

opamanfred schrieb:
> Den Piep mit einem Tondecoder (NE567) auswerten.

Es geht wohl eher um eine qualitative als um eine quantitative 
Auswertung.

Um zu wissen, ob es piept oder nicht, reicht ein Tiefpass bzw. ein 
bisschen Integrieren.

von stand-by (Gast)


Lesenswert?

Stefan S. schrieb:
> Software kriege ich selber hin

Hack doch die Waschmaschine.

von Stefan S. (kami)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

so ich habe mal mit einem Oszi gemessen.

Hier die Bilder. Einmal ohne Ton bei IMAGE005.JPG und beim Piepen 
IMAGE007.BMP

Wie kann ich das nun unterscheiden?

Vielen Dank.

Gruß kami

von Karl B. (gustav)


Lesenswert?

Stefan S. schrieb:
> Wie kann ich das nun unterscheiden?

Hi,
Das Signal hat auch noch eine weitere "Überlagerung". Das Oszillogramm 
zeigt nicht alles. Aber trotzdem:
Die Anzahl der Nulldurchgänge ist im zweiten Bild doppelt so hoch.
Damit hast Du bei Verwendung zum Beispiel eines INTO auch doppelte 
Auslösung des Interrupts.

stand-by schrieb:
> Stefan S. schrieb:
>> Software kriege ich selber hin

Jetzt kannst Du das softwaremäßig INTO in Kombination mit fest 
vorgegebenem CTC-Timer leicht weiterbehandeln.

ciao
gustav

von Stefan S. (kami)


Lesenswert?

Keine Ahnung wie das einfach und am besten galvanisch getrennt gehen 
soll???

Gruß kami

von Stefan F. (Gast)


Lesenswert?

Du kannst den Optokoppler verwenden, um das Signal anschließend mit 
einem Mikrocontroller-Programm weiter auszuwerten.
1
      470nF     
2
+ o----||----+---|>|---+   LED vom Optokoppler
3
             |         |
4
             +---|<|---+   rote LED 
5
                       |
6
- o---[===]------------+
7
      1k Ohm

Die LED wird im Takt des Signals flimmern. Die Flimmer-Frequenz kannst 
du mit dem Mikrocontroller (der am Ausgang des Optokopplers hängt) 
erfassen und auswerten.

Falls du dich mit Mikrocontrollern nicht auskennst, könnte dies der 
Beginn eines neuen Hobbies werden. Vielleicht hilft Dir diese Anleitung: 
http://stefanfrings.de/mikrocontroller_buch/index.html

Auf rein analogem Weg wird es ohne Vorkenntnisse nicht wirklich 
einfacher und außerdem teurer.

von Stefan F. (Gast)


Lesenswert?

Warte mal, sind das nicht exakt 50 Hz?

Bist du sicher, dass du an sinnvollen Punkten gemessen hast? Weil: So 
ein Ergebnis erhält man auch, wenn Oszilloskop und Signalquelle keine 
gemeinsame Masseverbindung haben.

Viele Waschmaschinen haben primitive Kondensatornetzteile bei denen 
quasi die gesamte Elektronik Netzspannung hat. Da müsste man das 
Oszilloskop über einen potentialfreien Tastkopf anschließen oder einen 
Trenntrafo verwenden.

von Stefan S. (kami)


Lesenswert?

Hi,

ja das kann gut sein. Ich habe mich einfach Parallel auf die beiden Pins 
des Summer gesetzt. Der hat ja nur + und -. Eine Auswertung mit dem µC 
kriege ich hin aber kann ich das entsprechend mit deiner Schaltung 
abtasten, oder gibt es da einen besseren Weg?

Gruß kami

von MaWin (Gast)


Lesenswert?

Stefan S. schrieb:
> ja das kann gut sein. Ich habe mich einfach Parallel auf die beiden Pins
> des Summer gesetzt

Dann hätte der Summer dauernd gesummt.


Du hast falsch gemessen.

Parallel auf beide Pins wäre richtig gewesen, das Ergebnis sieht nicht 
so aus.

von Stefan F. (Gast)


Lesenswert?

Stefan S. schrieb:
> kann ich das entsprechend mit deiner Schaltung
> abtasten, oder gibt es da einen besseren Weg?

Warum wohl habe ich die Schaltung empfohlen? Ich bin nur ein Mensch und 
mache wie jeder andere auch Fehler. Aber ich empfehle niemals eine 
Lösung, wenn ich selbst der Meinung wäre, dass sie nicht funktioniert. 
Darauf kannst du dich bei mir verlassen.

> Dann hätte der Summer dauernd gesummt.
> Du hast falsch gemessen.

Das vermute ich auch. Wie dem auch sei, kannst du die von mir 
vorgeschlagene Schaltung mit Sicherheit verwenden.

von Christian S. (roehrenvorheizer)


Lesenswert?

" Da müsste man das Oszilloskop über einen potentialfreien Tastkopf 
anschließen oder einen Trenntrafo verwenden."

Ich schätze mal, er hat ein akkugespeistes Mini-Oszilloskop ohne 
Erdebezug verwendet. Dann kann er die korrekte Vorgehensweise umgehen, 
auch wenn diese nicht Lehrbuchtauglich ist.

MfG

von Stefan S. (kami)


Lesenswert?

Hey,

sorry so war das nicht gemeint. Freu mich doch echt über die gute und 
schnelle Hilfe :)

Ich gucke nochmal, ob ich besser messen kann.

Gruß kami

von Wolfgang (Gast)


Lesenswert?

Stefan S. schrieb:
> Wie kann ich das nun unterscheiden?

Kläre erstmal, wo der einfach gleichgerichtete 50Hz-Anteil herkommt. 
Hast du komplett galvanisch getrennt gemessen?

von Stefan S. (kami)


Angehängte Dateien:

Lesenswert?

Hi zusammen,

so habe nochmal alles auseinander gebaut und neu angeschlossen. Der 
Summer ist ein Bestar 5V Summer siehe Datenblatt. Der Aufbau und 
Anschluss ist recht simpel. Der Summer hängt an eine 78M05 mit + an 5V 
direkt. Die Waschmaschine schaltet den GND immer ab und zu. Also 5V / 
0V. Dadurch kommt das Piepen. Habe nun weil nur ein 4 Adriges Kabel da 
ist folgenden Aufbau:

1: GND direkt von der Platine
2: Signal +5V
3: Summer +5V
4: Signal -

Damit kann ich nun die Verbindung zwischen Summer und 5V trennen. Also 
den Summer tot legen und kann zwischen GND und dem Signal - messen, ob 
der Summer gerade zu geschaltet ist.

So müsste doch okay sein oder?

Gruß kami

von Stefan S. (kami)


Angehängte Dateien:

Lesenswert?

Hallo,

kann mir jemand mal ein Code-Block für Arduino geben. Womit ich die 
zeitliche Länge von einer solchen Messung erkennen kann. Also die mir 
mitteilt wie lange das Gezipperl da durch lief?

Vielen Dank.

Gruß kami

von Michael B. (laberkopp)


Lesenswert?

Stefan S. schrieb:
> kann mir jemand mal ein Code-Block für Arduino geben

Verstehe ich nicht, sagtest du nicht:

Stefan S. schrieb:
> Software kriege ich selber hin

Besteht für dich Programmieren nur aus copy & paste von Vorlagen ?


Stefan S. schrieb:
> Aber welche Schaltung könnt ihr mir den empfehlen

Eine Menge, aber du wolltest ja unbedingt 2 Optokoppler, einen zum 
abnehmen und den anderen zum durchleiten.


Das Prinzip, eine galvanische Isolierung vorzusehen, ist sicher 
sinnvoll. Aber wenn man ein Tonsignal hat, dann auf einen Optokoppler zu 
kommen, ist zumindest um die Ecke gedacht. Einfaches Denken liegt dir 
wohl nicht so. Wie wäre es mit einem Mikrophon ? Da muss man die 
Waschmaschine gar nicht öffnen, nicht dran rumlöten, und nicht ermitteln 
auf welche Art der Buzzer denn nun angesteuert wird. Einfach ein Mikro 
aufkleben. Und weil das Mikro auch das Rumpeln beim Shlceudern hört, 
einen Tondecoder dahinterschalten, NE567 wurde genannt, der verstärkt 
auch gleich das geringe Mikrosignal in Arduino-kompatible 5V Pegel. Und 
wer wirklich programmierenm kann, kann die Funktion des NE567 auch in 
Software am Analogeingang erledigen. Es scheint aber, daß deine 
Programmierkenntnisse doch eher rudiemntär sind.

Beitrag #5645992 wurde von einem Moderator gelöscht.
von Stefan S. (kami)


Lesenswert?

Hi,

nee ich kriege das schon sicher hin. Aber ich lerne gerne von anderen 
und sage mir auch warum soll ich das Rad neu erfinden. Deswegen die 
Frage hier. Mit dem Mikro ist natürlich eine Möglichkeit aber jetzt ist 
eh schon alles verlötet und angeschlossen. Es fehlt nur noch die 
Auswertung.

Gruß kami

von Stefan F. (Gast)


Lesenswert?

Stefan S. schrieb:
> kann mir jemand mal ein Code-Block für Arduino geben. Womit ich die
> zeitliche Länge von einer solchen Messung erkennen kann. Also die mir
> mitteilt wie lange das Gezipperl da durch lief?

Hallo Stefan,

ohne dein Programm vorliegen zu haben, wird hier wohl kaum jemand 
imstande sein, dort eine entsprechende Erweiterung einzubauen. Da kann 
man nicht einfach ein paar Zeilen per copy/paste hinein kopieren.

Ich nehme an, dass du mit Gezipperl das gesamte Paket von kurzen 
Impulsen meinst. Auf deinem Oszilloskop-Bild sieht man links ein 
Gezipperl mit ziemlich genau 1s Dauer und dann rechts nochmal ein 
Fragment vom nächsten Gezipperl. Du willst die 1s messen, richtig?

Ursprünglich wolltest du aber die Frequenz des Signals ermitteln. Das 
ist etwas ganz anderes.

Bleiben wir mal bei der Länge des Gezipperl. An Deiner Stelle würde ich 
dazu parallel zum Ausgang des Optokopplers einen Kondensator schalten, 
der aus dem Burst von kurzen Impulsen einen langen durchgängigen Impuls 
macht.

In deinem Programm merkst Du Dir zu beginn des Impulses die aktuelle 
Zeit (millis()). Am Ende des Impulses subtrahierst du die aktuelle zeit 
von der zuvor gemerkten. Das ergibt die Länge des Gezipperl im 
Millisekunden.

Programmieren musst du das schon selbst, oder du bezahlst jemanden 
dafür.

von H.Joachim S. (crazyhorse)


Lesenswert?

Stefanus F. schrieb:
> An Deiner Stelle würde ich
> dazu parallel zum Ausgang des Optokopplers einen Kondensator schalten,
> der aus dem Burst von kurzen Impulsen einen langen durchgängigen Impuls
> macht.

Kann man machen, muss man aber nicht. Das lässt sich leicht in Software 
lösen.

Stefan S. schrieb:
> kann mir jemand mal ein Code-Block für Arduino geben.

Ganz schön dreist.

von Stefan S. (kami)


Lesenswert?

H.Joachim S. schrieb:
> Stefanus F. schrieb:
>> An Deiner Stelle würde ich
>> dazu parallel zum Ausgang des Optokopplers einen Kondensator schalten,
>> der aus dem Burst von kurzen Impulsen einen langen durchgängigen Impuls
>> macht.
>
> Kann man machen, muss man aber nicht. Das lässt sich leicht in Software
> lösen.
>
Ich werde das mal mit dem Kondensator probieren. Vielleicht sieht das 
dann nach dem Optokoppler besser aus. Welche C Größe würdet Ihr denn 
wählen?

> Stefan S. schrieb:
>> kann mir jemand mal ein Code-Block für Arduino geben.
>
> Ganz schön dreist.

Finde ich nicht.

Ist doch ein freies Forum und Fragen darf man jawohl?

Gruß kami

von H.Joachim S. (crazyhorse)


Lesenswert?

Soweit scheint es mit deinen Programmierkünsten ja nicht her zu sein....
Auch der der ESP32 hat etliche Timer und Interrupts, befass dich mal 
damit.

von Stefan F. (Gast)


Lesenswert?

Stefan S. schrieb:
> Welche C Größe würdet Ihr denn wählen?

Kommt auf den Pull-Up bzw Pull-Down Widerstand an. Welchen Wert hat der 
denn?

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.