ENFOQUE MOTORIZADO    

                         
     
 

   

       Proyecto para pasar del enfoque de un objetivo; en mi caso el 2" 50 mm a una reflex en mi caso la Canon EOS 6D.

Se trata de un proyecto con arduino que permite de forma automática mover el enfoque de nuestro telescopio y pasar del enfoque del ocular al de la cámara réflex.

Este proceso puede ser difícil si estamos intentando fotografiar algún objeto de espacio profundo ya que debido a su escasa luminosidad no podremos verlo en pantalla ni con el ISO más alto.

Para ello hemos calculado el movimiento con una estrella luminosa. Determinando el número de pasos que el motor necesitará para pasar de nuestro ocular a la cámara y viceversa.

Esquema electrónico con arduino:

Con este esquema resultará muy fácil ya que nos permite una vez en cámara realizar un enfoque fino y modificar el número de pasos que previamente hayamos dado por buenos.

El botón rojo permite pasar a la cámara y si lo volvemos a pulsar retorna al ocular. Evidentemente nosotros deberemos cambiar el ocular por la cámara y dependiendo del peso de esta mover ligeramente la posición de las pesas. Conviene hacer unas marcas sobre la barra indicando las dos posiciones.

El programa para arduino es el siguiente:

// Asignamos el pin 10 para indicar la dirección y los pasos
// Conectaremos un cable del pin 8 al pin STEP del driver
// Conectaremos un cable del pin 9 al pin DIR del driver
// Puenteamos los pines del drives RESET y SLEEP y los llevamos a 5V. arduino
// Alimentamos con 12 V entre UMOT y GND añadir 100 uF en paralelo
// Cable de GND de arduino a GND del driver
// Pines del motor: Amarillo, azul, Rojo, verde ahora rojo verde amarillo azul
// Intensidad maxima recomendada en el motor 0.6 A
// Ajustar la resistencia ajustable del driver a: Vref = 0.5 *8 * 0.1 = 0.4 V.
// Punta + tester al destornillador. Punta - del tester a GND Ajustar a 0.4 V.
// Pin 6 Pasa de objetivo a cámara y viceversa
// Pines 11 y 12 para ajuste fino del enfoque
// pines 2 y 3 para el display CLK DIO respectivamente

#include <Arduino.h>
#include <TM1637Display.h>
#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);

const int STEP = 8;
const int DIR = 9;
const int ENABLED = 10;
int sentido;
int numeropasos;
int objetivo;
int posicion;

void setup() {
numeropasos =600;
objetivo=1;
posicion=0;
pinMode(STEP, OUTPUT);
pinMode(DIR, OUTPUT);
pinMode(13, OUTPUT);
pinMode(6, INPUT_PULLUP); // pasa de cámara a objetivo y viceversa
pinMode(12, INPUT_PULLUP); // ajuste fino numero de pasos poara enfoque
pinMode(11, INPUT_PULLUP); // ajuste fino numero de pasos poara enfoque
digitalWrite(DIR, HIGH); // Indicamos la dirección del motor
enciendedisplay(posicion);
digitalWrite(ENABLED, HIGH);
}

void loop() {
if (objetivo==1){if(digitalRead(6) == LOW){mueve(numeropasos,1); objetivo=0;}} // Pasa de objetivo a cámara
if (objetivo==0){if(digitalRead(6) == LOW){mueve(numeropasos,0); objetivo=1;}} // Pasa de cámara a objetivo
if (objetivo==0){
if(digitalRead(12) == LOW){numeropasos=numeropasos+1; mueve(1,1); delay(300);}
if(digitalRead(11) == LOW){numeropasos=numeropasos-1; mueve(1,0); delay(300);}
}
}

void mueve(int numeropasos, int sentido){
digitalWrite(ENABLED, LOW); // Enerjiza las bobinas del motor
for (int x=0; x< numeropasos; x=x+1){
paso(1,sentido); // paso(velocidad, sentido)
if (sentido==1) {posicion=posicion+1;}
if (sentido==0) {posicion=posicion-1;}
enciendedisplay(posicion); //muestra en el display el numero de pasos
}
digitalWrite(ENABLED, HIGH); // quita tensión de las bobinas del motor
}

void paso(int retardo, int direccion){
if (direccion==1){digitalWrite(DIR, HIGH);}else{digitalWrite(DIR, LOW);} // Indicamos la dirección del motor
digitalWrite (STEP, HIGH); // Efectuamos un paso 1.8 grados
delay (retardo); // Velocidad del motor
digitalWrite(STEP, LOW);
delay(retardo);
}

void destellopin13(){
digitalWrite (13, HIGH); // Encender el led
delay (6000); // Tiempo que queda encendido
digitalWrite(13, LOW); // Apagar el led
delay(1000);
}

// Cambia numero en el display
void enciendedisplay(int posicion){
display.setBrightness(1, true); //Enciendo el display
display.showNumberDec(posicion, false); //Enseñamos valor de pasos
}