====== Dome Controller ======
{{ :logodome.png?400 |}}
Level: Fortgeschrittene, weil mit gefährlich hohen Strömen (Motoren 10A) gearbeitet wird. Außerdem ist Linux Know-How gefragt, desweiteren wird mit mehreren Programmiersprachen gearbeitet.
===== Was ist ein Dome Controller? =====
Ein Dome Controller ist eine elektronische Steuerung, die u.a. die Motoren steuert um eine Kuppel zu drehen, außerdem ermöglicht die Steuerung das öffnen und schließen der Kuppel.
Fertige (gekaufte) Kuppelsteuerungen sind **sehr teuer** und funktionieren __ohne__ eigenes Basteln, d.h. der Spaßfaktor & Lernfaktor ist gering :-)
===== Was soll der Controller können =====
Beim Bau einer Steuerung kann man entweder alle erforderlichen Platinen selbst entwerfen oder auf fertige Standard Module zurückgreifen. Das selbst entwerfen erfordert mehr Zeit & KnowHow ist mitunter teurer, die Steuerung wird aber kleiner und angepasster. Bei Projekte dieser Größenordung bevorzugt der Author die Verwendung von Standardmodulen, dadurch ist auch die Reparatur (austauschen eines Moduls) sehr viel leichter.
Grundsätzlich bleibt es den Entwickler überlassen welches Designprinzip er wählt. Beide Verfahren sind bei __richtiger Anwendung__ gleich Professionell.
{{ :logodome1.jpg?400 |}}
Folgendes soll der Controller (Steuerung) können:
* Kuppelspalt öffnen/schließen
* Kuppel rotieren (links/rechtslauf)
* Über einen Regensensor automatisch den Kuppelspalt schließen können
* Über einen Treiber (INDI) mit Linux EKOS kommunizieren können. Dadurch können Teleskop und Co. sowie vorhandene Software verwendet werden. Auch die Synchronisierung von Teleskop und Kuppelspalt ist erforderlich.
* Unabhängig vom INDI Treiber soll über die Kuppel über einen Browser gesteuert werden können. Dies ist einfacher, da man sich nicht in die INDI-API einarbeiten muss.
===== Übersicht =====
== Hardwareliste ==
Alle Module werden wie vorgesehen betrieben, in der Regel gibt es für jedes Modul (z.B. Buzzer) eine Reihe von Tutorials, die zeigen, wie man es mit einen einfachen Arduino-Sketch anspricht.
//Relay//
Es existieren zwei Relays, die der Mikrokontroller steuern kann. Ein Relay schaltet den Motortreiber und damit die Motoren an/aus. Das andere Relay kann den Regensensor bei bedarf an/aus schalten.
//Adapterplatinen//
Endschalter oder andere Standardkomponenten sollten nicht direkt mit den Arduino Pins verbunden werden.
Mit Hilfe von Widerständen, Dioden und Kondensatoren wird erreicht, dass die Verbindung //zuverlässig funktioniert// und der Pin geben Fehlspannungen/Ströme //geschützt wird//. Endschalter-Module für 3D-Drucker haben diese Komponenten bereits integriert, so dass bei Verwendung dieser Komponenten keine weiteren Maßnahmen getroffen werden müssen. Wenn keine Adapterplatinen verwendet werden sollten, kann über das Datenblatt der jeweiligen Komponente in Erfahrung gebracht werden wie das Bauteil am besten verwendet werden kann. Jedenfalls ist die Verwendung fertiger Adapterplatinen die teurerer und nicht so elegante Variante.
//Buzzer//
Der Buzzer dient lediglich als akustischer Signalgeber, der bei Öffnen/Schließen, Homing oder Regen ein Ton ausgibt.
//Encoder//
Ein Encoder ermöglicht es, die Position der Kuppel bei der Drehung zu ermitteln.
Der Encoder ist im Scope-Dome Motor bereits integriert. Es handel sich um eine Lichtschanke mit Drehscheibe. Die Drehrichtung kann hier nicht in Erfahrung gebracht werden. Sie steht aber jeweils über den Motortreiber zur Verfügung.
//Home Sensor//
Der Home Sensor besteht aus einer einfachen Lichtschranke, sie setzt den Referenzpunkt für die Kuppeldrehung. Damit der Encoder sinnvoll arbeiten kann, wird nach dem Einschalten der Home Sensor zur Kalibrierung angefahren.
^Menge^Bezeichnung^Artikelnummer^Preis in €/Stück^Schaltbild^Bemerkung^
|1| Raspberry Pi 3| | | | Enthält einen Webserver sowie einen INDI-Server. Sowohl über den Webbrowser als auch über den INDI-Server (inkl INDI-Treiber), kann der Arduino und damit die Hardware angesprochen werden.|
|1| Arduino Nano | | | | Steuerung die Hardware Kommunikation über die Serielle Schnittstelle. |
|1| Arduino Nano Adapter | | | | Ein Modul welches die Ausgänge des Arduino auf Schraubklemmen auslagert, insbesondere kann so bei einen Defekt sehr schnell der Arduino ausgetauscht werden. |
|1| PC Netzteil {{ :700W.jpg?200 |}} | | | |System Power 9 ATX PC Netzteil 700W W|
|1| PC Netzteil Adapter-Modul {{ : pcadapter.jpg?200 |}} | | | |24 Pin. Damit ein PC als Netzteil verwendet werden kann, muss der Enable Pin des 24Pin Steckers auf Masse gelegt werden (Lüfter geht an). Dieser Adapter führt alle 24 Pins auf Schraubklemmen, so dass 12V, 5V, 3.3V und Masse zur Verfügung stehen. |
|1| Regensensor {{ :rain1.jpg?200 |}} | | | | 12 Volt Variante Verkabelung: **1. Masse, 2. Vcc, 3. COM, 4. NO** |
|2| Limit Switch (Arduino Modul) | | | | |
|2| Endschalter große Ausführung | | | | |
|2| Lichtschranke | | | | Zwei Lichtschranken werden verwendet. Einmal als Homesensor und einmal als Readin-Elektroik für den Encoder. Da aber sowohl der ScopeDome-Encoder (beim Motor dabei) und der ScopeDome-HomeSensor im Lieferumfang enthalten waren und zudem mit einen Arduino als einfacher Digitaler-Schalter (Button) angesprochen werden kann, brauchten keine eigenen Komponenten entwickelt werden.|
|1| Arduino Standard-Relay Module {{ :relay_02.jpg?200 |}} | | | | 10 Ampere Relay für den Regensensor|
|1 | Relay 30 Ampere {{ :30a_1.jpg?200 |}} {{ :30a_2.jpeg?200 |}} |GRV RELAY SPDT30 (Reichelt)| 10 | |30 Ampere für die Motoren (Motortreiber) Arduino - Grove Relais SPDT, 30 A, SLA-05VDC-SL-C|
| | Kabeldurchführung | | | | |
| | Lan-Durchführung | | | | |
|1 | Motortreiber Platine {{ :driver-2-15a.png?200 |}} | | | | 2×15A DC Motor Driver |
|1 | KY-006 Passives Piezo Buzzer | | | | Signalgeber (Home/Open/Close/Rain) |
{{ :overview_controller.jpg?400 |}}
Das Bild zeigt im Überlick die Domesteuerung mit Flupkontakt, höhergesetzen Homesensor, WLAN Kamera.
Es wurde ein Aluminiumprofil verwendet um nicht am Dome durchbohren zu müssen und um flexibel auf zukünftige Änderungen agieren zu können. Ein weißen Licht und ein rotes Licht und ein AccessPoint sind auch zu sehen.
{{ :controller1.jpg?400 |}}
Die Dome-Steuerung in Aktion hier noch ohne aufgesetzten Deckel.
{{ :homesensor.jpg?400 |}}
Der Homesensor wurde höher gesetzt, um nicht mit dem //Flupkontakt// kollidieren zu können. Hierzu wurde aus Aluminum und Federblech ein neuer Kontakt gefertigt.
== Software ==
* Raspian Betriebssystem
* Apache2 Webserver
* PHP Webinterface
* Python-Scripte zur Steuerung der Hardware
* Arduino-IDE für den Mikrocontroller
===== Details =====
{{ :schaltdiagramm.png?600 |}}
{{ :scopedome_01.png?600 | }}
Alle Komponenten sind auf einer 3mm Aluminiumplatte geschraubt, die in das Gehäuse gesetzt wird. Der Raspbery wird unten links eingesetzt.
==== Hardware ====
=== Pinbelegung ===
Wenn die Pinnbelegung in der Software geändert wird muss darauf geachtet werden, dass auch die Hardware (Verkabelung) entsprechend geändert wird.
Die Pinbelegung ist in der Datei //config.h// festgelegt.
Insgesammt werden 12 digitale Pins benötigt. Wobei D0,D1 nicht verwendet werden können, da sie für
die serielle (USB) Kommunikation benötigt werden. D13 ist beim Arduino Nano am besten auch nicht als //INPUT PIN// zu verwenden.
* D2 bis D12 werden verwendet (11 Pins)
* Ein analoger Pin (A0-A5) wird als digitaler Pin verwendet (A6 und A7 können beim Arduino-Nano nicht als digitaler Pin verwendet werden)
* 4 Pins werden für den Motortreiber benötigt
* 1 Pin Encoder
* 2 Pins für die Endschalter (Open/Close) der Kuppel
* 1 Pin Regensensor
* 1 Pin Buzzer
* 1 Pin Homesensor
* 2 Pins für die Relays
Zuordnung:
* **D2** - Lichtschranke Encoder (Steckkabel rot markiert) (Interrupt Pin!)
* **D3** - Relay 30 A
* **D4** - Relay 5 A
* **D5** - PIN Regensensor (Taster 3)
* **D6** - Motor //M1_PWM// (Speed Control) (blau markiert)(rotes Kabel)
* **D7** - Motor //M2_En// (Direction Control)(grün markiert) (oranges Kabel)
* **D8** - Motor //M1_En// (Direction Control)(grün markiert) (rotes Kabel)
* **D9** - Motor //M2_PWM// (Speed Control)(blau markiert) (braunes Kabel)
* **D10** - Open Shutter (Taster 1)
* **D11** - Close Shutter (Taster 2)
* **D12** - Lichtschranke Home (Steckkabel gelb markiert)
* **A0** - Buzzer
PWM Pins beim Nano sind:3, 5, 6, 9, 10, 11
=== Relay ===
{{ :relay_02.jpg?400 |}}
Jedes Relay verfügt eine eine 3er Klemme an dem der Strom führende (220V) Verbraucher angeschlossen wird. Der Arduino 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).
=== Flupkontakt ===
Der Dome kann nur in der Home-Position den Shutter öffnen/schließen. Ein Kontaktschalter //Flupkontakt//, schließt sich wenn
der Dome in der Home-Position ist und gewährleistet damit, das die Endschalter angesprochen werden können.
{{ :flupkontakt.jpg?400 |}}
Der //Flupkontakt// besteht aus Bronzeblech (Rotationselement) und Federblech mit aufgelöteten Goldkontakten auf der nicht rotierenden Seite. Alle CAD-Dateien sind im Anhang zu finden. Das Gehäuse ist aus Aluminium gefertigt.
Eine einfache Fräse (Stepkraft) ist sehr hilfreich bei der Fertigung.
ScopeDome verwendet __zwei__ Steuerungen um eine Schließung des Domes in jeder Position zu ermöglichen. Dies ist aber für eine 2m-Kuppel die in weniger als 1 Minute auf der Homeposition ist nicht unbedingt eleganter. Jedenfalls erfordert die Verwendung von nur// einer Steuerung// einen Kontaktschalter (//hier Flupkontakt genannt//) um die Endschalter wenn der Dome in der Homeposition ist, ansteuern zu können.
==== Software ====
Die Ansteuerung der Hardware ist als eigenständiges Projekt unter [[0x0003|0x0003]] zu finden.
===== Links & Download =====
[1] Motortreiber https://www.dfrobot.com/product-796.html und Robotshop
[2] Regensensor Conrad/Reichelt/Völkner oder beim Hersteller B+B Sensor Technik {{ :datenblatt_regenmelder_12v_24v_regme_de.pdf |Datenblatt}}
[2] Relay 30 Ampere {{ :grv_relay_spdt30_al.pdf |Datenblatt}}