www.wernerhirsch.de
Elektronikprojekte

Goto Teleskopsteuerung

- Ansteuerung von bipolaren Schrittmotoren an Stunden- und Deklinationsachse. - Über Parameter Anpassung an eine Vielzahl von Motor-, Getriebe Schneckenradkombinationen möglich. - Nachführung im 16-fach Mikroschrittbetrieb: siderisch, solar, lunar - Goto Funktion und Schwenks mit bis zu 1.000 facher Geschwindigkeit. - Beschleunigungs- / Bremsrampe im Vollschrittbetrieb - Position von ca. 16.000 Objekten abrufbar (Messier, NGC, BSC sowie 100 Eigene). - Optional: integrierte DCF77 Funk-Sternzeituhr - Aufbau auf Streifenraster - Materialkosten ca. 60-70EUR (ohne Motoren / Getriebe)

Voraussetzungen

Bevor mit dem Nachbau begonnen wird sollten folgende Dinge geprüft werden: 1. Für die Steuerung werden Mikrocontroller PIC16F876A, PIC16F1827 und EEPROMs 24C512 verwendet, die mit den weiter unten aufgeführten HEX-Dateien programmiert werden müssen. Ist kein geeignetes Programmiergerät vorhanden, kann ein einfaches Gerät (JDM-Programmer) selbst gebaut werden. Voraussetzung hierfür ist ein PC mit "echter" 9-poliger RS232 Schnittstelle (USB auf RS232 Adapter funktionieren in der Regel nicht). Stromlaufplan, Platinenlayout und Installationsanleitung für eine geeignete Software finden sich hier: JDM-Programmer 2. Aufgrund der Betriebsweise ( Mikroschritt und Vollschritt ) sollten Motoren vorhanden sein, die für Mikroschritt optimiert sind. Diese haben ein geringes Rastmoment, d.h. sie lassen sich im nicht angeschlossenen Zustand relativ leicht drehen. Im Prinzip kann jeder Schrittmotor im Mikroschritt betrieben werden, jedoch wird die Linearität der Bewegung im Mikroschrittbetrieb ungleichmäßiger, je schlechter der Motor für Mikroschritt geeignet ist. Im Extremfall läuft der Motor lediglich mit "weichen" Vollschritten. 3. Die Steuerung ist in der Lage eine Vielzahl von Frequenzen zu erzeugen, jedoch sollte geprüft werden ob die benötigten Frequenzen, die sich aus den verwendeten Schneckenrädern, Getrieben und Schrittmotoren ergeben, mit der nötigen Genauigkeit erzeugt werden können. => Siehe "Erzeugung der Takte".

Beschreibung der Teleskopsteuerung

Die Teleskopsteuerung besteht im Wesentlichen aus 3 Hauptkomponenten: - Steuerung mit Datenspeicher - Handbox mit Display - Schrittmotorsteuerung

Steuerung und Datenspeicher

Die Hauptarbeit innerhalb der Schaltung übernimmt der PIC16F876A (IC5). Über die 5-polige Stiftleiste SV14 kann der PIC im eingebauten Zustand in der Schaltung programmiert werden (ICSP = In Circuit Serial Programming), ich empfehle jedoch die Programmierung im Programmiergerät. Wenn auf die ICSP Option verzichtet wird, kann SV14 entfallen. Das Programm wird mittels der HEX-Datei Teleskop_St_P16F876A.hex in den Mikrocontroller geladen. Die Datei findet Ihr im Downloadordner am Ende der Seite. Hier befindet sich auch die Assembler Datei Teleskop_St_P16F876A.asm, für den Fall, dass Ihr noch Änderungen vornehmen wollt. Nach der Programmierung läuft innerhalb des Chips einerseits die Hauptprogrammschleife für alle nicht zeitkritischen Abläufe wie z.B. die Aktualisierung des Display, Abfrage der Handboxsteuerbefehle oder Menüsteuerung und andererseits eine sogenannte Interrupt Routine für alle zeitkritischen Abläufe, im wesentlichen die Erzeugung der Takte für die Schrittmotoren und die Takte der internen Uhren für Uhrzeit/Sternzeit.

Erzeugung der Takte

