Projekt: Steckdosen schalten mit Pi

Holgip

Lt. Commander
Registriert
Dez. 2012
Beiträge
1.758
Ich habe mich an eine kleine Beschreibung für mein Steckdosenprojekt gewagt. Vielleicht benötigt jemand auch so etwas.
Das ist mein erster Artikel. Wenn also noch etwas fehlt, bitte melden. Leider habe ich keine Bilder vom Aufbau der Leiste geschossen und möchte jetzt auch ungern die Leiste nochmal komplett aufschrauben. Habt bitte Verständnis dafür.

Eingeteilt habe ich den Bericht in folgende Abschnitte:

- Einleitung
- Hardware
- Mechanischer Aufbau
- Software
- Kosten
- Fazit

Fangen wir also an.

Einleitung:
Ein von einem anderen Projekt übrig gebliebener Raspberry Pi brachte mich auf die Idee, die Steckdosenleiste meines kleinen Homeservers zu automatisieren. Der Server ist ein Zotac ID14, woran ich insgesamt 4 USB Festplatten in 3 externen Gehäusen angeschlossen habe. Im Zotac werkelt eine SSD, die noch in 2 Partitionen unterteilt ist (BS und Daten).
Die letzten Jahre schaltete ich die Geräte einmal mit dem Hauptschalter der Leiste ein, hatte aber noch 3 Schalter in die Leiste integriert, mit denen ich die Festplatten einzeln schalten konnte.
Das wollte ich jetzt automatisieren, um von jedem der 5 PCs im Heimnetz den Server und die Festplatten zu schalten.

