Forum: Mikrocontroller und Digitale Elektronik Triac ansteuern mit STM32


von Bert S. (kautschuck)


Lesenswert?

Hi,

Ich bin gerade am überlegen, wie man sinnvollerweise Triacs ansteuert 
und dabei den Firmware Overhead minimiert. Im Endeffekt möchte ich 
folgendes ansteuern:

- 2x Triac über ZC Treiber, wobei die beiden Channels synchronisiert 
sein müssen, dabei aber nur mit etwa 100ms (Temperaturregler) geändert 
wird. Das ganze kann ich wahrscheinlich direkt in firmware über einen 
Interrupt machen und kann unabhängig von der zero-crossing detection 
sein.

- 1x Triac für Phasenanschnitt Steuerung ohne ZC Treiber. Hier frage ich 
mich, ob man evtl. den Timer mit der ZC Detektion synchronisieren kann 
und dann entsprechend den Duty Cycle wählt oder wie macht man das 
normalerweise?

von MaWin (Gast)


Lesenswert?

Wenn man eine saubere Phasenanschnitt Steuerung haben will, muss man 
wissen, dass übliche ZeroCross Detektorschaltungen nicht genau im 
Nulldurchgang Impuls geben, sondern etwas versetzt und hin und her 
zitternd mit Jitter entsptechend den Störungen im Stromnetz.
Daher synchronisiert man eine PLL in Software mit den Impulsen und 
leitet den Zündzeitpunkt von der PLL ab.
Man braucht auch keinen langen Impuls (so lange wie der Rest der 
angeschnittenen Phase) sondern es reicht ein kurzer, üblicherweise 100us 
Impuls. Bei Reihenschluss-Motoren als Last kann aber sein dass die 
Kohlebürsten genau die 100us keinen Kontakt haben und der TRIAC daher 
nicht zünden kann. Bei solch einer Last guckt man nach den 100us nach, 
ob auch Strom fliesst, und sendet einen zweiten oder gar dritten 
Zündimpuls.

von Bert S. (kautschuck)


Angehängte Dateien:

Lesenswert?

Danke dir MaWin. Reicht als ZC Detector eine Schaltung wie im Anhang? 
Von der Simulation her sieht das ganze trotz noise auf der 230V Leitung 
stabil aus.

Warum nur einen 100us Puls und nicht gleich zur Sicherheit 1ms?

Edit: Wie sieht das eigentlich mit den Quadranten aus, wenn man 
Phasenanschnitt macht? Wenn ich eine Resistive Last habe, dann bin ich 
ja immer in den Quandranten I und III, oder? Sobald ich aber Induktiv 
bin, dann komme ich auch in die Quadranten II und IV. Wenn ich jetzt z.B 
so was habe: 
https://www.digikey.com/en/products/detail/stmicroelectronics/T1235H-8I/13574042
Dann zündet der Triac in Quadrant IV gar nicht, also wenn z.B der Motor 
zu rekuperieren versucht, oder?

: Bearbeitet durch User
von oszi40 (Gast)


Lesenswert?

MaWin hats schön erklärt. Es bleibt natürlich ein Risiko, dass man so 
viel Dreck im Netz hat, dass man zum falschen Zeitpunkt startet.

von MaWin (Gast)


Lesenswert?

Bert S. schrieb:
> Reicht als ZC Detector eine Schaltung wie im Anhang

Na ja, es gibt Wechselstromoptikoppler wie PC814.
Die 1.4mA bei 230V schaffen rs die 640uA auf Empfängerseite zu schalten, 
aber nicht gleich nach Nulldurchgang.

Die Schaltschwelle, ab der der Optikoppler in der Lage ist die Spannung 
herunter zu ziehen, schwankt mit CTR des Optokopplers (eventuell 
unterschiedlich bei positiver und negativer Halbwelle), Alterung und 
Temperatur.

Man kann sich also nicht exakt auf die Impulse verlassen.

100us reichen eigentlich dicke aus, der TRIAC zündet in 1us, der 
OptoTRIAC schaltet in 3us, in 5us ist eigentlich alles erledigt und die 
Spannung zusammengebrochen. Trotzdem lässt man schon 100us zu. Bei 1ms 
hängt man weit in die nächste Halbwelle rein, wenn man nur 1-5% 
Dimmposition haben will.

von mIstA (Gast)


Lesenswert?

MaWin schrieb:
> Die Schaltschwelle, ab der der Optikoppler in der Lage ist
> die Spannung herunter zu ziehen, schwankt mit CTR des
> Optokopplers (eventuell unterschiedlich bei positiver und
> negativer Halbwelle), Alterung und Temperatur.

