Zum Inhalt springen

Trailing Edge vs Leading Edge: Welche Dimmer-Methode wählen

Phasenanschnitt-Dimmung erklärt: Warum TRIAC (Leading Edge) LED-Flimmern bei niedriger Helligkeit verursacht und wann MOSFET (Trailing Edge) die richtige Hardware-Wahl ist.

Kurzantwort: Leading Edge ist der Standard-TRIAC-Dimmer — er schaltet die Last in der zweiten Hälfte jeder AC-Halbwelle ein (ideal für Glühlampen und Heizgeräte). Trailing Edge ist ein MOSFET-Dimmer — er schaltet die Last ab Beginn jeder Halbwelle ein (besser für LED-Lampen, weniger Flimmern). Die meisten günstigen Dimmer-Module verwenden Leading Edge.



Das Problem

Ihr TRIAC-Dimmer funktioniert einwandfrei mit einer Glühlampe oder einem Heizgerät — aber tauschen Sie eine LED-Lampe ein, und Probleme treten auf: Flimmern, Instabilität, unvorhersehbares Verhalten bei niedriger Helligkeit.

Dies ist die klassische Fehlanpassung zwischen Steuerungsmethode und Lasttyp. TRIAC-Dimmer implementieren Leading Edge — eine Methode, die für resistive Lasten optimiert ist und Probleme mit elektronischen LED-Treibern verursacht. Trailing Edge (MOSFET) löst diese Probleme.

Typische Fehlanpassungs-Symptome aus den Foren:

  • «TRIAC Leading Edge Dimmer liefern keine guten Ergebnisse mit dimmbaren LED-Lampen» (Arduino Forum, 2024)
  • «Ich verwende TRIAC-Platinen für Glühlampen und sie dimmen/regeln sehr gut. Aber mit LED-Lampen funktionieren sie nicht richtig» (Arduino Forum, 2024)
  • LED-Flimmern unter 30–50% Helligkeit, das kein Code-Änderung beheben kann
  • Lampe funktioniert bei 100% einwandfrei, ist aber beim Dimmen instabil



Grundursache

Beide Methoden verwenden Phasensteuerung (Phasenwinkelsteuerung): Ein TRIAC oder Transistor schaltet an einem bestimmten Punkt der AC-Halbwelle ein und leitet einen Teil der Sinuswelle an die Last weiter. Der Unterschied liegt darin, welcher Teil der Halbwelle die Last erreicht.


Leading Edge (Phasenanschnitt)

text
Sinuswelle:      ╭─────╮        ╭─────╮
                 │     │        │     │
─────────────────╯     ╰────────╯     ╰────
Leading Edge (50% Leistung):
                 ──╭───╮        ──╭───╮
                   │   │          │   │
───────────────────╯   ╰──────────╯   ╰────
                   ↑ TRIAC zündet hier
  • TRIAC zündet in der Mitte der Halbwelle
  • Die Last erhält die zweite Hälfte jeder Halbwelle
  • Charakteristischer scharfer Spannungssprung beim Zünden des TRIAC
  • Der Industriestandard für Haushaltsdimmer seit 50 Jahren

Problem mit LED: Der LED-Treiber sieht einen abrupten Spannungssprung von Null auf ~200–300 V. Viele LED-Treiber reagieren darauf als elektrische Störung, lösen Schutzschaltungen aus und verhalten sich unvorhersehbar.


Trailing Edge (Phasenabschnitt)

text
Sinuswelle:      ╭─────╮        ╭─────╮
                 │     │        │     │
─────────────────╯     ╰────────╯     ╰────
Trailing Edge (50% Leistung):
                 ╭───╮          ╭───╮
                 │   │          │   │
─────────────────╯   ╰──────────╯   ╰──────
                     ↑ Transistor schaltet hier ab
  • MOSFET (Transistor) öffnet zu Beginn der Halbwelle, schließt in der Mitte
  • Die Last erhält die erste Hälfte jeder Halbwelle
  • Spannung steigt sanft von Null entlang der Sinuswelle — kein scharfer Sprung
  • Komplexere und teurere Schaltung, erfordert aufwendigere Steuerung

Vorteil bei LED: Der LED-Treiber sieht eine Spannung, die allmählich von Null ansteigt — identisch mit dem Beginn einer normalen Halbwelle, nur verkürzt. Die meisten LED-Treiber verarbeiten diese Wellenform korrekt.


Die Steuerungsmathematik