Die Interupt Routine wird mit einer festen Frequenz von 7.812,5 Hz ausgeführt: fi = Quarzfrequenz/4 /512 = 16.000.000 Hz/4 /512 = 7.812,5 Hz Von dieser Frequenz leiten sich alle anderen Frequenzen ab, z.B. für den Sekundentakt der internen Normalzeit Uhr wird die Frequenz abwechselnd durch 7812 und 7813 geteilt: fuz = 7.812,5Hz x 2 / (1 x 7812 + 1 x 7813) = 1.000000Hz Für den Sekundentakt der internen Sternzeituhr wird die Frequenz 5x durch 7791 und 1x durch 7792 geteilt, sodaß eine mittlere Frequenz von 1.002738144Hz entsteht, was theoretisch einem Fehler von +0,02 sek/tag entspricht: fsz = 7.812,5Hz x 6 / (5 x 7791 + 1 x 7792) = 1.002738144Hz Auf ähnliche Weise werden die Frequenzen für die Nachführgeschwindigkeiten der Schrittmotoren erzeugt. Um die Steuerung an unterschiedlichen Montierungen in Bezug auf Schneckenradzähnezahl, Getriebeübersetzung und Schrittwinkel der Motoren einsetzen zu können, müssen die entsprechenden Parameter berechnet werden. Die Berechnung der Parameter kann entweder vom Mikrokontroller durchgeführt werden oder mit Hilfe der im Downloadordner befindlichen EXCEL Datei Teleskop_Parameter.xlsx. Bei Verwendung der EXCEL Datei müssen die Parameter noch in die Steuerung eingegeben werden. Diese werden dann in dem internen EEPROM des Mikrocontrollers abgespeichert. Damit die Steuerung funktioniert, muss die Gesamtübersetzung Ig in gewissen Grenzen liegen: 85.290 <= Ig =< 691.180 wobei Ig = Schneckenradzähnezahl x Getriebeübersetzung x 360° / Motorschrittwinkel Als Beispiel die Werte meiner Montierung für die Stundenachse: Schneckenradzähnezahl = 144 Getriebeübersetzung = 6 Motorschrittwinkel = 1,8° Daraus ergibt sich: Ig = 144 x 6 x 360° / 1,8° = 172.800 Die Genauigkeit der erzeugten Frequenzen hängt auch von der Genauigkeit des Quarzoszillators, gebildet aus Q1, C12 und C13, ab. Ein Feinabgleich ist mittels C12 möglich. Hierfür kann die interne Normalzeituhr mit einer anderen genauen Uhr verglichen werden und durch Veränderung des Kondensators C12 angepasst werden. Ist ein DCF-77 Empfangsmodul installiert, ist der Abgleich wesentlich einfacher (siehe Bedienungsanleitung im Downloadordner) Die Frequenz für den Schrittmotor der Stundenachse wird an Pin 2 des PIC (IC5) ausgegeben, die Frequenz für den Motor der Deklinationsachse an Pin 11. Für den Mikroschritt Betrieb gehen die Pins 7 und 13 auf High Level, bei Vollschritt Betrieb auf Low Level. Die Drehrichtung wird über die Pins 4 und 12 ausgegeben: ein High Level entspricht einer Rechtsdrehung des Motors, ein Low Level einer Linksdrehung. Über die Pins 3 und 5 werden die Motoren eingeschaltet (High Pegel) bzw. ausgeschaltet (Low Pegel).

ST4-Schnittstelle

Über die 6polige RJ-12 Buchse (SV18) kann ein ST4 Autoguider an die Pins 21 bis 24 angeschlossen werden. Die Pins werden über interne Pullup Widerstände auf High Pegel gehalten. Wird ein Pin auf Low gezogen, ist der entsprechend Eingang aktiv. (Die Schnittstelle funktioniert, ist aber noch nicht mit einem Autoguider getestet. Hier wäre ich dankbar für eine Rückmeldung, falls jemand diese Funktion nutzt).

DCF77 Empfänger

Optional kann an Pin 6 ein DCF77 Empfänger angeschlossen werden. Funktion und Umrechnung von Uhrzeit in lokale Sternzeit sind in dem Projekt DCF77 Funk-Sternzeituhr beschrieben, daher wird hier auf eine Beschreibung verzichtet.

Datenspeicher

Der Datenspeicher besteht aus 4 EEPROMs (IC1-4) mit je 512 kBit Speicher. Der Datentransfer zwischen PIC und EEPROM erfolgt über einen seriellen 2-Leiter I2C-Bus. PIC-seitig ist der I2C-Bus an den Pins 14 (clock) und 15 (data) angeschlossen. EEPROM-seitig liegt der Bus auf den Pins 6 und 5. Über die Pull-up Widerstände R20 und R21 werden die Bus Leitungen im "Leerlauf" auf high gezogen. Die Adresse, über die die EEPROMs angesprochen werden, ist über die Pins 1-3 (A0-A2) hardwaremäßig fest verdrahtet. IC1 hat die 3 Bit Adresse 0 (=> LLL), IC4 die Adresse 3 (=> LHH). Bei IC1 ist Pin 7 (WP = write protection) auf Masse gelegt sodass IC1 beschrieben werden kann. Bei IC2 bis IC4 liegt Pin 7 an der Versorgungsspannung womit diese Speicher schreibgeschützt sind. Jedes EEPROM enthält 4096 Objekte mit jeweils 16 Byte Daten: Byte 1 und 2 enthalten eine 5 stellige Katalognummer, die Bytes 3-9 enthalten Text (Sternbild und bei Sternen die Bayer- Bezeichnung, bei Deep Sky Objekten der Objekttyp), Byte 10 enthält die visuelle Helligkeit, Byte 11-13 die Position in Rektaszension und Byte 14-16 die Position in Deklination. Im Einzelnen beinhalten die EEPROMs die folgenden Objekte: IC1: 100 eigene Objekte, 109 Messier Objekte und 3.887 NGC Objekte. IC2: 3.953 NGC Objekte und 143 Objekte des Yale Bright Star Katalogs. IC3 und IC4: jeweils 4.096 Objekte des Yale Bright Star Katalogs. Die Daten sind den Katalogen des Strasbourg astronomical Data Center (CDS) entnommen und beziehen sich auf das Jahr 2000. Die HEX-Dateien Katalog_IC1_24LC12.hex bis Katalog_IC4_24LC512.hex befinden sich im Downloadordner und müssen mittels Programmiergerät in die EEPROMs geschrieben werden.

