Forum: Analoge Elektronik und Schaltungstechnik MOC3063 Verständnisfrage zu Zero-Crossing


von Bastler (Gast)


Lesenswert?

Moin zusammen,

hab da so ein Projekt für eine Heissluftpistolen-Steuerung gefunden, mit 
PID-Regelung und Zero-Crossing-Detection mit einem 
Feedback-Opto-Koppler. Ich habe einen MOC3063 und er hat ja ZC 
integriert, aber was bedeutet das genau? Im Datenblatt gibts ja eine 
Grafik wo die einzelnen Signale dargestellt sind und es sieht für mich 
als relativen Laien so aus, als ob man für den keinen Feedback-OK 
braucht, aber was ist dann mit dem PID, das gibt doch ein PWM-Signal 
raus? Stehe mal voll aufm Schlauch.
Geht mir mehr ums Verständnis, die Schaltung ist recht simpel und die 
könnt ich auch eins zu eins nachbauen.

Ich verlinke mal das Projekt:
https://github.com/Cyrilanthony777/Arduino-Hot-Air-Station

Danke im Voraus!

von hinz (Gast)


Lesenswert?

Die Schaltung macht Phasenanschitt, das geht mit einem ZC-Koppler nicht.

von Bastler (Gast)


Lesenswert?

Aha, ok, der verwendete OK hat auch kein ZC.

Hab gesehen, dass es auch OK, in denen entgegen gesetzten LED verbaut 
sind, sodass man keine Brückergleichrichter braucht, kennt jemand 
zufälligerwise einen passenden für diesen Zweck?

Vielen Dank

von Manfred (Gast)


Lesenswert?

Bastler schrieb:
> ZC integriert, aber was bedeutet das genau?

Zero Crossing = Nullspannungsschalter.

Der MOC30x3 überwacht die über ihm liegende Spannung und schaltet nur 
dann ein, wenn sie kleiner 5 Volt ist: "Inhibit Voltage (MT1–MT2 Voltage 
above which device will not trigger) typ. 5 max. 20 Volts".

Man legt die Steuerspannung zu einem beliebigen Zeitpunkt an, er wird 
aber erst einschalten, wenn die Netzspannung nahe Null ist.

Wie hinz bereits sagte: Phasenanschnitt ist mit den MOC30x3 nicht 
möglich, für die von Dir referenzierte Schaltung ist er unbrauchbar.

Ob Phasenanschnitt für eine Heizung sinnvoll ist, wird an genug anderen 
Stellen diskutiert.

von hinz (Gast)


Lesenswert?

Bastler schrieb:
> Hab gesehen, dass es auch OK, in denen entgegen gesetzten LED verbaut
> sind, sodass man keine Brückergleichrichter braucht, kennt jemand
> zufälligerwise einen passenden für diesen Zweck?

z.B. die 814er diverser Hersteller.

von Michael B. (laberkopp)


Lesenswert?

Bastler schrieb:
> aber was bedeutet das genau?

Er zündet nur am Anfang der Sinushalbwelle, so lange deren Spannug noch 
unter ca. 16V liegt, also nur in den ersten ca. 0.25ms der 10ms 
Halbwelle,  kaum geht die Spannung über 16V, kann er für den Rest der 
Sinuswelle nicht mehr gezündet werden auch wenn die LED eingeschaltet 
wird.

von Bastler (Gast)


Lesenswert?

Danke für den Tipp Hinz, den PC814 kriegt man wohl sehr leicht.

Ich habe mir vorher schon so meine Gedanken gemacht und irgendwie sehe 
ich immernoch kein Licht bezüglich des PWM, welches das PID rausgibt und 
hatte überlegt, ob ein einfaches Ein- und Ausschalten, also HIGH und LOW 
bei Unterschreiten bzw. Erreichen der Soll-Temperatur. Von meinem 
Verständnis her ist das Heizelement nur ein Widerstand, dem die 
Polarität und somit die Spannungsart egal ist, entweder es ist an oder 
aus, es kühlt ja in den Aus-Phasen nicht so schnell aus, dass da was 
kaputt geht, so mein Gedankengang. Hab mir die 
Phasenschnitt-Heizungs-Geschichte mal angesehen, danke auch für diesen 
Tipp Manfred, und das einfache An-Aus kommt ja näher an die 
Schwingungspaketsteuerung dran, kann man das so einfach machen, ohne 
langfristig irgendwas zu schädigen?

