AC 230V (50Hz) PWM Dimmer macht Schwierigkeiten

Wie sieht Deine Nulldurchgangsdetektierung aus?
Grüße Uwe

uwefed:
Wie sieht Deine Nulldurchgangsdetektierung aus?
Grüße Uwe

Ich bin mir nicht sicher, ob ich die Frage richtig verstanden habe, aber der Pin Z-0 des Dimmers ist am Pin 2 des Arduino Mega-Clon angeklemmt.
Und da bekommt er beim Nulldurchgang vom Intrrupt ein Signal.
Richtig? (hoffentlich blamier ich mich jetzt nicht mit meinem frisch angelesenen Halbwissen....)

Jetzt ist es mir zu spät, aber morgen versuch ich mal das hier:

int DimmWert1 = 50;
int DimmPin1 = 3;

void setup() 
{ 
attachInterrupt(0, zero_crosss_int, RISING);
pinMode(DimmPin1, OUTPUT);
}

void zero_crosss_int()  
{
 int dimtime1 = (75*DimmWert1);    
 unsigned long Dimmstart1 = micros();    
 if(micros()- Dimmstart1 >= dimtime1)
   { digitalWrite(DimmPin1, HIGH);  }
 unsigned long DimmPause1 = micros();
 if(micros()- DimmPause1 >= 10)
   { digitalWrite(DimmPin1, LOW);  }
}

Was haltet ihr davon?

Das Modul
Triac-Modul.jpg

hat laut Foto einen MOC3042 montiert.

Das ist ein Optokoppler mit Zero Crossing Triac Ausgang. Da ein Triac nicht an Gleichstrom genutzt werden kann ( er schaltet nicht mehr aus) nehme ich, aus Mangel an einem Schaltbild und zu schlechter Fotos um die Leiterbahnen verfolgen zu können, an, daß dieser zur Ansteuerung des Leistungstriac auf der Platine verwendet wird. Da dieser wie schon gesagt ein Zero Crossing Typ ist kann er nicht zur Phasenanschnitsteuerung verwendet werden. Es kann lediglich eine Vollwellensteuerung realisiert werden, was aber bei jeglichen Lampen nicht sinnvoll ist da diese zu flacker anfangen.
Abschließend kann ich sagen, daß diese Hardware NIEMALS zum Dimmen mittels Phasenanschnittsteuerung funktionieren wird.

Grüße Uwe

Triac-Modul.jpg

Wenn Du die Beschreibung mit viel Phantasie und in erinnerung Behälst daß sie durch ein schlechtes Übersetzungsprogramm aus einer zu Deutsch schlecht kompatiblen Sprache erfolgt ist dann kann man aus folgendem:

Puls überspringen Modulation:
Eine andere Möglichkeit, dies zu tun, ist die Pulse-Skip-Modulation. Mit PSM werden ein oder mehrere vollständige Zyklen (Sinuswellen) auf die Last übertragen und dann ein oder mehrere Zyklen nicht. Obwohl effektiv, ist es keine gute Art, Licht zu dimmen, da es eine Chance zum Flackern gibt. Obwohl es verlockend sein könnte, sollte man bei PSM immer eine volle Sinuswelle an die Last weitergeben, nicht eine halbe Sinus, da in diesem Fall die Last faktisch von DC gespeist wird, was für die meisten AC-Lasten nicht gut ist. Der Unterschied zwischen Vorderkantenschneiden und PSM besteht hauptsächlich in der Software: In beiden Fällen wird eine Schaltung benötigt, die den Nulldurchgang erkennt und die einen Triac steuern kann.

verstehen, daß das Modul für "Puls überspringen Modulation" geeignet ist und nicht für " Vorderkantenschneiden".
Sprich Vollwellenmodulation und nicht Phasenanschnittsteuerung.

Außerdem ist es falsch daß man bei Vollwellenmodulation eine Netzsychronisation braucht. Zündimpulsen nur immer länger als 10mS sein um 2 Halbwellen durchzulassen.

Grüße Uwe

Macht es da einen Unterschied, dass ich eine PhasenABschnittsteuerung anstrebe?
Ich meine...
Perfekt läuft es zwar nicht (der flackerfreie Bereich ist relativ klein), aber für meine Bedürfnisse reicht es.
Gäbe es ein Bauteil, dass besser geeignet wäre?

Und einmal mehr komme ich nicht weiter, weil ich meinen Denkfehler nicht finde.
Ich hab mal alles auf nötigste runter gebrochen...

Dieser Sketch funktioniert:

int R1 = 29;
int DimmPin1 = 4;    
int DimmWert1 = 90;  
int EinschaltZeit1 = 0;

