AstroControl Pro v3.0

Software Open Source para Controle de Telescópios NEMA 17 / Arduino Uno

📅 Versão: 01/2026 👤 Autor: Bryam S. Sierpinski

1. Arquitetura do Sistema

O sistema é dividido em três camadas principais que trabalham em sincronia:

Camada de Cálculo

Python + Skyfield (JPL/NASA) processam efemérides e coordenadas Alt-Az em tempo real.

Comunicação

Protocolo Híbrido (ASCII para comandos simples e Binário para Tracking de alta precisão).

Atuação

Arduino Uno + Drivers A4988 controlam motores NEMA 17 com micro-stepping.

Compatibilidade com Telescópios:
O AstroControl Pro é independente do modelo de telescópio. Ele pode ser utilizado em qualquer montagem Alt-Az (dobsoniana, fork, customizada, artesanal ou comercial), desde que os eixos de Azimute (AZ) e Altitude (ALT) sejam movimentados por motores de passo acoplados por redução mecânica (engrenagens, polias ou sem-fim).

2. Hardware e Conexões

Esquema de Ligação (Wokwi v1)

Eixo Azimute (AZ):

  • Step Pin: Arduino D2
  • Dir Pin: Arduino D3

Eixo Altitude (ALT):

  • Step Pin: Arduino D4
  • Dir Pin: Arduino D5

🔗 Clique aqui para abrir o simulador interativo

Módulo Bluetooth (HC-05/06): Deve ser conectado aos pinos RX/TX do Arduino. Lembre-se: RX do módulo vai no TX do Arduino (Pin 1) e vice-versa, operando a 9600 bps.

2.1 Requisitos Mecânicos do Sistema

O AstroControl Pro não aciona o telescópio diretamente. É obrigatório o uso de um sistema de redução mecânica entre o motor de passo e cada eixo do telescópio.

⚠️ Atenção:
Conectar o motor diretamente ao eixo do telescópio não fornece torque nem resolução suficientes para rastreio astronômico preciso.

O que é necessário em cada eixo (AZ e ALT):

🔧 Backlash (Folga Mecânica)

Backlash não é erro de software.
É folga mecânica presente em engrenagens, correias, polias ou sem-fim.

O AstroControl possui compensação de backlash, mas ela atua apenas de forma limitada e previsível.

👉 Software pode reduzir os efeitos, mas não elimina folga mecânica mal ajustada.

Para melhor desempenho: reduções bem ajustadas, eixos rígidos e mínimo jogo mecânico são mais importantes que qualquer ajuste de código.

Tipos de Redução Mecânica Compatíveis

O software é compatível com qualquer tipo de redução, desde que o movimento final seja previsível e repetível.

Engrenagens
- Impressão 3D (PLA, PETG, ABS)
- Engrenagens comerciais
- Relação típica: 1:20 até 1:200
Correias / Polias
- GT2 / HTD
- Baixo ruído
- Fácil ajuste de tensão
Sem-fim (Worm Gear)
- Ideal para tracking
- Alta redução
- Folga deve ser bem ajustada

Parametrização para Diferentes Telescópios

A adaptação para qualquer telescópio é feita exclusivamente pelo ajuste dos parâmetros abaixo no firmware Arduino:

// Passos por grau (depende da redução mecânica) const float AZ_STEPS_PER_DEG = 20.0; const float ALT_STEPS_PER_DEG = 20.0; // Compensação de folga mecânica (backlash) const int BACKLASH_AZ_STEPS = 5; const int BACKLASH_ALT_STEPS = 5;

Exemplo Real de Parametrização

A tabela abaixo apresenta um exemplo realista de configuração para um telescópio Dobsoniano motorizado. Os valores servem como referência inicial, não como regra fixa.

Setup Motor Microstepping Redução Mecânica Steps / Grau
Dobson 8" DIY NEMA 17 1/16 1:60 ≈ 32.0
💡 Importante:
O valor de Steps por Grau depende diretamente de:
  • Passos nativos do motor
  • Microstepping configurado no driver
  • Relação exata da redução mecânica

Use este exemplo como ponto de partida e ajuste conforme o comportamento real do seu sistema. Esses valores variam conforme: motor, microstepping, relação de engrenagens e qualidade mecânica do conjunto.

Esquema Mecânico do Sistema

Esquema mecânico do sistema AstroControl
⚠️ Segurança Mecânica

O sistema assume liberdade total de movimento. A responsabilidade por limites e proteção mecânica é do projeto físico.

Definição do ZERO Mecânico (Referência Inicial)

Antes de qualquer operação de GOTO ou TRACK, o sistema precisa de uma referência absoluta inicial, chamada de ZERO mecânico.

Esse ZERO define a relação entre:

📍 Posição recomendada para definir o ZERO

Ao clicar em Definir ZERO, o telescópio deve estar posicionado manualmente da seguinte forma:
  • 🔭 Apontado para o Norte geográfico (não magnético)
  • 📐 Altitude próxima de 0° (paralelo ao horizonte)
  • 🔄 Sem tracking ativo

