• Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2025
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien und Schutzgläser der Eigenmarken
    "Upscreen", "Screenleaf", BROTECT" und "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Ich freue mich bekannt geben zu können, dass das DSLR-Forum einen neuen Aktionspartner gewinnen konnte.

    Saal Digital bietet Fotoprodukte in HighEnd-Qualität.
    Für die Mitglieder des DSLR-Forums locken Rabatte und Sonderaktionen!
    Alle Informationen dazu sowie ein tolles Einstiegsangebot unseres neuen Kooperationspartners gibt es hier.
  • Mitmachen beim DSLR-Forum Fotowettbewerb Oktober 2025.
    Thema: "Abendstimmung"

    Jeden Monat attraktive Gewinnprämien, gesponsert von unserem Partner PixelfotoExpress.
    Alle Infos zum Oktober-Wettbewerb hier!
  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • Nicht erreichbare Adressen im Benutzerkonto
    Wir bekommen zurzeit eine große Anzahl an E-Mails, die das System zum Beispiel als Benachrichtigungen an Nutzer verschickt,
    als unzustellbar zurück, weil z.B. die Adressen nicht erreichbar sind oder das Postfach gar nicht existiert.
    Stellt doch bitte sicher, dass die Benachrichtigungen, die ihr vom System erwartet, auch zugestellt werden können.
    Nicht erreichbare E-Mail-Adressen sind dazu wenig hilfreich.
    Danke!
WERBUNG

Astro Nachführung / Barndoor Idee

Soo. Heute gibts nun endlich einen richtigen Vergleich mit einem Bild ohne Nachführung :)
Da der Himmel heute recht klar ist hatte ich vorhin Lust, noch ein paar Fotos zu machen. Eine Sternschnuppe habe ich auch gesehen, aber sie ist auf den Bildern leider nicht zu sehen ;)
Die Nachführung war mal wieder nicht genau Positioniert, da ich immer noch keine Ausrichtung angebracht habe...vielleicht ändert sich das morgen endlich.
Aber mit dem Resultat bin ich heute so zufrieden wie noch nie zuvor. Es ist zwar noch nicht ganz optimal aber schon recht gut. Belichtet wurde mit meinem Tamron 17-50 bei 50mm, ISO 100, Blende 2.8 und mit 302 Sekunden (~5 Minuten).
Ein Ausrichtungsfehler war dabei, sodass leichte Spuren zu sehen sind. Vielleicht habe ich auch zu schnell/langsam gedreht...das muss ich alles noch abstimmen.
Achso das Vergleichfoto hatte eine leicht andere Richtung, der Winkel zum Polarstern sollte aber ungefähr der gleiche geblieben sein. Ich hatte aber die Sternschnuppe in der anderen Richtung gesehen und die Kamera dann dort hin ausgerichtet in der Hoffnung, dass noch eine andere vorbeisaust und sich auf dem Foto verewigt ;)
 
Zuletzt bearbeitet:
Beachtliche Leistung! So führt Geduld zu Erfolg. Hast Du wirklich 5 min mit Hand nachgeführt?! Meine Hochachtung hast Du schon jetzt:top:

Angeregt durch diesen Thread habe ich heute mal meine alte EQ2-Montierung notdürftig ausgerichtet und die Pleiaden abgelichtet. 12 Bilder je 30 sek, Brennweite 150 x 1.5crop.

fG Ralf
 
Beachtliche Leistung! So führt Geduld zu Erfolg. Hast Du wirklich 5 min mit Hand nachgeführt?! Meine Hochachtung hast Du schon jetzt:top:

Angeregt durch diesen Thread habe ich heute mal meine alte EQ2-Montierung notdürftig ausgerichtet und die Pleiaden abgelichtet. 12 Bilder je 30 sek, Brennweite 150 x 1.5crop.

fG Ralf

Ja das war wirklich mit Hand und auch 5 Minuten lang :)
Einen Motor werde ich wohl erst zur Weihnachtszeit einbauen da ich dann genug Zeit habe.
Das mit dem Fotos stacken muss ich mir nochmal angucken. Das sieht ja recht gut aus wenn nichts rauscht.
 
Ich habe heute die Platine für den Motor zusammengelötet. Es funktioniert :D
Mit Spannung wird alles von einem 12V Netzteil mit 500mA versorgt. Auf der Platine befindet sich ein 7805 Spannungsregler, welcher 5V liefert. Damit wird dann die Steuerlogik versorgt. Der Takt wird mit einem NE555 erzeugt und die Leistungsstufe ist ein fertiges kleines Board von Pololu mit einem A4988 drauf.
Der Preis für die Teile liegt bei unter 20 Euro, wobei ich das Netzteil, die Lochrasterplatine und einige andere Bauteile noch rumliegen hatte.

Falls ich morgen Zeit finde, werde ich den Motor in die Nachführung einbauen :)

Hier noch ein Bild von der Platine:
(Der NE555 hängt da so komisch in der Luft weil er zu klein war um ihn auf die Platine zu löten. Ich musste an seine Beinchen Kabel anlöten, welche wiederrum zur Platine führen.)
 
Heute bin ich erst dazu gekommen, den Motor auf die Nachführung zu schrauben. Das war nur ein Akt von 10 Minuten und schon lief es ;)
Demnächst bastele ich noch ein kleines Plastikgehäuse für die Platine. Wobei die große Platine wohl in den Holzkasten hinten kommt und die kleine Platine mit den beiden Widerständen um den Timer einzustelllen lege ich nach vorne. Ein An- und Aus-Schalter kommt auch vorne dran und vielleicht noch eine Kontrolllampe. Wobei man den Motor recht gut er hört. Der "hämmert" leider ziemlich dolle. Man merkt das dann zwar in der gesamten Nachführung aber im LiveView der Kamera bei 10x Vergrößerung war eigentlich nichts zu sehen.
Was meiner Meinung nach auch sehr gut zu bewerten ist: die Stativschelle. Ich hatte mir vor einigen Wochen eine aus Fernost bestellt (günstiger Nachbau, aber völlig ausreichende Qualität) und nun schwingt die Kamera samt Objektiv gar nicht mehr.

Hier habe ich mal ein kleines Video hochgeladen: https://www.youtube.com/watch?v=txhZf0RNq4Q

Gruß, André
 
stark - mit dem Video kann man sich gleich ein viel besseres Bild von Deiner Bastelei machen.

Wenn Du den NE555 als Zeitbestimmendes Glied beibehalten willst kann ich Dir folgende Tips geben: Verwende als C einen MKT Kondensator und für sämtliche Widerstände der Peripherie des NE555 nimmst du Metallfilmwiderstände.
Wenn Du ein Poti brauchst um auf die genaue Zeit zu kommen dann nimm ein Cermet Spindelpoti.
Alternativ könntest Du Dir den Takt aber auch von einem Mikrokontroller erzeugen lassen dem Du nur die richtige Anzahl Warteschleifen einprogrammierst und der wird dann natürlich mit einem Quarz geclockt.

Servus vom Werner und

Frohe Weihnachten!
 
Hi Werner,
das meinte ich ja bereits in #64, "normale" Kondensatoren und Widerstände sind als zeitbestimmende Bauteile vermutlich hier viel zu ungenau. Ich schlug einen Quarzgesteuerten Oszillator vor, der weniger temperaturabhängig driftet. Die von Dir im Verbund mit dem NE555 vorgeschlagenen Bauteile dürften eine wesentliche Steigerung der Genauigkeit bewirken, ob es für die geplante Anwendung ausreicht, sollte ein Experiment zeigen.
Der von Dir angeführte Microcontroller ist als Taktgeber auch nur so genau, wie die Zeitbasis, die Du diesem vorgibst.
Im Zimmer, bei +20°C genau justiert, laufen die Sterne auf den Aufnahmen dann möglicherweise plötzlich rückwärts, weil draußen bei -10° der Taktgeber ganz anders taktet...:eek:

