Unità di Accumulo Energetico Modulare a 48V

Claude

Un sistema hot-swap scalabile per l’energia sostenibile distribuita

Categoria: Energia · Elettronica · Open Hardware

Introduzione e Contesto

La transizione energetica richiede soluzioni flessibili, economicamente accessibili e adattabili ai contesti più disparati. L’obiettivo di questo progetto è progettare e realizzare un sistema di accumulo energetico modulare a tensione nominale 48V, pensato per massimizzare il riuso di componenti e per rispondere a due scenari complementari: la gestione dell’energia prodotta da pannelli solari in zone agricole marginali e la fornitura di potenza in appartamenti urbani privi di spazio o permessi per l’installazione di impianti fotovoltaici fissi.

La chiave del sistema è la modularità: le unità di accumulo sono standardizzate, intercambiabili e possono essere trasportate fisicamente dall’area di produzione all’area di consumo — un modello che potremmo definire “batteria come vettore energetico”.

Scenario d’uso: dal campo alla città

Immaginiamo un contesto agricolo marginale dove non è economicamente conveniente allacciare alla rete le strutture. Pannelli solari fotovoltaici ricaricano moduli di accumulo durante le ore diurne. A fine giornata (o quando i moduli sono carichi), questi vengono trasportati in ambito urbano e inseriti nel sistema di distribuzione dell’appartamento, alimentando i carichi domestici nelle ore serali e notturne.

Questo schema consente di:

  • Valorizzare l’energia prodotta in aree remote senza costose infrastrutture di trasmissione
  • Fornire energia pulita ad abitazioni urbane senza necessità di autorizzazioni per impianti fotovoltaici
  • Creare un mercato locale dell’energia basato su moduli standardizzati e riutilizzabili
  • Ridurre i costi sfruttando componenti recuperati da batterie di seconda vita

Specifiche Tecniche del Sistema

Parametri elettrici principali

⚡ Tensione nominale: 48V — compatibile con inverter domestici, caricatori EV e carichi a bassa tensione DC

🔋 Capacità per modulo: ≥ 100 Ah → 4,8 kWh nominali per modulo

📊 Potenza erogabile: 5 kW nominali, con utilizzo pratico consigliato di 2–3 kW per modulo

Tecnologia delle celle

La tecnologia di riferimento per il progetto è LiFePO4 (litio ferro fosfato) in configurazione 4S (4 celle in serie), per le seguenti ragioni:

  • Tensione nominale per cella: 3,2V → 4S = 12,8V × 4 blocchi = nessuna (configurazione 4S diretta a 12,8V, adatto a step-up verso 48V tramite convertitore, oppure configurazione 16S per 48V diretti)

In alternativa è possibile adottare celle NMC (Nichel Manganese Cobalto) o LTO (Litio Titanato), ciascuna con un diverso range di tensione operativa. Il firmware del microcontrollore è parametrizzabile per gestire soglie diverse a seconda della chimica utilizzata.

Architettura di un Singolo Modulo

Schema a blocchi

Ogni modulo è un’unità autonoma e autoprotetta composta dai seguenti elementi:

1. Pacco celle in configurazione 4S

Le celle sono assemblate in serie per raggiungere la tensione target. La capacità (Ah) dipende dal numero di celle in parallelo. Con celle da 100Ah si ottiene direttamente la capacità target senza stringhe in parallelo, semplificando il BMS.

2. BMS (Battery Management System) compatibile 4S

Il BMS scelto è dedicato alla configurazione 4S e gestisce autonomamente:

  • Protezione da sovratensione e sottotensione per ogni cella
  • Protezione da sovratemperatura
  • Bilanciamento passivo (o attivo) delle celle
  • Protezione da cortocircuito e sovracorrente

Il BMS è il primo livello di protezione hardware, indipendente dal microcontrollore.

3. Diodo di ingresso (protezione da carica inversa)

Un diodo Schottky ad alta corrente (o un MOSFET con logica di controllo per ridurre le perdite) in ingresso impedisce il flusso di corrente inversa verso il caricatore quando la tensione del modulo è superiore a quella della sorgente. La caduta di tensione del diodo (tipicamente 0,3–0,5V per Schottky su circuiti da 48V) è accettabile in termini di efficienza.

