Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller soll Netzspannung erkennen, erhält aber chaotischen output.


von Burak O. (chip273de)


Angehängte Dateien:

Lesenswert?

Hallo,

ich will an meinem Mikrocontroller Netzspannung erkennen und loggen wie 
häufig und wie lange der Strom eingeschaltet war. Leider gelingt mir das 
nicht so ganz. Ich habe die im Anhang gezeigte Schaltung aufbebaut und 
mit meinem Mikrocontroller verbunden. Wenn keine Netzspannung vorhanden 
ist sehe ich durch den Pull-Up Wiederstand verlässlich ein High. Wenn 
jedoch Netzspannung fliesst erwarte ich am Ausgang Masse.

Ich habe auf Interrupts verzichtet und polle einmal pro Sekunde die 
Eingangspins. Leider bekomme ich bei anliegender Netzspannung total 
chaotische Werte, unregelmässige wechsel zwischen high und low.

Ich vermute das während des Nulldurchgangs der Netzspannung meine 
Schaltung dies als "kein Netz" erkennt. Bei der Beschreibung dieser 
Schaltung wurde jedoch behauptet das dieser Umstand durch den Elko 
geglättet werden würde.

Gehe ich recht in der Annahme das der Elko dafür nichts taugt?
Oder habe ich irgendetwas anderes falsch verstanden?

von myasuro (Gast)


Lesenswert?

Hallo,
Netzspannung macht 100 mal in der Sekunde aus, häufiger messen 
mindestens mit 101 Hz.

Was soll der C da?, der macht doch Blos eine Phasenverschiebung.

Mfg
myasuro

von Günter Lenz (Gast)


Lesenswert?

Netz ist eine 50Hz Wechselspannung. Der Optokoppler schaltet
nur mit der Positiven Halbwelle. Also schaltet er 50 mal pro
Sekunde an und aus. C13 wirkt als Tiefpass. Es stellt sich,
je nach dem wie stark der Optokoppler durchgesteuert wird und
wie groß C13 ist, irgendwo ein Mittelwert ein, mit einer
Welligkeit, abhängig von C13. Wenn du einen Zweiweggleichrichter
vor dem Optokoppler schaltest, wird die Welligkeit kleiner.

von spess53 (Gast)


Lesenswert?

Hi

>Der Optokoppler schaltet nur mit der Positiven Halbwelle.

Dann sieh dir das Schaltbild nochmal genau an.

MfG Spess

von vn nn (Gast)


Lesenswert?

myasuro schrieb:
> Netzspannung macht 100 mal in der Sekunde aus, häufiger messen
> mindestens mit 101 Hz.

Was wohl der C13 macht?

myasuro schrieb:
> Was soll der C da?, der macht doch Blos eine Phasenverschiebung.

Nein (welchen auch immer du meinst). Die haben schon beide ihren Sinn.

von Kaktus (Gast)


Lesenswert?

Entferne R19, dieser ist zu klein und lädt den Kondensator zu schnell 
wieder auf. Ein Pullup im AVR oder PIC reicht vollkommen aus. Sonst hast 
du hunder mal pro Sekunde High/Low. Mit Pullup hast du Low wenn 
Netzspannung vorhanden. Ich hab sowas seit Jahren im Einsatz. Ist bis 
auf Bauteilewerte fast wie meine Schaltung. Wo ist deine her?

von Harry D. (harry_d)


Lesenswert?

zur Bestätigung: so wie Kaktus das beschreibt, wollte ich auch gerade 
schreiben. Funktioniert mit dem internen pull-up.

von Daniel E. (everyday_fun69)


Lesenswert?

Warum so kompliziert? Ein kleines Relais und einen Port Pin abfragen und 
fertig!

von Amateur (Gast)


Lesenswert?

Die Funktion von C13 ist den Transistor ordentlich zu stressen 
(Kurzschluss).

von triti (Gast)


Lesenswert?

Das wäre zu einfach.
=)

von Paul H. (powl)


Lesenswert?

Daniel E. schrieb:
> Warum so kompliziert? Ein kleines Relais und einen Port Pin
> abfragen und
> fertig!

230V Relais sind aber üblicherweise nicht so klein. Und ein Relais über 
nen Widerstand an 230V Anschließen wäre ne Heizung. Man könnte es über 
ein Kondensatornetzteil machen.

von Burak O. (chip273de)


Lesenswert?

Danke für die vielen Hinweise!
Der Entscheidende Kommentar kam von Kaktus.

Kaktus schrieb:
> Entferne R19, dieser ist zu klein und lädt den Kondensator zu schnell
> wieder auf. Ein Pullup im AVR oder PIC reicht vollkommen aus.

Genau das habe ich gemacht. Genau das verhalf auch zur Lösung.

Als ich die Software umschrieb um pro Sekunde die Nulldurchgänge zu 
zählen habe ich allerdings nur 50 gezählt.

Was Relais angeht, da habe ich leider nur sehr teure Relais gefunden (>8 
Euro), zudem nichts mechanisch kleines für Printmontage mit 230 V ac für 
die Spule.

