2 puntos por GN⁺ 2025-08-20 | 1 comentarios | Compartir por WhatsApp
  • El autor construyó una montura de telescopio personalizada usando engranajes armónicos (harmonic drive) y un microcontrolador ESP32
  • Como las monturas de seguimiento comerciales son muy costosas, decidió diseñar y fabricar una por su cuenta en formato DIY
  • Explica en detalle todo el proceso de diseño, incluyendo diseño y fabricación del PCB, modelado 3D en FreeCAD y selección de componentes
  • El costo total de fabricación fue de unos 1,700 euros, y por unidad logra una competitividad frente a productos comerciales
  • Comparte el rendimiento real en astrofotografía y la experiencia de mejora al integrar la montura de fabricación propia con el firmware OnStepX

Un nuevo punto de partida

Hace unos años, el autor se interesó en la astrofotografía inspirado por un canal de YouTube sobre astrofotografía. Intentó fotografiar la nebulosa de Orión tomando cientos de imágenes con tiempos de exposición cortos sobre un trípode y luego apilándolas con el software Siril. Sin embargo, al sentir la necesidad de un sistema de seguimiento, compró un tracker Move Shoot Move, pero debido a la dificultad para encontrar los objetos objetivo, hacer la alineación polar y obtener resultados satisfactorios, comenzó a interesarse en construir una montura de telescopio más seria.

Ampliando la experiencia en fabricación de PCB

En 2024, se topó por casualidad con videos de YouTube sobre diseño de PCB personalizados y aprendió a usar PCB fabricados limpios y económicos en lugar de las chapuceras protoboards que usaba antes. Como primer proyecto, construyó un termostato inteligente con un ESP32, una pantalla e-paper y un sensor BME680. A partir de esa experiencia, decidió aplicar directamente el diseño y la fabricación de PCB también a la montura del telescopio.

Investigación a fondo y uso de recursos de la comunidad

Planteó un diseño centrado en la adopción de harmonic drive. Invirtió mucho tiempo en investigar la selección de componentes y la estructura mecánica, tomando como referencia AliExpress y diversos proyectos open source de comunidades DIY (HEMY, HrEM, DHEM, DIY EQ Mount V2, etc.). También investigó implementaciones open source y recursos comunitarios sobre motores paso a paso/servos, control FOC, SimpleFOC y más.

Decisiones de diseño y estructura

  • Eje RA (ascensión recta): servo 42AIM15 + harmonic drive Type 17 (reducción 100:1)
  • Eje DEC (declinación): stepper MKS Servo042D + harmonic drive Type 14 (reducción 100:1)
  • Montura y carcasa: adopta una placa Arca Swiss, compatible con la cuña Move Shoot Move
  • Modo de operación: GEM (ecuatorial) o ALTAZ (altazimutal)
  • Microcontrolador: ESP32-S3
  • Alimentación: USB-C PD hasta 24V/4A
  • Control de motores: step/dir/en, ULN2003 + MODBUS, CANBUS
  • Expansibilidad: exposición al exterior de los pines GPIO restantes

Mediante las características de microstepping y control servo de cada motor, logró simplificar el diseño y mejorar la precisión de seguimiento. Con cambios dinámicos de microstep a través de CANBUS, implementó un equilibrio entre slew rápido (movimiento de posicionamiento) y seguimiento preciso.

Diseño del PCB y superación de problemas

  • Diseñó un PCB semicircular en KiCad, con una forma que encaja perfectamente en la carcasa
  • Usó un módulo ESP32-S3 sin antena para ganar libertad de disposición y adoptó un circuito de entrada de alimentación USB-C (hasta 24V)
  • Aprovechó el circuito open source PicoPD y el IC AP33772. Eligió conectores JST PH para lograr conexiones compactas y de alta capacidad
  • Durante el reemplazo inicial de un IC, sufrió un error de cableado I2C y mal funcionamiento; en la segunda versión lo resolvió añadiendo validaciones y múltiples puntos de prueba

Integración con el firmware OnStepX

