Vorstellung

Hallo,

ich habe mir vor ein paar Tagen einen Arduino Duemillanove zugelegt und bin begeistert, wie man auch als Anfänger mit wenig Elektronik-Kenntnissen eine funktionierende Schaltung zusammenstellen kann. Ich möchte versuchen, eine Teleskopsteuerung mit dem Arduino zu realisieren. Mal sehen, wie weit ich komme.

Gruß

Jürgen

Hallo Jürgen,
herzlich Willkommen im Forum.

Von wo kommst Du?

Was für ein Teleskop hast Du denn und wie möchtest Du es steuern? Mit einem Schrittmotor?

Hallo René,

ich wohne im Chiemgau/Oberbayern. Mein Teleskop ist ein 10-Zoll-Newton-Eigenbau. Die Nachführung erledigt derzeit eine Schrittmotorenkarte von Conrad. Das funktioniert auch eingermaßen, alledings muß ich, um ein Objekt permanent im Bildfeld zu halten, oft manuell korrigieren, wenn das Teleskop nicht optimal ausgerichtet ("eingescheinert") ist. Es gibt Autoguider, die man an Teleskopmontierungen mit Standard-Schnittstellen(besitze ich aber nicht) anbringen kann. Die halten dann das Objekt im Bildfeld.

Nachdem ich einige Arduino-Licht-Tracker-Projekte im Netz gefunden habe, war ich fasziniert, mit wie wenig technischem Aufwand man so etwas realisieren kann und starte nun ebenfalls einen Versuch, obwohl ich von Elektronik sehr wenig Ahnung habe.

Das Licht eines Sterns, soll vom Teleskop über ein LWL-Faserbündel, das im Okular kreisförmig um die Mitte angeordnet ist, auf die Licht-Sensoren fallen. Wandert der Stern (i.d.R. ein kleines zitterndes Lichtpünktchen, je nach Seeing) aus der Mitte des Bildfeldes, trifft er auf einen der LWL-Fasern und wird auf einen der Licht-Sensoren geleitet. In Abhängigkeit von der Stern-Position soll dann die Steuerung das Teleskop wieder auf den Stern zentrieren. Gestern abend habe ich es schon mal geschafft, einen Schrittmotor mit einem Licht-Sensor zu steuern. (Finger auf den Sensor-->Motor an 8-)). Als nächstes leite ich das Licht aus einer LWL-Faser auf den Sensor, um herauszufinden, ob der (licht-) empfindlich genug ist oder ob man das Signal verstärken muss. Mal sehen, ob das funktioniert. Wenn nicht, habe ich wieder einen Haufen Fragen.

Gruß Jürgen

Das klingt nach einem sehr interessanten Projekt. Hast Du denn immer nur einen einzigen Stern im Sichtfeld bzw. in dem Bereich, der durch den Ring aus LWL Fasern abgedeckt wird?

Ich fänd es auch mal spannend, wenn mal jemand einen Autoguider mit dem Arduino bauen würde.
Kennst Du den Beitrag WCS Webcam-Scheinern? So kannst Du mit dem entsprechenden Equipment recht schnell und recht genau scheinern. Mir fehlte bisher immer das Equipment. Aber Wenn man das nun mit direkter Ansteuerung von Schrittmotoren noch vollautomatisch hinkriegen würde, am besten ganz ohne Laptop, dann wäre das auch was für mich :slight_smile:

Gerade via twitter rein gekommen: ein paar Studenten haben einen star seeker gebaut... keine Ahnung, wie nützlich das Teil wirklich ist... hier der Link: http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2007/iq23_tg67/iq23_tg67/index.html

Hast Du denn immer nur einen einzigen Stern im Sichtfeld bzw. in dem Bereich, der durch den Ring aus LWL Fasern abgedeckt wird?

Ja, ich will das Licht über die zentrale LWL-Faser in einen Spektrographen einspeisen. Es ist immer nur ein Stern auf der Faser.

Eine Steuerung dieser Art (daher habe ich auch die Anregung bekommen) hat Roland Bücke, ein Amateur-Spektroskopiker mit einem Dobson-Teleskop realisiert!

Siehe http://www.astro.buecke.de/Projekte/Dobsonteleskop.html