Die Hardware:
Die Steckdosenleiste ist eine etwas ältere mit Dosen, die im 90° Winkel angeordnet sind (etwa so wie diese: Link: http://www.voelkner.de/products/265870/Steckdosenleiste-5-fach-Plus-Anschliessbar.html). Alle Anderen mit 0° oder 45° sind nicht geeignet, da die Kontakte mit durchgehenden Metalleisten ausgeführt sind, während die 90°-Leisten einzeln verdrahtet werden.

Vornweg die übliche Warnung. Alle Arbeiten an 230V dürfen nur von jemanden ausgeführt werden, der dafür ausgebildet ist! Erstens kann es bei einem Kuzschluß ganz schön knallen und zweitens und viel wichtiger: LEBENSGEFAHR!

Klar war, dass ich insgesamt 4 Steckdosen schalten musste, also 4 GPIOs des Pi belegt werden. Eine Steckdose hängt direkt an 230V. Dort ist das Steckernetzteil für den Pi angeschlossen.
Als Stromverstärker für die GPIOs sah ich erst 4 Transistoren mit den entsprechenden Widerständen vor, stolperte dann im Internet aber über das ULN2003 IC, das normal für die Ansteuerung von Schrittmotoren verwendet wird. In diesem IC sind 8 sog. Darlington-Transistoren integriert, also mehr als genug für mein Vorhaben. Von Vorteil ist es, dass man zwischen Pi und dem ULN2003 keine Widerstände einzufügen braucht, da der Schaltstrom der Darlingtons sehr gering ist und die GPIOs kaum belastet werden.
Die Ausgänge des ULN2003 können direkt Relais schalten, benötigen also auch keine externen Bauteile mehr (außer der Freilaufdiode parallel zur Relaisspule).
ULN2003 internal picture.PNG
Beim Durchblättern der Angebote für Relais stieß ich schließlich auf sog. Solid State Relais (SSR). Diese schalten, galvanisch getrennt, mit einer LED einen lichtempfindlichen Triac, der wiederum die 230V für die Steckdosen durchschaltet. Kostenmäßig geben sich normale Relais und SSR nicht allzuviel, wobei gesagt werden muss, dass SSRs nicht ganz die Ströme schalten können wie Relais. Dafür ist der Schaltvorgang nicht zu hören und die Bauform der SSRs wesentlich kleiner. Das war für mich der ausschlaggebende Grund, da die Elektronik -abgesehen vom Pi- in die alte Steckdosenleiste passen sollte.
Die SSR die ich mir ausgesucht habe (Sharp S202 S02) leisten mit entsprechender Kühlung bis zu 8A pro Stück (1840W), ohne Kühlkörper dürfen es maximal 2A (460W) sein. Alle meine Geräte zusammen haben bei Vollast eine Leistung von ca. 50W. Die SSRs können also ohne Kühlkörper betrieben werden.
S202SE1.png
Es gibt noch stärkere SSRs, die aber dann fast doppelt so teuer sind.
Zum Schutz vor Überspannungen hat jedes SSR noch einen 460V Varistor Parallel zu den Schaltausgängen erhalten. Zu besachten ist, dass die Varistoren so dicht wie möglich an den SSRs sitzen. Ich habe sie direkt an die Schaltausgänge gelötet.
Ach ja: Dieser SSR-Typ hat noch eine integrierte Nullpunktserkennung, d.h. dass der Triac nur schaltet, wenn die Wechselspannung gerade durch den Nullpunkt geht. Das verhindert Spannungsspitzen an den angeschlossenen Geräten.

Zur optischen Einschaltkontrolle dienen 4 LEDs, die direkt neben der jeweiligen Steckdose platziert sind. Die LEDs liegen in Reihe mit den Steuer-LEDs der SSR. Es sind also 8 Leitungen von der Platine zu den LEDs nötig. Um den Strom zu begrenzen wird noch ein 150Ohm-Widerstand in Reihe geschaltet. Die Freilaufdiode, die bei Relais notwendig ist, fällt hier natürlich weg.
Unbedingt beachten: Das ULN2003 hat invertierende Ausgänge, d.h. wenn ein GPIO auf 1 ist, bringt das IC eine 0 am Ausgang. Dementsprechend hängen die LEDs mit der Kathode am Ausgang des ULN2003, respektive am Vorwiderstand.

Schaltplan:
Pi-Steckdose1.png

Mechanischer Aufbau:
Das IC, die Widerstände und die Pfostenleisten zum Anschluß des Pi, der LEDs und der SSRs sind auf einer kleinen Platine aufgebaut, die unterhalb der Schalteröffnung in der Steckdosenleiste sitzt. Die Öffnung selbst habe ich mit einem Stück Kunststoffplatte verschlossen. Die SSRs sitzen zwischen den einzelnen Steckdosen, damit die 230V-Verkabelung einigermaßen kurz wird. Alle Anschlüsse sind mit Schrumpfschlauch überzogen um die Berührungsgefahr so gering wie möglich zu halten (wobei man ja sowieso nie in eine eingeschaltete Steckdosenleiste greifen sollte). Auch die SSR selbst habe ich mit Silikonhauben gegen Berührung gesichert. Die Kühlplatte führt 230V.

Das Gehäuse des Pi habe ich mit Heißkleber und zwei 19" Lochschienen, die ich noch hatte, mit der Steckdose verbunden. Die elektrische Verbindung zwischen Pi und der Leiste erfolgt mit 2 4-poligen Flachbandkabeln, wobei jeweils 2 Kabel an +5V und an GND angeschlossen sind.

IMG_2186.JPGIMG_2183.JPG

Software:
Den Pi betreibe ich mit Raspbian Jessie lite, da ich keine GUI benötige und das Ganze auf eine 2GB Micro-SD passen sollte. Als zusätzliche Programme habe ich Python, wiringPi und einen Apache-Server installiert. Angesprochen wird der PI über einen PC und PUTTY.
Die GPIOs zu programmieren habe ich in einem vorherigen Projekt schon gemacht. Die Steuerung wird über Python-Scripts erledigt, die dann von PHP-Scripts über einen Webbrowser gestartet werden können.
Da ich von PHP und Javascript wenig Ahnung habe, programmierte ich erst einmal ein ganz einfaches PHP-Script, das mir die Aufrufe der Python-Scripte ermöglichte. Ich wollte aber noch eine Kontrolle, ob die jeweilige Steckdose eingeschaltet ist und wandte mich deshalb an das Programmier-Forum hier (link!).
Die Anfrage war ein voller Erfolg. Besonders hervorgetan hat sich r15ch13, der mein Script so umschrieb, dass es keinen "Spaghetticode" mehr enthält und auch meine späteren Einfälle immer sehr gut umgesetzt hat. Die PHP, CSS und JS die ich hier veröffentliche sind also komplett von r15ch13 geschrieben. Vielen Dank nochmal an dieser Stelle!

Meine Anforderungen waren wie folgt:
- Die Software soll leicht bedienbar sein
- Jedes Gerät soll einzeln ein- und wieder ausschaltbar sein
- Wenn man eine Festplatte einschaltet, soll gleichzeitig der Server gestartet werden
- Wenn der Server ausgeschaltet ist, sollen alle Festplatten auch ausgeschaltet werden
- Es muss im Programm eine optische Rückkopplung geben, ob ein Gerät eingeschaltet ist
- Es soll davor gewarnt werden, wenn auf den Server oder eine Festplatte zugegriffen wird, um eine Beschädigung offener Dateien durch zu frühes Ausschalten zu verhindern.

Vor allem der letzte Punkt hat mir einiges Kopfzerbrechen gemacht, denn der Server weigerte sich beharrlich, eine "openfile"-Anfrage des Pi zu beantworten. Nun lasse ich den Server eine openfile-Datei schreiben, die dann auf den Pi kopiert wird und dort ausgewertet werden kann. Allerdings ist Windows beim Anzeigen der offenen Dateien etwas langsam, vor allem, wenn gar nicht mehr auf das Laufwerk zugegriffen wird, der Explorer auf dem Client aber immer noch auf ist, wird der Status der offenen Dateien nicht verändert. Man muss erst auf dem Client den Explorer schließen und erst nach einigen Minuten merkt das Windows auf dem Server, dass keine Dateien mehr geöffnet sind. Ein Nachteil, mit dem ich aber leben kann.
Die Scripte lade ich später hoch. Dummerweise habe ich zu früh auf "Veröffentlichen" geklickt und schließe das hier mit den Kosten und dem Fazit ab.

Kosten:
Wenn man alles neu kaufen muss sind zum einen der Pi selbst, zum anderen die Steckdosenleiste und die SSRs die größten Kostenfaktoren. Alle anderen Bauteile sind vernachlässigbar billig. Hier mal eine Kostenaufstellung:

Name Einzel Gesamt
Steckdosenleiste 37,95€ 37,95€ Völkner
Raspberry Pi B 27,90€ 27,90€ Reichelt
Netzteil für Pi 8,50€ 8,50€ "
Micro-SD Karte 8GB 3,20€ 3,20€ "
4x Sharp SSR S202 S01 5,35€ 21,40€ "
4x Isolierkappe 0,60€ 2,40€ "
ULN2003 0,29€ 0,29€ "
IC-Sockel 0,05€ 0,05€ "
Stift- u.Buchsenleisten 1,55€ 1,55€ "
4x Widerstand 150 0,04€ 0,12€ "
4x Varistor 460V, 0,6W 0,30€ 1,20€ "
4x LED 0,06€ 0,24€ "
Schrumpfschlauch ca. 1,00€ 1,00€ "
______________________________________________________

105,80€

Dazu kommen noch die Versandkosten. Hat man den Pi schon zu Hause, wird's natürlich entsprechend günstiger. Von der geforderten Leistung würde auch ein Pi Zero reichen, wenn der denn eine Ethernet-Schnittstelle hätte.
Der Preis ist nur geringfügig höher als die bei Reichelt angebotene Infrarot-Steckdosenleiste, aber man hat dafür individuell schaltbare Steckdosen und mir hat es mal wieder Spaß gemacht, mit Elektronik zu basteln.


Fazit:
Das Ganze läuft jetzt über zwei Wochen zu meiner vollen Zufriedenheit. Schwierigkeiten gab es bei der Hardware nicht. Nur die Software hätte ich alleine nicht hinbekommen.
Ich denke, dass das Projekt auch für Leute interessant ist, die keine PCs oder Festplatten schalten wollen. Die Scripts lassen sich gut an die jeweiligen Anforderungen anpassen.
Wenn man das Ganze mit Relais aufbauen will, kann man die LEDs parallel über die restlichen 4 Darlingtons des ULN2003 steuern lassen. Dann bekommen die Relais die vollen 5V zum Durchschalten.
 
Zuletzt bearbeitet: (zu früh abgeschickt)
Ganz nettes Projekt für den Hobby bedarf. Solange du da halt nur deine kleinen Lasten dranhängst wird das auch so funktionieren.

Falls dort dann doch mal eine induktive last dran kommt kann es halt zu Problemen durch Spannungsspitzen kommen, die dann durchschlagen können, was du ja im Moment durch deine Schaltnetzteile nicht zu befürchten hast.

Ich hätte ggfs. eher den S202S12 Typen verwendet, da dort ein Snobber mit enthalten ist und du damit wegen der Spitzen keine Sorgen mehr haben musst.

Ich hoffe nur jemand in deinem Haushalt wird da keinen Staubsauger in die Dose stecken :)
 
