SOC LiFePO4 senza collegamento al BMS: l'inverter sbagliava di 40–60 punti
L'inverter di una stazione mostrava il 35 % con la batteria quasi piena. Non vedeva il BMS, quindi stimava la carica dalla tensione. Abbiamo smesso di fidarci di quel valore. Ora Svitgrid calcola da sé la carica di una batteria così, e regole, calendario e avvisi lavorano sul numero giusto.
Da dove viene il valore dell'inverter
La stazione: un inverter Edecoa EM-624A e due batterie Dyness B4850, insieme un pacco LiFePO4 15S da 4.8 kWh. Una scheda ED-1 legge l'inverter via RS-232 con il protocollo PI30. Non c'è alcun cavo BMS e il programma 05 imposta il tipo di batteria su USE, cioè in base alla tensione.
In quella modalità l'inverter calcola il campo SOC della risposta QPIGS (campo 10) dalla tensione della batteria su una retta: 46.2 V è 0 %, poi circa 10 % per volt. Per il piombo-acido è accettabile. Non lo è per LiFePO4: tra il 20 % e il 90 % la tensione a riposo resta entro 3.25–3.35 V per cella, cioè 48.8–50.3 V per pacco, e cala ancora sotto corrente di scarica. La mattina del 20 ottobre l'inverter mostrava 34–42 % mentre i LED del pacco mostravano 75–100 %.
Regole, eventi del calendario e avvisi di batteria scarica lavorano su quel valore. Un errore di 40–60 punti le rende inutili: una condizione al 40 % e sotto scatta con la batteria piena.
Cosa è cambiato
Per queste stazioni Svitgrid non prende più lo SOC dall'inverter. Determina da sé la carica della batteria, sul server, dai dati che la scheda ED-1 già invia, e la affina a ogni carica completa. Non c'è nulla da aggiornare nell'app né nel firmware.
Ogni parte di Svitgrid vede lo SOC calcolato: la schermata principale, il grafico di carica, le regole, gli eventi del calendario e gli avvisi. Conserviamo il valore dell'inverter per confronto, ma l'app non prende più decisioni da esso.
| Inverter | Svitgrid | |
|---|---|---|
| 20 ottobre, mattina (prova; LED 75–100 %) | 34–42 % | 90–98 % |
| 21 ottobre, 16:25, scarica a 780 W | 25 % | 51 % |
| Errore giornaliero, 19 ottobre | — | +2.2 pts |
| Errore giornaliero, 20 ottobre | — | +0.3 pts |
Il primo ciclo
Il calcolo è stato attivato alle 17:35 del 20 ottobre, a metà giornata, senza storico. Il suo primo valore era 9 punti sopra la carica reale: nel tratto piatto della curva LiFePO4, la tensione dice poco sulla carica. Durante la notte la stazione si è caricata dalla rete, all'1:55 la batteria era piena e l'errore era sparito. Abbiamo poi ricostruito la carica reale dall'energia che la batteria ha dato la sera e ha preso la notte.
Ogni modifica nell'app e nel firmware, riga per riga.
Apri il changelog →