Isolated high voltage & isolated current shunt based on ADS1115

Rubén,

I see that your Pylon hv code differs from Prasse’s as included in Stuart’s diyBMS software.
You use different addresses like 0x42A0.
Have you tested your software with Pylon hv, and is it working fine?

Hello, yes it works fine.
The code has been working with my inverter for three years. The first year and a half with an interface that I made with an esp32, emulating pylontech hv, to communicate the inverter and a JKBMS with 24 cells. Then move to the current diyBms system and increase to 36 cells.
My inverter works with 11bit CAN message IDs, instead of 29bit.
I attach documentation with the pylon hv protocol.
CAN-Bus-Protocol-Sermatec-high-voltage-V1.1810kW.pdf (846.8 KB)

Ruben,

I have my battery pack almost ready.
On the diagram you have on Github I do not see a Charge resistor.
Do you not use that?
When testing Stuart’s software I found that no more than 127 modules can be used within 1 bank.
My installation has 128 cells within 1 bank.
According to Stuart this should be possible but unfortunately it does not work.

Leodien

Hi Leodien,

My inverter has a pre-charge system, so the battery doesn’t need it.

By modifying line 23 of the “defines.h” file, you can increase the number of cells_modules.

Rubén.

Ruben,

Thank you.
Line 23 in defines.h has already been adjusted, that is not the problem.
Somewhere in the code the number of modules within a bank is limited to max127.
With a higher number of modules than 127 in 1 bank it goes wrong.
Given the number 127 you would think of a declaration of a variable.
A challenge :slight_smile:

Leodien,

What’s wrong?
Is the communication between the modules working correctly?
Do you have the controller log?

Rubén,

I have a battery with 128 cells in series.
This means 128 cells in a bank.
When I set this in the Espcontroller (1 bank with 128 cells) it indicates a voltage that is too high and reports that it is waiting for the module.
If I do the same with 127 modules it runs fine.
If I divide it into 2 banks with 64 cells each it also works fine.
So the parameter “maximum_controller_cell_modules” does not cause any problems.

Where can I find the log?

Leodien

Leodin,

The module-controller communication works.
Configured with 127 modules, a message should appear indicating that 128 have been found.
The message that no modules are found puzzles me, since communication works.
The controller sends log messages through the serial/USB port. Connect it to Platformio or Putty.

You can try cleaning the project in Platformio and compiling it again. Sometimes, after a lot of code modification, it fixes the bugs.

Rubén.