Zuletzt bearbeitet:
Hier sind jetzt die Scripte:

Script Server.py (Server einschalten; die anderen Scripte für die Festplatten sind ähnlich aufgebaut)
Code:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(17,GPIO.OUT)
GPIO.output(17,GPIO.HIGH)

Script AlleAus.py (schaut erst nach, ob der Server eingeschaltet ist, fährt ihn herunter und wartet, bis das Herunterfahren abgeschlossen ist, um die Leiste komplett auszuschalten)
Code:
import RPi.GPIO as GPIO
import time
import os

os.system("ping -c 1 " + "192.168.178.25")

if os.system("ping -c 1 " + "192.168.178.25") == 0:
	os.system("sudo net rpc shutdown -I 192.168.178.25 -U Administrator%")
	time.sleep (45)

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(17,GPIO.OUT)
GPIO.setup(18,GPIO.OUT)
GPIO.setup(22,GPIO.OUT)
GPIO.setup(23,GPIO.OUT)

GPIO.output(17,GPIO.LOW)
GPIO.output(18,GPIO.LOW)
GPIO.output(22,GPIO.LOW)
GPIO.output(23,GPIO.LOW)

PHP-Script index.php: Das Herz der Software
PHP:
<!doctype html>
<html class="no-js" lang="">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <title></title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">
     
        <link rel="stylesheet" href="css/main.css">
    </head>