c
// Leading Edge: längere Verzögerung = weniger Leistung
delay_us = firing_angle;     // größere Verzögerung = weniger Leistung
// Trailing Edge: längere Verzögerung = mehr Leistung
// (wir schließen den Transistor früher)
delay_us = half_period - firing_angle;  // größere Verzögerung = mehr Leistung
// half_period:
// 50 Hz → 10.000 µs
// 60 Hz →  8.333 µs



Lösungen



🟢 Einsteiger: Das richtige Modul wählen

Möchten Sie sich nicht mit Phasenwinkelmathematik beschäftigen — wählen Sie das richtige Modul und verwenden Sie DimmerLink.

Die meisten verfügbaren TRIAC-Module (einschließlich RBDimmer) verwenden Leading Edge. Das ist der Standard — funktioniert gut mit resistiven Lasten: Glühlampen, Halogen, Heizgeräte, Lötkolben, Rheostaten.

Wenn Sie Trailing Edge für LED benötigen — brauchen Sie einen MOSFET-Dimmer, kein TRIAC-Modul.

Praktische Regel:

  • Glühlampen / Halogen / Heizgeräte → beliebiger TRIAC-Dimmer (Leading Edge)
  • Hochwertige LED mit Kennzeichnung «TRIAC dimmable» → TRIAC (Leading Edge) funktioniert
  • LED mit Instabilität / Flimmern → Trailing Edge (MOSFET-Modul)

Steuerung über DimmerLink:

Jeder ESP32 works with standard RBDimmer TRIAC modules (leading edge) over I2C or UART. When trailing edge is needed, DimmerLink also controls MOSFET modules.

