Skip to content

rsodvd79/Lettura-Inverter-Power-One-Aurora

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Lettura Inverter Power-One / ABB Aurora (RS485) con Arduino

Questo progetto utilizza un Arduino per leggere i valori da due inverter Aurora (Power-One / ABB) tramite interfaccia RS485 e visualizzarli su un terminale seriale (es. PuTTY).

Maggiori informazioni: articolo su drhack.it


Indice

  • Panoramica
  • Requisiti
    • Hardware
    • Software
  • Cablaggio
  • Installazione e compilazione
  • Configurazione
  • Utilizzo (PuTTY/terminali)
  • Output atteso
  • Risoluzione problemi
  • Sicurezza ed avvertenze
  • Contribuire
  • Licenza
  • Riferimenti

Panoramica

  • Obiettivo: interrogare 1–2 inverter Aurora via RS485, leggere alcune grandezze (es. potenza istantanea, tensione/corrente stringa, energia, stato) e stamparle su Serial Monitor / PuTTY.
  • Architettura: Arduino ↔ RS485 transceiver (MAX485 o compatibile) ↔ Bus RS485 ↔ Inverter 1/2.
  • Modalità: polling periodico degli inverter con stampa formattata su seriale.

Nota: il protocollo “Aurora” è proprietario ABB/Power‑One. Assicurarsi di avere il manuale del protocollo e gli indirizzi dei dispositivi impostati correttamente sugli inverter.


Requisiti

Hardware

  • 1x Arduino compatibile (es. UNO, Nano, Mega).
  • 1x Modulo RS485 TTL (es. MAX485/75176 o equivalenti).
  • Cavi per bus RS485 (coppia twistata consigliata), terminazioni 120 Ω se necessarie.
  • Facoltativo: secondo modulo RS485 se si preferisce isolare le linee o usare setup multipli.
  • Alimentazione stabile per Arduino e trasduttori.

Software

  • Arduino IDE (o Arduino CLI).
  • Eventuali librerie per RS485/seriale software se richieste dallo sketch (es. AltSoftSerial/NeoSWSerial). Verificare nello sketch quali sono effettivamente usate.
  • Un terminale seriale (PuTTY, screen, minicom, CoolTerm, ecc.).

Cablaggio

Schema tipico (esempio, verificare i pin nello sketch):

  • Modulo RS485:

    • RO → RX Arduino (es. D0 su hardware serial o pin RX di una seriale software)
    • DI → TX Arduino (es. D1 su hardware serial o pin TX di una seriale software)
    • RE e DE collegati insieme → pin digitale Arduino (es. D2) per abilitare trasmissione
    • VCC → 5V (o 3.3V secondo modulo)
    • GND → GND Arduino
    • A/B → Bus RS485 (A ↔ A, B ↔ B dell’inverter)
  • Bus RS485:

    • Topologia a linea, terminazione 120 Ω alle estremità se tratte lunghe.
    • Messa a terra di riferimento condivisa se necessario.
    • Evitare stelle e derivazioni lunghe.
  • Inverter Aurora:

    • Collegare ai morsetti RS485 secondo manuale ABB/Power‑One.
    • Impostare indirizzi univoci per ogni inverter sul bus (es. 2 e 3).

Nota: i pin riportati sono di esempio. Controllare i define nello sketch per i pin effettivi (TX/RX e pin RE/DE).


Installazione e compilazione

  1. Clonare o scaricare questo repository.
  2. Aprire lo sketch Arduino nell’IDE.
  3. Verificare:
    • Board selezionata (es. “Arduino Uno”).
    • Porta seriale corretta.
    • Eventuali librerie richieste dallo sketch installate.
  4. Compilare e caricare il firmware su Arduino.

Configurazione

Nel file principale dello sketch (o in un header di configurazione) di solito sono presenti:

  • Indirizzi RS485 degli inverter (device address). Esempio: INVERTER_ADDR_1 = 2, INVERTER_ADDR_2 = 3.
  • Pin RE/DE del modulo RS485 (trasmit enable). Esempio: RS485_DE_RE_PIN = 2.
  • Scelta della porta seriale usata per RS485 (HardwareSerial, SoftwareSerial, AltSoftSerial).
  • Baud rate e parametri seriali:
    • Serial USB per debug/terminali (es. 9600 o 115200 8N1).
    • Serial RS485 verso inverter (tipicamente 19200 8N1 per protocollo Aurora, verificare sul manuale e nella configurazione dell’inverter).
  • Intervallo di polling (es. 1–5 secondi).
  • Selezione delle grandezze da leggere (comandi del protocollo).