<body>
<?php include 'config.php'; ?>
   
    <div class="container">
        <?php
                /**
                 * Liest die angegebene Datei in ein Array
                 */
                function readOpenFilesText($openFilesText)
                {
                    if(!file_exists($openFilesText)) return array();
 
                    return file_get_contents($openFilesText);
                }
 
                /**
                 * Ueberprueft ob Dateien auf dem angegeben Laufwerk geoeffnet sind
                 */
                function driveHasOpenFiles($drive, $openFiles)
                {
                    if($drive === false) return false;
                    if(empty($openFiles)) return false;
 
                    return preg_match('/\[.*\] ('.$drive.'\\\)/i', $openFiles) === 1;
                }
 
                function drivesHaveOpenFiles($drives, $openFiles)
                {
                    if(empty($openFiles)) return false;
                    if(!is_array($drives)) return driveHasOpenFiles($drives, $openFiles);
 
                    $retVal = false;
 
                    foreach ($drives as $drive)
                    {
                        if(driveHasOpenFiles($drive, $openFiles))
                        {
                            $retVal = true;
                        }
                    }
 
                    return $retVal;
                }
 
                // offen.txt lesen und ergebnis zwischenspeichern
                $openFiles = readOpenFilesText($config['openFilesText']);
                
            // Nur wenn Form abgeschickt wurde
                if(isset($_POST) && isset($_POST['computer']))
                {

            // Wenn Computer existiert
                    if(isset($config['computer'][$_POST['computer']]))
                    {

            // Python Script ausfuehren
                        $computer = $config['computer'][$_POST['computer']];
                        if(isset($_POST['action_on_x']))
                        {
                            shell_exec('sudo python ' . $computer['pythonScriptEin']);
                        }
                        else if(isset($_POST['action_off_x']))
                        {
                        shell_exec('sudo python ' . $computer['pythonScriptAus']);
                        }
                    }
                }
        ?>

        <!-- Computer anzeigen -->
        <?php foreach($config['computer'] as $computerKey => $computer): ?>
            <div class="computer">
                <div class="left">
                    <h1><?php echo $computer['name']; ?></h1>
                    <form name="<?php echo $computerKey ?>" method="post" action="index.php" class="switches">
                        <input type="hidden" name="computer" value="<?php echo $computerKey ?>">
                        <input type="image" src="img/ein.png" alt="An" name="action_on">
                        <input type="image" src="img/aus.png" alt="Aus" name="action_off">
                    </form>
                </div>
                <div class="right">
                        <!-- Statusbild anzeigen -->
                        <?php if((shell_exec('gpio -g read ' . $computer['gpioPort']) == 1)): ?>
                            <!-- Bei jedem Computer pruefen ob Dateien offen sind -->
                            <?php if(drivesHaveOpenFiles($computer['laufwerke'], $openFiles)): ?>
                                 <img src="<?php echo $computer['imageZu']; ?>">
                            <?php else: ?>
                                <img src="<?php echo $computer['imageOn']; ?>">
                            <?php endif; ?>
                        <?php else: ?>
                            <img src="<?php echo $computer['imageOff']; ?>">
                        <?php endif; ?>
                    <div class="warning"><?php echo $computer['message']; ?></div>
                </div>
            </div>
        <?php endforeach; ?>
    </div>
     
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script src="js/main.js"></script>
</body>
</html>