Zu C5, 22nF, in der Schaltung; das soll ein Kondensatornetzteil sein. 
Die zweimal 470kOhm sollen den entladen, damit die Schaltung nach 
trennen der Netzspannung berührungssicher wird.

Ich kann leider nicht mehr finden wo ich die Schaltung herhabe. Aber 
scheinbar sollte man alles erst aufbauen und testen, bevor man dafür 
eine Leiterplatte anfertigen lässt.

Amateur schrieb:
> Die Funktion von C13 ist den Transistor ordentlich zu stressen
> (Kurzschluss).
Das würde mich jetzt noch interessieren. Muss ich die Schaltung anders 
aufbauen ?

Könnt ihr mir generell eine bessere Schaltung empfehlen wie ich das 
Vorhandensein von Netzspannung mit einen Mikrocontroller, galvanisch 
getrennt, messen kann ?

von Manfred (Gast)


Lesenswert?

Burak O. schrieb:
> Könnt ihr mir generell eine bessere Schaltung empfehlen wie ich das
> Vorhandensein von Netzspannung mit einen Mikrocontroller, galvanisch
> getrennt, messen kann ?
Es gibt kleine Netztrafos, zum Bleistift:
https://www.reichelt.de/Printtrafos-ECO-1-5-5-0VA/ECO-1-5DD9/3/index.html?ACTION=3&LA=2&ARTICLE=40505&GROUPID=4549&artnr=ECO+1%2C5DD9&SEARCH=%252A

Diode - Kondensator - Spannungsteiler hinter, fertig. Sauber getrennt 
mit einschlägigen Prüfzeichen.

von Michael B. (laberkopp)


Lesenswert?

myasuro schrieb:
> Was soll der C da?, der macht doch Blos eine Phasenverschiebung.

Günter Lenz schrieb:
> Der Optokoppler schaltet nur mit der Positiven Halbwelle.

Amateur schrieb:
> Die Funktion von C13 ist den Transistor ordentlich zu stressen

Was schreiben die Leute hier für ein abstruses Zeug ?

Der eine C ergibt ein Kondensatornetzteil, der andere siebt die 
Wechselspannung. Der Optokoppler ist ein AC Typ. Und der Phototransistor 
kann keinen beliebig hohen Strom schalten weil er nur eine begrenzte 
Stromverstärkung hat: Es fliesst sekundär meist nur so viel Strom wie 
primär durch die LED (CTR 100%).

Die Schaltung war völlig in Ordnung, nur der Widerstand war etws klein.


Burak O. schrieb:
> Könnt ihr mir generell eine bessere Schaltung empfehlen

Man könnte alle Widerstände deutlich hochohmiger auslegen und auch die 
Kondensatoren kleiner machen, damit nur 1/10 der Leistung umgesetzt 
wird.

Manfred schrieb:
> Diode - Kondensator - Spannungsteiler hinter, fertig. Sauber getrennt
> mit einschlägigen Prüfzeichen.

Meinst du, ein Optokopper hat keine Prüfzeichen ?

Daniel E. schrieb:
> Ein kleines Relais und einen Port Pin abfragen und fertig!

So einen Unsinn macht man nur, wenn man Optokoppler nicht verstanden 
hat.

: Bearbeitet durch User
von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Ich habe die Werte kurz überschlagen und mit dem Datenblatt des 
Optokopplers verglichen und komme zu dem Schluss, dass das grenzwertig 
auf Kante ausgelegt ist!

Primärseitig komme ich auf einen AC-Strom von ca. 1.5 mA.
Das Datenblatt das ich gefunden habe garantiert bei If = 1 mA minimale 
Current Transfer-Rations zwischen 13 und 34%, je nach Typ.

Wenn ich mit 20% rechne bleiben da nur noch 300μA, damit kann man den 
Pullup gerade mal 1.4V runterziehen.
Ganz unabhängig vom C landest du da vermutlich in der Gegend der 
Schaltschwelle.

Also entweder primär mit mehr Strom fahren oder mit größerem Pullup.
Die Zeitkonstante an sich sieht für micht ganz vernünftig aus, mehr 
schadet aber sicher nicht.

von Burak O. (chip273de)


Lesenswert?

Manfred schrieb:
> Es gibt kleine Netztrafos, [...] Diode - Kondensator - Spannungsteiler hinter, 
fertig.
Auch das ist recht teuer und mechanisch sehr gross (grösser als ein 
kleines Relais). Die Schaltung wie sie oben dargestellt ist kostet ~52 
cent mit Einzelverkaufs-Bauteilpreisen von Reichelt.

Michael B. schrieb:
> Die Schaltung war völlig in Ordnung, nur der Widerstand war etws klein.

Vielen Dank für die Bestätigung.

Michael B. schrieb:
> Man könnte alle Widerstände deutlich hochohmiger auslegen und auch die
> Kondensatoren kleiner machen, damit nur 1/10 der Leistung umgesetzt
> wird.