Datenübertragung Steuerung <=> Handbox

Die Kommunikation zwischen Steuerung und Handbox erfolgt seriell über 2 Leitungen: Die Daten von der Steuerung zur Handbox werden an Pin18 von IC5 ausgegeben (TX: transfer) und an Pin6 von IC11 empfangen (RX: receive). Die Daten von der Handbox zur Steuerung werden an Pin3 von IC11 ausgegeben (TX) und an Pin17 von IC5 empfangen (RX). Die Datenübertragung erfolgt jeweils mit einer festen Datenrate von 267 kbit/s. Die von der Steuerung gesendeten Daten beinhalten die Daten, die auf dem Display der Handbox angezeigt werden sollen. Für die Übertragung wird Pin18 von IC5 (TX) auf Low gelegt. Dieses erzeugt in IC11 einen Interrupt, d.h. IC11 geht in den Empfangsmodus. Anschließend werden 9 Bits übertragen: 1 Bit zur Unterscheidung, ob ein Befehl oder Daten an das Display gesendet werden sollen und anschließend 8 Bit Befehl bzw. Daten. Nach der Datenübertragung geht Pin18 von IC5 wieder auf High und IC11 verlässt den Empfangsmodus. Sollen Tastenbefehle von der Handbox zur Steuerung übertragen werden, wird Pin3 von IC11 (TX) auf Low gelegt. IC5 fragt innerhalb der Programmschleifen periodisch den Zustand der Leitung an Pin17 (RX) ab und geht bei Low in den Empfangsmodus. Der Empfangsmodus wird durch ein Low an Pin18 (TX) signalisiert. Dieses erzeugt wiederum in IC11 einen Interrupt, d.h. IC11 geht in den Sendemodus. Nun werden 8 Bit übertragen. Nach der Datenübertragung gehen Pin18 von IC5 und Pin3 von IC11 wieder auf High und IC11 verlässt den Sendemodus. Neben den beiden Leitungen für die Datenübertragung hat das 4-adrige Verbindungskabel noch eine Masseleitung und eine Leitung für die 12-24V Versorgungsspannung der Handbox. Als Kabel eignen sich alle 4 adrigen Leitungen bis max. 3m Länge.

Handbox

Die Handbox enthält neben Bedienungstasten und Display eine Helligkeitssteuerung für das Display, eine Displaybeheizung und einen Mikrokontroller PIC16F1827 für die Aufbereitung der Tastaturbefehle, Kommunikation mit der Steuerung, Displayansteuerung und Temperaturregelung der Displayheizung. Die HEX-/ASM Dateien für den PIC16F1827 finden sich im Downloadordner. Die Taster TA1-TA6 werden periodisch von IC11 abgefragt. Wird eine Taste gedrückt, wird der Übertragungsvorgang zur Steuerung gestartet.

Display

Als Display wurde ein LCD Display EA DOGM162S-A (schwarzer Hintergrund, 2x16 Zeichen) mit roter Hintergrundbeleuchtung gewählt. Die Vorteile dieses Typs gegenüber anderen LCD Displays sind: - gute Lesbarkeit bei kleiner Baugröße - serielle Ansteuerung (nur 6 Leitungen zum Display erforderlich) - keine Spannung zur Kontrasteinstellung erforderlich (Kontrast kann über Befehle verändert werden) - Display und Hintergrundbeleuchtung getrennt, dadurch viele Kombinationen möglich Leider hat auch dieses Display den Nachteil, dass es bei Minustemperaturen sehr träge wird. Daher sollte eine Displayheizung vorgesehen werden. Für die Übertragung der Daten vom Mikrokontroller zum Display wird Pin15 von IC11 auf Low gelegt (Disp.:CS). Anschließend wird Pin16 (Disp.:RS) für einen Befehl auf Low, für Daten auf High gelegt und dann die 8 Bit Befehl/Daten seriell über Pin1 (clock) und Pin2 (data) an das Display gesendet. Die Hintergrundbeleuchtung ist abhängig von der Umgebungshelligkeit. Bei geringer Helligkeit ist der Fototransistor T5 und damit auch T4 hochohmig, der LED Strom fließt durch R26 und R31 (ca. 0,5mA). Bei steigender Helligkeit werden T5 und T4 leitend und der LED Strom steigt an. Bei Sonnenlicht sind T5 und T4 durchgesteuert und der Strom wird durch R26 auf ca. 15mA begrenzt.
Goto Teleskopsteuerung