Kennst Du den Beitrag WCS Webcam-Scheinern? So kannst Du mit dem entsprechenden Equipment recht schnell und recht genau scheinern.

Was hast Du denn für eine Ausrüstung?

Danke für den Tipp! WCS kenne ich, habe es aber nicht getestet. Ich werde es demnächst mal versuchen.

Gerade via twitter rein gekommen: ein paar Studenten haben einen star seeker gebaut... keine Ahnung, wie nützlich das Teil wirklich ist...

Scheint im Originalentwurf sehr aufwändig zu sein. Ich glaube nicht, dass ich so etwas zustandebrächte.

Kann man das Signal eines Lichtsensors per Arduino verstärken? Das Licht, das aus der LWL-Faser kommt, ist teilweise recht schwach.

Gruß Jürgen

Herzlich willkommen :slight_smile:

Herzlich willkommen

Danke!

Gruß Jürgen

Hallo neubi...

...sag mal wie wertest Du den das Signal aus der Faser aus ?
Ist ist da ein Fototransistor im Spiel .. ??

Vielleicht kann ich Dir helfen...bitte Hardwarebackground bereitstellen.

LC

Hallo LC,

...sag mal wie wertest Du den das Signal aus der Faser aus ?
Ist ist da ein Fototransistor im Spiel .. ??

nein, ich habe mir versuchshalber von Conrad Electronic einige
Fotowiderstände A1060 (R10 = bei 10 lux; R01/05 = Dunkelwiderstand (1s/5s)m Artikel-Nr.: 183563 - 62) besorgt. Mit denen wil ich das versuchen, weiß aber noch nicht, ob das Licht aus der LWL-Faser ausreicht oder ob man das Signal irgendwie verstärken muß.

Kann man eigentlich den Fotowiderstand durch Kühlung (z.B. mit einem Peltier-Element) empfindlicher machen? Damit sollte das Rauschen eigentlich reduzierbar sein.

Gruß Jürgen

Mal abgesehen von der Trägheit der Fotowiderstände denke ich das Du mit Fototransistoren einen wesentlich besseren Signalhub hinbekommst.
Beim Fototransistor íst die Basis der Lichtempfänger, Emitter auf Masse setzen und einen 10K - 100K Widerstand von +5V zum Kollektor führen. Der Signalabgriff am Kollektor.

Preislich nimmt sich das nicht viel und wenn Du es draufhast (mit dem Löten) könntest Du einen SMD-Fototransistor nehmen und dort wahrscheinlich auch die Faser besser ankoppeln.

LC

Ja, ich will das Licht über die zentrale LWL-Faser in einen Spektrographen einspeisen. Es ist immer nur ein Stern auf der Faser.

Wo kriegst Du diese extrem dünnen Fasern her? Das erscheint mir machbar, aber die Geduld für die Fertigung des Fasernbündels hätte ich persönlich nicht. Oder gibt es etwas fertiges zu kaufen?

Eine Steuerung dieser Art (daher habe ich auch die Anregung bekommen) hat Roland Bücke, ein Amateur-Spektroskopiker mit einem Dobson-Teleskop realisiert!

Siehe http://www.astro.buecke.de/Projekte/Dobsonteleskop.html

Unglaublich! Nicht nur das Fasernbündel beeindruckt mich, sondern der ganze Spektroskopierer in der Holzkiste ist ein kleines Meisterwerk. Ich finde das fast schon zu komplex, da gibt es doch hoffentlich einfachere Ansätze, oder? Es ist ja eine ganze Menge Optik in der Holzkiste verbaut.

Was hast Du denn für eine Ausrüstung?

Meine Ausrüstung ist nicht der Rede wert, ich habe momentan nur einen Lidl-Refraktor (siehe auch Traumflieger-Report: Lidl-Teleskop an der Canon DSLR / Teil 1 )

Habe damit damals den Venus Transit dokumentiert:
http://picasaweb.google.com/rene.bohne/VenusTransit2004#

nun steht das Teleskop seit einem Jahr ungenutzt in der Ecke, da ich keine Zeit mehr für dieses Hobby habe. Ich will da aber mal wieder was mit machen, gerne auch in Verbindung mit dem Arduino.

Kann man das Signal eines Lichtsensors per Arduino verstärken? Das Licht, das aus der LWL-Faser kommt, ist teilweise recht schwach.

Photodioden solltest Du wohl mit einem OpAmp oder ähnlichen Schaltungen verstärken, evtl. sind Phototransistoren sogar die bessere Wahl. Ich würde es der Einfachheit erstmal genauso machen wie LC_Data es beschrieben hat. Photowiderstände würde ich nicht verwenden für diese Anwendung!

Hallo LC,

denke ich das Du mit Fototransistoren einen wesentlich besseren Signalhub hinbekommst.

Vielen Dank für den Tipp. Ich besorge mir welche.

Hallo René,

Wo kriegst Du diese extrem dünnen Fasern her? Das erscheint mir machbar, aber die Geduld für die Fertigung des Fasernbündels hätte ich persönlich nicht. Oder gibt es etwas fertiges zu kaufen?

Die Kabel kann man entweder fertig konfektioniert kaufen, oder man kauft sie als Meterware und schleift und poliert die Enden selber.

Siehe z.B. http://www.sachsenkabel.de/.

Es kommt ganz entscheidend auf die Beschaffenheit der Faserenden an. Dazu siehe z.B. Startseite - Fachgruppe Spektroskopie

...sondern der ganze Spektroskopierer in der Holzkiste ist ein kleines Meisterwerk. Ich finde das fast schon zu komplex, da gibt es doch hoffentlich einfachere Ansätze, oder?

In der einfachsten Variante kannst Du ein Transmissionsgitter direkt am Teleskop verwenden. Siehe z.B. http://www.patonhawksley.co.uk/staranalyser.html

Mit zwei Kameraobjektiven und einem Reflexionsgitter kannst Du einen richtigen Spektrographen bauen. Siehe z.B. hier:

Den kannst Du dann entweder ans Telskop hängen (sofern Deine Montierung das Gewicht tragen kann und dein Okularauszug das verträgt) oder eben das Licht via LWL einkoppeln. Die erste Variante habe ich vor kurzem realisert (siehe http://www.ntnb.eu/spektrograph/selbstbau-spektrograph.html) Allerdings ist mir der Aufwand, das Ding ständig an- und abzubauen, einfach zu groß. Daher will ich das jetzt mit einem LWL realisieren.

Meine Ausrüstung ist nicht der Rede wert, ich habe momentan nur einen Lidl-Refraktor) Habe damit damals den Venus Transit dokumentiert:..

Schöne Bilder! Wenn man Astronomie nicht exzessiv betreibt, reicht das Lidl Scope doch aus.

Ich würde es der Einfachheit erstmal genauso machen wie LC_Data es beschrieben hat.

Besorge ich mir heute. Danke für den Tipp.

Gruß Jürgen

Hallo Jürgen, danke für die vielen hochinteressanten Links!

Unglaublich finde ich die Bilder und den Beitrag hier insgesamt:
http://www.ntnb.eu/spektrograph/selbstbau-spektrograph.html

Eine Idee kam mir noch, die ich mal diskutieren wollte: Kann man den LWL nicht einfach auf einen CCD Sensor legen anstatt auf Phototransistoren? Dann kam mir direkt diese MouseCam ins Gedächnis, guck mal hier: http://www.bidouille.org/hack/mousecam/
16x16 Pixel mit 64 Graustufen. Maximale Empfindlichkeit bei 600nm. Vielleicht ist der Sensor nicht ideal, aber falls die Dimensionen stimmen könnte der Chip ja sogar direkt deltax und deltay raus geben wenn der Stern sich bewegt in den 16x16 Pixeln...

Bitte halte uns auf dem Laufenden, wie das LWL Projekt voran geht.

Hallo René,

Kann man den LWL nicht einfach auf einen CCD Sensor legen anstatt auf Phototransistoren

das ist ein sehr interessanter Ansatz. Kann man denn die Pixelintensitäten per Arduino auslesen und die Steurung direkt mit dem Arduino realisieren oder wird dazu ein PC benötigt? Das Ganze soll möglichst schlank gehalten werden.

Der Sensor jedenfalls ist bzgl. der maximalen Empfindlichkeit um 600 nm herum optimal. Die Frage ist nur, ob er empfindlich genug ist. Das Licht, das aus der Faser kommt, ist i.d.R. recht schwach.