Die dazugehörige config.php (beliebig erweiterbar)
PHP:
    <?php
    $config = array();
    $config['openFilesText'] = 'offen.txt';    
    $config['computer'] = array(
        'server' => array(
            'name' => 'Server Zotac',
            'laufwerke' => array('D:', 'E:'),
            'imageOn' => 'img/Server_on.png',
            'imageOff' => 'img/Server.png',
            'imageZu'  => 'img/Server_zu.png',
            'gpioPort' => '17',
            'pythonScriptEin' => '/home/pi/Server.py',
            'pythonScriptAus' => '/home/pi/AlleAus.py',
            'message' => 'ACHTUNG! Vergewissern, dass niemand mehr auf den Server und die Festplatten zugreift! Hiermit wird alles ausgeschaltet!',
        ),
        'filme' => array(
            'name' => 'Filme Festplatte',
            'laufwerke' => 'M:',
            'imageOn' => 'img/Filme_on.png',
            'imageOff' => 'img/Filme.png',
            'imageZu'  => 'img/Filme_zu.png',
            'gpioPort' => '18',
            'pythonScriptEin' => '/home/pi/FilmeEin.py',
            'pythonScriptAus' => '/home/pi/FilmeAus.py',
            'message' => 'ACHTUNG! Vergewissern, dass niemand mehr auf die Filme zugreift!',
        ),
        'filme12' => array(
            'name' => 'Filme 1 und 2',
            'laufwerke' => array('G:', 'H:'),
            'imageOn' => 'img/Filme12_on.png',
            'imageOff' => 'img/Filme12.png',
            'imageZu'  => 'img/Filme12_zu.png',
            'gpioPort' => '22',
            'pythonScriptEin' => '/home/pi/12FilmeEin.py',
            'pythonScriptAus' => '/home/pi/12FilmeAus.py',
            'message' => 'ACHTUNG! Vergewissern, dass niemand mehr auf die Filme zugreift! Anzeige kommt etwas sp&auml;ter!',
        ),
        'backup' => array(
            'name' => 'Backup Festplatte',
            'laufwerke' => 'F:',
            'imageOn' => 'img/Backup_on.png',
            'imageOff' => 'img/Backup.png',
            'imageZu'  => 'img/Backup_zu.png',
            'gpioPort' => '23',
            'pythonScriptEin' => '/home/pi/Backup.py',
            'pythonScriptAus' => '/home/pi/BackupAus.py',
            'message' => '',
        ),
    );
    ?>

