Go Down

Topic: Deep Sky Nachführung Fotografie (Read 7140 times) previous topic - next topic

OneUp2

Guten Abend liebe Community,
heute möchte ich mich mal wieder vertrauensvoll an euch wenden.
Ich stehe vor einem großen oder doch nur kleinem Problem. Ich möchte mir eine Arduino gesteuerte Nachführung zur Deep Sky Fotografie bauen. Bauteile und Elektronik hab ich schon alles.
Hier eine Auflistung der Bauteile

Arduino Nano
2 Getriebe "Spinea TS"
http://www.spinea.com/de/produkte/twinspin/t-series

Leadshine Treiber DM442c 
http://www.maschinen-werkzeuge.com/CNC-Maschinenbau/Elektronik/Endstufen/DM442-Leadshine-Digital::1106.html

Motor, ja der ist alt :-)
http://teamninjaz.me/slo-syn-stepper-motor-wiring-diagram.html

mit diesem Aufbau will ich die Erdrotation ausgleichen. Ich brauche 1 Umdrehung pro Tag.
Die Getriebe haben eine Untersetzung von 1 zu 73. Das ganze zweimal. Somit habe ich eine Untersetzung von 1:5329! Das heist dass mein Motor am Tag, genauer gesagt in 23h 56m 4s, 5329 Umdrehungen machen soll. In der Minute wäre es dann 3,709 RPM.

Jetzt komme ich zum eigentlichen Problem.
Wie Programmiere ich das am sinnvollsten.
RPM?
Hz?
oder Mikrosteps?
Weis mir jemand ein paar Tutorials auf deutsch? Möchte das schon gerne lernen und mir aneignen.
Was auch noch mit ins Boot soll, ist die Möglichkeit die Drehzahl anzupassen, mittels einem Drehregler ky040. Drehzalanpassung deshalb weil es einige Störfaktoren gibt. Hemmung innerhalb der Getriebe, Kälte, Wärme und Gewicht der Kamera mit Objektiv.

Sodele ich hoffe das mein Vorhaben gut beschrieben habe und warte auf eure Vorschläge und Tips.
Besten dank schon im voraus.

Gruß Nicolai

postmaster-ino

Hi

Wenn DU schon mit einem Stepper da ran gehst, würde ich doch die Zeit bis zum nächsten Step warten ein dann den Step ausführen - fertig.

5329 * (Steps pro Umdrehung) = Gesamtanzahl an Steps pro Tag

Wie genau brauchst Du die Zeit? Werden auch Aufnahmen an auf einander folgenden Tagen gemacht?
Dann solltest Du vll. auch eine RTC (DS3231) verbauen.
Dort liest Du Dir die aktuelle Uhrzeit aus und berechnest, bei welchem Schritt Du jetzt sein müsstest.
Bei Ungleichheit einen neuen Step ausführen.

Aus den Steps pro Tag und der aktuellen Sekunde könnte man ggf. direkt mit map den aktuellen Schritt bestimmen - Das wäre ja fast schon zu einfach :smiley-confuse:

Eine Drehzahl-Anpassung kann ich mir bei der Nutzung eines Steppers nicht sinnvoll vorstellen - Der macht Seinen Schritt, egal wie gehemmt das Getriebe ist - Das ist ja der große Vorteil des Stepper, daß der Step gemacht wird (klar: wenn die Kraft reicht - davon gehen wir aber Mal aus).

MfG
Dein Problem, Dein Sketch, Deine Bilder.
Ob ich ohne Diese an Deinem Problem arbeiten will, entscheide aber immer noch ich.
Große Buchstaben? Immer wieder, neben Punkt und Komma, gerne gesehen.

OneUp2

#2
May 15, 2018, 10:13 pm Last Edit: May 15, 2018, 10:15 pm by OneUp2 Reason: Schreibfehler behoben
Hallo.

Wenn ich Dich richtig verstehe soll mein Motor quasi einen Schritt machen dann warten dann wieder hüpfen?

Die Uhrzeit spielt eigentlich keine Rolle.

Das wichtigste ist dass es nicht ruckelt oder zu schnell/langsam dreht. Das ergibt dann Fehlern im Bild, die Sterne sind nicht mehr rund sondern werden zu Strichen. Deshalb auch die Drehzahlanpassung.
Ich mache ein Bild und schaue in der Vergrößerung an ob es verzogen ist, wenn  ja dann entweder schneller oder langsamer werden.
Deine Rechnung verstehe ich so:

5329*200= 1065800 Steps pro tag sind 741,8595 steps pro min

das bedeutet dann ich muss alle x Millisekunden einen schritt machen lassen.

Die Kraft müsste ausreichen, wird ja durch die Getriebe nur besser. :)

