mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Triac, Nulldurchgang erkennen (galvanisch getrennt!)


Autor: Kjartan Ferstl (kjartan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Leser,

ich will mit einem uC einen Triac ansteuern und da bin ich auf zwei 
Lösungen gestoßen (alles nur ohmsche Last)...

1. vollkommen fertiger IC mit U/I Erkennung (U2010B, TCA785)
- finde es zu viel Schaltungsaufwand wenns auch einfacher geht (2)...

2. Triac Treiber (MOC2082) mit Optokoppler-Eingang
- diese Lösung gefällt mir wesentlich besser, da sie für ohmsche Lasten 
vollkommen reicht.
- alledings muss man hier den Nulldurchgang der Phase "einlesen", da ich 
das auf jeden Fall potentialgetrennt machen will sehe ich mich noch 
nicht ganz durch. Der Chip verspricht "the function of zero voltage 
crossing.." aber wie ich das aus dem Chip herausbekomme ist mir noch ein 
Rätzel, es scheint, als hötte der IC kein Beinchen dafür.

Wäre euch sehr dankbar wenn mir wer erklären könnte wie man den 
Nulldurchgang aus dem IC (MOC2082) bekommt, bzw. welch andere galvanisch 
getrennten Lösungen es gäbe (möglichst geringer Schaltungsaufwand).

Datenblatt des MOC2082: 
http://www.datasheetcatalog.org/datasheet/motorola...

Gruß,
Kjartan

: Verschoben durch Admin
Autor: Matthias Lipinsky (lippy)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> es scheint, als hötte der IC kein Beinchen dafür.

Richtig. So eine Zero-Crossing-Detection musst du selbst bauen.

Im Anhang mal eine Lösung eines Zweikanaldimmers von mir.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wobei man dabei natürlich die Phasenverschiebung durch den Trafo dabei 
hat.
Ist nichts schlimmes, aber man muss es im Programm berücksichtigen.

Ich mache das genauso, nur verwende ich den im ATtiny85 (in meinem Fall) 
integrierten Komparator mit der Bandgap-Referenz.

Erkennt der tiny einen Nulldurchgang, so ist der primärseitige schon 
lange durch. Bis zum nächsten Nulldurchgang dauert es dann noch (bei mir 
zumindest) 5,6ms.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andere Möglichkeit:

Du nimmst ein einfaches Kondensatornetzteil für den Betrieb einer LED an 
230V AC. Statt der LED wird ein Optokoppler eingesetzt. Die LED leuchtet 
dabei aber nur wärend einer Phase. Wenn Du das Aufleuchten der LED als 
Anhaltspunkt nimmst, geschieht dies jeweils zu Anfang einer Vollwelle. 
Den folgenden Nulldurchgang musst Du dann selber mittels Timer anfahren 
(10ms später).

Ich hatte den Weg über den Trafo gewählt, da ich somit einige (teilweise 
recht sperrige) Bauteile weglassen konnte.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vermutlich möchstest du keinen Zero-Cross Optokoppler.
Du willst nicht immer nur Vollwellen schalten, also egal wann die LED 
angeht den TRIAC nur zu Beginn von Halbwellen zünden lassen,
sondern du willst vermutlich dimmen, also Halbwellen anschneiden.
Dazu brauchst du einen MOC3020.

Die Phasenlage und damit den Zündzeitpunkt bestimmst du aus der 
Versorgungsspannung deines Schaltkreises welcher die LED versorgt. Da 
diese Schaltung ja angeblich potentialgetrennt ist und damit kein 
Kondensatorentzteil, hast du einen Trafo und kannst dessen 
Sekundärspannung per ausreichend grossem Vorwiderstand an eine Pin 
deines vermutlich vorhandenen uC legen.

Autor: Kjartan Ferstl (kjartan)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Idee....

Danke für eure Rückmeldungen.

Ich wäre euch sehr dankbar, wenn ihr mir erklären könntet, wesshalbdie 
Triak Treiber mit "zero crossing function" werben wenn die nicht 
existiert - ich glaube da versteckt sich noch was ...

aber noch eine andere Idee:
angenommen ich betreibe einen Optokoppler folgendermaßen:
LED+R an ~230V (Spitzenspannung -/2 beachten)
Empfänger an 5V (uC)
so sollte ich am uC "irgendein Signal" empfangen, welches aber um die 
Sinus-Amplitude symetisch ist. Das errechnen des 0-Zeitpunkts ist dann 
ja keine große Kunst mehr (Software).
ich denke das ist die Hardwareseitg einfachste lösung überhaupt 
(Widerstand, Optokoppler) - irgendwie muss man aber noch daran feilen, 
da die LED des Optokopplers sicher keine 325V spitze U-reverse aushält. 
Hier sollte aber eine Diode parallel reichen.

Das Bild im Anhang soll nur meine Gedanken darstellen, weder spezielle 
Bausteien ausgesucht (einfach schnell erstes passende Symbol aus Eagle 
genommen) noch vernünftige Werte angegeben. Will nur mal wissen ob das 
funktionieren könnte... (Pullup für den Optokoppler macht der uC Pin 
intern)

Autor: Plan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist ein Dimmer drin:
Beitrag "Re: Heizungssteurung im Eigenbau"

Ausgelegt auch für induktive Lasten, also mit Messung des 
Null-Durchganges und des Stromes durch den Triac...

Autor: Flow (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> MOC2082
   Schreibfehler
Der  MOC8082 macht doch diese Funktion, von sich aus.
Kannst auch in einer Graetzbrücke die Brückenspannung messen.

Autor: Andrew Taylor (marsufant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian H. schrieb:
> Andere Möglichkeit:
>
> Du nimmst ein einfaches Kondensatornetzteil für den Betrieb einer LED an
> 230V AC. Statt der LED wird ein Optokoppler eingesetzt. Die LED leuchtet
> dabei aber nur wärend einer Phase.

Also während nur einer Halbwelle.

Wenn Du vor die LED einen Brückengleichrichter schaltest, leuchtet die 
LED während jeder Halbwelle.

Ähnliches geht mit 2 Optokopplern, deren LEDs man antiparallel 
verschaltet.

Ist letztlich Aufwands- und Philosophiefrage, aber wie Christian schon 
richtig ausführt: Man kann es alternativ auch rechnerisch kompensieren.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hier sollte aber eine Diode parallel reichen.

Die Diode darf sogar einen 1N4148 sein, denn sie sieht (bei heiler LED) 
nie mehr als 1.5V, aber der Vorwiderstand, oje.

R1 muss für 10mA in der LED des Optokopplers 23kOhm haben und 2.5 Watt 
verbraten können.
Zudem leuchtet die LED nicht exakt mit Beginn der Halbwelle, sondern 
erst wenn durch R1 genug Strom fliesst (sagen wir 1mA, also ab 23V) um 
den Phototransistor so weit durchzuschalten, daß die Schaltung auf der 
anderen Seite das erkennt.

Autor: Aufpasser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Nulldurchgang der Phase "einlesen",
 Der TO hat das Datenblatt wohl nicht ganz verstanden.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kjartan Ferstl schrieb:
> Ich wäre euch sehr dankbar, wenn ihr mir erklären könntet, wesshalbdie
> Triak Treiber mit "zero crossing function" werben wenn die nicht
> existiert - ich glaube da versteckt sich noch was ...

Sie existiert ja, aber nur intern.
Es bedeutet, dass ein Schaltsignal nur im Nulldurchgang angenommen wird. 
Schickst Du zu anderen Zeiten einen Zündimpuls an das Gate, passiert 
hier nichts. Anders herum bedeutet das auch, dass Du jederzeit das Gate 
auf High ziehen kannst und dabei sicher bist, dass immer ganze 
Halbwellen durchgehen und nicht an- oder abgeschnitten wird.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kjartan Ferstl schrieb:
> aber noch eine andere Idee:
> angenommen ich betreibe einen Optokoppler folgendermaßen:
> LED+R an ~230V (Spitzenspannung -/2 beachten)
> Empfänger an 5V (uC)
> so sollte ich am uC "irgendein Signal" empfangen, welches aber um die
> Sinus-Amplitude symetisch ist. Das errechnen des 0-Zeitpunkts ist dann
> ja keine große Kunst mehr (Software).
> ich denke das ist die Hardwareseitg einfachste lösung überhaupt
> (Widerstand, Optokoppler) - irgendwie muss man aber noch daran feilen,
> da die LED des Optokopplers sicher keine 325V spitze U-reverse aushält.
> Hier sollte aber eine Diode parallel reichen.

Diese Beschaltung geht schon (mit antiparalleler Diode). Jedoch musst Du 
berücksichtigen, dass an dem Widerstand fast 325V abfallen müssen. Bei 
10mA (2mA bei einem Low-Current-Optokoller - gibt es das?) sind das 
schon 3,3W (0,7W bei 2mA), die in Wärme umgesetzt werden. Dann muss man 
noch beachten, dass die Widerstände "lang" genug sind, damit nichts 
überspringen kann -> mehrere Widerstände in Reihe.

Hmm, wie warm wird ein 1W-Widerstand bei 2mA und 325V?

Autor: Andrew Taylor (marsufant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian H. schrieb:
> Kjartan Ferstl schrieb:
.
>
> Diese Beschaltung geht schon (mit antiparalleler Diode). Jedoch musst Du
> berücksichtigen, dass an dem Widerstand fast 325V abfallen müssen. Bei
> 10mA (2mA bei einem Low-Current-Optokoller - gibt es das?) sind das
> schon 3,3W (0,7W bei 2mA),

Rechne das nochmal durch Christian. Es sind 2,3W respektive 0,46W.

 die in Wärme umgesetzt werden. Dann muss man
> noch beachten, dass die Widerstände "lang" genug sind, damit nichts
> überspringen kann -> mehrere Widerstände in Reihe.

Das ist immer sinnvoll bei bei solch sicherheitskritischen Anwendungen, 
also: D'accord.

>
> Hmm, wie warm wird ein 1W-Widerstand bei 2mA und 325V?

Also bislang muß man das nur für 230V dimensionieren und da wird der 1W 
Widerstand nicht übermäßig warm .-)

Autor: Aufpasser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am wenigsten wird verbraten, wenn er die Brückenspannung mit einem 
Transistor detektiert.

Autor: Kjartan Ferstl (kjartan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Antworten.

Es kommen immer neue Fragen hervor...

>> Ich wäre euch sehr dankbar, wenn ihr mir erklären könntet, wesshalbdie
>> Triak Treiber mit "zero crossing function" werben wenn die nicht
>> existiert - ich glaube da versteckt sich noch was ...
>
> Sie existiert ja, aber nur intern.
> Es bedeutet, dass ein Schaltsignal nur im Nulldurchgang angenommen wird.
> Schickst Du zu anderen Zeiten einen Zündimpuls an das Gate, passiert
> hier nichts. Anders herum bedeutet das auch, dass Du jederzeit das Gate
> auf High ziehen kannst und dabei sicher bist, dass immer ganze
> Halbwellen durchgehen und nicht an- oder abgeschnitten wird.

Oha, das heißt, dass der MOC3082 der flasche Baustein für eine 
Phasenanschnittsteuerung ist? Welchen sonst?

Wie viel Leistung an dem Vorwiderstand abfällt ist mir eigendlich reltiv 
egal, solange das irgendein Widerstand packt. Mein Ziel ist es eine 
möglichst einfache Schaltung zu haben.
Der uC gibt auf jedenfall genug Rechenleistung für alle Fehlerrechnungen 
her (warscheindlich wirds erst mal ein ARM Cortex-M3 72MHz - davon hab 
ich ein Eval-Board hier). Allerdings will ich eine möglichst genaue 
Berechnung, d.h. mich nicht auf irgendwelche Thesen von 
Phasenverschiebungen (von Netzteilen, Brücken,..) stützen.
Zum Schutz kommt vermutlich ne Sicherung davor, falls der Rv mal addee 
sagen sollte und sich der Widerstand damit veringern sollte.

Desshalb die Frage: spricht was gegen Vorwiderstand + Optokoppler|Diode 
Primärseitung, und sekondär nur einen Komperator/uC
Damit sollte ich zum Sinus-MAX symetrische Pulse auf der positiven 
Halbwelle erhalten (rest rechnet der uC)

> Hmm, wie warm wird ein 1W-Widerstand bei 2mA und 325V?
Der Effektivwert einer Spannung ist bekanntlich der Betrag einer 
Gleichspannung, welche die gleiche Wirkleistung an einem ohmschen 
Verbraucher verursacht. -> daher 230V
Spitzenspannung ist nur für die Auslegung von Spannungsgrenzwerten zu 
beachten - zumindest solange die Frequenz nicht zu klein wird...
(aber vermutlich hast du das nur im Eifer des gefechts übersehen)

Autor: Kjartan Ferstl (kjartan)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian H. schrieb:
> Sie existiert ja, aber nur intern.
> Es bedeutet, dass ein Schaltsignal nur im Nulldurchgang angenommen wird.
> Schickst Du zu anderen Zeiten einen Zündimpuls an das Gate, passiert
> hier nichts. Anders herum bedeutet das auch, dass Du jederzeit das Gate
> auf High ziehen kannst und dabei sicher bist, dass immer ganze
> Halbwellen durchgehen und nicht an- oder abgeschnitten wird.

ich denke ich habe jetzt verstanden was die "zero crossing detection" in 
dem ding ist ... es sorgt lediglich dafür, dass der Triak bei der 
negativen Halbwelle mit einem negativem Signal gezüdet wird, d.h. mit 
dem Microcontroller muss man nur für die Pulse sorgen, verstärkt und 
ggf. invertiert werden sie vom Baustein MOC3082.

Ein Baustein zum zünden eines Triacs, der nur bei 0°, 180° zünden kann 
würde ja herzlich wenig bringen.

Falls ich da falsch liege berichtigt mich bitte.

Werde mal eine ala-primitiv Schaltung aufbauen - sobald ich die Bauteile 
habe und, sofern ich nicht vergesse ein Feedback gebeben

Gruß,
Kjartan

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> es sorgt lediglich dafür, dass der Triak bei der
> negativen Halbwelle mit einem negativem Signal gezüdet wird

Nein.

> Falls ich da falsch liege berichtigt mich bitte.

Hatten wir schon.
Am 10.02.2010 12:32
und 09.02.2010 23:01

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kjartan Ferstl schrieb:
> es sorgt lediglich dafür, dass der Triak bei der
> negativen Halbwelle mit einem negativem Signal gezüdet wird

Ich bin mal so frei und erkläre das nochmal:

es sorgt dafür, dass der Triac nur im Nulldurchgang zündet, nicht früher 
und nicht später, sondern genau im Nulldurchgang. Es wird also immer 
eine komplette Halbwelle durchgelassen. Egal, ob sie positiv oder 
negativ ist.

Das was Du meinst, erledigt der ebenfalls enthaltene Optotriac. Ist die 
LED an UND ist gerade Nulldurchgang, zündet der Ausgangstriac. Für die 
negative Halbwelle ist kein negatives Licht notwendig.

Und ja, der MOC3082 (ich habe mir das DB nicht angesehen) ist nicht für 
den Phasenanschnitt geeignet, wenn er einen Nulldurchgangsdetektor 
eingebaut hat.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kjartan Ferstl schrieb:
>> Hmm, wie warm wird ein 1W-Widerstand bei 2mA und 325V?
> Der Effektivwert einer Spannung ist bekanntlich der Betrag einer
> Gleichspannung, welche die gleiche Wirkleistung an einem ohmschen
> Verbraucher verursacht. -> daher 230V
> Spitzenspannung ist nur für die Auslegung von Spannungsgrenzwerten zu
> beachten - zumindest solange die Frequenz nicht zu klein wird...
> (aber vermutlich hast du das nur im Eifer des gefechts übersehen)

Die LED hat aber einen maximalen Strom, wird dieser überschritten, geht 
die Hops.

Ok, hier wären es nur 0,8mA mehr, was die LED abkönnen sollte.

Bei 230V (!) und einem Widerstand von 114kOhm habe ich 2mA.
Bei 325V (Spitze) und diesem Widerstand habe ich einen Strom von 2,8mA.
(Jeweils 2V für die LED gerechnet).

Beim Warmwerden des Widerstandes hast Du natürlich recht.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andrew Taylor schrieb:
> Also bislang muß man das nur für 230V dimensionieren und da wird der 1W
> Widerstand nicht übermäßig warm .-)

Jaja, hier muss ich mit 230V rechne. Sorry ;-)
Ich habe jetzt keine Lust, Tabellenbücher zu wälzen. Hat jemand eine 
Formel um "nicht übermäßig warm" etwas genauer (idealerweise in °C oder 
K) auszudrücken. Zumindest näherungsweise. Mich interessiert hier auch 
nur ein Maximalwert.

Autor: Alex P. (drdatensalat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Christian
Es gibt leider keine Formel! Die nichtlinearen Zusammenhänge sind zu 
kompliziert!
Außerdem ist das entscheidenste wie die Wärme weg kann!
Deshalb ausprobieren!!
Aber Pi * Faust:
Wenn ein Widerstand mit seiner Nennleistung belastet wird, verbrennst du 
dich daran. D.h. über 70°C.

Autor: Andrew Taylor (marsufant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian H. schrieb:
> Andrew Taylor schrieb:
>> Also bislang muß man das nur für 230V dimensionieren und da wird der 1W
>> Widerstand nicht übermäßig warm .-)
>
> Jaja, hier muss ich mit 230V rechne. Sorry ;-)
> Ich habe jetzt keine Lust, Tabellenbücher zu wälzen. Hat jemand eine
> Formel um "nicht übermäßig warm" etwas genauer (idealerweise in °C oder
> K) auszudrücken. Zumindest näherungsweise. Mich interessiert hier auch
> nur ein Maximalwert.


Wie Alex dasschon treffend beschreibt: Es kommt darauf an, wie und wo Du 
einbaust.

Ich wälze für sowas auch keine Tabellenbücher, sondern lege einen 
Thermofühler vom el. Thermometer dran.
Dann entscheide ich ob das für's vorgesehene Umfeld reicht.

Da der Widerstand von der Belastbarkeit mehr als ausreichend ist, ist 
eine limitierende Bedingung erfüllt.
Daher genügt der Check ob's im Gerät (da hängt es von der 
Aufgabenstellung ab) ausreichend im zweiten Limit bleibt.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex P. schrieb:
> Wenn ein Widerstand mit seiner Nennleistung belastet wird, verbrennst du
> dich daran. D.h. über 70°C.

Ich habe nicht vor, einen Widerstand anzufassen, der direkt mit 230V AC 
verbunden ist.

Autor: Flow (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wenn mir wer erklären könnte wie man den Nulldurchgang
 > aus dem IC (MOC2082) bekommt,

Nach so vielem Hin und Her kann ich nur noch schmunzeln.

Autor: Michael M. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
so hab ich das vor ein paar jahren in einem dimmer gelöst...

Autor: Michael M. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
da ging noch ein bisschen was verloren...
hier noch die beiden flanken um den nulldurchgang.

zu dem oszillogramm von oben:
V2  230V~
V1  vor dem Basiswiderstand
V3  Stromverbrauch. I=V3/50mOhm
V4  Hilfs-Spannung am Kondensator

Autor: Chris D. (myfairtux) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht noch eine ganz lustige Lösung (ist schon lange her, ging 
aber):

Glimmlampe auf der einen Seite, Fototransistor auf der anderen.
Auswertung mit Komparator an 8048.

Trennstrecke war damals über 5 cm - ja, mit 13 hat man noch Schiss ;-)

Chris D.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.