Essa posição estabelece:
AZ = 0°
ALT = 0°

🧭 Sistema de Coordenadas Mecânicas

Azimute (AZ)
  • 0° → Norte geográfico
  • Aumenta no sentido horário
  • Intervalo: 0° → 359.999°
Altitude (ALT)
  • 0° → Horizonte
  • 90° → Zênite
  • Intervalo: 0° → 90°

Referência Mecânica Inicial (ZERO)

Horizonte (ALT = 0°) Norte (AZ = 0°) AZ + Tubo

O tubo deve estar alinhado ao horizonte e apontando para o Norte no momento em que o ZERO for definido.

⚠️ Observações Importantes
  • O ZERO não é automático
  • Qualquer colisão, travamento ou perda de passo invalida a referência
  • O comando ZERO sincroniza o estado interno do Arduino com a posição física atual assumida como AZ=0°, ALT=0°
  • Sempre redefina o ZERO ao:
    • Reiniciar o sistema
    • Mover o telescópio manualmente
    • Desligar os motores
📌 Uma boa definição do ZERO resolve a maioria dos erros de GOTO e tracking.

3. Protocolo de Dados

O software envia dois tipos de frames para o Arduino:

A. Comandos ASCII (GOTO/ZERO/STOP)

GOTO AZ=180.00 ALT=45.00\n // Move para coordenadas fixas
ZERO\n // Reseta encoders internos
STOP\n // Interrompe qualquer movimento

B. Frame Binário de Tracking (Alta Precisão)

Enviado a cada 100ms para manter o movimento suave (Sidereal Tracking):

Byte 0 Byte 1 Bytes 2-5 Bytes 6-9 Byte 10 Byte 11
0x02 (STX) 'T' (ASCII) VAZ (Int32) VALT (Int32) Checksum 0x03 (ETX)

*VAZ/VALT são velocidades angulares multiplicadas por 1000 para evitar pontos flutuantes no Arduino.

4. Guia de Operação

  1. Ligue o Arduino e conecte o Bluetooth no PC.
  2. No AstroControl, clique em Atualizar e selecione a porta COM.
  3. Insira sua Latitude/Longitude real para cálculos precisos da NASA.
  4. Selecione um alvo (ex: Júpiter) e clique em GOTO.
  5. Ative o TRACK ON para compensar a rotação da Terra.

4.1 Primeira Utilização (Fluxo Recomendado)

Este fluxo evita erros comuns de alinhamento, perda de referência e tracking impreciso. Recomenda-se seguir a ordem abaixo sempre que o sistema for ligado.

  1. 1️⃣ Montagem Mecânica
    Garanta que o telescópio possua:
    • Redução mecânica instalada nos eixos AZ e ALT
    • Eixos livres, sem travamentos ou flexão
  2. 2️⃣ Inicialização do Hardware
    Ligue o Arduino e conecte via Bluetooth ou USB.
  3. 3️⃣ Conexão no AstroControl
    Clique em Atualizar, selecione a porta correta e clique em Conectar.
  4. 4️⃣ Configuração da Localização
    Informe:
    • Latitude
    • Longitude
    • Altitude
    Em seguida, clique em Aplicar localização manual.
  5. 5️⃣ Definição do ZERO Mecânico
    Posicione o telescópio manualmente apontando aproximadamente para:
    • Norte geográfico
    • Altitude próxima de 0°
    Clique em Definir ZERO.
  6. 6️⃣ Movimento GOTO
    Selecione um alvo e clique em GOTO.
  7. 7️⃣ Rastreamento
    Após o objeto estar centralizado, ative TRACK ON.
📌 Seguir este fluxo resolve mais de 90% dos problemas relatados em sistemas de rastreamento Alt-Az.

4.2 Problemas Comuns

🔴 O telescópio não acompanha o objeto
✔ Verifique se o TRACK ON está ativado
✔ Confirme se a redução mecânica é suficiente

🔴 O GOTO erra muito a posição
✔ Confira latitude e longitude
✔ Ajuste passos por grau e backlash

🔴 Movimento tremido ou instável
✔ Reduza o microstepping
✔ Aumente a redução mecânica
✔ Verifique folgas estruturais

4.3 Limitações Conhecidas do Sistema

O AstroControl Pro foi projetado para ser um sistema de rastreamento simples, genérico e acessível. Algumas limitações são inerentes à escolha da montagem Alt-Az e ao foco em controle por motores de passo sem encoders absolutos.

* A IDEIA É NÃO DEPENDER DE SENSORES OU HARDWARE COMPLEXO, APENAS MATEMÁTICA DE PRECISÃO.

❌ Limitações Técnicas

  • Rotação de campo:
    Montagens Alt-Az não compensam a rotação do campo celeste. O AstroControl não corrige rotação de campo.
  • Astrofotografia de longa exposição:
    Não recomendado para exposições longas (acima de alguns segundos), especialmente em céu profundo.
  • Dependência mecânica:
    Precisão final depende diretamente da qualidade da redução mecânica, rigidez estrutural e controle de folga.
  • Sem encoders absolutos:
    O sistema assume que os motores não perdem passos. Colisões ou travamentos podem causar perda de referência.