gruß Nic

postmaster-ino

Hi

Naja - der Stepper macht 200 Vollschritte pro Umdrehung, Das sind 1,8°.
1,8° : 5329 = 0,000337774° pro Step
Weiter dürfte sich das Getriebe dämpfend auswirken.
Klar, entsprechend weit geschaut sind 0,3 tausendstel Grad Unterschied zig Kilometer aus einander - hoffe aber, daß der Stern 'fetter' ist.

Ich würde schon über die Steps pro Tag rechnen, ähnlich wie dem Umgang mit millis().

Du fragst die Startzeit von der RTC und machst daraus die Start-Schritt-Nummer, Dein Motor steht dabei bereits auf 'Start'.
Im loop() berechnest Du laufend aus der aktuellen Uhrzeit den aktuellen Step - Vorsicht, daß Du hierbei immer nur vorwärts zählst und, daß Dich kein Überlauf kalt erwischt.
Um Mitternacht könnte die Funktion 'Sekunde vom Tag' nämlich Null, statt 86400 liefern (bzw. hier wohl Schritt vom Tag).

Nun lehnst Du Dich zurück und schaust zu, wie ca. alle 1/10tel Sekunden ein Step weiter gedreht wird.

MfG
Dein Problem, Dein Sketch, Deine Bilder.
Ob ich ohne Diese an Deinem Problem arbeiten will, entscheide aber immer noch ich.
Große Buchstaben? Immer wieder, neben Punkt und Komma, gerne gesehen.

combie

Quote
Drehzalanpassung deshalb weil es einige Störfaktoren gibt. Hemmung innerhalb der Getriebe, Kälte, Wärme und Gewicht der Kamera mit Objektiv.
Sowas darf keine Auswirkungen auf einen Schrittmotor haben.
Oder er ist falsch ausgelegt.

Ein Schrittmotor wird bei Überlast nicht ein bisschen langsamer, sondern macht Schrittfehler, Aussetzer, wenn sein Drehmoment nicht reicht.
Gefährlich, was Theorien aus Menschen machen können.
Schlimmer, was Menschen aus Theorien machen.

uwefed

Probleme mit dem Drehmoment sehe ich nicht. Das Getriebe übersetzt auch das Drehmoment das am Ausgang dann 5000 mal stärker ist al die des Motors. Vieleicht auch bedeutend weniger wegen der Verluste im Getriebe aber sicher 1000 mal größer als das des Motors.

Ein Problem sehe ich im im mechanischen Spiel des Getriebes. Damit sich dies nicht auf die Nachführung auswirkt muß das Getriebe immer unter Last arbeiten dh. das Gewicht des Equipments darf nicht so angeordnet sein daß wegen Unwucht es in Bereichen vom Motor gebremst werden muß und in anderen Bereichen vom Motor angetrieben werden muß. Entweder immer das eine oder immer das andere.

Grüße Uwe

OneUp2

Hallo wieder,
vielen dank für eure mit Überlegungen und Tipps sowie  Ideen.


Probleme mit dem Drehmoment sehe ich nicht. Das Getriebe übersetzt auch das Drehmoment das am Ausgang dann 5000 mal stärker ist al die des Motors. Vieleicht auch bedeutend weniger wegen der Verluste im Getriebe aber sicher 1000 mal größer als das des Motors.
das sehe ich auch so

Quote
Ein Problem sehe ich im im mechanischen Spiel des Getriebes. Damit sich dies nicht auf die Nachführung auswirkt muß das Getriebe immer unter Last arbeiten dh. das Gewicht des Equipments darf nicht so angeordnet sein daß wegen Unwucht es in Bereichen vom Motor gebremst werden muß und in anderen Bereichen vom Motor angetrieben werden muß. Entweder immer das eine oder immer das andere.

Grüße Uwe
Ich kenne aus meinem Betrieb die verbauten Getriebe.
hier mal die Vorteile der verwendeten Bauart.

Vorteile:

spielfreies Untersetzungsgetriebe
hohe Momentkapazität
hervorragende Positions- und Wiederholgenauigkeit
hohe Torsions- und Kippsteifigkeit
kleine Abmessungen, geringes Gewicht
hohe Untersetzungsverhältnisse
hoher Wirkungsgrad
lange Lebensdauer
einfache Montage

ein problem sehe ich da nicht. :-)

Dann werde ich mich mal hinsetzten und ausrechen mit welchen Steps ich am genauesten hinkomme. 1/2 oder 1/4 oder noch kleiner. ist ja mit dem Treiber kein Problem. Melde mich dann wieder wenn der Motor mal dreht. :-)



postmaster-ino