Das ganze Projekt sieht schon recht gut durchdacht aus, aber naja, viele 
solche Projekte sind ja zusammengepuzzelt, vereinfacht, aber die 
Sicherheitsabschaltung mit dem Relais ist ne wichtige Sache.

Na gut, Danke euch vielmals, viele Infos, die ich erstmal verarbeiten 
kann und ob PID mit Arduino möglicht ist, wenn man die Heizung korrekt 
steuert.

Danke!

von Bastler (Gast)


Lesenswert?

Achso und ja, so hab ich die Grafik aus dem Datenblatt auch verstanden, 
das Steuersignal wird nur im Bereich des Schittpunktes angenommen.

von batman (Gast)


Lesenswert?

Für Heizsteuerung kann im Prinzip auch ein ZC-OK mit langsamer PWM oder 
Wellenpaketsteuerung verwendet werden. Da sollte man sich schon an die 
Vorgabe im Projekt halten.

von nachtmix (Gast)


Lesenswert?

Bastler schrieb:
> das einfache An-Aus kommt ja näher an die
> Schwingungspaketsteuerung dran, kann man das so einfach machen, ohne
> langfristig irgendwas zu schädigen?

Ja, die Verwendung von Nullspannungsschaltern hat durchaus Vorteile, 
wenn es sich um ohmsche Lasten, wie z.B. einen Heizer handelt.
Wenn man solch eine Last nämlich im Moment hoher Spannung einschaltet, 
steigt der Strom extrem schnell an, und das kann den Triac beschädigen.
Um den Stromanstieg zu verlangsamen, benötigt man Induktivitäten, welche 
eine zusatzliche RC-Beschaltung (Snubber) erfordern können, weil der 
Triac sonst im Nulldurchgang evtl. nicht löscht.

Außerdem entstehen durch den schnellen Stromanstieg hochfrequente 
Störungen, und im Falle von Phasenanschnittsteuerungen kann es auch zu 
einer Überlastung des Neutralleiters im Drehstromnetz kommen.
Deshalb sind seit einigen Jahren simple Phasenanschnittsteuerungen 
oberhalb einer gewissen Leistungsgrenze nicht mehr zulässig, sondern man 
benötigt mindestens die bereits genannten Induktivitäten und 
Snubber-Netzwerke.

Mit Nullspannungsschaltern und Schwingungspaketsteuerungen kann man also 
die diese zusätzlichen R, C, L  Komponenten und ihre u.U. nicht ganz 
triviale Berechnung einsparen.

von Bastler (Gast)


Lesenswert?

Hab mal meine Idee mit dem MOC3063 ausprobiert und es funktioniert schon 
recht gut, hab einen LM358 verwendet mit einstellbarem Gain und man kann 
es schon recht genau einstellen, leider nur in einem gewissen Bereich, 
aus anderen Projekten kenne ich die Lineare Regression kleinster 
Quadrate, wenn ich noch eine Hysterese einbaue, also An bei 
Soll-Temperatur minus X Grad, so 5-15, und Aus bei Soll plus X Grad, so 
schaltet es schon fast im Sekundenbereich und vielleicht kann man sich 
so den PID sparen?

Wenn wir schon bei R, C, L -Komponenten sind, kann man auf diese Weise 
verhindern, dass die Lichter im Zimmer flackern, wenn der Triac 
schaltet? Hatte es erwartet und es passiert auch.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Bastler schrieb:
> Wenn wir schon bei R, C, L -Komponenten sind, kann man auf diese Weise
> verhindern, dass die Lichter im Zimmer flackern, wenn der Triac
> schaltet?

Da du schon einen Optotriac mit ZC Detektor verwendest, bleibt dir 
eigentlich nur noch die Verwendung eines anderen Stromkreises für den 
Heizer. Mit Snubber kommst du da nicht weiter. Vllt. ist doch eine 
kontinuierliche Regelung mit Phasenanschnitt, Optotriac ohne ZC Detektor 
und evtl. Snubber angesagt.

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Bastler schrieb:
> Wenn wir schon bei R, C, L -Komponenten sind, kann man auf diese Weise
> verhindern, dass die Lichter im Zimmer flackern, wenn der Triac
> schaltet? Hatte es erwartet und es passiert auch.

