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!
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
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.
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.
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.
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!
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.
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.
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.
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.
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.
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.
Bastler schrieb:> Lichter im Zimmer flackern
Miss mal wie stark die Netzspannung abfällt wenn du die Heizung
einschaltest? Wieviel kW hat die überhaupt?
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.
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 :)
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.
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.
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!
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.
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.
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