Com75:
Der Steppermotor hat pro Schritt einen Drehwinkel von 1,8°. Das bedeutet also das 430,8 -fache von dem was er drehen sollte.
Mit einem Getriebe mit der Untersetzung von 1:43 und 16 Microstepps pro Schritt muss der Schrittmotor alle 0,626192587209302
Sekunden (f=1,59695279124369/s) um einen Schritt weiterfahren. Daher die Genauigkeit von von 3 Nachkommastellen.
Hallo,
wenn ich das richtig verstehe, würde das bedeuten, dass die Kamera direkt an den Stepper bzw. das Getriebe montiert ist. Aber in der Regel macht man das nicht so. Angenommen, Du hast eine Schottische Montierung (Barndoor mit Motor), Dein Stepper hat einen Schrittwinkel von 1,8°, eine Mutter wird vom Stepper angetrieben und schraubt eine Gewindestange durch, diese bewegt die Kamera-Montierung. Die Gewindestange hat eine Steigung von 1 mm pro Umdrehung.
Dann würdest Du 200 Schritte pro Minute brauchen. Du musst also alle 0,3s einen Schritt auslösen.
Da die Programmzeilen rund um das Auslösen des Schrittes und die Erzeugung der nötigen Wartezeit zwischen den Schritten auch Zeit brauchen, würde ich so vorgehen: Eine Markierung auf der Motorachse anbringen, eine Markierung daneben anbringen. Die beiden Markierungen deckungsgleich ausrichten. Folgenden Pseudocode am Anfang verwenden:
for(int i=0; i<200; i++) {
// Schritt auslösen
delay(330);
}
Wenn das läuft sollte der Motor losdrehen und am Ende wieder stehenbleiben, wenn die Markierungen wieder deckungsgleich sind. Die Zeit dafür misst Du mit einer Stoppuhr. Ist sie kürzer als 60 Sekunden, erhöhst Du die Zahl im delay(); , ist sie länger, erniedrigst Du die Zahl im delay(); .
Sollte Dir das noch nicht genau genug sein, könntest Du folgender Maßen weitermachen:
for(int i=0; i<200; i++) {
// Schritt auslösen
delay(329);
delayMicroseconds(200);
}
Diese Art der Zeiteinstellung kannst Du sicherlich auch mit Deiner Montierung verwenden. Hoffe, meine Idee ist verständlich rüber gekommen.
Gruß,
Ralf