230V AC Steckdose mit Arduino schalten/dimmen Mehrkanal

230V AC Steckdose mit Arduino schalten/dimmen Mehrkanal

Beitragvon Rocktagon » Mo 7. Okt 2013, 14:29

Steckdose schalten/dimmen mit dem Arduino.

Dazu gibt es je nach Anwendung mehrere Möglichkeiten.
Unterscheiden muß man in Ohmsche Lasten (zb Glühbirnen) und Induktive Lasten (zb Trafos,Motoren).
Der Unterschied ist das OhmscheLasten beim abschalten einfach aus gehen, induktive können beim ausschalten eine Spannungsspitze erzeugen.
Diese Spannungsspitze muß man abfangen oder der Triac kann kaputt gehen.

Will man nur schalten kann man:
1. mit einem Relais (fertige 8 Kanal relais board in Ebay ca 8 Euro). Für Ohmsch und Induktive Lasten.
2. mit einem Solid state Relais. Gleiche wie 1 nur ohne mechanische bauteile. (fertige 8 Kanal relais board in Ebay ca 16 Euro). Meist nur für Ohmsche Lasten.
3. mit einer Triac Schaltung (halt selbstbau).

1 und 2 werden einfach nur an einen jeweilgen Port angeschlossen und sind fertig. Daher keine weiteren Details dazu.
Für die Triac Schaltung(3) gibt es zwei "ordentliche" Möglichkeiten.
Eine nur für Ohmsche Lasten, eine die auch für Induktive Lasten geeignet ist:

Bild
Bild


Einfach den Optokoppler mit passendem Wiederstand an einen Port anschliesen schon kann man entsprechend eine Last schalten in dem man den port schaltet.
Will man sicher gehen das der Verbraucher nur zum start einer Welle (Wechselstrom) eingschaltet wird kann man einen Optokoppler mit Nulldurchgangserkennung benutzen (zb MOC 3063).
Andernfalls kann es passieren das das Gerät innerhalb einer Welle eingschaltet wird und somit "gedimmt" startet was nicht immer erwünscht ist.

Anders sieht es aus wenn man dimmen will. Dazu wird der Triac absichtlich erst innerhalb einer Welle geschaltet. Dadurch erreicht man das nur ein Teil der Spannung an der Last ankommt, und somit gedimmt ist.
Um den Zeitpunkt des einschaltens genau zu bestimmen muß man wissen wann die Welle anfängt und wie lange man mit dem einschalten warten muß um den gewollten Dimmwert zu erzielen.
Den Startzeitpunkt ermittelt man mit einer Nulldurchgangserkennung (Zero crossing). Dazu wir ein Optokoppler (4N33) einfach mit Wiederständen (2 * 100K) an die Phase gehangen und der Schaltausgang mit einem Interrupt an den Arduino angeschlossen.
somit wird jedes mal wenn die Welle beginnt der Interrupt aufruf gestartet. Nun muß man innerhalb des Interrupts nur noch entsprechend warten um den Triac ein zu schalten.
Nulldurchgangserkennung:
Bild

Der Angehängte Arduino Sketch enthält die nötige Zeittabelle und ist für mehrere Kanäle ausgelegt (im Beispiel 8 Kanal).
Gesteuert werden die Kanäle über die Serielle Eingabe. Später über funk.
In dem Sketch sind die Werte in 2% Schritten angegeben.
Wird der Interrupt durch die Nullspannungserkennung geschaltet startet ein Timer.
Dieser Timer bekommt den entsprechenden Wert je nach Durchgang(siehe Tabelle "welle") zugewiesen.
Es gibt insgesammt 49 Durchläufe da 50=100% ist.
Wird der Timer ausgelöst wird die Liste der Ports durchgegangen. Ist ein Port dabei der den passenden Dimmwert hat wird dieser ein geschaltet.
Der Timer wird mit dem nächsten Wert aus der Liste neu gestartet.
Ist das ende erreicht werden alle Optokopler wieder aus geschaltet.
Die Triacs schalten von alleine ab sobald kein Strom mehr fliest (ende der Welle).
Mit einer neuen Welle fängt alles von vorne an.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 142
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW

Re: 230V AC Steckdose mit Arduino schalten/dimmen Mehrkanal

Beitragvon Rocktagon » Sa 9. Nov 2013, 16:50

Bauteil und somit Platz minimale Schaltung:

Der Moc 3063 hat eine eingebaute Nulldurchgangserkennung und der BTA16-800BW ist eine Snubberless Version - somit spart man sich den Kondensator und ein Wiederstand.

Das ganze kommt somit mit 5 Bauteilen aus: 1x Moc3063, 1xBTA16-800BW, 3xR390

Der BTA16-800BW Kann 16A bei 800V schalten - somit ausreichend für fast alles ;)

Mit dieser Schaltung kann man aber nur schalten nicht dimmen. Ist dafür aber auch für induktive lasten (zb trafos) geeignet.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Non mihi non tibi sed nobis
nightlight ÄT gmx PUNKT de
Benutzeravatar
Rocktagon
Administrator
 
Beiträge: 142
Registriert: So 28. Okt 2012, 10:15
Wohnort: NRW


Zurück zu Arduino

Wer ist online?

Mitglieder in diesem Forum: NewBot und 1 Gast

Fatal: Not able to open ./cache/data_global.php