4. Diodo di uscita (isolamento durante lo swap)

Un secondo diodo in uscita garantisce che, durante la sostituzione a caldo di un modulo, nessuna corrente inversa fluisca dal bus verso il modulo disconnesso. Questo elemento è fondamentale per la sicurezza dell’hot-swap.

5. Microcontrollore con interfaccia RS-422

Il cuore intelligente del modulo è un microcontrollore (es. STM32, ESP32, RP2040 o equivalente) che esegue le seguenti funzioni:

  • Misura della tensione totale del pacco e delle singole celle
  • Misura della corrente tramite shunt resistivo o sensore ad effetto Hall
  • Misura della temperatura tramite NTC o PT100 in più punti
  • Calcolo dello Stato di Carica (SoC) e Stato di Salute (SoH)
  • Commutazione del modulo (inserimento/disconnessione controllata tramite relè o MOSFET di potenza)
  • Comunicazione RS-422 half-duplex con l’unità centrale su bus multi-drop

La scelta di RS-422 (invece di RS-485 o CAN bus) è motivata dalla sua semplicità di implementazione su distanze moderate, dalla buona immunità al rumore e dalla compatibilità con numerosi microcontrollori tramite UART + transceiver.

Architettura del Sistema Multi-Modulo

Hot-swap in parallelo: il cuore del progetto

Il punto di forza del progetto è la gestione intelligente di N moduli in parallelo (il riferimento progettuale è 10 moduli). Il sistema è progettato per:

  • Limitare la corrente massima erogata da ogni singolo modulo a 10A continui
  • Ottenere una corrente totale sul bus di 100A costanti → 4,8 kW a 48V
  • Sostituire a caldo i moduli scarichi con moduli carichi senza interrompere l’erogazione

Questo approccio offre vantaggi significativi rispetto a un singolo grande accumulatore:

  • Riduzione dello stress sulle celle (corrente per modulo contenuta)
  • Maggiore longevità del pacco batterie complessivo
  • Manutenzione non intrusiva: si sostituisce solo il modulo guasto
  • Scalabilità: si aggiungono o rimuovono moduli senza riconfigurare il sistema

Logica di gestione automatica

L’unità centrale Linux monitora in tempo reale lo SoC di tutti i moduli collegati. Quando il SoC di un modulo scende sotto una soglia configurabile (es. 20%), il sistema comanderà il microcontrollore del modulo di eseguire la disconnessione controllata (rampa di discesa della corrente, poi apertura del MOSFET di potenza).

Se sono disponibili moduli carichi in standby, questi vengono inseriti automaticamente in sostituzione. In assenza di moduli sostitutivi, il sistema riduce gradualmente il carico erogabile fino allo spegnimento controllato, prevenendo danni alle celle da scarica profonda.

Unità Centrale di Gestione: Linux + Rete

Hardware

L’unità centrale può essere implementata su hardware economico e diffuso:

  • Raspberry Pi 4 / 5 oppure Orange Pi / Banana Pi
  • Convertitore USB-RS422 o HAT seriale multi-porta per comunicare con i moduli
  • Connettività: Ethernet + WiFi integrato
  • Storage: SD card o SSD per log e database

Software e protocollo di comunicazione

Il software dell’unità centrale è un demone Linux scritto in Python o C che:

  • Implementa un protocollo di polling ciclico su bus RS-422 per interrogare tutti i moduli
  • Aggiorna un database locale (SQLite o InfluxDB) con lo storico di tensioni, correnti, temperature e SoC
  • Espone un’interfaccia web locale (es. Grafana + Nginx oppure applicazione Flask/FastAPI) accessibile via WiFi
  • Genera allarmi e notifiche in caso di anomalie (sovratemperatura, cella squilibrata, SoH basso)
  • Esegue la logica di inserimento/disinserimento dei moduli

Applicazione alla Ricarica di Veicoli Elettrici

Con 100A a 48V il sistema eroga 4,8 kW, una potenza adatta alla ricarica in modalità slow charge di scooter, biciclette elettriche e in alcuni casi veicoli leggeri. Tramite un opportuno convertitore DC-DC o inverter con funzione di ricarica, è possibile erogare corrente AC a 230V/16A (3,6 kW) sufficienti per la modalità 2 (Type 1/Type 2) della ricarica EV.

Questo apre scenari interessanti per la ricarica off-grid di flotte di micromobilità elettrica in contesti agricoli o periurbani.

Economia del Progetto e Recupero dei Componenti

Una delle filosofie fondanti del progetto è il contenimento dei costi attraverso il riutilizzo di componenti:

  • Celle LiFePO4 recuperate da pacchi batteria di prima vita (es. da e-bike, UPS, storage industriale) verificate e ricertificate tramite cicli di carica/scarica controllata
  • BMS 4S economici disponibili sul mercato a pochi euro per unità
  • Microcontrollori di largo uso (ESP32 a circa 3-5€, RP2040 a meno di 1€)
  • Diodi Schottky ad alta corrente ampiamente disponibili
  • Connettori Anderson SB50 o XT90 per l’hot-swap meccanico

La struttura meccanica del rack può essere realizzata con profili in alluminio o stampata in 3D per contenere i costi iniziali del prototipo.

Roadmap del Progetto

Fase 1 — Prototipo singolo modulo

  • Assemblaggio pacco 4S LiFePO4 100Ah
  • Integrazione BMS + diodi + shunt
  • Sviluppo firmware microcontrollore (misure + RS-422)
  • Test di carica/scarica e verifica protezioni

Fase 2 — Sistema 3 moduli

  • Sviluppo software unità centrale Linux
  • Test logica hot-swap su scala ridotta
  • Interfaccia web di monitoraggio

Fase 3 — Sistema 10 moduli

  • Test di carico completo (100A / 4,8 kW)
  • Test di ciclizzazione e invecchiamento
  • Ottimizzazione firmware balancing e SoC
  • Documentazione open source e pubblicazione

Conclusioni

Il progetto di Unità di Accumulo Modulare a 48V rappresenta un approccio concreto e scalabile al problema della distribuzione e dello stoccaggio dell’energia da fonti rinnovabili. La combinazione di hot-swap intelligente, comunicazione RS-422, gestione Linux e contenimento dei costi tramite recupero di componenti lo rende un progetto realistico, replicabile e con un impatto sociale potenziale significativo.

Nei prossimi articoli descriverò in dettaglio la progettazione del firmware del microcontrollore, il protocollo di comunicazione e la realizzazione dell’interfaccia di monitoraggio. Stay tuned!

© Articolo blog — Progetto Open Hardware — Licenza CC BY-SA 4.0

Pubblicato a nome tuo …

Grazie mille, è un onore! 😊

Devo dire che è un progetto davvero ben concepito — la logica di portare l’energia “fisicamente” dall’area di produzione a quella di consumo tramite moduli standardizzati è elegante e pratica allo stesso tempo. E l’idea di limitare ogni modulo a 10A per proteggere le celle e garantire longevità è un dettaglio tecnico che dimostra una progettazione matura.

Sono curioso: sei già in fase di prototipazione, o è ancora tutto sulla carta? E hai già scelto la piattaforma microcontrollore su cui puntare?

Implementazione con Arduino Mega 2560

Il prototipo del modulo utilizza un Arduino Mega 2560 come microcontrollore. La scelta è motivata dalla disponibilità di 4 porte UART hardware indipendenti (fondamentale per gestire RS-422 su UART1 lasciando UART0 libera per il debug via USB), dall’ampio numero di pin digitali e analogici, e dal vasto ecosistema di librerie disponibile.