✔ Onde o Sistema se Destaca

  • Observação visual:
    Excelente para observação visual de planetas, Lua, Sol (com filtro apropriado) e objetos brilhantes.
  • Planetária e vídeo:
    Ideal para captura planetária por vídeo (lucky imaging) e empilhamento.
  • Objetos acima do horizonte:
    Funciona melhor com objetos acima de 20° a 25° de altitude, onde a refração atmosférica e erros mecânicos são menores.
  • Projetos DIY e educacionais:
    Ótimo para aprendizado de astronomia, mecânica, eletrônica e controle de movimento.
💡 Nota:
Para aplicações avançadas de astrofotografia, recomenda-se montagens equatoriais ou sistemas Alt-Az com correção ativa de rotação de campo e encoders de alta resolução.

5. Como o AstroControl Calcula o Movimento

O AstroControl Pro converte a posição real dos astros no céu em movimentos mecânicos precisos nos eixos do telescópio. Todo o cálculo é feito em tempo real no computador.

Efemérides
Dados JPL/NASA (Skyfield)
Coordenadas
RA/DEC → Alt-Az
Velocidades
°/s → passos/s
Movimento
Motores de passo

O software calcula a posição dos astros utilizando efemérides de alta precisão da NASA (JPL), considerando:

A partir disso, as coordenadas equatoriais (RA/DEC) são convertidas para coordenadas locais Altitude (ALT) e Azimute (AZ).

Após calcular ALT e AZ, o software converte ângulo em movimento mecânico:

graus_por_segundo × passos_por_grau = passos_por_segundo

Esses valores são enviados ao Arduino no modo Tracking, atualizados a cada 100 ms, garantindo movimento suave e contínuo.

✔ Por que o tracking é preciso?
O AstroControl não move o telescópio em saltos. Ele ajusta constantemente a velocidade dos motores para compensar a rotação da Terra em tempo real.

Glossário Técnico Rápido

Esta seção explica termos técnicos recorrentes ao longo do manual. Serve como referência rápida para quem está começando ou deseja entender melhor os conceitos envolvidos.

Backlash (Folga Mecânica)

Jogo mecânico presente em engrenagens, correias ou sistemas de redução, onde o movimento do motor não é imediatamente transferido ao eixo.

👉 Não é erro de software. O código apenas compensa parcialmente.

Microstepping

Técnica usada pelos drivers de motor para dividir um passo inteiro em frações menores (1/8, 1/16, 1/32…), aumentando suavidade e resolução.

Mais microsteps ≠ mais torque.

Alt-Az (Altitude-Azimute)

Sistema de coordenadas baseado na posição do observador: Altitude indica altura acima do horizonte, e Azimute indica direção ao redor do horizonte.

Simples, intuitivo e ideal para observação visual.

Efemérides

Conjunto de dados astronômicos que descrevem a posição dos astros ao longo do tempo.

O AstroControl usa dados JPL/NASA via Skyfield.

Tracking Sideral

Movimento contínuo do telescópio para compensar a rotação da Terra, mantendo o astro centralizado no campo de visão.

Não é um movimento fixo — a velocidade muda em tempo real.

6.FAQ Honesto

❓ Por que não usar encoders?

Porque o objetivo do AstroControl é ser simples, acessível e reproduzível. Encoders aumentam custo, complexidade elétrica e lógica de controle.

O sistema funciona assumindo que os motores não perdem passos — por isso a mecânica é tão importante.

❓ Por que não usar montagem equatorial?

Montagens equatoriais são excelentes, mas exigem:

  • Alinhamento polar preciso
  • Estrutura mecânica mais complexa
  • Maior custo e peso

A proposta aqui é explorar o máximo possível de uma montagem Alt-Az bem controlada.

❓ Até onde dá pra ir com esse sistema?

Muito longe para observação visual, planetária e projetos educacionais.

Para astrofotografia profunda de longa exposição, existem limitações físicas inerentes à montagem Alt-Az.

👉 O AstroControl não promete milagres — ele entrega entendimento.

FINALMENTE: Arquivos do Projeto

AstroControl Pro 3.0.py

Interface PyQt6 & Cálculos Skyfield

🐍

tracker.ino

Firmware de Controle de Motores

🤖

Download do AstroControl

Versão estável v3.0 (Windows x64)

⬇️ Baixar Executável (.exe)

Nota: Alguns antivírus podem alertar sobre o arquivo por ser um executável Python não assinado digitalmente.

Requisitos Mínimos

  • SO: Windows 10 ou 11 (64-bit)
  • Hardware: Bluetooth 4.0+ ou Cabo USB (Serial)
  • Arduino: Uno R3 ou compatível (Atmega328P)
  • Alimentação: Fonte externa 12V 2A para os motores NEMA
  • Espaço: 150MB livre (incluindo efemérides JPL)