Deep Sky Nachführung Fotografie

Hallo,

er kann es ausprobieren. :wink:

Er kann noch ein Board suchen welches einen Quarz drauf hat. Ansonsten müßte er den Quarztakt mittels änderbaren Kondensator verstimmen. Allerdings benötigt man dafür die Meßgeräte. Hier würde dann bei mir der Aufwand/Nutzen in Frage gestellt. Ich denke aktuell das die Abweichung für 24h noch keine große Rolle spielt. Kann mich auch irren. Er kann es ja mal nachrechnen. Die unbekannte Taktfrequenz seines Resonators lassen wir dabei mal außen vor.

Der Code würde wie folgt aussehen inkl. 2 Funktionen zum starten/stoppen.

/*
  Doc_Arduino - german Arduino Forum
  IDE 1.8.8
  Arduino Mega2560
  20.12.2018

  Sollwert: 12,36943503087136 Hz
  Istwert:  12,36889 Hz (rein rechnerisch)

  Pinouts  >>> http://www.pighixxx.net/pinoutspg/boards/
  Uno      >>> http://www.pighixxx.net/portfolio-items/uno/?portfolioID=314
  Mega2560 >>> http://www.pighixxx.net/portfolio-items/mega/?portfolioID=314

  http://forum.arduino.cc/index.php?topic=547659.0
*/

// Mega
const byte Takt_Pin = 11;     // OC1A bzw. PB5

// Uno
// const byte Takt_Pin = 9;  // OC1A bzw. PB1

void setup()  {

  pinMode(Takt_Pin, OUTPUT);
  set_Timer1();
  start_Timer1();
}


void loop() {

}   // loop Ende


// ****** Funktionen ******* //

void start_Timer1()
{
  TCCR1B |= (1 << CS11) | (1 << CS10); // Timer starten, Prescaler 64
}


void stopp_Timer1()
{
  TCCR1B &= ~( (1 << CS12) | (1 << CS11) | (1 << CS10) ); // Timer stoppen
}


void set_Timer1()   //  Phase Frequenz Correct Mode 9
{
  cli();         // Interrupts ausschalten
  TCCR1A = 0;    // Reset TCCR1A Register
  TCCR1B = 0;    // Reset TCCR1B Register
  TIMSK1 = 0;    // Reset TIMSK1 Register (disable Timer Compare Interrupts)
  TCNT1  = 0;    // Start 0
  OCR1A = 5053;  // TOP Wert bestimmt mit Prescaler den Takt (12,369 Hz)
  TCCR1A = (1 << COM1A0) | (1 << WGM10);
  TCCR1B = (1 << WGM13);
  sei();         // Interrupts einschalten
}