Aktuell messe ich 1050 microampere an der Netzspannungsseite. Das wären 
laut meiner Rechnung <18 cent Stromkosten pro Jahr, wenn der Eingang 
dauerhaft geschaltet ist. Das reicht mir erstmal.

Danke nochmals für alle Antworten!

Nachtrag:

Tilo R. schrieb:
> Ich habe die Werte kurz überschlagen und mit dem Datenblatt des
> Optokopplers verglichen und komme zu dem Schluss, dass das grenzwertig
> auf Kante ausgelegt ist!

Der tatsächlich eingesetzte Opkop typ ist SFH6156-3. Laut datenblatt bei 
If = 1mA CTR 34(min) - 70 (typ). Sollte also mit 1,05 mA gemessen genug 
Luft haben. Leider gabs den genutzten nicht in Eagle, also habe ich im 
Schaltplan SFH6206 eingesetzt.

: Bearbeitet durch User
von Manfred (Gast)


Lesenswert?

Michael B. schrieb:
> Manfred schrieb:
>> Diode - Kondensator - Spannungsteiler hinter, fertig. Sauber getrennt
>> mit einschlägigen Prüfzeichen.
> Meinst du, ein Optokopper hat keine Prüfzeichen ?
Von der Sorte ohne habe ich genug im Sortiment. Das Datenblatt Vishay 
zum SFH620 sagt "Creepage and clearance distances of > 8.0 mm are 
achieved with option 6. This version complies with IEC 60950 (DIN VDE 
0805) for reinforced insulation to an operation voltage of 400 VRMS or 
DC."

Ein Prüfzeichen wird nicht ausgewiesen, aber ausgesagt, dass die 
Anforderungen erfüllt sind.

von Morri (Gast)


Lesenswert?

Wenn wirklich nur der SFH6156-3 benutzt wird ist unbedingt noch eine 
antiparallele Diode an der LED nötig. Sonst kann das Kondensatornetzteil 
nicht funktionieren und man landet doch nur beim Strom der durch die 
Widerstände fließt. Außerdem wird die maximale Sperrspannung 
überschritten.

von Peter D. (peda)


Lesenswert?

Burak O. schrieb:
> Als ich die Software umschrieb um pro Sekunde die Nulldurchgänge zu
> zählen habe ich allerdings nur 50 gezählt.

Burak O. schrieb:
> Der tatsächlich eingesetzte Opkop typ ist SFH6156-3.

Paßt doch.
Nächstes mal aber das richtige Schaltsymbol (eine LED) verwenden!
Und ne Reversdiode parallel zur LED.

von Burak O. (chip273de)


Lesenswert?

@Morri @Peter Danke! Ich merke auch grade das ich da mist gebaut habe. 
Wieso ich wohl einen anderen Typ bestellt habe ? Keine ahnung... Ich 
tausche den Optokoppler aus.

von Amateur (Gast)


Lesenswert?

>Amateur schrieb:
>> Die Funktion von C13 ist den Transistor ordentlich zu stressen

>Was schreiben die Leute hier für ein abstruses Zeug ?

Das ist nicht abstrus!
Kommt dem Transistor, im Optokoppler die Erleuchtung, so schaltet er 
durch. Soll er ja auch! An C-E liegt ein relativ niederohmiger 
Kondensator. Dieser wird dann über den Transistor praktisch 
kurzgeschlossen. Hoppla!

von HildeK (Gast)


Lesenswert?

Amateur schrieb:
> Dieser wird dann über den Transistor praktisch
> kurzgeschlossen. Hoppla!

Hoppla!
Gerade haben wir mitbekommen, dass die CTR zwischen 34% und typ. 70% 
liegt - bei rund 1mA LED-Strom. Also wird das C nur mit typ. 700µA 
entladen und das hält der Transistor problemlos aus.
Also, wozu Panik erzeugen?

von Peter D. (peda)


Lesenswert?

Ich würde den Elko weglassen und in einem externen Interrupt einen Timer 
Compare Interrupt auf 30ms setzen. Läuft der ab, sind keine 50Hz mehr 
da.

von Manfred (Gast)


Lesenswert?

Burak O. schrieb:
> @Morri @Peter Danke! Ich merke auch grade das ich da mist gebaut habe.
> Wieso ich wohl einen anderen Typ bestellt habe ? Keine ahnung... Ich
> tausche den Optokoppler aus.
Ich weiß nicht, was der Optokoppler wirklich macht, die 34..70% bei IF 
1mA sind für UCE 5V benannt, Du willst aber schalten = UCE 0 Volt. Bei 
IF 10mA sind 100% CTR benannt, der scheint also eher für Analogbetrieb 
denn zum Schalten geeignet.

Falsches Bauelement, PhotoMos AQV2_irgendwas suchen. Ich würde keine 
antiparallele Diode setzen, sondern einen Brückengleichrichter nehmen.

In der momentanen Auslegung hat Deine Schaltung am Netz etwa 70mW 
Wirkleistung, von denen der Großteil auf die beiden 470k entfällt - die 
dürfen deutlich größer werden.

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.