Hi
1,8° : 5329 = 0,000337774° pro Step
Weiter dürfte sich das Getriebe dämpfend auswirken.
Klar, entsprechend weit geschaut sind 0,3 tausendstel Grad Unterschied zig Kilometer aus einander - hoffe aber, daß der Stern 'fetter' ist.
Denke, Vollschritt wird ausreichend sein - dabei sind immer beide Spulen bestromt, maximale Kraft.
Microsteps sind nicht genauer - nur feiner!
Erst bei einem Halbschritt (der 2.te davon ist ein Vollschritt) ist eine (zwei) der Spulen voll bestromt und der Rotor in diese Richtung ausgerichtet.

Je feiner Du mit Microstepping hinauf willst, desto mehr Steps müssen gemacht werden und desto weniger Zeit hast Du, um den Nächsten rechtzeitig (also genau jetzt) auszuführen.
Verringert Vibrationen, wird gerne für 'mehr Unterschritte' genommen - meiner Meinung nur feiner, nicht genauer, da die Zwischenpositionen nicht wirklich fest sind.

MfG
Dein Problem, Dein Sketch, Deine Bilder.
Ob ich ohne Diese an Deinem Problem arbeiten will, entscheide aber immer noch ich.
Große Buchstaben? Immer wieder, neben Punkt und Komma, gerne gesehen.

OneUp2

Guten Abend.

Puh, es  ist doch schwieriger als ich gedacht habe. Ich habe es zwar geschafft dass der Motor sich in die richtige Richtung dreht, doch leider nicht in der gewünschten Drehzahl. :smiley-confuse:

Um die 741 schritte in einer Minute zu erledigen muss ich quasi alle 80 millisekunden einen impuls rausjagen?

Sorry, aber ich beginne ganz klein.

Gruß nic

Tommy56

Da wäre Dein aktueller Sketch hilfreich.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

OneUp2

Da wäre Dein aktueller Sketch hilfreich.

Gruß Tommy
Ja, das würde Sinn machen.

Jetzt habe ich es nochmals neu gemacht und der Motor dreht gar nicht mehr. Sch......

Code: [Select]
int DirPin = 8; //D8 Drehrichtung
int StepPin = 9; //D9 Impuls

void setup(){
  pinMode(DirPin, OUTPUT); //Als Ausgang bestimmeen
  pinMode(StepPin, OUTPUT); // Als Ausgang bestimmen
 
  digitalWrite(DirPin, LOW); // D8 ausschalten
  digitalWrite(StepPin, LOW); // D90 auaschalten
 
  Serial.begin(9600);
  }
 
void loop(){
  digitalWrite(StepPin, HIGH);
  Serial.println("Ein");
  delay(5);
  digitalWrite(StepPin, LOW);
  Serial.println("Aus");
  delay(5);
  }

mkl0815

Keine Ahnung ob das Teil des Problems ist, aber das "Serial.println()" braucht auch Zeit. Vor allem bei einer Geschwindigkeit von 9600baud.
Evtl. reicht ja schon ein
Code: [Select]

void loop(){
  digitalWrite(StepPin, HIGH);
  delay(5);
  digitalWrite(StepPin, LOW);
  delay(5);
  Serial.println("Step");
  }

Dann ist der Pulse schon mal 5 Millisekunden lang. Zumindest ungefähr, denn digitalWrite() braucht auch seine Zeit.
Mario.

postmaster-ino

Hi
Code: [Select]
//Hier vor der Wartezeit
while (millis()-startzeit<=wartezeit);
startzeit=wartezeit;
//Hier nach der Wartezeit

Hätte zumindest den Vorteil, die Wartezeit nicht auf die Laufzeit drauf zu packen - sofern die Laufzeit kleiner als die Wartezeit ist.

MfG
Dein Problem, Dein Sketch, Deine Bilder.
Ob ich ohne Diese an Deinem Problem arbeiten will, entscheide aber immer noch ich.
Große Buchstaben? Immer wieder, neben Punkt und Komma, gerne gesehen.

uwefed

#13
May 18, 2018, 07:20 pm Last Edit: May 18, 2018, 07:21 pm by uwefed
Die max Stepfrequenz für den DM442m ist mit 200kHz angegeben (zB www.leadshine.com/UploadFile/Down/DM442m.pdf) (hoffentlich ist das der gleiche wie der DM442c  )
 daraus ergibt sich ein minimal High von 2,5µS.
Grüße Uwe

postmaster-ino

... dann wird's schon mit micros() knapp ;)
Dein Problem, Dein Sketch, Deine Bilder.
Ob ich ohne Diese an Deinem Problem arbeiten will, entscheide aber immer noch ich.
Große Buchstaben? Immer wieder, neben Punkt und Komma, gerne gesehen.

Go Up