Telescope control with Stellarium and Arduino

  • Habs gleich mal probiert zu kompilieren.
    Mit arduino.exe ab Version 1.0 muss in AxexLib.cpp und CoordsLib.cpp
    die Zeile mit include include "WProgramm.h" durch #import <Arduino.h> getauscht werden. Dann kompiliert der Sketch

  • Hallo Peter,


    Es gibt noch andere schöne Projekte auf arduino Basis,
    die sind aber sehr von verwendeten Treiber abhängig.
    Hast du schon eine Treiber Platine ?


    Grüße
    Igor

  • Hallo Igor,


    ich habe seit längerem einen Arduino Uno und 2 Pololu A4988 Schrittmotortreiber.
    Die Easydriver sind sehr ähnlich. Das Indiduino-Projekt verwendet das AccelStepper Library,
    welches sowohl für Pololu als auch Easydriver funktioniert.


    Es gibt bei Watterott ein Shield für 3 Pololutreiber für das FabScan Projekt, welches man eventuell verwenden könnte.
    http://www.watterott.com/de/Arduino-FabScan-Shield So müsste man
    überhaupt nichts eigenes dazu basteln.




    Viele Grüße


    Peter

  • Hallo Peter


    Ich habe ein doppelten l6470 Treiber mit 128 Mikroschritt Modus und fahre Motoren mit 2 Amper damit.
    Davor hatte ich den L293D 2 Jahre im betrieb.
    Ich bin jetzt dabei die lx200 Protokoll zu implementieren.


    Grüße
    Igor

  • Hallo Igor,


    habe Dein geniales Selbstbau-Projekt mit den Harmonic-Drives bereits angesehen. Gratuliere! Tolle Idee!


    Ich selbst habe eine 3-Achsen CNC-Steuerung (3D-Step) an einem Echtzeit-Linux (RTAI) dran und bastele hier schon
    seit ein paar Jahren mit rum. Die kann allerdings nur statisch Halb und Vollschritt pro Kanal.


    Es gibt noch ein Goto-Projekt für den Arduino mit ASCOM-Unterstützung. Allerdings sind die Sourcen nicht verfügbar:
    http://astro.neutral.org/ardui…o-telescope-control.shtml


    cu


    Peter

  • Hallo Igor,


    ich hatte letztes Jahr schon mal angefangen das lx200 protokoll auf dem arduino abzubilden.
    Das habe ich jetzt mal wieder aufgegriffen. Da ich diese Woche auch etwas Zeit hatte,
    habe ich erstmal die Routine zum Interpretieren der Parameter und die Errechnung der lokalen Sternzeit
    in den Arduino reingeholt (hier konnte ich eine Funktion aus meinem Rtai-Projekt fast ein zu eins übernehmen.


    Netter Weise hat mir ein Bekannter eine Autostar zum Debuggen zur Verfügung gestellt.
    Dies hat mich dann gleich zwei Tage zurückgeworfen. Am seriellen Port habe ich festgestellt, dass die Autostar die Daten Streamt
    und die Protokollreferenz wohl nicht ganz mit den tatsächlichen Daten übereinstimmt.


    Jetzt werde ich mal beigehen und meine beiden Pololu-Schrittmotortreiber implementieren.
    Eventuell muss ich hier noch einen I2C-Expander einsetzen, um die Microstep-Varianten nutzen zu können.


    Mal gucken wann ich an die Speichergrenzen des kleinen Chips stoße


    Viele Grüsse



    Peter

  • Hallo Peter,


    ich habe mein Arduino mit Guidemaster verbunden.
    Falls du meine lx200 code für Arduino brauchst dann melde dich noch bei mir.
    Ich habe die :M sowie :Q Befehle implementiert.


    Das reich zum Guiden ;)


    Grüße
    Igor

  • Hallo Igor,


    danke für Dein Angebot!! Seit gestern morgen funktionieren alle möglichen Befehle und ich bastele nun am Schrittmotor-Treiber.
    implementiert habe ich viele von den :S und :G reingebaut.
    Q: und M: gehen auch, brauche ich aber erst, wenn die Errechnung der
    RA/DEC Positionen laufen und die Schrittmotoren die ersten Positionierversuche machen können.



    Viele Grüsse


    Peter

  • Ich habe dann mal losgelegt das lx200 auf dem arduino uno zu proggen.
    Inzwischen kann ich viele von den #:S und #:G Befehlen und ein paar von den #:Q und #:M
    zu mindestens interpretieren und größtenteils schon ordentliche Rückmeldungen geben
    Richtig aufwendig war die Interpretierung des #:Sr (neue RA-Position) und noch schlimmer die
    #:Sd (neue Dec-Position).
    Bei der #:Sd-Befehl hat mich erst der Debug-Modus von SkyChart und Stellarium drauf gebracht,
    das hier entgegen der Beschreibung von Meade immer ein nicht schreibares Zeichen (Hex:0xdf), welches
    wie ein ß aussieht, auch beim schreiben des Wertes gesetzt werden muss.


    Da ich dem Gerät nicht ewig die Uhrzeit setzen möchte habe ich erst mal noch eine RTC-Clock verpasst.
    Dies löste ich über ein MSD-Shield von Watterott. Den SD-Teil davon kann ich bestimmt auch noch irgendwie
    verwenden und das Shield bietet die Möglichkeit einen Touchscreen zu integrieren.

    Einige Zeit hatte ich auch noch das Problem, dass die Befehle zwar handgeschrieben toll funktionierten,
    aber Stellarium schon nach dem #:GD# Befehl aufgelegt hat. Nach einigem Suchen fand ich dann heraus,
    dass ich einen Kontakt zum Reset auf der Platine durchtrennen musste, da sonst durch das Reset des Ports alle
    bisher geschriebenen Daten verloren gehen. Danach gings dann auch mit Stellarium und
    SkyChart ordentlich. Da der Reset aber zum Upload des Arduino Sketches benötigt wird habe ich mir hier einen Jumper dran
    gezimmert.
    Hier mal ein Bild des DoppelWoppers:


    Jetzt komm ich hoffentlich endlich mal zu den Schrittmotoren.


    Die Kosten bisher: Arduino Uno ca. 25 €, MSD-Shield ~ 17,50€ , 2x Pololu-Schrittmotortreiber ~ 10€, 2 Schrittmotoren bipolar 1A ~ 12 €

    viele Grüsse


    Peter

  • Nachtrag:


    das wichtigste hab ich vergessen: Die Berechnung der lokalen Sternzeit und die Berechnung der echten Greenwich Sidereal Time
    ist auch schon drin und berücksichtigt auch die Abweichung von UTC und Sommerzeit (wenn gesetzt)
    Der kleine Atmega ist nun bereits zu 67% voll.... Hoffentlich reicht dass


    cs


    Peter

  • Hallo Pedda,


    sehr schönes Projekt ^^ Hab ich gleich mal geklont und werde mich heute nach Feierabend mal den Quellcode anschauen. Aber wenn man sich schon die Mühe macht warum dann nicht direkt eine RasberryPi hernehmen. Dann könnte man die Motoren direkt von RasPi aus steuern. Der Vorteil man kann direkt komplexere Bahndaten nachfahren und man kann Autoguiding, Focustracking etc. direkt von einem Gerät aus machen. Es frisst halt 5-7 Watt aber immer noch weniger als ein Laptop. Das ganze kann man dann per WiFi/Bluetooth/Rauchzeichen vom Smartphone/Tablet/Laptop aus steuern und man muss nur ab und zu nachschauen wenn es erstmal läuft.


    Da wird sich einiges tun. Bei mir entsteht gerade ein anderes sehr ähnliches Projekt möchte aber noch nicht all zu viel veraten.


    Grüße,
    Emmanouil

  • <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: Emakam</i>
    ... warum dann nicht direkt eine RasberryPi hernehmen. Dann könnte man die Motoren direkt von RasPi aus steuern..
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Du kannst keinen Motor mit 2 Amper von Rasberry Pi direkt steuern.
    Du brauchst ein Treiber genauso wie mit Arduino.


    W-Lan, Bluetooth und etc kannst du für Arduino ebenso haben...


    Klar ist Rasberry Pi stärker, aber ob man es für den Zweck braucht?


    Je nach dem was man alles haben will, mir reicht aber Arduino völlig.
    Ich betreibe mein Teleskop seit Jahren mit Arduino und habe nie etwas vermisst.


    Aber mal sehen was die Zukunft bringt, Rasberry Pi stehet auf meine Liste , nur die Zeit dafür ist einfach nicht vorhanden...


    Grüße
    Igor

  • Hallo,


    ich bin zur Zeit auch dabei eine GOTO-Steuerung mit Arduino, Stellarium und zwei Schrittmotoren zu realisieren.


    Die Kommunikation zwischen den beiden funktioniert, Stellarium übergibt dem ArduinoBoard die :Sd und :Sr Anweisungen.


    Lieber wäre mir aber, wenn Stellarium direkt Azimut und Höhe des Objekt übergibt, statt Deklination und Rektaszension. Würde mir schlicht die Rechnerei ersparen. Läst das LX200-Protokoll das denn zu?


    Im Moment bin ich mit der aktuellen Umrechnung von RA/DE nach Az/Alt beschäftigt.

  • Willkommen im Forum Chaos (hier ist es eigentlich üblich den Namen zu benutzen)


    lt. Protokolldefinition müssen es aus meiner Sicht immer RA/DEC Befehle sein.
    Ich habe mal die original Autostar in den ALT/AZ Modus geschaltet. Man kann dann für die Umrechnungen Faktoren an der Autostar eingeben.
    Aus Stellarium im Debug-Mode kamen die gleichen Befehle wie im EQ-Modus


    cu


    Peter

  • (==&gt;)Peter
    Alles was ich bisher mit Rasberry Pi gesehen habe, arbeitet mit ein Treiber Chip genauso wie bei Arduino.


    Zurzeit steuere ich mein Arduino über I2C und die Treiberplatine über SPI


    Grüße
    Igor

  • Das ist kla dass es gehet, mit Treiber war ehe gemeint ein Chip Treiber für schrittmotoren.
    Ich wolte nur erwähnen das ich beide Protokolle zurzeit auch bei arduino mache und nicht behaupten dass es mit RasberryPi nicht geht.


    Wie weit bist du eigentlich mit dein Code ?
    Wie viele microschritte machst du ?

  • Aber egal. Wir basteln ja gerade Arduino (;-))
    ich mache einen Mix aus i2c für Enable/Reset/Full/Half/Microstep und die RTC-Clock
    und den Rest (Dir und Step) mache ich erst einmal direkt. Glaube das i2c für Step nicht so geeignet ist (Timing)


    Viele Grüsse


    Peter

  • hm ja, war grade im Supportchat von Stellarium, und die meinten, dass Stellarium Koordinaten allgemein nur in Äquatorialsystem von sich gibt. Wirklich schade, ich denke das Programm könnte von einem "custom"-Protokoll profitieren, mit dem man an alle interessanten Objektinformationen kommt, oder auch die Systemzeit übergibt.

  • (==&gt;)Igor


    ich habe mich mit dem i2c/direkt Mix abgekämpft und versuche gerade die Schrittmotoren
    ordentlich zum laufen zu bewegen. Die Pololu-Teile machen 1/16 Mikroschritt
    Mikroschritt ist mir eigentlich gar nicht so wichtig. Habe bisher auch mit Getrieben arbeiten müssen
    Was allerdings lange Positionierzeiten zur Folge hat. Allerdings kann ich auch meine 50kg auf der Achse
    immer noch mit kleinen Motoren steuern.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!