Wann DimmerLink wählen:

  • ☐ Raspberry Pi (kein Echtzeit-OS für ISR)
  • ☐ ESP32-S2/C3/H2 (Einzelkern — Software-Bibliotheken nicht unterstützt)
  • ☐ Dimmer von jeder Plattform steuern, ohne ISR-Code zu schreiben
  • cpp
    // DimmerLink über I2C — funktioniert mit jedem angeschlossenen Modul
    // (TRIAC Leading Edge oder MOSFET Trailing Edge — keine Code-Änderungen nötig)
    // Dokumentation: https://www.rbdimmer.com/docs/dimmerlink-I2CCommunication
    #include <Wire.h>
    #define DIMMER_ADDR 0x50
    #define REG_LEVEL   0x10
    void setLevel(uint8_t level) {
        Wire.beginTransmission(DIMMER_ADDR);
        Wire.write(REG_LEVEL);
        Wire.write(level);
        Wire.endTransmission();
    }
    void setup() {
        Wire.begin();
        setLevel(50);  // 50% Helligkeit
    }
    void loop() {}


    🔵 Fortgeschritten: Implementierung im Code

    Möchten Sie den Phasenwinkel selbst steuern — so funktioniert es.

    Beide Implementierungen verwenden einen Nulldurchgang-Interrupt. Der einzige Unterschied ist die Verzögerungsformel vor dem Zünden.


    Option A: Leading Edge auf ESP32 mit rbdimmerESP32 ✅ Empfohlen

    Wann: Dual-Core ESP32 + resistive Lasten oder hochwertige TRIAC-kompatible LED-Lampen.

    Die Bibliothek rbdimmerESP32 implementiert Leading Edge standardmäßig.

    cpp
    // Plattform: Dual-Core ESP32
    // Bibliothek: rbdimmerESP32 — Leading Edge, automatisch
    // Quellcode: github.com/robotdyn-dimmer/rbdimmerESP32
    #include "rbdimmerESP32.h"
    #define ZC_PIN  18
    #define DIM_PIN 19
    rbdimmer dimmer;
    void setup() {
        dimmer.begin(ZC_PIN, DIM_PIN, 50);  // 50 Hz Netz
        dimmer.setPower(50);                // 50% Leistung
    }
    void loop() {
        // Sanfter Übergang
        for (int p = 10; p <= 95; p++) {
            dimmer.setPower(p);
            delay(30);
        }
        for (int p = 95; p >= 10; p--) {
            dimmer.setPower(p);
            delay(30);
        }
    }


    Option B: Trailing Edge — Manuelle Implementierung auf Arduino AVR

    Wann: Leading Edge verursacht LED-Probleme und Sie müssen auf Trailing Edge wechseln, ohne das Modul zu tauschen (einige MOSFET-Module ermöglichen dies in der Hardware).

    cpp
    // Plattform: Arduino Uno / Mega (nur AVR)
    // Implementierung: Trailing Edge über manuelle Nulldurchgang-ISR-Steuerung
    // WARNUNG: Funktioniert nur mit MOSFET-Modulen — NICHT mit TRIAC!
    // Für ESP32 verwenden Sie rbdimmerESP32 (Leading Edge)
    #define ZC_PIN  2   // Nulldurchgang — nur Pins 2 oder 3 auf Uno
    #define DIM_PIN 11  // MOSFET-Gate-Steuerungspin
    volatile int brightness = 50;  // 0–100%
    // Nulldurchgang-Interrupt
    void zeroCrossISR() {
        // Trailing Edge: am Anfang öffnen, nach (brightness/100) * half_period schließen
        // 50 Hz: half_period = 10.000 µs
        // 60 Hz: half_period = 8.333 µs
        int on_time = (brightness * 10000L) / 100;  // 50 Hz
        digitalWrite(DIM_PIN, HIGH);    // MOSFET sofort öffnen
        delayMicroseconds(on_time);     // offen halten
        digitalWrite(DIM_PIN, LOW);     // MOSFET schließen
    }
    void setup() {
        pinMode(DIM_PIN, OUTPUT);
        attachInterrupt(digitalPinToInterrupt(ZC_PIN),
                        zeroCrossISR, RISING);
    }
    void loop() {
        brightness = 50;  // 50%
    }

    Hinweis: delayMicroseconds() innerhalb einer ISR blockiert andere Interrupts. Für den Produktiveinsatz ersetzen Sie die Verzögerung durch einen Hardware-Timer. Dieses Beispiel demonstriert nur das Prinzip.



    ⚠️ Häufige Fehler aus den Foren

    Echte Fehler aus 3 Forum-Threads (2019–2025).

    • «Auf Trailing Edge im Code umgeschaltet — flimmert immer noch»: Wenn Sie ein TRIAC-Modul haben (kein MOSFET), bringt Trailing Edge in der Software nichts. Ein TRIAC kann physisch kein Trailing Edge — Sie benötigen ein MOSFET-Modul.

    • «Auf Trailing Edge umgeschaltet — Lampe ist bei gleichem Wert dunkler»: Das ist erwartetes Verhalten. Trailing Edge arbeitet mit invertierter Logik im Vergleich zu Leading Edge. Bei 50% Trailing Edge erhalten Sie einen anderen Halbwellenanteil als bei 50% Leading Edge. Kalibrieren Sie Ihren Bereich neu.

    • «Eine Bibliothek gefunden, die Trailing Edge auf demselben Modul macht»: Wenn Sie ein Standard-TRIAC-Modul haben (BTA16, BT139, BTA08) — keine Bibliothek kann es auf Trailing Edge umschalten. Die Hardwarephysik erlaubt es nicht.

    • «Forennutzer berichten: Wechsel vom Leading-Edge-RBDimmer-Code zu manuellem Trailing-Edge-Nulldurchgang-Code HAT LED-Flimmern behoben, ohne die Hardware zu ändern» — das funktioniert nur, wenn sie ein MOSFET-Modul hatten, kein TRIAC.




    Schnell-Checkliste

    Vor dem Posten im Forum prüfen:

  • ☐ Was ist Ihr Modul — TRIAC oder MOSFET? (Chip-Beschriftung prüfen)
  • ☐ TRIAC (BTA08, BTA16, BT139) — nur Leading Edge
  • ☐ MOSFET (IRLZ44N, IRF540) — unterstützt Trailing Edge
  • ☐ Ist Ihre Last resistiv (Glühlampe) oder LED mit elektronischem Treiber?
  • ☐ Bei LED mit Problemen: Tauschen Sie zuerst auf eine Philips/Osram-Lampe —
  • das löst 80% der Fälle ohne Modulwechsel



    Kompatibilitätstabelle

    Methode Modul Last Funktioniert? Hinweise
    Leading Edge TRIAC RBDimmer Glühlampe Ausgezeichnet
    Leading Edge TRIAC RBDimmer Halogen 230 V Ausgezeichnet
    Leading Edge TRIAC RBDimmer Heizgerät Ausgezeichnet
    Leading Edge TRIAC RBDimmer Philips/Osram LED Qualitätslampe
    Leading Edge TRIAC RBDimmer Günstige Noname-LED ⚠️ Flimmern < 40%
    Trailing Edge MOSFET Jede dimmbare LED Bestes Ergebnis
    Trailing Edge TRIAC Alle In Hardware unmöglich



    Verwandte Themen



    Noch Fragen?

    Post on rbdimmer.com forum or open a GitHub Issue.

    Diesen Beitrag teilen
    Anmelden , um einen Kommentar zu hinterlassen