Benutzer-Werkzeuge

Webseiten-Werkzeuge


diy_flatfield-controller

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
diy_flatfield-controller [2019/03/07 09:55] roehldiy_flatfield-controller [2020/11/22 16:19] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== DIY Flatfield-Controller ====== ====== DIY Flatfield-Controller ======
 Für die Reparator (oder Nachbau) des Flatfield-Controller nachfolgend alle notwendigen Informationen. Für die Reparator (oder Nachbau) des Flatfield-Controller nachfolgend alle notwendigen Informationen.
 +<WRAP center round important 80%>
 +Dieses Raspberry Pi Projekt benutzt Relays und steuert lebensgefährliche Netzspannung 220V. Projekte dieser Art sollten nur bei ausreichenden Elektronikkenntnissen und Praxiserfahrung bearbeitet werden.
 +</WRAP>
  
 ===== Übersicht ===== ===== Übersicht =====
Zeile 46: Zeile 49:
  
  
-13 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. +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)     ^ Verwendung          ^ +^ Pin  (Board Nummerierung)    ^ Bezeichnung (Quellcode) ^ Hardware    ^ Verwendung          ^ 
-|36    | PIN_RELAY_1  | Relay für Steckdose C11 Flatfield-Folie      | +|38    | PIN_RELAY_1  | IN1 (Relay) | Relay für Steckdose C11 Flatfield-Folie      | 
-|38  | PIN_RELAY_2 | Relay für Steckdose Z61 Flatfield-Folie| +|36  | PIN_RELAY_2 | IN2 (Relay)|Relay für Steckdose Z61 Flatfield-Folie| 
-|40   | PIN_RELAY_3 | Relay für die Servomotoren (Servoshield) | +|32  | PIN_RELAY_3 | IN3 (Relay) |Relay für die Servomotoren (Servoshield) | 
-    Relay VCC| +17   | | VCC (Relay)Relay VCC 
-     Relay GND | +34   | |GND (Relay) Relay GND   
-|1    |  |I2C  (VCC 3.3) | +|1    |I2C  (VCC 3.3)  | VCC (PCA9685) | 
-|3    |  |I2C  (SDA)| +|3    |I2C  (SDA)| SDA (PCA9685) | 
-|5    |  |I2C  (SCL) | +|5    |I2C  (SCL) | SCL (PCA9685) | 
-|6   |  |I2C (GND) | +|6   |I2C (GND) | GND (PCA9685) | 
-|29   | PIN_SWITCH_1_OPEN |Endschalter C11 open | +|29  |PIN_SWITCH_1_OPEN |Endschalter C11 open | 
-|31    | PIN_SWITCH_1_CLOSE |Endschalter C11 close | +|31   |PIN_SWITCH_1_CLOSE |Endschalter C11 close | 
-|33   | PIN_SWITCH_2_OPEN |Endschalter Z61 open | +|33   |PIN_SWITCH_2_OPEN |Endschalter Z61 open | 
-|35   | PIN_SWITCH_2_CLOSE |Endschalter Z61 close | +|35   |PIN_SWITCH_2_CLOSE |Endschalter Z61 close | 
- +|39   | | | Masseleitung der Endschalter (Flatfield A) | 
 +|30   | | | Masseleitung der Endschalter (Flatfield B) |
 === Relay === === Relay ===
 {{ :relay4.jpg?400 |}} {{ :relay4.jpg?400 |}}
  
-Die Pinheader-Leiste ist die Anschlussseite des Raspberry PI. Jedes Relay verfügt eine eine 3er Klemme. Das stromführende Kabel wird jeweils in eine Klemme hinein geführt und an einer zweiten herausgeführt und durch den Raspberry PI kontrolliert.+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 wirdDer 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 (**n**ormally **o**pen) 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)
 === PCA9685 I2C Servo Board === === PCA9685 I2C Servo Board ===
 {{ :servoi2c.png?400 |}} {{ :servoi2c.png?400 |}}
Zeile 74: Zeile 79:
   * Kanal 0 und 1 werden für die Servomotoren verwendet.   * Kanal 0 und 1 werden für die Servomotoren verwendet.
  
-Für die Verbindung des Controllers mit dem Raspi werden vier Leitungen benötigt. +Für die Verbindung des Controllers mit dem Raspi werden vier Leitungen benötigt. Die Pinbelegung ist weiter oben angegeben
-^ Pin  (Board Nummerierung) Raspi    Bezeichnung (Servocontroller)     ^  +  
-| 1    | Vcc  |       +
-| 3    | SDA  |       +
-| 5    | SCL  |       +
-| 6    | GND  |      +
  
  
Zeile 100: Zeile 101:
 </WRAP> </WRAP>
  
 +=== PHP ===
 +Mit Python (und Bootstrap als HTML-Layout) wurde eine minimale Weboberfläche entworfen.
 +Die Steuerung der Hardware erfolgt, indem in PHP Pythonscripte aufgerufen werden.
 +=== Python ===
 +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.
 ==== Installation und Inbetriebnahme ==== ==== Installation und Inbetriebnahme ====
 +Der Quellcode ist bei Bitbucket gelistet. 
 +Dieser Quellcode enthält die alle erforderlichen PHP (Html) und Pythonscripte.
 +Voraussetzung ist:
 +  - Installiertes Raspian mit LAMP
 +  - I2C muss freigeschaltet sein
 +  - Adafruit-PCA9685 Bibliothek (s.o) muss installiert sein
 +  - Hardware muss zur Verfügung stehen
 +
 +Die Installation erfolgt in zwei Schritten:
 +  - Quellcode im Verzeichnis /var/www/html/ auspacken
 +  - Rechte vergeben 
 +
 +Schalterpinout:
 +  * Servo
 +    * 3PIN: Signal=links, Vcc=rechts, GND=unten 
 +
 +  * Endschalter
 +      * 4PIN: GND=unten, open=links, close=rechts 
 +
 +
diy_flatfield-controller.1551952558.txt.gz · Zuletzt geändert: 2020/11/22 16:42 (Externe Bearbeitung)