PROJETO / 006 / DIAGNÓSTICO EMBARCADO

DMS
PORTABLE
LOGGER

Logger portátil com dois ED100 para registrar um BMS JBD em movimento, manter o painel original e transformar dados de campo em diagnóstico e ajustes de bateria.

STATUS
● EM DESENVOLVIMENTO
FIRMWARE DOCUMENTADO
v0.1.0 PRE-RELEASE
CORREÇÕES
UNRELEASED / REVALIDAÇÃO PENDENTE
Protótipo instalado durante a validação. Hardware e imagem: akioShaolin.

O painel não contava toda a história.

A indicação de carga nem sempre parecia coerente com o comportamento real da bateria, e o funcionamento podia ser interrompido abruptamente perto do fim da descarga. Sem tensão, corrente, potência, capacidade remanescente e células registradas durante a condução, restavam apenas sintomas.

O desafio não era somente ler o BMS JBD na bancada. Era observar a bateria em movimento, preservar o painel original e registrar o que acontecia antes, durante e depois da falha.

Dois ED100 entre o BMS e o painel.

O MasterLogger consulta o BMS aproximadamente uma vez por segundo, valida as respostas e registra snapshots, frames e erros. O SlaveLogger atende o painel original, mantém cache e idade dos dados e também registra as transações.

A separação permitiu concentrar a aquisição elétrica no Master e conservar, no Slave, o comportamento que o painel esperava encontrar.

Protótipo inicial: dois ED100 assumem papéis distintos de aquisição e gateway.

Master, Slave e um gateway read-only.

BMS JBDfonte das medições
RS485
9600 8N1
MASTERLOGGERconsulta, valida e registra
UART0
DMS-LINK
SLAVELOGGERgateway, cache e registro
RS485
9600 8N1
PAINEL DMSexibe SOC

Master e Slave não são medições independentes. O primeiro é a fonte das grandezas elétricas; o segundo documenta gateway, cache, idade e respostas ao painel. BMS e painel nunca compartilham o mesmo segmento RS485.

RTC, LittleFS, DMSLOG2, Wi-Fi local e exportação para CSV completam a cadeia sem depender de internet.

RESTRIÇÃO DELIBERADA

O caminho até o BMS é somente leitura. Escritas JBD são bloqueadas; o logger não altera SOC, capacidade, calibração, proteções ou MOSFETs.

Topologia do protótipo. O artigo-base do ED100 documenta a plataforma de hardware.

O painel voltou a mostrar o SOC.

RESPOSTAS CONSECUTIVAS45
LATÊNCIA MÉDIA≈ 10 ms
LATÊNCIA MÁXIMA41 ms

Em 21/08/2026, o ensaio estacionário confirmou BMS ↔ Master, Master ↔ Slave e Slave ↔ painel. O painel aceitou a resposta JBD 0x03 e exibiu 100%; os logs preservaram 24 grupos de células e cinco temperaturas.

Aproximadamente 60 km até 0%.

Em 18/09/2026, o conjunto acompanhou um percurso real de aproximadamente 60 km, da indicação de 100% até 0%. Isso é um ensaio de campo da unidade testada, não uma autonomia homologada ou medição metrológica.

O Master preservou 6.926 amostras elétricas úteis; o Slave manteve o painel atendido e registrou o envelhecimento do último estado quando o BMS deixou temporariamente de responder.

CAPACIDADE CONFIGURADA60 Ah
PICO DE DESCARGA≈ 100,28 A
SOC OBSERVADO100% → 0%

O log transformou a queda em uma sequência observável.

Medido: a proteção CellUV_P apareceu quando o BMS ainda informava 18% e 10,72 Ah. Naquele registro, o grupo 17 era o extremo inferior. Durante o percurso, o grupo 12 também mostrou afundamento sob carga e se tornou outro ponto prioritário de investigação.

Observado: no fim do ensaio, o grupo 17 chegou à região de tensão mais baixa do conjunto; uma leitura próxima de 2,45 V foi depois conferida diretamente. Os dados justificam investigar os grupos 12 e 17, mas não provam isoladamente que ambos sejam defeituosos.

Ensaio de 18/09/2026, antes dos ajustes. O grupo 17 se afasta dos demais sob solicitação; o gráfico orienta a investigação, não fecha um diagnóstico.

