Motorizacion de un Telescopio Dobson casera con motores de impresora EPSON

Ahora si puedo ver tus fotos. Gracias.

Que precisión estas logrando entre paso y paso tanto en azimut como en altura?

Saludos.

Hola Hypernovat !

Aún me queda montar los nuevos Nema 17 con el nuevo software:

pero calculando a groso modo:

Atura:

-paso: 200 = 1.8 Grados por paso
-1ª Reducción: 16 dientes
-2ª Reducción:=166 dientes ==> Relacion = 640/36 = 10,375:1

Full Steps : 1.8/ 10,375 = 0.173494 Grado = 10,4 minutos de arco
1/32 Steps: 1,8/32/10,375 =0,0054216867 Grados = 19,51 Segundos de arco

Azimut:

-paso: 200
-1ª Reducción: 36 dientes
-2ª Reducción: 487 dientes ==> Relacion = 2000/36 = 13.5277:1

Full Steps : 1,8/13.5277 = 0,1330 Grado = 7.98 Minutos de arco
1/32 Steps:1,8/32/13,527= 0,0041583 Grados = ** 14.96988 Segundos de arco**

Si no me he equivocado en los cálculos... que hoy tengo la cabeza fatal ...

(SOLUCIONADO!!!) Era una tontería....

Mientras... un vídeo

Va viento en popa !!

Me rindooo !!

No puedo con la cosa más sencilla..!!!

No logro hacer un menu que me actualice la Latitud/Longitud con el mando... No se por qué no me coge los datos !!!.. lo he intentado de todas las maneras....!!

Ayuda Urgente !!

A ver si alguien me pueda arrojar alguna luz !!

Existe incompatibilidad entre la librería Accelstepper y el método de DigitalWrite ??
(me ocurre excatamente igual con la librería Stepper.h)
Os explico....

Me he dado cuenta que al usar los pines asignados a M0, M1 y M2 del DRV 8825 para ajustar el microstepping (poniendo valores HIGH..LOW, etc...). Ya sea en el Setup como en el Loop... sencillamente los motores no responden e incluso se me bloquea el wiichuck..

En cuanto dejo de configurar los pines como OUTPUT .. y quito los DigitalWrite asociados.. vuelve a funcionar...

A priori, no puede existir incompatibilidad a menos que en AccelStepper uses o definas esos pines que dices solo reservar para ajustar los microstepping. M0 M1 M2.

Voy a usar el código de tu version 2.1. Corrígeme si estoy equivocado en este punto. Lo analizo y comento.

Puedes ayudarnos indicando que pines usas para M0 M1 y M2. No los encuentro ni tampoco encuentro la librería AccelStepper

Tal vez el código sea otro.

Gracias Surb !!

Esto me ha traído de cabeza y ya he hecho cientos de cambios. Ayer funcionaba y hoy no...

A lo largo de hoy me volvió a funcionar "tocando" los pines M0,M1 y M2... al final parece que una pequeña modificación en la placa para manejar los M0´s de los dos drivers (conectados ambos a d¡gital 3) es lo que me metía el error.. no se por que.... por ahora vuelve a funcionar....haciendo uso de los pines M1 y M2 en 32 microsteps (en HIGH).. son los digitales 7,8 y 11,12. He dejado de definir el D3 (M0 de ambos drivers) y funciona...por ahora.

Una cosa que sí debo hacer es ser un poco más ordenado. Por ahora estoy tratando DOS versiones de Software que no he puesto aquí pero que las voy a poner entre hoy y mañana...Porque como no sea más ordenado os voy a hacer perder tiempo al tratar de ayudar...sorry !!

Versión 3.1- Usando DigitalWtite para accionar los Drivers.. con bastantes mejoras ya funcionando respecto a la 2.1

Versión 4.0- Elimino el método de DigitalWrite y uso Accelstepper.

Desconozco si es importante en tu proyecto variar el microstepping durante el funcionamento ,pero si no lo es y te esta causando problemas ,los puedes dejar fijos conectandolos a 5v.

Gracias por el consejo Jose !!

El caso es que debo poder variarlos por lo siguiente....