Matthias schrieb dazu ja schon das Passende: es wird schwierig.

Wir haben hier auch öfter mal Heizungen im 2kW-Bereich, die per MOC3063 
an 1P/230V geschaltet werden. Da flimmern die Leuchstoffröhren der 
Deckenbeleuchtung auch leicht, wenn Strom fliesst (gleicher 
Sicherungskreis).

Oder hast Du das Flackern nur beim eigentlichen Zünden des Triacs? Dann 
könnte man durch eine entsprechende Filterung durchaus etwas erreichen. 
Erscheint mir aber bei einer rein ohmschen Last und ZCD 
unwahrscheinlich.

von Manfred (Gast)


Lesenswert?

Bastler schrieb:
> und ob PID mit Arduino möglicht ist, wenn man die Heizung korrekt steuert.

Ich regele eine Lötstation per Arduino-Nano, das packt der problemlos. 
Wenn ich mal 150ms Heize, habe ich zwischendurch noch genug Zeit, meine 
Taster abzufragen und mein Display zu aktualisieren.

nachtmix schrieb:
> Wenn man solch eine Last nämlich im Moment hoher Spannung einschaltet,
> steigt der Strom extrem schnell an, und das kann den Triac beschädigen.

Und zu Pfingsten kommt der Weihnachtsmann und bringt rote Ostereier? Auf 
Deutsch gesagt: Blödsinn! Einen BTA24-xxx bekomme ich für zweistellige 
Cent, der hat mit dem Einschaltstrom einer Heizung keinerlei Probleme, 
egal, in welcher Phasenlage.

Bastler schrieb:
> also An bei
> Soll-Temperatur minus X Grad, so 5-15, und Aus bei Soll plus X Grad, so
> schaltet es schon fast im Sekundenbereich und vielleicht kann man sich so den 
PID sparen?

Es kommt halt drauf an, wie genau und wie schnell Du nachregeln willst 
und wie variabel die Wärmeabfuhr ist. Aus Sicht eines µC ist die Heizung 
unendlich langsam.

> verhindern, dass die Lichter im Zimmer flackern, wenn der Triac
> schaltet? Hatte es erwartet und es passiert auch.

Probiere es manuell, ohne Regelung: Wenn Heizung Ein das Licht dunkler 
werden lässt, hast Du Spannungsabfall auf der Zuleitung und kannst' nur 
den Stromkreis wechseln. Wenn ich in meiner Küche den Wasserkocher 
einschalte (2100 Watt), sinkt die Spannung an der Dose um 3 Volt ab, 
glaube nicht, dass ich das sehen würde.

von hinz (Gast)


Lesenswert?

Bastler schrieb:
> Lichter im Zimmer flackern

Miss mal wie stark die Netzspannung abfällt wenn du die Heizung 
einschaltest? Wieviel kW hat die überhaupt?

von Bastler (Gast)


Lesenswert?

Also ich hab einen von den China-Dingern, die man unter 858, 878 findet, 
glaub mein Modell ist schafft 850 Watt, das Heizelement hat einen 
Widerstand von 60 Ohm und wenn ich richtig gerechnet hab wären das etwa 
880 Watt.
Das mit dem Spannungsabfall machen ich mal, danke für den Tipp. Ist halt 
ne alte Hütte, Wohnung unterm Dach, gebaut, als man keine Lust mehr 
hatte, die ganze Wohnung hängt an einer 1,5qmm Leitung, bis auf den 
Herd, zum Glück.

von Bastler (Gast)


Lesenswert?

Manfred, sag mal wie regelst du die Temperatur, verwendest du PID oder 
mappst du einfach den ADC-Wert? So genau muss das nicht sein, bei den 
Teilen, wie ich es habe, ändert sich die Temperatur wohl abhängig vom 
Aufsatz, aber bei Heissluft arbeitet man eher mit Abstand und Bewegung, 
10-15 Grad plus ab 250 Grad sind mir da schon recht, was mich beim 
"rohen" ADC-Wert stört ist, dass dieser erstens auf dem Display die 
ganze Zeit springt und dass man den Gain auch nur auf einen gewissen 
Bereich gut einstellen kann, die Korrektur und Glättung fehlt halt. Was 
hälst du von der Korrektur mit der Gleichung der kleinstes Quadrate?