SOC, capacidade e corrente passaram a conversar entre si.

O valor do logger não esteve apenas em gravar números. A cadeia temporal permitiu perguntar quanto de capacidade ainda era indicado, qual corrente circulava, qual grupo atingia o extremo inferior e quando a proteção surgia.

Também separou dois eventos distintos: o BMS ficar indisponível e o Master reiniciar próximo da rotação de arquivos. A coincidência temporal não transforma um evento na causa do outro.

BMS OFFLINE ≠ PANIC DO MASTER

O Slave preservou o último snapshot com age_ms crescente. Isso documenta cache antigo, não novas medições.

Último snapshot válido do ensaio original

SOC0%
PACK75,570 V
CORRENTE+6,470 A
POTÊNCIA+488,937 W
RMCAP0,270 Ah
GRUPO MÍNIMO#17 · 2,806 V
GRUPO MÁXIMO#4 · 3,234 V
DELTA428 mV
MÉDIA3,149 V
GRUPOS24
TEMPERATURAS5
BMSSP24S004L24S120A

Dados para conversar com a equipe chinesa.

Antes, o problema podia ser resumido como “a moto corta antes do esperado” ou “o percentual não parece correto”. Depois, foi possível apresentar SOC, capacidade remanescente, corrente, potência, extremos das células e o instante da proteção.

Os gráficos criaram uma linguagem técnica comum entre a equipe brasileira e os fornecedores chineses. Uma das alternativas discutidas foi reduzir a corrente máxima, agora com dados reais para comparar o efeito.

PRIVACIDADE PRESERVADA

Conversas privadas, nomes, números de série, identificadores do veículo e arquivos brutos não fazem parte desta publicação.

Capacidade de 60 para 48 Ah. Sport de 100 para 72 A.

A capacidade configurada foi reduzida para aproximar SOC e RmCap da energia efetivamente utilizável nesta unidade. O limite do modo Sport também caiu, reduzindo a solicitação instantânea e o afundamento de tensão esperado nos grupos mais fracos.

ITEMANTESAJUSTE TESTADO
CAPACIDADE CONFIGURADA60 Ah48 Ah
LIMITE SPORT100 A72 A
PICO DE DESCARGA≈ 100,28 A≈ 72,34 A
VELOCIDADE MÁXIMA OBSERVADA≈ 106 km/h≈ 88 km/h
FIM DO ENSAIOCellUV_P ainda com 18% / 10,72 Ah0% / 0 Ah sem novo CellUV_P
COMPROMISSO OBSERVADO

Menos corrente e menor desempenho máximo em troca de menor solicitação instantânea da bateria e comportamento mais previsível no fim da descarga. Os 48 Ah pertencem à unidade testada, não são especificação universal das baterias DMS.

Ensaio de 24/09/2026: o pico medido foi de aproximadamente 72,19 A, coerente com o novo limite de 72 A.

0% e 0 Ah sem nova ocorrência de CellUV_P.

24/09 · PICO≈ 72,19 A
25/09 · PICO≈ 72,34 A
PROTEÇÃO REGISTRADA0 ocorrência

Nos dois conjuntos posteriores analisados, o SOC e a capacidade remanescente chegaram a zero sem nova ocorrência de CellUV_P, e a motocicleta ainda permanecia operacional naquele momento.

A velocidade máxima observada caiu de aproximadamente 106 km/h para 88 km/h. A condução pareceu mais suave, mas essa percepção é subjetiva e não demonstra sozinha confiabilidade ou durabilidade.

24/09/2026: comportamento dos grupos após capacidade de 48 Ah e limite de 72 A.
25/09/2026: repetição do ensaio para comparar o comportamento após os ajustes.
RESULTADO PROVISÓRIO

O novo comportamento foi mais coerente nas condições testadas. Um ensaio bem-sucedido não prova que o projeto da bateria esteja definitivamente resolvido.

De sintomas subjetivos a decisões reproduzíveis.

O logger não transformou sozinho a motocicleta em um produto pronto. Ele tornou o comportamento da bateria observável e comparável, criando uma base concreta para ajustes que podem aumentar a previsibilidade e a viabilidade técnica do conjunto.