Aplicó el firmware open source OnStepX para el control del telescopio y el soporte de comunicación WiFi. Al principio sufrió problemas de estabilidad porque el ESP32 se sobrecargaba durante el slew (movimiento rápido de apuntado), pero los resolvió reduciendo la velocidad de slew y cambiando a modo cliente WiFi. Solo tuvo que añadir un archivo de layout de pines adecuado para OnStepX y código de control dinámico de microsteps para lograr una integración exitosa sin modificaciones importantes.

Proceso de fabricación y ensamblaje

Tanto la fabricación del PCB como el mecanizado CNC en metal se realizaron en JLCPCB. Tomó la audaz decisión de encargar las piezas CNC solo con los planos CAD, sin pruebas previas en impresión 3D, y obtuvo una precisión de piezas satisfactoria. Eso sí, hubo un error de diseño en la tapa del eje ecuatorial, que resolvió fácilmente con separadores. Todas las piezas pueden ensamblarse únicamente con roscas M3/M4 y tornillos. El roscado manual hecho por él mismo ayudó a reducir los costos de fabricación.

Experiencia de uso en la práctica

Acumuló experiencia real tras muchos intentos y errores con la alineación polar, la configuración general y el software (INDI, KStars, Ekos, PHD2). En los primeros usos, los problemas grandes y pequeños causaron muchos intentos fallidos de captura, pero durante el proceso de estabilización logró una precisión de 1 a 2 segundos de arco, suficiente para exposiciones de 30 segundos con un lente de 600 mm. Para el apilado de imágenes usa Siril y también está trabajando en objetivos adicionales como el apilado de varias noches.

Coste de fabricación y viabilidad económica

El coste total fue de unos 1,700 euros (= incluyendo herramientas, hardware y componentes de investigación/prueba). Convertido a costo por unidad, ronda los 800 euros. Confirmó una alta rentabilidad frente a una montura GOTO comercial (1,200~4,000 euros), aunque da más valor a la experiencia misma de construirla.

Costo unitario por ítem detallado (resumen de elementos principales)

  • Harmonic drive (2 unidades): 144 euros
  • MKS y servomotores (2 unidades de cada uno): 73~216 euros
  • Piezas CNC: 215 euros
  • PCB, conectores, tornillos, herramientas y otros

Conclusión e impresiones

Subraya que la experiencia de construirlo por cuenta propia, resolver problemas y recorrer todo el ciclo de diseño-fabricación-validación tiene más valor que comprar un producto comercial. Aprendió la importancia de validar con cuidado a partir del fracaso del PCB Version 1. También obtuvo muchas lecciones en el dominio de FreeCAD y KiCad, el aprovechamiento de open source y todo el proceso de desarrollo de hardware. Gracias al firmware OnStepX y los recursos de la comunidad, demuestra que una montura de telescopio DIY también es un proyecto al alcance de una persona común.

Poder fabricar con sus propias manos una montura para seguir las estrellas y comprenderla por completo: esa sensación de logro realmente vale muchísimo.