Aggiornare questi valori in base al proprio impianto. Se lo sketch include commenti o #define esplicativi, seguirli come fonte primaria.


Utilizzo (PuTTY/terminali)

  1. Collegare Arduino al PC via USB.
  2. Aprire PuTTY (o altro terminale) e selezionare:
    • Porta COM di Arduino.
    • Baud rate: quello configurato per la seriale USB nello sketch (es. 9600 o 115200).
    • Dati: 8 bit, Parità: Nessuna, Stop: 1 (8N1).
  3. Aprire la sessione: dovreste vedere messaggi periodici con i dati degli inverter.

Suggerimenti:

  • Se non appare nulla, provare a premere il tasto reset su Arduino o riaprire la porta.
  • Verificare che il baud del terminale corrisponda a Serial.begin(...) dello sketch.

Output atteso

In base allo sketch, è tipico vedere righe testuali come:

  • Timestamp/loop counter
  • Indirizzo inverter interrogato
  • Grandezze principali (esempi):
    • Potenza AC istantanea [W]
    • Tensione DC [V], Corrente DC [A]
    • Energia giornaliera [Wh/kWh], totale [kWh]
    • Stato/Allarmi inverter

Esempio di formato possibile: [Addr 2] P=1234 W | Vdc=350.2 V | Idc=3.5 A | E_day=5.21 kWh | Stato=OK [Addr 3] P=1178 W | Vdc=348.9 V | Idc=3.4 A | E_day=4.98 kWh | Stato=OK

Il formato esatto dipende dall’implementazione nello sketch.


Risoluzione problemi

  • Nessun dato sul terminale:
    • Controllare baud e parametri seriali.
    • Verificare che lo sketch stampi realmente su Serial.
  • Timeout o risposte vuote dagli inverter:
    • Verificare cablaggio A/B non invertito.
    • Abilitare correttamente RE/DE durante la trasmissione (pin giusto, logica HIGH/LOW).
    • Terminazioni 120 Ω e resistenze di bias (se richieste) sul bus.
    • Indirizzi inverter corretti e univoci.
    • Lunghezza e qualità del cavo RS485 (coppia twistata, schermata per ambienti disturbati).
  • Dati errati o intermittenti:
    • Condividere GND di riferimento se necessario.
    • Ridurre il baud rate RS485 o aumentare il timeout.
    • Alimentazione stabile al modulo RS485.

Sicurezza ed avvertenze

  • Operare sull’impianto FV solo se qualificati. Gli inverter e i quadri elettrici possono contenere tensioni pericolose.
  • Effettuare i collegamenti RS485 a impianto spento e in sicurezza.
  • Rispettare le normative e le indicazioni del costruttore dell’inverter.
  • Questo progetto è fornito “così com’è”, senza garanzie. Utilizzarlo a proprio rischio.

Contribuire

Contributi, issue e miglioramenti sono benvenuti:

  • Aprire una issue per bug/feature.
  • Proporre una pull request con modifiche documentate.
  • Migliorare la documentazione aggiungendo dettagli su pin, baud e comandi effettivamente usati nello sketch.

Per favore, mantenere uno stile di codice coerente e aggiungere commenti dove utile.


Licenza

[Specificare la licenza del progetto, ad esempio MIT, GPL-3.0 o altra. Se non è stata ancora scelta, aggiungere un file LICENSE.]


Riferimenti

  • Manuale protocollo “Aurora Communication Protocol” (ABB/Power‑One).
  • Articolo originale di riferimento
  • Documentazione Arduino (Serial, SoftwareSerial/AltSoftSerial).
  • Note applicative RS485 (terminazioni, biasing, cablaggio).

Note per i manutentori

Sezione da aggiornare con:

  • Pin definitivi usati dallo sketch (TX/RX, RE/DE).
  • Baud rate e parametri confermati (USB e RS485).
  • Elenco comandi Aurora effettivamente interrogati e mapping valori stampati.
  • Esempi di output reali per 1 e 2 inverter.
  • Versioni testate di Arduino/librerie.

About

Questo progetto utilizza l'Arduino per leggere i valori da due inverter Aurora della PowerOne tramite l'interfaccia RS485 e li visualizzo in un terminale con Putty.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages