Benutzer-Werkzeuge

Webseiten-Werkzeuge


0x0002

Dome Controller

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.

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.

MengeBezeichnungArtikelnummerPreis in €/StückSchaltbildBemerkung
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 System Power 9 ATX PC Netzteil 700W W
1 PC Netzteil Adapter-Modul 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 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 10 Ampere Relay für den Regensensor
1 Relay 30 Ampere 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 2×15A DC Motor Driver
1 KY-006 Passives Piezo Buzzer Signalgeber (Home/Open/Close/Rain)

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. Die Dome-Steuerung in Aktion hier noch ohne aufgesetzten Deckel. 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

 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

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 (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).

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. 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 zu finden.

[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

[2] Relay 30 Ampere Datenblatt

0x0002.txt · Zuletzt geändert: 2023/01/27 14:58 von torsten.roehl