SOC de LiFePO4 sem link com o BMS: o inversor errava de 40 a 60 pontos
O inversor de uma estação mostrava 35 % com a bateria quase cheia. Ele não enxergava o BMS, então estimava a carga pela tensão. Paramos de confiar nesse valor. O Svitgrid agora calcula por conta própria a carga dessa bateria, e as regras, o calendário e os alertas funcionam com o número certo.
De onde vem o valor do inversor
A estação: um inversor Edecoa EM-624A e duas baterias Dyness B4850, juntas um pack LiFePO4 15S de 4,8 kWh. Uma placa ED-1 lê o inversor por RS-232 usando o protocolo PI30. Não há cabo de BMS, e o programa 05 define o tipo de bateria como USE, ou seja, por tensão.
Nesse modo, o inversor calcula o campo SOC da resposta QPIGS (campo 10) a partir da tensão da bateria em linha reta: 46,2 V é 0 % e depois cerca de 10 % por volt. Isso é aceitável para chumbo-ácido. Não é para LiFePO4: entre 20 % e 90 % a tensão em repouso fica dentro de 3,25–3,35 V por célula, ou seja, 48,8–50,3 V por pacote, e cai ainda mais sob corrente de descarga. Na manhã de 20 de outubro, o inversor mostrava 34–42 % enquanto os LEDs do pacote mostravam 75–100 %.
As regras, os eventos do calendário e os alertas de bateria fraca funcionam com esse valor. Um erro de 40–60 pontos os torna inúteis: uma condição de 40 % ou menos dispara com a bateria cheia.
O que mudou
Para essas estações o Svitgrid não pega mais o SOC do inversor. Ele determina a carga da bateria por conta própria, no servidor, a partir de dados que a placa ED-1 já envia, e a refina a cada carga completa. Não há nada a atualizar no app nem no firmware.
Todas as partes do Svitgrid enxergam o SOC calculado: a tela inicial, o gráfico de carga, as regras, os eventos do calendário e os alertas. Guardamos o valor do inversor para comparação, mas o app não toma mais decisões a partir dele.
| Inversor | Svitgrid | |
|---|---|---|
| 20 de outubro, de manhã (teste; LEDs 75–100 %) | 34–42 % | 90–98 % |
| 21 de outubro, 16:25, descarregando 780 W | 25 % | 51 % |
| Erro diário, 19 de outubro | — | +2,2 pp |
| Erro diário, 20 de outubro | — | +0,3 pp |
O primeiro ciclo
O cálculo foi ativado às 17:35 de 20 de outubro, no meio do dia, sem histórico. O primeiro valor ficou 9 pontos acima da carga real: na parte plana da curva do LiFePO4, a tensão diz pouco sobre a carga. Durante a noite a estação carregou pela rede, à 01:55 a bateria estava cheia e o erro sumiu. Reconstruímos a carga real depois, a partir da energia que a bateria deu à noite e recebeu durante a madrugada.
Cada mudança no app e no firmware, linha por linha.
Abrir o changelog →