Mal sehen, ob ich in der Firma eine alte optische Maus finde.

Ich muß jetzt nach so viel Input aufpassen, dass ich mich nicht verzettle...

Bitte halte uns auf dem Laufenden, wie das LWL Projekt voran geht.

Sehr gerne!

Gruß Jürgen

Hallo René,

.... Dann kam mir direkt diese MouseCam ins Gedächnis, guck mal hier: http://www.bidouille.org/hack/mousecam/....

ich habe eine optische Maus mit einem ADNS-2051 gefunden und die Anschlüsse angelötet. Leider gelingt es mir nicht, die Software zu compilieren. (http://www.martijnthe.nl/attachment/optimouse/OptiMouse-20093001.zip) Ich habe sie zu den anderen Bibliotheken im Arduino Programmverzeichnis kopiert.

Quellcode

//#include "PAN3101.h"
#include "ADNS2051.h"
// #include "ADNS2610.h"
// #include "ADNS2083.h"

#define SCLK 2                            // Serial clock pin on the Arduino
#define SDIO 3                            // Serial data (I/O) pin on the Arduino

// PAN3101 Optical1 = PAN3101(SCLK, SDIO);   // Create an instance of the PAN3101 object
ADNS2051 Optical1 = ADNS2051(SCLK, SDIO);
// ADNS2610 Optical1 = ADNS2610(SCLK, SDIO);
// ADNS2083 Optical1 = ADNS2083(SCLK, SDIO);

signed long x = 0;                        // Variables for our 'cursor'
signed long y = 0;                        //

int c = 0;                                // Counter variable for coordinate reporting

void setup()
{
  Serial.begin(38400);
  Optical1.begin();                       // Resync (not really necessary?)
}

void loop()
{

//  The status commands are available only for the PAN3101 and the ADNS2051:

//  Optical1.updateStatus();                // Get the latest motion status
//  if (Optical1.motion())                  // If the 'Motion' status bit is set,
//  {

    x += Optical1.dx();                   // Read the dX register and in/decrease X with that value
    y += Optical1.dy();                   // Same thing for dY register.....

//  }
  
  if (c++ & 0x80)
  {                                       // Report the coordinates once in a while...
    Serial.print("x=");
    Serial.print(x, DEC);
    Serial.print(" y=");
    Serial.print(y, DEC);
    Serial.println();
    c = 0;                                // Reset the report counter
  }
}

:

Beim Compilieren erscheinen folgende Fehlermeldungen:

 from C:\Programme\Arduino\hardware\libraries\OptiMouse\/OptiMouse.h:26,

from C:\Programme\Arduino\hardware\libraries\OptiMouse\ADNS2051.cpp:28:

c:/programme/arduino/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:111: error: expected unqualified-id before 'int'

c:/programme/arduino/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:111: error: expected `)' before 'int'

c:/programme/arduino/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:111: error: expected `)' before 'int'

from C:\Programme\Arduino\hardware\libraries\OptiMouse\/OptiMouse.h:26,

from C:\Programme\Arduino\hardware\libraries\OptiMouse\ADNS2051.cpp:28:

c:/programme/arduino/hardware/tools/avr/lib/gcc/../../avr/include/math.h:439: error: expected unqualified-id before 'double'

c:/programme/arduino/hardware/tools/avr/lib/gcc/../../avr/include/math.h:439: error: expected `)' before 'double'

c:/programme/arduino/hardware/tools/avr/lib/gcc/../../avr/include/math.h:439: error: expected `)' before 'double'

Arduino-Version ist 0017.

Vielleicht kann mir hier jemand weiterhelfen...

Gruß Jürgen

am einfachsten ist es, wenn Du eine ältere Version der Arduino IDE probierst. Gute Kandidaten sind 0014 und 0010. Ansonsten gibt es einen undef Trick, den mus ich aber erst raussuchen. Andere Version benutzen ist definitiv einfacher :slight_smile:

Hallo,

die Versionen 0010 und 0014 bekomme ich gar nicht zum Laufen. Wenn ich das Programm starte, passiert vordergründig gar nichts. Es wird jeweils nur ein neuer "jawaw"-Prozess gestartet. 0017 läuft problemlos.

BS ist Win XP Home, SP2