Greetz^^
Claus
 
Hallo André,
um das "harte Einrasten" beim Schrittmotor etwas abzuschwächen würde ich im Halb/Vollschittbetrieb des Strom begrenzen bzw. etwas die Spannung zurücknehmen. Damit solltest du dann auch die durch den Schrittmotor hervorgerufenen Vibrationen reduzieren können.
Mein 12V Schrittmotor hat bei so einem langsamen betrieb noch genug Kraft mit 5V und 3.7V (LiPo)
 
Hi Werner,
das meinte ich ja bereits in #64, "normale" Kondensatoren und Widerstände sind als zeitbestimmende Bauteile vermutlich hier viel zu ungenau. Ich schlug einen Quarzgesteuerten Oszillator vor, der weniger temperaturabhängig driftet. Die von Dir im Verbund mit dem NE555 vorgeschlagenen Bauteile dürften eine wesentliche Steigerung der Genauigkeit bewirken, ob es für die geplante Anwendung ausreicht, sollte ein Experiment zeigen.
Der von Dir angeführte Microcontroller ist als Taktgeber auch nur so genau, wie die Zeitbasis, die Du diesem vorgibst.
Im Zimmer, bei +20°C genau justiert, laufen die Sterne auf den Aufnahmen dann möglicherweise plötzlich rückwärts, weil draußen bei -10° der Taktgeber ganz anders taktet...:eek:

Greetz^^
Claus

Das Problem der Temperaturabhängigkeit hatte ich auch - und habe seither einen µC als Taktgeber. Ich hatte damals das ganze bei Raumtemperatur eingestellt und dann zum Test in die Tiefkühltruhe gelegt. Nach dem Abkühlen rausgenommen - und siehe da: es lief viel zu schnell... :eek: Einige Zeit hatte ich dann die gesamte Elektronik immer unter der Jacke betrieben was halbwegs funktionierte (einigermassen gleichwarm). Danach schließlich der Schritt auf µC mit Quarz... Seither alles in Butter :top:
 
So ich habe jetzt auch meinen Schrittmotor-Controller fertig.
Habe mir dazu noch eine kleine Fernbedienung gemacht um die Geschwindigkeit und Richtung umzuschalten (ich baue das wie gesagt an eine EQ2 Montierung).
Das ganze ist mit einem Attiny44 und L293D realisiert. Der Schrittmotor arbeitet im Halbschritt-Betrieb. Bei den langsamen Drehzahlen begrenze ich den Strom durch PWM (30 kHz) um das "harte Einrasten" zu minimieren aber gleichzeitig noch genügend Drehmoment für die Kamera zu haben.
Hier ein kurzes Video: http://www.pcmx.de/projects/ra_motor/stepper_driver.mkv
 
Zuletzt bearbeitet:
Na dann bin ich doch mal auf Ergebnisse gespannt :)

Nagut, wie meine Vorredner auch schon gesagt haben, müsste ich meinen Takt am besten mit einem Quarz erzeugen. Ich hatte letztens alles im Haus eingestellt und draußen lief es dann mit einer anderen Geschwindigkeit.
 
Ich verweise nochmals https://www.dslr-forum.de/showpost.php?p=10584255&postcount=126

Das mit dem MKT Kondi ist absolut ernst gemeint.
Ich konnte schon in mehreren selbstgebauten Meßanwendungen den Temperaturgang der ganzen Schaltung beträchtlich reduzieren nur durch Verwendung von MKT Kondis an den sensiblen Stellen.
MKT Kondis sehen aus wie kleine Quader, silbern mit durchsichtigen Kunststoffdeckflächen und oben sehen die abgeschliffen bzw. abgeschnitten aus - die meine ich.

Klar ist ein Quarz noch viel besser aber da mußt Du dann wieder einen Feinabgleich mit µC machen um genau den erforderlichen Takt zu generieren.

Dewenne
 
@Master Fx