main.css
PHP:
    body {
        background-image: url(../img/hintergrund.jpg);
        font-family: Arial;
        font-size: 0.6em;
    }
     
    /* Umschliesst alles */
    .container {
        width: 70%;
        margin: 5% auto;
    }
     
    /* Einzelene Computer */
    .computer {
        width: 50%;
        margin: inherit;
        float: left;
    }
     
    /* Breite des Forms festlegen */
    .switches {
        width: 40px;
    }
     
    /* Breite der Buttons festlegen*/
    .switches input[type=image] {
        width: 40px;
        height: 40px;
    }
     
    /* Linke Seite eines Computer Elements (Buttons und Name) */
    .left {
        float: left;
        padding: 0px;
        width: 22%;
        height: 50%;
    }
    /* Rechte Seite eines Computer Elements (Statusbild und Warnung) */
    .right {
        float: left;
        padding: 10px;
        width: 70%;
    }
    /* Bild */
    .right img {
        float: left;
        width: 200px;
    }
    /* Warnung */
    .warning {
/*        float: left; */
        margin-top: 10%;
        margin-left: 45%;
        font-size: 1.5em;
        font-weight: bold;
    }

main.js
HTML:
    // Reload ein wenig geaendert
    window.setTimeout(function() {
    window.location = window.location;
    }, 30000);
     
    // Reagiere wenn im Form auf einen An/Aus Knopf geklickt wurde
    $('form').on('click', 'input[name=action_off]', function(event)
    {
        // Button der geklickt wurde
        var $this = $(this);
     
        // Name des Computers aus der Ueberschrift (h1) holen.
        var computer = $this.parent().siblings('h1').text();
     
        // Wert des Buttons
        var onoff = $this.val() == 0;
     
        // Meldung anzeigen
        if( ! window.confirm(computer + ' wirklich ' + (onoff ? 'auschalten' : 'anschalten') + '?'))
        {
            // Wenn auf Abbrechen geklickt wird, wird das Form nicht abgeschickt
            event.preventDefault();
        }
    });

Und so sieht's im Browser (Firefox) aus (Server, Filme und Filme- 1und2-Festplatte eingeschaltet. Zugriff auf Filme-Festplatte):

Beispiel.JPG
Ergänzung ()

tRITON schrieb:
Ich hoffe nur jemand in deinem Haushalt wird da keinen Staubsauger in die Dose stecken :)

Nee, die wissen alle, dass die Leiste nur für den Server und die Festplatten zugelassen ist. Außerdem ist sie so eingebaut, dass man schon einiges wegräumen muss, um an die Steckdosen zu kommen.
An die S202S12 SSRs hatte ich auch gedacht, aber die sind rund doppelt so teuer wie die von mir verwendeten. Ich glaube nicht, dass es bei einer Maximalbelastung von etwa 30W (Server) zu großartigen Spannungsspitzen kommt.

@ Mr.Seymour Buds: Ja, mehr Bilder wären schön, aber ich hatte ursprünglich nicht vor, das Projekt zu veröffentlichen. Ein Mitforist hat das bei meinem Software-Thread vorgeschlagen. Da hatte ich aber hardwaremäßig schon alles eingebaut.
Das mit dem Relais-Shield habe ich mir auch angeschaut, aber dann verworfen, da die Platine zu groß gewesen wäre, um in die Leiste zu passen.

Ich sehe gerade: Die Tabelle bei der Kostenaufstellung ist nicht so formatiert wie in der Vorschau angezeigt. Sorry.
 
Zuletzt bearbeitet:
Ich finde es gut, das die Anzahl solcher Projekte zunimmt.
Es geht in etwa in die Richtung einer abstrakten Idee von mir.
Richtig genial wären intelligente Steckdoseneinsätze. Der in der Unterputzdose liegende Teil den man heute auch hat. Nur mit einer kleinen Elektronik die via DLAN miteinander kommuniziert. Dies würde es ermöglichen ein Netzwerk von Steckdosen, Lichtschaltern, Abzweigdosen, etc. zu erschaffen welches mittels DLAN dann mit einem kleinen Steuerrechner kommuniziert. Dieser nimmt via LAN, WLAN, WAN, etc... die Befehle des Anwenders entgegen. So könnte an nicht nur die Dosen schalten sondern auch Leistungsmessgeräte in jede Einheit integrieren. So weiß der Steuerrechner sogar wieviel Strom gerade verbraucht wird und auch wo.
Das ganze muss natürlich zu anderen Netzen und zum Internet gut geschützt sein. Soll ja kein anderer die Steuerung bekommen oder die Daten lesen können.