En Modo Manual, al tener que comunicarse con el Wiichuck(I2C), los movimientos son más lentos que en automático... en modo automático, el Accelstepper toma control y actúa los steppers a velocidad de infarto (a pesar de ir a 1/32) !! Así que si dejo el microstepping en 1/32, en manual me tengo que echar a dormir para moverlo !!. El mismo problema se me presenta si no uso la librería Accelstepper.. la cuestión de las comunicaciones I2C con el wiichuck hace que cuando está en modo manual vaya más lento que cuando realizo un Go-To con Stellarium; entonces debo poder reducir/ajustar velocidades por ejes (por eso observaréis que en Go-To, primero acciono un eje y luego el otro, para poder cambiar el Microstep.

Una cosa interesante !!!... la mejor librería para mover los steppers... en contra de lo que pareciera... no es la famosa Wiichuck de Coopermaa .... sino la de nunchuck_funcs.h de todbot.
En general la de todbot es más rápida y (a mi) me esta yendo mejor...

Os dejo un pequeño vídeo de como va a dia de hoy.

Visto lo pasado, voy a actualizar las versiones para que las podáis ir teniendo...

Version 3.2: Básicamente tiene:

  • Comunicaciones y control por Bluetooth con Stellarium.
  • Controlado por wiichuck.
  • Modo Go-To por Stellarium.
  • Entrada de Lat/Long Por wiichuck.
  • Modo Mirando Norte o Sur:
    Falta: Ajustes de errores ( de posicionamiento inicial y de operacion). Alineación inicial por una o dos estrellas y El segumiento automático (que me va a costar poder ver lo comandos que envía Stellarium por Serial... el plan es ir sacándolos con la ayuda del LCD y teniendo el manual del protocolo Lx200 bien a mano..).

Version 4.0: Incluyo el control con la librería Accelstepper... no me tiene muy contento y tiene bastantes errores y cosas que arreglar... le tengo que echar algunas horas...
La única ventaja apreciable es (si acaso) un movimiento más suave en los steppers....

Funcionaaa!!!!!!!

Cargada la última versión y probada .... Funcionaaa!!!!!

Última versión: StarMate 3.5B
(Sistema de Go-To por Stellarium para Telescopios tipo Dobson (ALT-AZM).)
StarMate 3.5B: (Archivo)

Notas de la versión..

  • Introducción Manual (Wiichuck) del lugar de Observación.
  • Alineación Mirando Norte y Sur.
  • Alineación Inicial por Una estrella y posterior re-alineación interativa con corrección de errores.
  • Sincronización con movimiento de objetivos (Stellarium y Posición Actual).
  • Control de desplazamiento por Wiichuck y Dispositivos Móviles (Android).
  • Por falta de memoria no he podido de terminar de cargar una base de datos de 45 Nebulosas (Sig !).

Placa descargable desde EasyEDA (aquí)

Gracias a todos por vuestra paciencia !!!

Una foto de la placa.... (Aunque no se ve.. es un Arduino Nano -Bajo el LCD- y el Bluetooth por debajo)

Nada......

Hola amigos !!

Necesito consejo....

No me cabe el catalogo de estrellas (Nebulosas) en la memoria del Nano....

Me podríais recomendar alguna pagina que me enseñe a cómo grabarla en la EEPROM (tengo la del Nano y creo que el RTC DS3231 tiene otra)

Os pego el Catalogo que quiero cargar a ver si me dais alguna idea de cómo hacer eso... nunca he usado una BD...

void Catalogo() {
  lcdp(true ,0,0,F("    Catalogo    "));
  lcdp(false,0,1,F(" Z= Skip C= Ok! "));
  MnControl=0;
  delay (1000);
  lcdp(false,0,0,F("                "));
  zbut=false;
  cbut=false;
  do {    
    Movemenu();
    if (MnControl > 45) { MnControl = 0;}
     if (cbut==true){
      calculateLST_HA(0);
      if (ALT>0) {
        lcdp(false,0,1,F("___Buscando!____"));
        StellariumControl=true;
        break;
      }else { lcdp(false,0,1,F("_Bajo_Horizonte_"));
      }
     } 
     if (MnControl == 1) {
        Tgt_RA = 6.02363;
        Tgt_DEC = -72.08128;
        lcdp(false,0,0,F("47 TUCANAE, CLST"));
      }
      if (MnControl == 2) {
        Tgt_RA = 130.1;
        Tgt_DEC = 19.98333;
        lcdp(false,0,0,F("BEEHIVE CLUSTER "));
      }
      if (MnControl == 3) {
        Tgt_RA = 66.75;
        Tgt_DEC = 15.86667;
        lcdp(false,0,0,F("HYADES CLUSTER  "));
      }
      if (MnControl == 4) {
        Tgt_RA = 193.41254;
        Tgt_DEC = -60.36161;
        lcdp(false,0,0,F("JEWEL BOX, CLSTR"));
      }
      if (MnControl == 5) {
        Tgt_RA = 245.89775;
        Tgt_DEC = -26.52536;
        lcdp(false,0,0,F("M4 CLUSTER      "));
      }
      if (MnControl == 6) {
        Tgt_RA = 251.81042;
        Tgt_DEC = -1.94781;
        lcdp(false,0,0,F("M12 CLUSTER     "));
      }
      if (MnControl == 7) {
        Tgt_RA = 264.40063;
        Tgt_DEC = -3.24594;
        lcdp(false,0,0,F("M14 CLUSTER     "));
      }
      if (MnControl == 8) {
        Tgt_RA = 322.49375;
        Tgt_DEC = 12.16681;
         lcdp(false,0,0,F("M15 CLUSTER     "));
      }
      if (MnControl == 9) {
        Tgt_RA = 351.20504;
        Tgt_DEC = 61.59994;
        
        lcdp(false,0,0,F("M52 CLUSTER     "));
      }
      if (MnControl == 10) {
        Tgt_RA = 189.86675;
        Tgt_DEC = -26.74281;
        
        lcdp(false,0,0,F("M68 CLUSTER     "));
      }
      if (MnControl == 11) {
        Tgt_RA = 116.12342;
        Tgt_DEC = -23.85483;
        
        lcdp(false,0,0,F("M93 CLUSTER     "));
      }
      if (MnControl == 12) {
        Tgt_RA = 248.13279;
        Tgt_DEC = -13.05356;
        
        lcdp(false,0,0,F("M107 CLUSTER    "));
      }
      if (MnControl == 13) {
        Tgt_RA = 154.40329;
        Tgt_DEC = -46.41103;
        
        lcdp(false,0,0,F("NGC 3201 CLUSTER"));
      }
      if (MnControl == 14) {
        Tgt_RA = 194.89567;
        Tgt_DEC = -70.87453;
        
        lcdp(false,0,0,F("NGC 4833 CLUSTER"));
      }
      if (MnControl == 15) {
        Tgt_RA = 201.69142;
        Tgt_DEC = -47.47681;
        
        lcdp(false,0,0,F("OMEGA CEN., CLST"));
      }
      if (MnControl == 16) {
        Tgt_RA = 56.87117;
        Tgt_DEC = 24.10503;
        
        lcdp(false,0,0,F("PLEIADES CLUSTER"));
      }
      if (MnControl == 17) {
        Tgt_RA = 269.63917;
        Tgt_DEC = 66.63314;
        
        lcdp(false,0,0,F("CAT'S EYE NEBULA"));
      }
      if (MnControl == 18) {
        Tgt_RA = 100.24271;
        Tgt_DEC = 9.89558;
        
        lcdp(false,0,0,F("CONE NEBULA     "));
      }
      if (MnControl == 19) {
        Tgt_RA = 303.02700;
        Tgt_DEC = 38.35497;
        
        lcdp(false,0,0,F("CRESCENT NEBULA "));
      }
      if (MnControl == 20) {
        Tgt_RA = 299.90133;
        Tgt_DEC = 22.72150;
        
        lcdp(false,0,0,F("DUMBBELL NEBULA "));
      }
      if (MnControl == 21) {
        Tgt_RA = 274.70021;
        Tgt_DEC = -13.80694;
        
        lcdp(false,0,0,F("EAGLE NEBULA    "));
      }
      if (MnControl == 22) {
        Tgt_RA = 151.75675;
        Tgt_DEC = -40.43619;
        
        lcdp(false,0,0,F("EIGHT-BURST, NEB"));
      }
      if (MnControl == 23) {
        Tgt_RA = 112.29492;
        Tgt_DEC = 20.91175;
        
        lcdp(false,0,0,F("ESKIMO NEBULA   "));
      }
      if (MnControl == 24) {
        Tgt_RA = 161.27513;
        Tgt_DEC = -59.86661;
        
        lcdp(false,0,0,F("ETA CARINAE, NEB"));
      }
      if (MnControl == 25) {
        Tgt_RA = 337.41025;
        Tgt_DEC = -20.83686;
        
        lcdp(false,0,0,F("HELIX NEBULA    "));
      }
      if (MnControl == 26) {
        Tgt_RA = 204.89583;
        Tgt_DEC = -67.38083;
        
        lcdp(false,0,0,F("HOURGLASS NEBULA"));
      }
      if (MnControl == 27) {
        Tgt_RA = 173.94717;
        Tgt_DEC = -63.01936;
        
        lcdp(false,0,0,F("IC 2944 NEBULA  "));
      }
      if (MnControl == 28) {
        Tgt_RA = 270.92504;
        Tgt_DEC = -24.38;
        
        lcdp(false,0,0,F("LAGOON NEBULA   "));
      }
      if (MnControl == 29) {
        Tgt_RA = 83.82163;
        Tgt_DEC = -5.39081;
        
        lcdp(false,0,0,F("ORION NEBULA    "));
      }
      if (MnControl == 30) {
        Tgt_RA = 168.69875;
        Tgt_DEC = 55.01914;
        
        lcdp(false,0,0,F("OWL NEBULA      "));
      }
      if (MnControl == 31) {
        Tgt_RA = 283.39588;
        Tgt_DEC = 33.02914;
        
        lcdp(false,0,0,F("RING NEBULA     "));
      }
      if (MnControl == 32) {
        Tgt_RA = 316.04513;
        Tgt_DEC = -11.36342;
        
        lcdp(false,0,0,F("SATURN NEBULA   "));
      }
      if (MnControl == 33) {
        Tgt_RA = 259.08780;
        Tgt_DEC = -59.4899;
        
        lcdp(false,0,0,F("STINGRAY NEBULA "));
      }
      if (MnControl == 34) {
        Tgt_RA = 84.67621;
        Tgt_DEC = -69.10064;
        
        lcdp(false,0,0,F("TARANTULA NEBULA"));
      }
      if (MnControl == 35) {
        Tgt_RA = 270.63104;
        Tgt_DEC = -22.99944;
        
        lcdp(false,0,0,F("TRIFID NEBULA   "));
      }
      if (MnControl == 36) {
        Tgt_RA = 311.42513;
        Tgt_DEC = 30.71664;
        
        lcdp(false,0,0,F("VEIL NEBULA     "));
      }
      if (MnControl == 37) {
        Tgt_RA = 10.68471;
        Tgt_DEC = 41.26892;
        
        lcdp(false,0,0,F("ANDROMEDA GALAXY"));
      }
      if (MnControl == 38) {
        Tgt_RA = 194.18217;
        Tgt_DEC = 21.68186;
        
        lcdp(false,0,0,F("BLACK EYE GALAXY"));
      }
      if (MnControl == 39) {
        Tgt_RA = 148.88813;
        Tgt_DEC = 69.06533;
      
        lcdp(false,0,0,F("BODE'S GALAXY   "));
      }
      if (MnControl == 40) {
        Tgt_RA = 148.96796;
        Tgt_DEC = 69.67983;
        
        lcdp(false,0,0,F("CIGAR GALAXY    "));
      }
      if (MnControl == 41) {
        Tgt_RA = 80.89433;
        Tgt_DEC = -69.75611;
        
        lcdp(false,0,0,F("LARGE MAGELLANIC"));
      }
      if (MnControl == 42) {
        Tgt_RA = 13.15838;
        Tgt_DEC = -72.80028;
        
        lcdp(false,0,0,F("SMALL MAGELLANIC"));
      }
      if (MnControl == 43) {
        Tgt_RA = 189.99775;
        Tgt_DEC = -11.62294;
        
        lcdp(false,0,0,F("SOMBRERO GALAXY "));
      }
      if (MnControl == 44) {
        Tgt_RA = 23.46213;
        Tgt_DEC = 30.65986;
        
        lcdp(false,0,0,F("TRIANGULUM, GLXY"));
      }
      if (MnControl == 45) {
        Tgt_RA = 202.46963;
        Tgt_DEC = 47.19519;
        
        lcdp(false,0,0,F("WHIRLPOOL GALAXY"));
      }
      
  }while (zbut==false);

}

Que tal mOjito, yo te aconsejaria grabarlos en una micro SD, no se de cuantas estrellas estamos hablando pero si son hasta 6º mag son unas cuantas, ademas en el futuro le puedes ir agregando mas estrellas asi como otros objetos tales como cumulos, nebulosas, galaxias, sistemas dobles, etc.

Igual, yo tenia un buen tutorial de EEPROM, el tema es encontrarlo.....

ah (edito), no habia visto lo que quieres grabar, pero son muy poquitas!!

Gracias Hyper...

Si.... no son muchas y en general son nebulosas chulas... realmente me gustaría alcanzar a grabar el Catálogo Caldwell que son 109 objetos celestes... los principales...

No quiero meter todo... al tener conectado el Stellarium no necesito catálogo de estrellas, pero el Catálogo Caldwell sí es útil, porque su visualización en Stellarium no es tan claro...
Tampoco puedo montar ya una SD... como ves la placa ya está hecha y no puedo tocar más... hay lo que hay jejejej.

Y no me vendría nada mal aprender a generar una pequeña base de datos en la EEPROM.. para esa y otras cosas...

Avisa si encuentras esa guía !!

Gracias !

Bueno si eran videos y en ingles, en el 2 esta la programacion

pero tambien tienes este de Luis Llamas

Y aqui te doy el programa que use con una EEPROM externa y funciona.
Es cierto la RTC tiene una EEPROM, pero haber como la usas, nunca hice el intento.

Suerte!

#include <Wire.h>
#define cA 80
int d = 200;

void setup() {
  Serial.begin(115200);
  Wire.begin();
unsigned cellA = 4500;   //ubicacion de la celda 
writeTo(cA,cellA,d);
Serial.print(readFrom(cA,cellA) , DEC);
}

void loop() {
  // put your main code here, to run repeatedly:

}

void writeTo(int a, unsigned int b, byte data)
{
  Wire.beginTransmission(a);
  Wire.write((int) (b >> 8));
  Wire.write((int) (b & 0xFF));
  Wire.write(data);
  Wire.endTransmission();

    delay(10);
}

byte readFrom(int a, unsigned int b)
{
  Wire.beginTransmission(a);
  Wire.write((int) (b >> 8));
  Wire.write((int) (b & 0xFF));
  Wire.endTransmission();

  Wire.requestFrom(a,1);

  byte rdata = 0;
  if (Wire.available()) {
     rdata = Wire.read();
  }
 
    return rdata;
}

Buenos días Mojito
He seguido tu proyecto y me parece muy interesante.
Tengo una duda, la configuración de Stellarium y el Bluetooth.
No encuentro la manera de enviar los comandos de Stellarium al arduino.
Puedes ayudarme

Muchas gracias

Me he liado... no se si te he contestado....

En Configuracion telescopio selecciona:

  • Stellarium Directamente por puerto serial
  • J2000
  • Meade LX 200

Si tienes problemas enviame un email a jorge.lopez.segura@gmail.com y te paso mi wasap...
Avisa y te envío una placa ya hecha (tengo unas 5 .. que era el pedido minimo ) regalo de la casa !!

Hola mOjitO.
Enhorabuena por el trabajo en este complejo proyecto. Recientemente me he planteado la motorización de una configuración Dobson y buscando he encontrado este hilo que me puede ser de gran ayuda para entender algunas cosas.
En cuanto al proyecto en si, ya existe desarrollado otro proyecto de similares características que no se si conoces, OnStep del que existe una amplia comunidad.

OnStep Group
StellarJourney

Espero te pueda servir para resolver alguna duda que aún puedas tener.
Si finalmente decido llevar adelante tu proyecto es posible que te pida una de esas placas que te sobran, aunque ya he descargado el esquema de EasyEDA que pusiste.

Un saludo.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.