Com a mesma cadeia de aquisição, uma equipe pode reproduzir falhas, separar bateria, painel e logger, comparar antes e depois e discutir parâmetros com evidência — sem retirar do piloto o painel original durante o ensaio.

O logger também revelou os próprios bugs.

ESPAÇO RECUPERADO≈ 1,72 MiB
DMSLOG2 VÁLIDOS13
PANIC NA ROTAÇÃOcorrelacionado

O LittleFS continha os registros, embora a interface chegasse a listar nenhum arquivo. A recuperação externa preservou treze DMSLOG2 válidos. A exclusão não se comportou como esperado, e o download CSV foi gerado sem o ponto antes da extensão.

O Master apresentou ESP_RST_PANIC perto da rotação de 512 KiB; o Slave avançou os arquivos sequencialmente, enquanto os reboots do Master criaram novos identificadores terminados em 000.

Normalização de caminhos, exclusão, rotação transacional e cache foram corrigidos no código em [Unreleased]. Os testes automatizados passaram, mas a revalidação física dessas correções permanece pendente.

ARQUITETURA COM DOIS ED100VALIDADA
BMS ↔ MASTERVALIDADO
MASTER ↔ SLAVEVALIDADO
SLAVE ↔ PAINELVALIDADO
PAINEL EXIBINDO SOCVALIDADO
LOGGING BINÁRIOVALIDADO EM CAMPO
DOWNLOAD E DECODERVALIDADO
TESTE ORIGINAL EM MOVIMENTOREALIZADO · 18/09/2026
TESTES APÓS OS AJUSTESREALIZADOS · 24 E 25/09/2026
PANIC NA ROTAÇÃOCORRELAÇÃO CONFIRMADA / CAUSA EM INVESTIGAÇÃO
LISTAGEM / EXCLUSÃO / ROTAÇÃOCORRIGIDAS NO CÓDIGO / BANCADA PENDENTE
VALIDAÇÃO DE DURABILIDADEPENDENTE

Revalidar o logger e preparar um perfil para a FY.

Antes de uma nova rodada longa, ainda é necessário reproduzir em bancada rotação, falha de abertura, BMS ausente, cache envelhecido, listagem, download, CSV e exclusão nos dois ED100.

Outra motocicleta, a FY, também usa BMS JBD e apresenta um problema semelhante. A adaptação futura poderá reutilizar aquisição, gateway, RTC, Wi-Fi, LittleFS, DMSLOG2 e decoder, mas ainda exige captura real da comunicação, confirmação de pinagem, velocidade e comandos do painel. O suporte à FY ainda não existe.

Também permanecem desejáveis gráficos sanitizados de SOC/RmCap, pack, potência, temperaturas e age_ms. Eles só serão publicados quando estiverem revisados e não expuserem dados brutos ou identificadores.

Estrutura inicial

A arquitetura com dois ED100, os barramentos separados e o formato de registro começou a ser organizada.

Validação estacionária

BMS, DMS-Link, resposta ao painel e gravação foram verificados com a motocicleta parada.

v0.1.0 pre-release

A primeira versão documentada do firmware foi publicada para preservar o estado testado.

Percurso de aproximadamente 60 km

O ensaio chegou a 0% de carga e revelou perda prolongada de comunicação com o BMS, reinicialização do Master e uma inconsistência na listagem dos logs.

Recuperação e consolidação

Treze DMSLOG2 válidos foram recuperados do LittleFS e os segmentos Master e Slave foram correlacionados.

Ensaios após os ajustes

Com capacidade configurada em 48 Ah e limite Sport de 72 A, dois conjuntos de dados chegaram a 0% e 0 Ah sem nova ocorrência de CellUV_P.

Correções implementadas

Listagem, exclusão, rotação e política de cache foram corrigidas no código; a revalidação física em bancada permanece pendente.

NOTA TÉCNICA

Projeto independente. Os resultados pertencem às unidades e condições testadas e não são documentação oficial dos fabricantes. Ajustes em BMS e bateria exigem conhecimento técnico e validação apropriada.

[ PROJETO ABERTO ]

Capturar, preservar, comparar e então decidir.

O resultado mais importante não foi uma tela cheia de números. Foi uma cadeia de evidências capaz de transformar uma falha percebida em ajustes comparáveis — sem esconder os limites da própria ferramenta.