Dein Schrittmotorcontroller gefällt mir gut. Möchtest Du den vielleicht hier posten ?
Bin sicher den würde der eine oder andere gerne nachbauen.

Vielen Dank schon mal vorab - und keine Bange falls die Dokumentation noch nicht perfekt sein sollte.

Dewenne
 
So, hab meine Barndoor jetzt auch fertig. Konnte sie allerdings noch nicht testen (Wolken).
Zum Ausrichten auf den Nordpol benutze ich nen digitalen Winkelmesser und ein kleines Sucherfernrohr. Als Stativ verwende ich die EQ1, ich denke die bietet genügend Stabilität.
Der Motor dreht mit 3 U/min mit einer 1:3 Untersetzung, sodass sich das große Zahnrad mit einer Umdrehung dreht. Der Strom wird durch einen Spannungsregler "konstant" gehalten. Das werde ich beobachten müssen, ob sich das bei der Untersetzung bemerkbar macht, wenn das kleine Zahnrad variiert in der Geschwindigkeit, durch Spannungsschwankungen.

Mein Ziehl sind Aufnahmen mit 300mm ca 1-2 min.
 
@Master Fx

Dein Schrittmotorcontroller gefällt mir gut. Möchtest Du den vielleicht hier posten ?
Bin sicher den würde der eine oder andere gerne nachbauen.

Vielen Dank schon mal vorab - und keine Bange falls die Dokumentation noch nicht perfekt sein sollte.

Dewenne
Habe mal eben nen Schaltplan zusammen geklatscht:
ra_motor_sch.png

Quellcode ist übersichtlich.

Der Timer-Value für den Interrupt ergibt sich in meinem Fall aus dem Übersetzungsverhältis der EQ2 und Motor.
RA-Achse Übersetzung: 144 Zähne über Schnecke => auf 140 Zähne über 24 Zähne an Motor: 144*(140/24)= 840
Schrittmotor hat 200 Schritte (400 Halbschritte). Eine Umdrehung in 23 Std. 56 Min. 4 Sek = 86164 Sekunden
Daher: 840*400*Schritte/86164s = 3,8995 Schitte/s => 0,25644s/Schritt
µC mit 8 MHz, Timer/Div=1024, CTC Mode: 8e6 Hz/1024*0,25644 = 2003 für OCR1A.

Code:
/*
 * stepper_driver_tiny.c
 *
 */

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdint.h>

volatile uint8_t	step,on_off_rev;

uint8_t halfstep_states[] = {0b11100000,
				0b00001110,
				0b10000011,
				0b00111000};
							 
uint8_t speed[] = {250,	125,62};							 
							 
void ADC_init(uint8_t ref) {
 
  uint16_t result;
  

  ADMUX = 0;					// Voltage Referenz = VCC

  ADCSRA = (1<<ADPS2) | (1<<ADPS1);     // Frequency devider = 8
  ADCSRA |= (1<<ADEN);                  // activate ADC
 
  /* Read dummy */ 
  ADCSRA |= (1<<ADSC);                  
  while (ADCSRA & (1<<ADSC) );          // wait for convertion
  
  /* Read ADCW to free buffer for next convertion */
  result = ADCW;
}


uint16_t ADC_read( uint8_t channel )
{
  uint8_t i;
  uint16_t adcval=0;
  
  ADMUX = (ADMUX & ~(0x1F)) | (channel & 0x1F);		// select channel
  for(i = 0; i<5; i++){
	ADCSRA |= (1<<ADSC);           			// single conversion
	while (ADCSRA & (1<<ADSC) ) ;    		// wait for convertion
	adcval += ADCW;							// return adc value
  }
  adcval /=5;
  return adcval;	
}
	