void setup()
{
  pinMode(R1, OUTPUT);
  digitalWrite(R1, HIGH); //Relais für Leuchte ein
  pinMode(DimmPin1, OUTPUT);
  attachInterrupt(0, zero_crosss_int, RISING);  // PIN 2 am Mega- Clone
}
void zero_crosss_int()  
{
  EinschaltZeit1 = (75*DimmWert1);    // For 60Hz =>65    
  delayMicroseconds(EinschaltZeit1);    // Wait till firing the TRIAC    
  digitalWrite(DimmPin1, HIGH);   // Fire the TRIAC
  delayMicroseconds(10);         // triac On propogation delay 
         // (for 60Hz use 8.33) Some Triacs need a longer period
  digitalWrite(DimmPin1, LOW);    // No longer trigger the TRIAC (the next zero crossing will swith it off) TRIAC
}
void loop()  
  {
    /* 
   for (int i=50; i <= 95; i++){
    DimmWert1=i;
    delay(100); */
   }

Dieser Nicht:

int R1 = 29;
int DimmPin1 = 4;    
int DimmWert1 = 90;  
int EinschaltZeit1 = 0;
bool DimmMerker1 = LOW;
unsigned long Dimmstart1 = 0;
unsigned long DimmPause1 = 0;

void setup()
{
  pinMode(R1, OUTPUT);
  digitalWrite(R1, HIGH); //Relais für Leuchte ein
  pinMode(DimmPin1 , OUTPUT);
  attachInterrupt(0, zero_crosss_int, RISING); 
}
  
void zero_crosss_int()  
{
  EinschaltZeit1 = (75*DimmWert1);    
  Dimmstart1 = micros();    
  if(micros()- Dimmstart1 >=  EinschaltZeit1 && DimmMerker1 == LOW)
    { digitalWrite(DimmPin1, HIGH);
      DimmMerker1 = HIGH;
      DimmPause1 = micros();
      }
  
  if(micros()- DimmPause1 >= 10 && DimmMerker1 == HIGH)
    { digitalWrite(DimmPin1, LOW);
      DimmMerker1 = LOW;}
}

void loop()  { 
 /*
  for (int i=50; i <= 95; i++){
    DimmWert1=i;
    delay(100);
   }*/
   }

Wo liegt mein Denkfehler?

Tiff48317:
Macht es da einen Unterschied, dass ich eine PhasenABschnittsteuerung anstrebe?

Phasenabschnittsteuerungen gehen nicht mit einfachen Triacs. Das dürfte bei so Billig-Dimmern schwierig werden. Es gibt Dimmer die beides können, aber das ist dann was professionelles und nichts zum Basteln

Aber wieso machst du dir bei Leuchtmitteln darum Gedanken? Anschnitt oder Abschnitt spielt nur bei kapazitiven oder induktiven Lasten eine Rolle wenn ich das richtig sehe.

Serenifly:
Aber wieso machst du dir bei Leuchtmitteln darum Gedanken? Anschnitt oder Abschnitt spielt nur bei kapazitiven oder induktiven Lasten eine Rolle wenn ich das richtig sehe.

und bei Led-Leuchtmitteln. Die sind aufgrund der internen Elektronik nicht so einfach zu dimmen wie Glühlampen. Soweit ich weis, müssen es Dimmer sein die für kapazitive Lasten geeignet sind. Die 'billigen' R/L Dimmer gehen da nicht.

Das Dimmen funktioniert ja!
Nur den Sketch bekomme ich nicht von Delay auf Millis umgeschrieben...
schaut ganz trottellieb Könnt ihr mir da helfen?

Zeichne mal das Schaltbild des Moduls.
Wenn der TRISC über den MOC3042 angesteuert wird dann zündet er diesen nur im Spannungsnulldurchgang. Darum kannst Du den Triac nicht später zünden und somit Phasenanschnittsteuerung realisieren.

Das Dimmen funktioniert ja!

Nicht richtig, nicht mit dieser Hardware.

grüße Uwe

uwefed:
Zeichne mal das Schaltbild des Moduls.
Wenn der TRISC über den MOC3042 angesteuert wird dann zündet er diesen nur im Spannungsnulldurchgang. Darum kannst Du den Triac nicht später zünden und somit Phasenanschnittsteuerung realisieren.
Nicht richtig, nicht mit dieser Hardware.

grüße Uwe

Uff... bin total überfordert und reichlich frustriert.


Gefunden HIER.

Ich würde mich übrigens auch mit "nicht richtig" zufrieden geben.

Tiff48317:
Uff... bin total überfordert und reichlich frustriert.