1 comentarios

 
GN⁺ 2025-08-20
Comentarios de Hacker News
  • Explica que el cable que sale de una fuente de alimentación USB-C termina actuando como un inductor, es decir, como una estructura de filtro LC que se comporta como un filtro pasa-bajas, por eso hacen falta capacitores en la placa; cuando el motor demanda mucha corriente de forma instantánea, por las propiedades del inductor la corriente no puede fluir de inmediato, así que el capacitor la suministra primero y luego el inductor empieza a entregarla poco a poco

  • Es un proyecto y una explicación realmente geniales, y el momento es perfecto; desde los 13 años me apasiona la astronomía amateur, he tenido varios telescopios y he pasado muchas horas observando el cielo nocturno con mi familia; hace poco saqué un SCT de 10 pulgadas y un Newtoniano de 4 pulgadas para mostrarle la Luna y Saturno a mi hijo de 7 años; también pudieron verlo mis padres, así que fue muy significativo; el SCT de 10 pulgadas está montado en una vieja montura de horquilla sin función GOTO; también he explorado las ventajas de GOTO, pero todavía no me animo a comprarlo porque me divierte buscar las estrellas por mi cuenta; sí compré una cámara de enfriamiento dedicada ZWO 585MC; por otro lado, muchas veces he perdido muchísimo tiempo tratando de encontrar estrellas; con solo un Telrad no basta, así que también pensé en fabricar yo mismo una montura de terceros usando una impresora 3D y mis conocimientos de electrónica; incluso consideré cambiar el motor por un stepper NEMA 17; buscando sobre eso encontré un proyecto llamado PiFinder, y me parece el equilibrio perfecto entre automatización y guía manual https://www.pifinder.io/; con los avances en impresión 3D y fabricación de PCB, siento que pronto podremos resolver muchos de estos problemas

    • Leer que a alguien no le parece divertida la función GOTO me vuelve a recordar que hay gustos de todo tipo; a mí más bien lo que menos me gusta es el proceso de encontrar objetos, así que agradezco mucho una montura goto
    • Si conectas la cámara ZWO a Kstars/EKOS, puedes usar plate solving por software para determinar exactamente hacia dónde estás apuntando y ajustar en consecuencia
  • Sobre las pistas del circuito en este gran proyecto, quisiera mencionar una cosa: dice que hizo las pistas demasiado anchas para soportar 24V, pero en realidad, cuanto mayor es el voltaje, menor es la corriente, así que incluso podrían ser más angostas sin problema; el ancho de las pistas se determina por la corriente, mientras que la separación entre pistas es lo que hay que cuidar según el voltaje

  • Cita del blog: "al mover el telescopio hacia un objetivo, aumenta la cantidad de pulsos enviados al motor y eso sobrecarga al pequeño ESP32"; yo también hago control preciso de motores stepper a alta velocidad, y no se puede tolerar ni una mínima pérdida de pulsos o glitch; con el núcleo del MCU se llega al límite, así que lo controlo con timer + DMA; al final aproveché la función ACT (Advanced Control Timer) del MCU STM32G4; con DMA es fácil generar formas de onda arbitrarias, así que aunque el núcleo se sobrecargue o entre en modo sleep, el timer no se ve afectado; últimamente también estoy considerando el PIO del RP2350; el ESP32 tiene MCPWM, pero para implementar perfiles complejos de aceleración y desaceleración 100% libres del núcleo, hay que usar timers en cascada o interrupciones, y entonces vuelves a depender del núcleo con posibilidad de glitches; en ST, ACT da un timer independiente por motor, así que la implementación es simple si lees bien el datasheet; los IC controladores especializados (como Trimanic, etc.) también son una opción, pero la complejidad de software termina siendo mayor que con mi enfoque

    • Hasta donde yo sé, OnStepX está basado en pulsos; todavía no me he topado con un enfoque que use DMA; creo que en ambos casos sería posible usar un modo de comando por posición a través de CANBUS en lugar de pulsos; también vi esa posibilidad en el código de OnStepX, pero el modo por pulsos era tan fácil para empezar que simplemente elegí eso
    • También consideré usar PIO para control stepper en rp2040, pero era difícil de usar por el contador de 5 bits y el límite de 32 instrucciones; en cambio, usar el segundo núcleo dedicado al control de movimiento y generar señales step/dir por bit-banging funcionó bastante bien para un perfil trapezoidal de un solo eje
    • Si te interesa hasta dónde se puede llevar el control de steppers con un MCU, te recomiendo mirar el firmware de impresoras 3D Merlin; logra cálculos complejos para impresoras delta incluso con pequeños MCU AVR de 8 bits
    • Tengo entendido que el ESP32 también tiene RMT; me pregunto si no se consideró ese método
  • Llevo 3 años usando freeCAD, y ver lo que se hizo en este proyecto realmente me impresiona; me gusta freeCAD, pero pocas veces he tenido una experiencia tan persistentemente incómoda y frustrante

    • Agradezco que exista FreeCAD, pero conforme aumenta la complejidad del proyecto, los crashes aleatorios realmente se vuelven una pesadilla; aun así, si sabes cómo, la mayoría de las funciones que se necesitan se pueden hacer también en FreeCAD; de hecho, no haber probado otros CAD fue lo que me terminó llevando a quedarme con freeCAD
    • Llevo 7 años haciendo modelado como hobby con FreeCAD, pero en funciones que uso por primera vez, la experiencia de usuario sigue siendo frustrante; soy desarrollador frontend y conozco criterios de QA, y FreeCAD tiene mucha UX que no los supera; cuando fui a los foros para entender la diferencia entre errores y advertencias de sobre-restricción, encontré muchos mensajes defendiendo políticas intencionales en nombre del rendimiento, y la atmósfera de gatekeeping de los power users es un problema real; hace mucha falta un verdadero especialista en UX y un community manager
    • Alterno entre OnShape y FreeCAD, y me impresiona lo pulido que está OnShape; eso sí, por modelos que compré no puedo subirlos al tier gratuito de OnShape; con FreeCAD sí se puede, pero si piensas "esto lo termino en una hora", al final acabas desvelándote
    • El simple hecho de que exista FreeCAD ya es genial, y espero que siga madurando; aun así, si quieres resultados rápidos, recomiendo el tier gratuito de Autodesk Fusion; quizá no le sirva a quien use exclusivamente OSS por principios, pero para uso hobby prácticamente no tiene restricciones y la calidad es buena; parece que algunos lo descartan solo por no ser OSS, pero estaría bien ampliar el abanico de software según la función
    • ChatGPT y Claude ayudan mucho en este tipo de trabajo; si el software tiene una documentación decente, la IA puede explicarte amablemente el flujo de trabajo paso a paso; en áreas demasiado especializadas o con pocas referencias sí hay límites, pero aun así es mucho más rápido que hacer clic a ciegas o ver videos de YouTube a velocidad alta; incluso puedes pedirle que te arme una guía de estudio con los conceptos básicos; eso sí, como la IA puede alucinar o equivocarse, conviene pedir siempre enlaces o material de referencia
  • Me interesan mucho los proyectos en los que uno mismo hace mediciones precisas con la montura del telescopio, por ejemplo intentar astrometría planetaria por cuenta propia; siento que resolver órbitas planetarias solo a partir de mediciones propias es como volver a recorrer el camino de antiguos astrónomos como Kepler

    • Es un tema realmente fascinante; más allá del hobby de sacar fotos bonitas, he pensado en diseñar un sistema donde los datos de observación amateur puedan usarse para investigación; si se compartieran los frames originales individuales y los metadatos (hora, coordenadas, calibration frames, etc.), colectivamente se podría hacer investigación científica o incluso producir imágenes más bonitas; el Vera C. Rubin Observatory (observatorio en EE. UU.) puede fotografiar todo el hemisferio sur en pocos días; sería increíble si este tipo de software evolucionara hasta convertirse en un arreglo astronómico global por crowdsourcing
    • En realidad, para conocer con precisión la posición de un planeta, es mucho más exacto calcularla comparando una foto centrada en el planeta con las coordenadas fijas de las estrellas de alrededor, en lugar de depender de la corrección de posición de la montura del telescopio; calibrar perfectamente la montura en sí es casi imposible; el método de coordenadas relativas a las estrellas es increíblemente preciso
    • Otro proyecto interesante es medir curvas de luz de tránsito de exoplanetas; algunos exoplanetas cercanos pueden observarse desde el patio de casa incluso con solo un lente fotográfico; por ejemplo, se comparte el caso de observación de un amateur con una ASI178MM-c y un Canon FD 300mm https://astropolis.pl/topic/60163-wasp-10-b-w-pegazie-1270-mag-00340-mag/
    • Aunque no sea completamente desde primeros principios, también hay gente que usa un Seestar S50 roboscope y una rejilla de difracción para medir el espectro de emisión de las estrellas
    • Como referencia, Kepler investigó usando los datos de observación a simple vista de Tycho, sin telescopio
  • Es un proyecto realmente genial; al diseñar el PCB, parece que no se incluyeron correctamente capacitores, resistencias, etc., y la estabilidad del microcontrolador se ve comprometida; me pregunto cómo decide la gente qué componentes hacen falta, como los capacitores de desacoplo; si basta con leer el datasheet e incluir todo tal como aparece

    • Revisar el datasheet es indispensable; la mayoría incluye ejemplos de circuitos obligatorios, así que siempre hay que consultarlo; además, buenos hábitos son poner capacitores de desacoplo cerca de los pines del chip, estabilizar tierra y seguir layouts de referencia; también ayuda mucho ver a ingenieros experimentados explicar cómo toman esas decisiones (por ejemplo: https://www.youtube.com/watch?v=aVUqaB0IMh4)
    • Casi todos los datasheets de componentes traen un circuito mínimo y un diseño de referencia; el uso de ground plane, la longitud de las señales, etc., muchas veces se explican aparte en application notes
    • Al diseñar circuitos para microcontroladores, tomar como referencia dev boards con el circuito publicado facilita mucho encontrar un punto de partida
    • Además de revisar el datasheet, poner capacitores de desacoplo lo más cerca posible de todos los pines de alimentación y dejar una cara del PCB como ground plane suele resolver la mayoría de los problemas
  • Me impresionó especialmente que mandara fabricar piezas metálicas CNC; yo también soy principiante en diseño CAD y quiero aprender

    • Me inscribí en un makerspace local y usé el machine shop; recibí capacitación y certificación para la máquina CNC, e intenté diseñar en CAD una placa metálica simple para equipo de filmación; había un generador sencillo de G-code y también revisé colisiones con un simulador; cada vez que iba a fabricar, alguien ya había dañado el cabezal y el equipo estaba fuera de servicio, así que al final lo hice a mano y algunas dimensiones no quedaron perfectas; si hubiera sabido que existían estos servicios CNC, me habría arrepentido menos de no mandarlo hacer directamente
    • En realidad es bastante simple: subes un archivo STEP y de inmediato puedes ver el precio y si es viable fabricarlo https://jlccnc.com/cnc-machining-quote
  • Proyecto realmente genial; me pregunto si el costo de fabricar el PCB se debe al ensamblaje; con JLCPCB, una placa de 2 capas, de menos de 100 mm, con acabado HASL y opciones básicas suele ser barata; quisiera saber si la ranura para la placa del conector USB genera costo extra, cuántas unidades se pidieron ensambladas por lote, qué proporción hubo entre componentes de la librería estándar y la extendida, cuánto cambiaría si los conectores se soldaran aparte, y si el hecho de tener aunque sea un solo componente de la librería extendida hace que suba el costo de pick-and-place individual para todos, de modo que minimizar la variedad de componentes sea la clave para ahorrar costos

    • En efecto, la principal causa del costo es el ensamblaje; la placa es una JLCPCB de 2 capas con opciones básicas y solo se cambió el color a negro, lo que la encareció un poco; pedí cinco por vez, que es la cantidad mínima; intenté ajustarme lo más posible a la librería estándar, pero fuera de los componentes pasivos hay límites; no sé cuánto cambia el costo si soldara yo mismo los through-hole, pero no parece algo de qué preocuparse; sí, minimizar la variedad de componentes ayuda; por ejemplo, si necesitas resistencias de 4k y 6k, te conviene combinar cinco de 2k
  • Proyecto muy impresionante; yo también quise comprar una gran montura harmonic drive para mi scope, pero el precio es una barrera enorme; usando herramientas como EKOS/Kstars/INDI también he pasado por mucho ensayo y error; si alguien quiere controlar dispositivos indi desde Python, tengo código propio para eso https://github.com/dahlend/contindi

    • Me da curiosidad saber con qué motivación escribiste ese código, porque EKOS por sí mismo ya parece tener buenas funciones de scheduling; yo también corrí un servidor INDI en una mini PC MeLE 4C e hice una interfaz de terminal (TUI) https://www.svendewaerhert.com/content/blog/telescope-mount/inditui.png, pero por problemas de estabilidad con GNOME Remote Desktop terminé cambiándome a un servidor INDI remoto/headless; pronto también planeo limpiar el código del TUI y subirlo a Github