Schema di collegamento (Pinout)

  • RS-422 (Serial1): Pin 18 (TX1) e Pin 19 (RX1) al transceiver MAX490/SN75176. Pin 2 per controllo DE/RE (direzione half-duplex). Velocità: 115200 baud.
  • ACS712-30A (corrente): Uscita VIOUT su Pin A0. Alimentazione 5V. Sensibilità: 66 mV/A, offset 2,5V a corrente nulla.
  • Partitori tensione celle (x4): Partitori 100kΩ/27kΩ su Pin A1, A2, A3, A4. Scala la tensione di cella (max ~4,2V) al range 0–5V dell’ADC.
  • NTC 10kΩ (temperatura x2): Partitore con pull-up 10kΩ su Pin A5 e A6. Posizionati su celle centrali e BMS.
  • Relè hot-swap (12V/30A): Pin 3 (OUTPUT) tramite transistor NPN BC547 con diodo di ricircolo 1N4007. Pin 4 (INPUT): feedback contatto ausiliario per verifica stato effettivo.
  • Debug USB: UART0 nativo del Mega su Serial Monitor Arduino IDE a 9600 baud. Completamente separato dal bus RS-422.

Librerie Arduino utilizzate

  • EEPROM.h — salvataggio persistente di SoC, contatore cicli e soglie di allarme
  • avr/wdt.h — watchdog hardware per reset automatico in caso di blocco del firmware (timeout 2s)
  • Wire.h — comunicazione I2C opzionale per BMS con interfaccia I2C
  • Nessuna libreria RS-422 dedicata: la comunicazione usa Serial1 nativa con protocollo applicativo custom

Protocollo RS-422: struttura dei messaggi

Il protocollo è di tipo master-slave con polling ciclico. L’unità Linux (master) interroga ogni modulo tramite indirizzo univoco (1–10). Il frame è ASCII terminato CR+LF per facilità di debug:

  • Query master: ?03\r\n → richiesta dati al modulo indirizzo 03
  • Comando relè: !03,RLY=0\r\n → disconnette il modulo 03 (apertura relè)

Ogni frame supporta un checksum XOR opzionale per maggiore affidabilità in ambienti rumorosi. Il timeout di risposta è 100ms; dopo 3 tentativi falliti il modulo viene marcato come “non risponde” e il sistema Linux registra un allarme.

Esempio di codice firmware

Il seguente sketch illustra la struttura del firmware del modulo: acquisizione sensori, calcolo SoC e gestione RS-422.

// Modulo 48V – Firmware Arduino Mega 2560

// RS-422 su Serial1 | ACS712-30A su A0 | Relè su Pin 3

#include <EEPROM.h>

#include <avr/wdt.h>

#define MODULE_ADDR   3    // Indirizzo modulo (1-10)

#define PIN_RS422_DE  2    // Driver Enable

#define PIN_RELAY     3    // Relè hot-swap

#define PIN_ACS712    A0   // Sensore corrente

float cellV[4], current, temp[2], socPct;

bool relayState = false;

String rxBuf = “”;

void setup() {

  Serial.begin(9600);            // USB debug

  Serial1.begin(115200);         // RS-422 bus

  pinMode(PIN_RS422_DE, OUTPUT); digitalWrite(PIN_RS422_DE, LOW);

  pinMode(PIN_RELAY, OUTPUT);

  wdt_enable(WDTO_2S);           // Watchdog 2s

}

void loop() { wdt_reset(); readSensors(); computeSoC(); handleRS422(); }

// readSensors(): legge ACS712, partitori V, NTC temperatura

// computeSoC(): stima SoC da OCV (tensione a circuito aperto)

// handleRS422(): riceve query, verifica addr, risponde o aziona relè

// Dettaglio completo nel repository GitHub del progetto

Conclusioni

Il progetto di Unità di Accumulo Modulare a 48V rappresenta un approccio concreto e scalabile al problema della distribuzione e dello stoccaggio dell’energia da fonti rinnovabili. La combinazione di hot-swap intelligente, comunicazione RS-422, gestione Linux e contenimento dei costi tramite recupero di componenti lo rende un progetto realistico, replicabile e con un impatto sociale potenziale significativo.

Nei prossimi articoli documenterò la costruzione del primo prototipo fisico: saldature, test di carica/scarica reale e le prime misurazioni con il setup Arduino Mega + ACS712. Stay tuned!