Forum: Mikrocontroller und Digitale Elektronik Bausteine zur automatischen TRIAC-Steuerung


von Andi M. (rootsquash)


Lesenswert?

Hallo,

ich suche nach einer einfachen Möglichkeit einen Triac als 
Phasenanschnittsdimmer zu verwenden.

Da der Mikrocontroller nicht nur den Dimmer steuern soll und das Dimmen 
in vielen Stufen erfolgen soll, scheint es nicht praktikabel zu sein die 
Steuerung komplett dem µC zu überlassen.*

Ich habe bisher allerdings nur einen Hilfsbaustein gefunden:

Mouser-Teilenr.: 792-IES5528
Hersteller-Teilenummer: IES5528T
Hersteller: Hendon Semiconductors
Beschreibung: Triacs Phase Controller

- Hat schon jemand Erfahrung mit diesem oder ähnlichen Bausteinen 
gemacht die er teilen würde?

- Kennt jemand Alternativen zu diesem Bauelement?

- Wie würde man diesen Baustein einsetzen?
Ich vermute Fig.1 aus dem Datenblatt wäre ein guter Anfang, mit VR1 als 
vom µC geregelters Digital-Poti, ist das korrekt?




*Da selbiger µC neben der Phasenanschnittsteuerung noch weitere Dinge 
tun soll habe ich ein kleines Testprogramm geschieben, das alle 0,1 ms 
einen Interupt auslöst. Die ISR berechnet daraufhin die aktuelle Zeit, 
aus der Zeit wird berechnet wie die Ausgänge gesetzt sein müssen 
(einfache Schaltzeituhr).
Die 0,1 ms bedeuten, das der Dimmer bei einer Wechselspannung von 50 Hz 
100 verschiedene Werte einstellen kann (das ist natürlich non-linear, 
nach einer Korrektur der Kurve in Software bleiben deutlich weniger 
Stufen für eine lineare Ansteuerung übrig).
Schon dabei fiel auf, dass der Test-µC (ATtiny2313) bei 4 MHz die 
Sekunden "zu langsam" anzeigte, mit 8 MHz lief er dann wieder. Da der µC 
später (geplant: ATMega8) auch noch den Nulldurchgang detektieren muss, 
ein Display ansteuern, die Temperatur messen (1-Wire Bus) und DCF-77 
spielen soll, scheint das nicht praktikabel zu sein.

von Matthias L. (Gast)


Lesenswert?

Du hast den falschen Ansatz.

Die Nulldurchgangserkennung kommt an ICP. Jetzt kannst du per 
durchlaufendem Timer die Zeit zwischen zwei ICP-Interrupts messen und 
als 100% ansehen. Weiterhin rechnest du deine Verzögerung (bzgl. des 
gewüunschten Dimmwertes) in Timertakten aus und schreibst das in das OCR 
Register. Dessen Interrupt setzt dann den Triac, welcher durch den 
ICP-Int zurückgenommen wird. So entsteht eine PWM, die synchron zum Netz 
ist.

Optional kannst du beim ICP-Int auch den Timerwert auf Null setzen.

von Andi M. (rootsquash)


Lesenswert?

Ja, das wäre wohl die "klassische" Art das zu machen.
Aber kann ich dann nebenher noch Funkuhr usw. spielen mit dem gleichen 
µC?

Mir wäre es, denke ich, ganz lieb wenn der Controller nicht von überall 
Interrupts kriegen würde, da man sonst ja wieder aufpassen muss wie sich 
der Controller vehält wenn er einen Interrupt verpasst weil er gerade in 
einer ISR steckt.
Daher auch die Idee einfach mehrmals pro Sekunde (mit dem Hilfsbaustein 
würden ja so 100 mal pro Sekunde reichen) die verfügbaren Informationen 
(Pegel des DCF-Empfangsmoduls, Zustand der Taster, alle paar Minuten 
oder Sekunden die aktuelle Temperatur) einzulesen und die Zeit und die 
Werte für die Ausgeänge entsprechend zu setzen.

Die Triac-Steuerung in einen eigenen Baustein zu packen halte ich für 
eine nicht ganz blöde Idee, ebenso kann man ja die Kommunikation per 
1-Wire-Bus auslagern in einen Baustein der I2C spricht, letzters 
Protokoll soll ja relativ einfach sein.

von Matthias L. (Gast)


Lesenswert?

>Daher auch die Idee einfach mehrmals pro Sekunde (mit dem Hilfsbaustein
>würden ja so 100 mal pro Sekunde reichen) die verfügbaren Informationen
>(Pegel des DCF-Empfangsmoduls, Zustand der Taster, alle paar Minuten
>oder Sekunden die aktuelle Temperatur) einzulesen und die Zeit und die
>Werte für die Ausgeänge entsprechend zu setzen.


Das ist vollkommen korrekt. Sowas macht man zyklisch, zb. per Interrupt 
alle 10ms. Dazu genügt ein Timer als Zeitbasis.


>Die Triac-Steuerung in einen eigenen Baustein zu packen halte ich für
>eine nicht ganz blöde Idee, ebenso kann man ja die Kommunikation per
>1-Wire-Bus auslagern in einen Baustein der I2C spricht, letzters
>Protokoll soll ja relativ einfach sein.

Kannst Du. Ist aber Unsinn. Nulldurchgänge gibt es 100Stück pro Sekunde. 
Das ist für einen uC Langeweile. Also mache es so wie geschrieben.

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.