header.html

eulenbit.net

Technik, Computer, Linux, Open Source

Benutzer-Werkzeuge

Webseiten-Werkzeuge


user:wellenschrat:astronomie:nachfuehrung

Nachführung mit Schrittmotor und uC


Einleitung

Seit einiger Zeit (April 2024) habe ich nun ein Einsteigerteleskop mit einer Bresser EQ3-Montierung. Diese Montierung möchte ich automatisch gerne an der Stundenwinkelache nachführen mit einem Motor nachführen (lassen). Als erstes Beispiel dient mir ein Video von denm Youtube-Benutzer Volker Block mit dem Titel star tracker (fotomontierung) with step motor, simple!!!!!!. Dort wird u.a. ein Arduino-Code vorgestellt, der einen Schrittmotor mit Treiber ansteuert.

aaa

Berechnung

Sekunden pro Tag: 60*60*24 = 86400 Sekunden

Unertersetzung an der Stundenwinkelachse: 100

Dauer einer Umdrehung an der Stundenwinkelachse: 864 Sekunden (14.4 Min.)

Stepperumdrehung: 4096 Schritte

Geschwindigkeitsvariable: 4096 / Zeit in Sekunden

4096 / 864 = 4,740740…

Bibliothek(en)

Arduino-IDE

Fritzing

28BYJ-48 Driver Module ULN2003: https://github.com/mgesteiro/fritzing-parts

Installation - Wemos D1 Mini

1. Bevor der Wemos D1 Mini über die Arduino-IDE erkannt und programmiert werden kann, muss in den Einstellungen bei Zusätzliche-Boardverwalter-URLs folgende URL eingetragen werden:

https://arduino.esp8266.com/stable/package_esp8266com_index.json

2. Nun noch in der Boardverwaltung nach esp8266 suchen und installieren.

Quellen und Verweise

test

// ULN2003 Motor Driver Pins
#define IN1 5   //D1
#define IN2 4   //D2
#define IN3 14  //D5
#define IN4 12  //D6

Code Test

test.ino
/*  Programm zur Nachführung der Stundenwinkelachse mittels Schrittmotor
    für eie "leichte" Teleskopmontierung, wie z.B EQ2
    Schrittmotormotor:  28BYJ-48
    Motortreiber:       ULN2003 
    Mikrocontroller:    ESP8266 (Wemos D1 Mini)
 
    Software:
    Arduino-IDE
    Bibliothek: AccelStepper
 
 
 */
#include <AccelStepper.h>
#define HALFSTEP 8    // 4096 Schritte pro Umdrehung 
//#define FULLSTEP 4  // 2048 Schritte pro Umdrehung
 
// Variablen
 
float spu = 4096.0;  // Motorschritte pro umdrehung
float u = 100.0 * 6;    // UntersetzungStuWi
 
float achse = spu / (86400.0 / u);
//float eq3 = 4.740741;
 
// Verbindung DigitalPinWemos <-> ULN2003
#define motorPin1 5   //  D5 <-> IN1 ULN2003 driver 1
#define motorPin2 4   //  D4 <-> IN2 ULN2003 driver 1
#define motorPin3 14  // D14 <-> IN3 ULN2003 driver 1
#define motorPin4 12  // D12 <-> IN4 ULN2003 driver 1
 
// Initialize with pin sequence IN1-IN3-IN2-IN4 for using the AccelStepper with 28BYJ-48
AccelStepper stepper(HALFSTEP, motorPin1, motorPin3, motorPin2, motorPin4);
 
void setup()
{
  //pinMode(LED_BUILTIN, OUTPUT);  // initialize onboard LED as output
  //digitalWrite(LED_BUILTIN, HIGH);
 
  stepper.setMaxSpeed(achse);
  stepper.setSpeed(achse);
}
 
void loop()
{
  stepper.runSpeed();
}
user/wellenschrat/astronomie/nachfuehrung.txt · Zuletzt geändert: 25.06.2024 von Wellenschrat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki