Hello, Guest!
 
 

 
 
  Objects Tiiips Categories
Yaesu G-5500DC: progetto Arduino tracking satellitare - Parte 2
"Descrizione"
by Al222 (24917 pt)
2026-Jun-04 09:10

In questo progetto voglio realizzare un’interfaccia economica e modificabile per comandare il rotore Yaesu G-5500DC con Arduino e Gpredict, come alternativa a soluzioni commerciali già pronte come ERC-DUO o RTC-200. L’obiettivo è creare un sistema in grado di gestire azimut ed elevazione per il tracking satellitare, mantenendo però la possibilità (a differenza di ERC-DUO o RTC-200) di modificare liberamente il firmware, aggiungere funzioni personalizzate, regolare la logica di movimento e adattare il progetto alle proprie esigenze. 

Avviso importante

Questo progetto viene sviluppato giorno dopo giorno, con prove progressive e verifiche pratiche sul campo. Non si tratta ancora di una guida definitiva, ma di un percorso sperimentale per realizzare un’interfaccia economica, modificabile e personalizzabile per comandare il rotore Yaesu G-5500DC con Arduino, Gpredict e, successivamente, altri software compatibili.

Ogni collegamento deve essere controllato con attenzione prima di alimentare il sistema. Arduino non deve comandare direttamente i motori del rotore, ma deve interfacciarsi con la presa External Control del controller Yaesu, simulando i comandi esterni e leggendo le posizioni di azimut ed elevazione.

Il progetto sarà aggiornato passo dopo passo, man mano che verranno effettuati nuovi test, corrette eventuali imprecisioni e aggiunte nuove funzioni.

Yaesu G-5500DC: progetto Arduino per tracking satellitare - Parte 2

Per il nostro progetto erano sufficienti 4 canali, ma un modulo PC817 a 8 canali lascia canali liberi per usi futuri, ad esempio LED errore, fine corsa, stop emergenza, abilitazione tracking, ecc. 

Sul modulo PC817, ogni uscita deve comportarsi come un contatto che chiude verso massa:

Lato basso della scheda = ingressi Arduino
Sono quelli scritti IN1 G, IN2 G, IN3 G…

Lato alto della scheda = uscite verso YAESU
Sono quelli scritti U1 G, U2 G, U3 G…

Sequenza corretta:

  1. Spegnere il controller YAESU.
  2. Collegare la DIN 8 poli alla presa External Control del controller.

Per il primo test colleghiamo solo RIGHT, cioè un canale.

FunzioneArduino MegaModulo PC817 ingressoModulo PC817 uscitaDIN External Control
RIGHT / CWPin digitale 22IN1U1Pin 2 viola
Massa ArduinoGNDG vicino a IN1
Massa YAESUG vicino a U1Pin 8 calza/GND

Quindi:

Arduino 22 → IN1
Arduino GND → G basso vicino a IN1
U1 alto → filo viola pin 2 DIN
G alto vicino a U1 → calza/pin 8 DIN

Prima proviamo solo questo canale. Poi con uno sketch facciamo attivare RIGHT per 1 secondo e vediamo se il rotore azimut gira. Non collegare ancora LEFT, UP e DOWN.

Collegare Arduino al PC via USB.

Accendere il controller YAESU.

Accendere il controller YAESU.

Per il primo test conviene usare un pin digitale facile da individuare su Arduino Mega. In questo caso è stato usato il pin D8, cioè il pin digitale 8 presente nella fila dei pin digitali/PWM.

Il primo collegamento di prova serve solo a comandare RIGHT / CW, quindi la rotazione verso destra dell’azimut.

Collegamenti del primo canale:

FunzioneCollegamento
Comando ArduinoArduino D8IN1 del modulo PC817
Massa ArduinoArduino GNDG vicino a IN1
Comando RIGHT YAESUU1 del modulo PC817 → filo viola, pin 2 del DIN 8
Massa External ControlG vicino a U1calza / pin 8 del DIN 8

In questo modo Arduino non invia tensione direttamente al controller YAESU, ma attiva l’optoisolatore, che chiude il comando RIGHT verso la massa comune della presa External Control.

Per il test del comando RIGHT è stato usato questo sketch:

const int PIN_RIGHT = 8;

void setup() {
  Serial.begin(9600);

  pinMode(PIN_RIGHT, OUTPUT);
  digitalWrite(PIN_RIGHT, LOW);   // Comando spento

  Serial.println("Test RIGHT pronto.");
  Serial.println("Scrivere R e premere Invio per attivare RIGHT per 1 secondo.");
}

void loop() {
  if (Serial.available() > 0) {
    char comando = Serial.read();

    if (comando == 'R' || comando == 'r') {
      Serial.println("RIGHT attivo per 1 secondo");

      digitalWrite(PIN_RIGHT, HIGH);  // PC817 attivo
      delay(1000);
      digitalWrite(PIN_RIGHT, LOW);   // PC817 spento

      Serial.println("RIGHT spento");
    }
  }
}

Dopo avere caricato lo sketch con Arduino IDE, aprire il Serial Monitor a 9600 baud.

Nel campo di invio del Serial Monitor scrivere:

R

Premere Invio.

Se il collegamento è corretto, il LED del canale IN1 sul modulo PC817 si accende per circa 1 secondo, il rotore azimut gira verso destra e poi si ferma. Quando il comando termina, il LED del PC817 si spegne e il rotore si arresta.

Questo conferma che il comando:

Arduino D8 → PC817 IN1 → U1 → pin 2 External Control → RIGHT/CW

funziona correttamente.

Dopo avere verificato il comando RIGHT, si possono collegare anche gli altri comandi usando lo stesso schema.

Tabella completa dei comandi:

ComandoPin Arduino MegaIngresso PC817Uscita PC817Pin DIN 8 External ControlColore filo
RIGHT / CWD8IN1U12Viola
LEFT / CCWD9IN2U24Azzurro
UPD10IN3U33Grigio
DOWND11IN4U45Bianco

La massa comune della presa External Control resta sempre:

Pin 8 DIN / calza → G del modulo PC817 / GND Arduino

Sul modulo usato in questa prova, le masse G del lato ingressi e del lato uscite risultano collegate tra loro. Questo significa che il modulo non lavora come isolamento galvanico completo, ma resta comunque utile come interfaccia di comando tra Arduino e il controller YAESU.

Per completare anche le letture di posizione, collegare:

FiloPin DIN 8FunzioneArduino Mega
Rosso   6Feedback azimutA0
Nero1Feedback elevazioneA1
Calza8Massa comuneGND

Il pin 7 del DIN 8 non deve essere collegato.

A questo punto il sistema dispone di:

FunzioneStato
Lettura azimutPin 6 → Arduino A0
Lettura elevazione   Pin 1 → Arduino A1
Comando RIGHTArduino D8 → PC817 → pin 2
Comando LEFTArduino D9 → PC817 → pin 4
Comando UPArduino D10 → PC817 → pin 3
Comando DOWNArduino D11 → PC817 → pin 5
Massa comunePin 8 → GND

Il passo successivo sarà verificare separatamente i comandi LEFT, UP e DOWN, sempre con impulsi brevi di circa 1 secondo, prima di passare al firmware completo per il tracking automatico con Gpredict.

Queste sono le due tabelle riepilogative corrette per il sistema completo.

Arduino Mega → modulo PC817

FunzioneArduino MegaModulo PC817 lato ingresso
RIGHT / CWD8IN1
LEFT / CCWD9IN2
UPD10IN3
DOWND11IN4
Massa comuneGNDG del modulo PC817


Modulo PC817 → DIN 8 External Control YAESU

FunzioneModulo PC817 lato uscitaPin DIN 8Colore filo
RIGHT / CWU12Viola
LEFT / CCWU24Azzurro
UPU33Grigio
DOWNU45Bianco
Massa comuneG del modulo PC8178Calza / GND


E i due fili di lettura posizione, che non passano dal PC817:

FunzionePin DIN 8Colore filoArduino Mega
Feedback azimut6RossoA0
Feedback elevazione1NeroA1
Pin 77Non collegare

Il Pin 7 resta quindi non collegato.

Passiamo alla Parte 3 con le calibrazioni, Hamlib e Gpredict.


Evaluate