Wie sicher sind diese SSRs im Fehlerfall? Also bei Kurzschluss am Verbraucher? Können diese dann noch sicher trennen?
Gute 230V Relais haben dazu ja Löschkammern wegen der Lichtbögen. Oder knallen die SSRs durch bei überlast bzw. Kurzschluss?
Gibt es Unterscheide zwischen induktiver und kapazitiver Last?
Ist das System generell gegen Fehler geschützt? Also Überhitzung etc...

Bei 230V hab ich da eben trotz meiner tollen Ideen immer sehr viel Respekt vor "der Macht des Bösen" :D
Auch weil ich ohne TÜV GS Abnahme oder CE Zeichen so den Verdacht habe, eine Versicherung kommt nicht für Schäden auf.

Bitte jetzt nicht falsch verstehen. Ich finde solche Projekte sehr gut. Nur Sicherheit sollte immer bedacht sein und auch die Risiken.

PS.: Wurde bei der Montage der SSRs darauf geachtet das für 230V genügend Abstand zwischen Steuerspannung und Netz vorhanden ist? Auch zwischen SSR Eingang & Ausgang die Platine ggf. gefräst damit Luft als Trennung da ist?
 
Hallo Candy_Cloud,
sicherlich hast du mit deinen Sicherheitsbedenken recht. Ich habe bei mir die Leitungen im ganzen Haus mit Fehlerstromschutzschalter gesichert. Die trennen in Milisekunden das Netz von den Steckdosen und Lampen. Ob das reicht, um die SSRs zu schützen weiß ich nicht, aber ich glaube, dass sie einfach durchbrennen ohne in Flammen aufzugehen. Ich habe jedenfalls noch nie irgendetwas gehört oder gelesen, dass SSRs einen Brand verursacht haben.
Bei großer induktiver Last sollte ein Snubber vorgeschaltet werden (Kondensator+Widerstand), da sonst die Spannungsspitzen das SSR zerstören können. Bei meiner Anwendung ist das nicht nötig, da die Last weit unterhalb der Nennlast der SSRs ist.

Bei der Montage habe ich die SSRs nicht auf eine Platine gesetzt, sondern frei verdrahtet und sämtliche Kontakte mit Schrumpfschlauch überzogen. Wie auch im Bericht geschrieben, sind die SSRs zusätzlich mit einer Silikonhülle versehen, um Berührungen und Kurzschlüsse in der Leiste auszuschließen.

Dein Projekt klingt interessant, ist aber, denke ich, so nicht durchführbar, da allein die PowerLAN-Schaltung zu groß ist, um in eine normale Wanddose zu passen (oder würdest du das Ganze in Zwischensteckern unterbringen?). Für sowas müsste man sämtliche Unterputzdosen gegen tiefere austauschen. Aber vielleicht wird die Elektronik in Zukunft noch kleiner.
 
Erstens wollte ich selbst was basteln, zweitens hätte ich die Funksteckdosen kaufen müssen, drittens gefallen mir vier Funksteckdosen nebeneinander in einer Steckdosenleiste überhaupt nicht und fünftens verbrauchen vier Funksteckdosen bestimmt mehr, als die Elektronik bei meiner Lösung.
Natürlich hätte man das auch anders machen können. Der Spaßfaktor war für mich so aber wesentlich höher ;)
 
Ich finde die Bastelarbeit und das dazulernen an solchen Lösungen machen den Reiz aus. Kaufen kann man fast alles.
 
Hallo zusammen,
Ich finde das Projekt super, ist glaube ich genau das was ich gesucht habe.
Wie wäre denn die aktuelle Kleinmaterialliste für 2023?
Ich möchte meinen TV, Surround Receiver, Chromecast Ultra und evtl ein bis zwei andere Kleonverbraucher den Saft abdrehen können.

Vielen Dank
Stefan
 
Zurück
Oben