Das klingt einleuchtend. Könnte es eventuell sinnvoll sein beide Flanken 
(also quasi 'Beginn' und 'Ende' des Nulldurchgangs) auszuwerten? Oder 
jittered der tatsächliche Nulldurchgang völlig unvorhersehbar innerhalb 
dieses Intervalls?

von MaWin (Gast)


Lesenswert?

Es ist sinnvoll. Jittern tut es trotzdem. Ob der reale Jitter einen 
negativen Effekt bei gedimmtem Motor, Lampe, Wasweissich hat, weiss ich 
nicht.

von W.S. (Gast)


Lesenswert?

mIstA schrieb:
> Das klingt einleuchtend. Könnte es eventuell sinnvoll sein beide Flanken
> (also quasi 'Beginn' und 'Ende' des Nulldurchgangs) auszuwerten?

Was stellst du dir eigentlich unter einem Nulldurchgang vor?

Rein prinzipiell ist das ein einziger Zeitpunkt der Länge Null. 
Praktisch muß man die Zündimpulse nach dem Nulldurchgang anlegen, weil 
so ein Triac eben auch bereits eine gewisse Mindestspannung über sich 
selbst sehen will, um überhaupt zünden zu können.

W.S.

von Carsten-Peter C. (carsten-p)


Lesenswert?

Hallo,
ich habe für meinen Dimmer einen anderen Weg gewählt. Ich erzeuge zu 
einem immer gleichen Phasenwinkel einen INT. In der ISR wird nun der 
Zählerstand mit einer Konstante verglichen und der Überlauf angepasst. 
Das funktioniert sehr gut. Selbst ein paar fehlende Triggerimpulse würde 
man kaum merken. Ich nutze eh nur die positiven Halbwellen für die 
Synchronisation. Vielleicht ist das ja ein Weg für Dich.
Gruß Carsten

von mIstA (Gast)


Lesenswert?

W.S. schrieb:
> Was stellst du dir eigentlich unter einem Nulldurchgang vor?

Den infinitesimal kurzen Moment in dem die (Wechel)spannung einen Wert 
exakt 0V hat aber das ist eben reine Theorie bzw. ein idealisiertes 
Modell.

> Rein prinzipiell ist das ein einziger Zeitpunkt der Länge
> Null.

– und damit so schnell vorbei, daß auch die Beste aller real denkbaren 
Schaltungen zu langsam ist um ihn exakt zu bestimmen.

Eine reale Schaltung kann diesen Moment eben nicht exakt bestimmen 
sondern bestenfalls den Zeitraum in dem sich die Spannung zwischen 
0+Epsilon und 0-Epsilon befindet.

In der weiter oben vorgeschlagen Schaltung wird dieses Epsilon wohl 
sogar relativ groß werden und damit der entsprechende Zeitraum alles 
andere als infinitesimal kurz; damit gibts dann zweifelsfrei einen 
Beginn und ein Ende dieses Zeitraums.
Natürlich bleibt der Nulldurchgang selbst trotzdem nur ein Punkt am 
Zeitstrahl, weshalb ich Beginn und Ende in Bezug auf diesen oben auch in 
Anführungsstrichen schrieb.


W.S. schrieb:
> Praktisch muß man die Zündimpulse nach dem Nulldurchgang
> anlegen, weil so ein Triac eben auch bereits eine gewisse
> Mindestspannung über sich selbst sehen will, um überhaupt
> zünden zu können.

Moment! - Deshalb muß man mit dem Anlegen des Zündimpulses ja nicht 
warten, sondern könnte - strenggenommen - den Impuls sogar schon (kurz) 
vor dem tatsächlichen Nulldurchgang anlegen, soferne nur die Spannung 
über dem Triac schon klein genug ist; natürlich muß der Impuls dann lang 
genug anliegen, daß eine Zündung sichergestellt ist.

Das praktische Problem (im Zusammenhang mit Phasenanschnittstrg.) ergibt 
sich viel eher aus der Frage, wie spät kann ich den Zündimpuls noch 
anlegen, damit der Triac noch sicher zündet, denn das bestimmt letztlich 
die kleinstmögliche Dimmstufe.

von Wolfgang (Gast)


Lesenswert?

W.S. schrieb:
> Was stellst du dir eigentlich unter einem Nulldurchgang vor?
>
> Rein prinzipiell ist das ein einziger Zeitpunkt der Länge Null.

Und was nützt dir diese Erkenntnis, wenn du für dieses theoretische 
Konstrukt keinen Detektor hast?

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.