Gefunden HIER.

Die Schaltung des Schaltbildes hat einen MOC3021, einen Nicht Zero Crossing Optokopler. Dieser kann sehr wohl für Phasenanschnittsteuerung verwendet werden. Der MOC3042 funktioniert völlig anders als der MOC3021.

Tiff48317:
Ich würde mich übrigens auch mit "nicht richtig" zufrieden geben.

Das verstehe ich nicht was Du damit meinst.
Grüße Uwe

uwefed:
Dieser kann sehr wohl für Phasenanschnittsteuerung verwendet werden.

Das Billig-Teil hat aber keinerlei Entstörelemente. Wie das bei Phasenanschnitt dann die Nachbarn finden...

uwefed:
Die Schaltung des Schaltbildes hat einen MOC3021, einen Nicht Zero Crossing Optokopler. Dieser kann sehr wohl für Phasenanschnittsteuerung verwendet werden. Der MOC3042 funktioniert völlig anders als der MOC3021.
Das verstehe ich nicht was Du damit meinst.
Grüße Uwe

Ich hoffe, ich habe das richtige Schaltbild erwischt.
Wie gesagt, meine Englischkentnisse sind nicht vorhanden und der Translator machte es auch nicht besser...

Was ich meine :
Wenn ich Hilfe bekommen könnte den Code mit dem Delay-Part in einen mit millis() übersetzt zu bekommen, wäre ich schon sehr glücklich.
Dann funktioniert nur ein spezieller Bereich flackerfrei, aber da reicht, bis ich das Geld für eine bessere Lösung parat habe.
Ich peile da etwas von Eltako an.
Deren PWM hat zwar 10-24V, aber das ist dann (vielleicht) ein Thema für einen anderen Thread.
Die Nachbarn wird es bis dahin nicht stören.
Wir wohnen in einem Gewerbegebiet.
Wenn da die Maschinen laufen, wandern hier die Gläser durch den Schrank. :slight_smile:

MicroBahner:
und bei Led-Leuchtmitteln. Die sind aufgrund der internen Elektronik nicht so einfach zu dimmen wie Glühlampen. Soweit ich weis, müssen es Dimmer sein die für kapazitive Lasten geeignet sind

Ah, das stimmt. Die verwenden wahrscheinlich einfach einen Kondensator. Dessen Blindwiderstand kann man verwenden um die Spannung zu eliminieren ohne dass das Hitze erzeugt wird wie an einem ohmschen Widerstand

Ein Kondensator hat aber ungeladen einen sehr niedrigen Widerstand, wodurch ein hoher Strom fließt. Deshalb ist es besser man läd ihn sanft und schaltet dann ab

Zusammengefasst:
Für die (kapazitive) 230V LED benötige ich Phasenabschnittsteuerung.
Das klappt mit dem Bauteil sogar!

Jetzt muß ich es nur schaffen, den Code umzuschreiben, dann ist mein Problem gelöst!

Sollte ich dafür noch einen anderen Tread eröffnen?

Tiff48317:
Das klappt mit dem Bauteil sogar!

Jein. Mit dem Zero-Crossing Detektor, ja. Aber nicht mit einem Triac. Triacs zünden einmal und schalten dann automatisch ab wenn der Haltestrom unterschritten wird. Praktisch also kurz vor dem Nulldurchgang. Um gezielt abzuschalten braucht man komplizierte Bauteile wie Gate-Turnoff (GTO) Thyristoren

Serenifly:
Jein. Mit dem Zero-Crossing Detektor, ja. Aber nicht mit einem Triac. Triacs zünden einmal und schalten dann automatisch ab wenn der Haltestrom unterschritten wird. Praktisch also kurz vor dem Nulldurchgang. Um gezielt abzuschalten braucht man komplizierte Bauteile wie Gate-Turnoff (GTO) Thyristoren

Das heißt, das Bauteil erzeugt eine PhasenANschnittsteuerung?

Wegen de Codes geht es übrgens HIER weiter.

Gerade gefunden:
Zwei DIESER Leuchtmittel (Vintage 1906 CL Edison) sollen damit gesteuerte werden.

Tiff48317:
Das heißt, das Bauteil erzeugt eine PhasenANschnittsteuerung?

Nein. Da das Modul laut Foto vom Verkäufer einen MOC3042 drauf hat funktionert es NICHT mit Phasenanschnittsteuerung sondern nur Vollwensteuerung.
Daß Du ein Schaltbild mit einem MOC3021 gefunden hast ändert daran nichts.
Welchen Optokoppler hat Dein Modul denn nun drauf?

Grüße Uwe