Controlador Profissional de Rotor de Antena – Integração Perfeita com Software de Rastreamento
Componentes e Materiais
- 1x Arduino UNO
- 2x Potenciômetro rotativo (genérico, máx. 1kΩ, 500Ω funciona melhor)
- 2x Encoder Rotativo com Botão
- 1x Protoboard (genérica)
- 2x Módulo Relé (Genérico) – 2 módulos x 2 relés NO-Com-NC
- 2x MOSFET de Potência N-Channel (módulo min 12V/3A)
Aplicativos e Serviços Online
- Arduino IDE
Sobre o Projeto
Atualização mais recente: Novembro 2021
Começou como diversão e tornou-se equipamento sério.
O controlador aceita posicionamento manual da antena via dois encoders rotativos (Azimute e Elevação). Rastreia satélites automaticamente quando conectado por USB a PC rodando software de rastreamento.
Compatível com todo software de rastreamento usando protocolo EasyComm2 / 9600 bauds: PstRotator, WXtrack, HRD, MacDoppler... Até WXtoIMG controla o rotor.
Funciona diretamente com Orbitron via plugin DDE de tripsintech.com.
O controlador envia resposta na serial para o software exibir posição real da antena na tela. Até agora, apenas PstRotator fez isso.
O código não usa bibliotecas (exceto LCD) e roda exatamente como está, com pinos conforme diagrama elétrico abaixo. Pressionando botão do encoder de Azimute, todo movimento para imediatamente e o comando de azimute passa a passos de 10°.
Duas versões: uma para motores DC (com PWM para movimento suave) e outra para motores AC (apenas relés). A versão AC pode ser interfaceada com rotores comerciais existentes.
A versão DC usa PWM para Soft-Start / Soft-Stop: saída de potência proporcional ao erro angular (Alvo ↔ Antena). Acelera progressivamente ao iniciar e desacelera ao aproximar da posição desejada. Zona morta ajustável onde a antena não move para pequenos desvios.
Tenho versão beta com Soft-Start/Stop para motores AC usando módulo dimmer AC, mas atualmente só funciona para azimute. Se quiser testar, me envie e-mail.
Se tem sistema de elevação 180°, me avise. Também existe versão com precisão 0.1°, mas não recomendo a menos que tenha leitura de potenciômetro extremamente estável e design paranóico. Mais versões no meu site.
Após construção, aplique os procedimentos de calibração:
- Calibração do potenciômetro (obrigatória): garante leitura correta 0-359° / 0-90°, independente do potenciômetro usado.
- Calibração do motor (apenas para afinar Soft-Start/Stop): necessária se não gostar dos padrões.
Explicações detalhadas nos vídeos. Como o código foi melhorado com o tempo e vídeos não podem ser atualizados, verifique minha página para info mais recente e experiência pessoal: racov.ro
Me envie e-mail para saber mais, pois esta plataforma não me avisa de novos comentários. Tentarei resolver pequenos problemas. YO3RAK@gmail.com
Obrigado a todos que deram feedback, ajudando a tornar o projeto mais confiável. Qualquer feedback é muito apreciado.
Código
Versão para Motores DC (nov2021) – com Soft-Start/Stop PWM
Código completo no projeto original. Inclui: média de leituras dos potenciômetros (25 amostras), controle PID-like proporcional ao erro angular, tratamento de encoders com interrupções, comunicação serial EasyComm2, display LCD I2C, calibração de limites, zona morta, inversão de direção com pausa ("cold switching").
Versão para Motores AC (aug2021) – Contatos Secos ON/OFF
Código completo no projeto original. Similar, mas sem PWM: aciona relés para esquerda/direita, cima/baixo. Facilmente interfaceável com rotores comerciais.
Procedimento de Calibração dos Potenciômetros
(Texto explicativo, não código)
- No código, descomente linhas
Serial.print("Az "); Serial.println(analogRead(AzPotPin));emDisplAzime similar para Elevação. - Carregue código, abra Monitor Serial.
- Mova antena aos mínimos (0° azimute, 0° elevação). Anote valores lidos (ex: AzMin=90, ElMin=10).
- Mova aos máximos (359° azimute, 90° elevação). Anote valores (ex: AzMax=1000, ElMax=992).
- No código, seção
// ANTENNA potentiometers CALIBRATION, insira valores anotados emAzMin, AzMax, ElMin, ElMax. - Comente novamente as linhas de debug serial.
- Recarregue código. Pronto: posição real lida corretamente.
Procedimento de Calibração do Motor
(Texto explicativo) Ajusta parâmetros de Speed-Up/Slow-Down e Zona Morta. Define quão rápido/lento a antena inicia/para e quanto o alvo pode mover antes de reajustar. Não estritamente necessário, só se não gostar dos padrões. Faça primeiro a Calibração dos Potenciômetros!
Parâmetros no início do código:
AzErr, ElErr: erro permitido para não mover (zona morta)Amax, Emax: diferença angular onde soft-stop iniciaPwAzMin, PwAzMax, PwElMin, PwElMax: potência mínima (motor não trava) e máxima (velocidade total) em %
Esquemáticos
Diagrama para motores DC – Conexão de todos módulos, encoders, LCD, relés, MOSFETs.
Diagrama para motores AC – Contatos secos (ON/OFF). Facilmente interfaceável com rotores comerciais.
Imagens disponíveis no projeto original.
Processo de manufatura
- Controle de Brilho de LED com PWM via Botão no Arduino Mega
- Construa um Jogo em Tempo Real com Giroscópio: Arduino Nano + Sensor MPU-6050
- Projeto DHT11: Sensor Temperatura/Umidade com LEDs Indicadores e Buzzer
- Unopad: Controlador MIDI Arduino Perfeito para Ableton Live
- Construa um Homem de Ferro com Arduino: Componentes, Sensores e Guia Passo a Passo
- Construa um Sensor de Obstáculos Simples com Arduino – Tutorial Fácil com LED IR e Fotodiodo
- Find Me: Localizador Inteligente de Objetos com Arduino e Bluetooth
- Controlador de Umidificador DIY com Arduino e Relé – Configuração Segura de Alta Tensão
- Construa um Cubo de LED 4x4x4 com Arduino Uno e 1Sheeld – Projeto Interativo de LED
- Volante Joystick Arduino Personalizado para Jogos