Im Thread http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1235837529 habe ich folgendes zu "undef" gefunden:

#undef int
#undef abs
#undef double
#undef float
#undef round

Ist das u.U. eine Lösung? Wenn ja, wo genau muß der Code eingefügt werden?

Gruß Jürgen

Hallo,

mittlerweile habe ich aus zwei Scheibenwischermotoren, zwei
Schrittmotoren aus einem alten Kopierer und einem Arduino mit
Steppershield ein kleines, zweiachsiges "Teleskop" auf einer
provisorischen Montierung gebaut. Mit einem Laser, der in dem
kleinen Alutubus steckt, wird ein künstlicher Stern erzeugt.

Der Laserstrahl trifft auf ein kreisförmiges Array von
6 Fotowiderständen. Das Array sitzt auf einer Holzplatte, die ich an
meinem verstellbaren Foucault-Tester mit Kreuztisch angebracht
habe.

Verstellt man den Suppport des Kreuztisches quer zur optische Achse,
entfernt sich der Laserstrahl vom Zentrum des Sensor-Arrays und
trifft auf einen der Sensoren. In diesem Fall soll die Steuerung reagieren und das "Teleskop" so schwenken, dass der Laserstrahl
wieder ins Zentrum des Arrays wandert.

Gestern abend habe ich einen ersten Versuch unternommen, der
zufriedenstellend verlaufen ist. Die Steuerung folgt dem wandernden
Array und stellt den Laserstrahl wieder zurück.

Die Bewegungen verlaufen noch ruckartig, da die Sensoren
konstruktionsbedingt relativ weit auseinanderliegen. Bei einem
LWL-Array liegen die Fasern nahe zusammen, so dass nur wenige
Motorschritte für eine Korrektur notwendig sind. Als nächstes
versuche ich, die erfolgten Korrektschritte auszuwerten und damit
eine kontinuierliche Korrektur zu ermöglichen.

Der nächste Schritt ist dann die Beschaffung eines LWL-Kabels mit
Faserbündel. Aus einem alten Flohmarkt-Refraktor mache
ich ein Leitrohr. Statt eines Okulares verwende ich ein
LWL-Faserbündel. Jede Faser soll dann an einem Sensor befestigt
werden.

Statt der Fotowiderstände möchte ich gerne Fototransistoren
oder Fotodioden verwenden. Es soll welche geben, in die man einen
LWL einkoppeln kann. Vielleicht hat hier jemand einen Rat für mich.

René 's Idee mit dem Maussensor würde ich auch gerne testen,
allerdings bekomme ich die Software nicht zum Laufen. Ältere
Arduino-Versionen lassen sich auf meinem PC gar nicht starten.

Gruß Jürgen

sorry, dass ich nichts mehr zu den #undefs gesagt hatte. Also die Kannst Du direkt nach den #include Codezeilen einfügen, je nach Dateien musst Du die schonmal was verschieben... also einfach ausprobieren. Das bezog sich aber auf die Mousecam, richtig?

Der aktuelle Test mit dem künstlichen Stern sieht doch schon phantastisch aus! Es wäre toll, wenn du irgendwo die Bauanleitung und den Sourcecode veröffentlichen würdest, vielleicht auf deiner homepage oder im arduino playground?

Welche Software kriegst du konkret nicht zum laufen? Ich kann die Sachen auf die neue Arduino Version portieren. Werde mir auch nochmal eine optische Maus zerlergen um alles zu testen.

Also die Kannst Du direkt nach den #include Codezeilen einfügen, je nach Dateien musst Du die schonmal was verschieben... also einfach ausprobieren. Das bezog sich aber auf die Mousecam, richtig?

Die undef-Befehle habe ich eingefügt, das hat aber nichts verändert. Ich poste heute abend nochmal den Quelllcode.

Ja, das bezog sich auf das OptiMouse:http://www.martijnthe.nl/attachment/optimouse/OptiMouse-20093001.zip

Es wäre toll, wenn du irgendwo die Bauanleitung und den Sourcecode veröffentlichen würdest, vielleicht auf deiner homepage oder im arduino playground?

Kein Problem! Bauanleitung mache ich mit Fritzing, den Sourcecode muss ich erst noch kommentieren. Das dauert aber noch ein bisschen.

Gruß Jürgen