Mal ein Danke zwischendurch für euer Interesse und die Tips :)

von Manfred (Gast)


Lesenswert?

Bastler schrieb:
> Manfred, sag mal wie regelst du die Temperatur, verwendest du PID oder mappst du 
einfach den ADC-Wert?

Ich habe mich in keinerlei Theorie ergossen, mit der Mathematik stehe 
ich auf Kriegsfuß.

Mein Heizelement wird an ungeregelter Gleichspannung betrieben, ich 
schalte per FET und muß keine Phasenlage beachten.

Im Testaufbau habe ich ermittelt, dass ich für 1K Anstieg 10ms Heizen 
muss. Ich messe die Ist-Temperatur, ziehe sie von der Solltemperatur ab 
und heize Delta mal 10ms.

Ist Delta kleiner 3K, mache ich nichts.

Da mir das Gebilde Überschwinger fabriziert, heize ich maximal 350ms, 
bevor ich neu messe. Was ist es nun, eher ein doofer Zweipunktregler? 
Geht theoretisch sicherlich besser, funktioniert in der Praxis aber 
problemlos.

Es ist eine Weller-RT, wo ich zur Messung die Heizung abschalten muss - 
für die Messung mit Oversampling spendiere ich ca. 30ms.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wer PID Regler mit AVR machen will, schaue sich mal Application Note 
AVR221 an - das ist so simpel, das es vermutlich sogar in einem Tiny13 
läuft.

Aber ich betreibe meine Lötstation mit Zweipunktregler und auch das 
klappt bestens. Dabei ist das eine Einchip Lösung mit Tiny45, der auch 
gleich den Verstärker fürs Thermoelement bereitstellt (Vierdrahtkolben). 
Der Kolben selber wird mit MOC3041 und Triac geschaltet.

: Bearbeitet durch User
von hinz (Gast)


Lesenswert?

Bastler schrieb:
> Ist halt
> ne alte Hütte, Wohnung unterm Dach, gebaut, als man keine Lust mehr
> hatte, die ganze Wohnung hängt an einer 1,5qmm Leitung, bis auf den
> Herd, zum Glück.

Da kanns gut sein, dass die Klemmen dringend der Pflege bedürfen!

von batman (Gast)


Lesenswert?

Wenn der Zweipunktregler nicht reicht, tuts vielleicht der 
Dreipunktregler, der für Heizanwendungen auch gern genommen wird (s. 
Herdplatte, Senseo). Lampengeflacker würde ich aber näher an der Quelle 
bekämpfen.

von Bastler (Gast)


Lesenswert?

Ja, coole Sache, dann liege ich mit dieser sehr einfachen Funktion 
sicher richtig, hab sogar die Hysterese geteilt, nur dass ich den 
ADC-Wert noch mit der erwähnten Gleichung als Float glätte und zu 
haCurrTemp caste, bzw. vorhabe das zu tun, bin noch nicht dazu gekommen 
weiter zu probieren.
1
if (haCurrTemp < haSetTemp - haHysMin) haOut = HIGH;
2
if (haCurrTemp > haSetTemp + haHysMax) haOut = LOW;

Aber irgendwie bin ich mit dem Aufbau nicht zufrieden, das geht sicher 
einfacher und kürzer.

Und ja, die Leitungen müssten am besten mal komplett erneuert werden, 
wobei das Kupfer noch sehr gut aussieht, nur die Isolation sieht aus wie 
eine Mischung aus Spucke und Lehm, irgendwie eine Art primitives 
Silikon, sie tuts aber auch noch, bei der nächsten Renovierung mache ich 
so viel davon neu wie ich dran komme.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Bastler schrieb:
> Aber irgendwie bin ich mit dem Aufbau nicht zufrieden, das geht sicher
> einfacher und kürzer.

Aufbau? Meinst du die Schaltung oder die Software? Bei der Software sehe 
ich nur 2 Zeilen, das ist doch recht kompakt :-P

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.