int main(void)
{
  uint16_t adc_value;
  uint8_t temp, speed_val = 2;
	

  /* CTC-Mode: Top = OCR1A; Prescaler 64 => 250 kHz*/
  TCCR1B = (1<<WGM12) | (1<<CS12) | (1<<CS10);
  OCR1A = (uint16_t)2003;  
  TIMSK1 |= 1<<OCIE1A;
	
  TCCR0A = (1<<COM0A1) | (1<<COM0B1) | (1<<WGM01) | (1<<WGM00);
	
  OCR0A = 200;
  OCR0B = 200;
  TCCR0B = (1<<CS00); //clk/256

  DDRA |= (1<<PA3) | (1<<PA4) | (1<<PA5) | (1<<PA6) | (1<<PA7);  //OCR1B + OCR1A
  DDRB |= (1<<PB2); //OC0A
	
  PORTA |= (1<<PA7);
  PORTB |= (1<<PB2);
	
    
  PORTA |= (1<<PA0); //Pullup for ADC
  ADC_init(0);
	
  on_off_rev = 0;
  step = 0;
  sei();
  while(1) {
     //Taster einlesen
     adc_value = ADC_read(0);
     //irgendein Taster gedrückt?
     if(adc_value < 900){

        if(adc_value > 320 && adc_value < 370){
           OCR1A = 2003;
           OCR0A = 220;
           OCR0B = 220;
        }				
        if(adc_value > 250 && adc_value < 290){
           OCR1A = 1001;
           OCR0A = 240;
           OCR0B = 240;
        }			
        //bei hohen Geschwindigkeiten PWM deaktivieren => Max Drehmoment
        if(adc_value > 175 && adc_value < 210){
           speed_val = (speed_val + 1) %3;
           OCR1A = speed[speed_val];
           OCR0A = 255;
           OCR0B = 255;
        }			
        if(adc_value > 70 && adc_value < 120){
           on_off_rev = (on_off_rev  + 1) % 4;
           if(on_off_rev == 0 || on_off_rev == 2){
              temp = halfstep_states[0];
              halfstep_states[0] = halfstep_states[1];
              halfstep_states[1] = temp;

           }				
           _delay_ms(100);	
        }				
			
        TCNT1 = 0;
     }		
     _delay_ms(100);  //Möchtegern Entprellung
  }
}

ISR( TIM1_COMPA_vect ){
  uint8_t temp_porta, temp_portb, temp_tccr;
	
  temp_porta = PINA;
  //Alle betroffenen Pins auf "0" setzen
	temp_porta &= ~((1<<PA3) | (1<<PA4) | (1<<PA5) | (1<<PA6) | (1<<PA7));
		
  temp_portb = PINB;
  temp_portb &= ~(1<<PB2);
		
  temp_tccr = TCCR0A;
  temp_tccr &= ~((1<<COM0A1) | (1<<COM0B1) ) ;
		
  //Wenn != OFF
  if(on_off_rev == 0 || on_off_rev == 2){
     //Wenn Spule 1 kein Tristate => OCR0B (PWM) aktivieren
     if((halfstep_states[0] & (1<<step)) || (halfstep_states[1] & (1<<step))){	
       //temp_porta |= (1<<PA7);
       temp_tccr |= (1<<COM0B1);
     }		
     //Wenn Spule 2 kein Tristate => OCR0B (PWM) aktivieren
     if((halfstep_states[2] & (1<<step)) || (halfstep_states[3] & (1<<step))){
				//temp_portb |= (1<<PB2);
        temp_tccr |= (1<<COM0A1);
     }		
  }					
		
  //Je nach Halbschritt Position die Ports setzen
  if(halfstep_states[1] & (1<<step))
     temp_porta |= (1<<PA5);
  if(halfstep_states[0] & (1<<step))
     temp_porta |= (1<<PA6);	
  if(halfstep_states[2] & (1<<step))
    temp_porta |= (1<<PA3);		
  if(halfstep_states[3] & (1<<step))
     temp_porta |= (1<<PA4);
		
  //Werte in Port-Register übertragen
  TCCR0A = temp_tccr;
  PORTA = (1<<PA0) | temp_porta;
  PORTB = temp_portb;	  
  step = (step+1) % 8;
	
}
 
WERBUNG
Zurück
Oben Unten