Für die Reparator (oder Nachbau) des Flatfield-Controller nachfolgend alle notwendigen Informationen.
Dieses Raspberry Pi Projekt benutzt Relays und steuert lebensgefährliche Netzspannung 220V. Projekte dieser Art sollten nur bei ausreichenden Elektronikkenntnissen und Praxiserfahrung bearbeitet werden.
Beim Bau einen „schönen/professionellen“ Gehäuse wird je nach Anspruch Zeit (und Geld ~ 50-100 €) benötigt!
GPIO.setmode(GPIO.BOARD) wählt die Pinheader (1-40) als Nummerierung aus, während GPIO.setmode(GPIO.BCM) die GPIO Bezeichnung (außerhalb des roten Kastens) auswählt.
14 Pins werden verwendet. Pins ohne Bezeichnung werden für die elektronische Schaltung benötigt, müssen jedoch im Quellcode nicht angesprochen werden (z.B. Masse (GND), Spannung ). Effektiv werden damit 9 Pins der Headerleiste belegt.
Pin (Board Nummerierung) | Bezeichnung (Quellcode) | Hardware | Verwendung |
---|---|---|---|
38 | PIN_RELAY_1 | IN1 (Relay) | Relay für Steckdose C11 Flatfield-Folie |
36 | PIN_RELAY_2 | IN2 (Relay) | Relay für Steckdose Z61 Flatfield-Folie |
32 | PIN_RELAY_3 | IN3 (Relay) | Relay für die Servomotoren (Servoshield) |
17 | VCC (Relay) | ||
34 | GND (Relay) | ||
1 | I2C (VCC 3.3) | VCC (PCA9685) | |
3 | I2C (SDA) | SDA (PCA9685) | |
5 | I2C (SCL) | SCL (PCA9685) | |
6 | I2C (GND) | GND (PCA9685) | |
29 | PIN_SWITCH_1_OPEN | Endschalter C11 open | |
31 | PIN_SWITCH_1_CLOSE | Endschalter C11 close | |
33 | PIN_SWITCH_2_OPEN | Endschalter Z61 open | |
35 | PIN_SWITCH_2_CLOSE | Endschalter Z61 close | |
39 | Masseleitung der Endschalter (Flatfield A) | ||
30 | Masseleitung der Endschalter (Flatfield B) |
Die Pinheader-Leiste ist die Anschlussseite des Raspberry PI. Jedes Relay verfügt eine eine 3er Klemme an dem der Stromführende (220V) Verbraucher angeschlossen wird. Der Raspberry PI schaltet das Relay (als Schalter AN/AUS), hierfür wird jeweils ein stromführendes Kabel des Verbrauches in eine Klemme hinein geführt und an einer zweiten herausgeführt.
Der Baustein wird als NO-Schalter (normally open) verwendet, d.h. ohne Spannungszufuhr sind die Verbraucher ausgeschaltet. Um den Baustein zu aktiveren, muss ein Eingangspin (IN1, IN2, IN3 ) auf LOW gesetzt werden (inverse Logik).
Für die Verbindung des Controllers mit dem Raspi werden vier Leitungen benötigt. Die Pinbelegung ist weiter oben angegeben.
Nach der Installation wurde mit apt-get upate und apt-get upgrade einmalig alles aktualisiert.
Der der Raspberry nur im (vertrauenwürdigen) lokalen Netz zur Verfügung steht wird großzügig mit der Rechtevergabe zur Ansprache der Hardware (Python/PHP/Webserver) verfahren, außerdem erfolgt keine Zugangskontrolle. Falls der Rechner im Internet erreichbar ist, sollte man hier sorgfältig das System härten.
Mit Python (und Bootstrap als HTML-Layout) wurde eine minimale Weboberfläche entworfen. Die Steuerung der Hardware erfolgt, indem in PHP Pythonscripte aufgerufen werden.
Die eigentliche Steuerung der Hardware läuft durch einfache Pythonscripte, obwohl eine einfache GPIO-Steuerung auch mit PHP und Wiring-Pi ohne Python möglich wäre. Die konsequente Verwendung von Python hat den Vorteil das die Hardware auch ohne Webinterface von der Konsole aus steuern zu können.
Der Quellcode ist bei Bitbucket gelistet. Dieser Quellcode enthält die alle erforderlichen PHP (Html) und Pythonscripte. Voraussetzung ist:
Die Installation erfolgt in zwei Schritten:
Schalterpinout: