84 diybms modules - not working as expected

Ok Stuart,

is that file that i should use? Is already compiled?:

image

Yes that one. Already compiled for you

It looks promising! Later when I get back home I’ll send more screenshots like these:





That’s looking better. Let me know how you get on.

Stuart,
The read and sequence of blinks of all modules now seems to me much more consistent and even faster to move to the next group of 16. The update of the last 4 modules (and all of them!) is already perfect.

The “Send Q length” varies between 7, 8, 15, 4, 2, 25 and one time was 30. The packets sent and received seems normal too.

Even sending via MQTT now seems more consistent to me, each value is updated every 55 seconds of interval consistently. ( ## it was good if you could increase the MQTT refresh rate… ##). Before there were exposiadic failures (much more than 55s) .

Stuart, thank you so much for your work, it’s priceless. If it is necessary to carry out some experiment or test on my side, just say.
Regards,
SF




Thats good news!

Let it run for a couple more days before I class this one as solved.

The MQTT has two sections

mqtt1 outputs every 5 seconds - voltage, temperature +other info but only for 8 cells at a time, to avoid overloading the ESP. - so to output the whole 84 cells would take 52.5 seconds.

mqtt2 outputs every 25 seconds - uptime, error counts, round trips etc.

Ok Stuart, perfect!

I will report how things go in 2 or 3 days.

Thanks again!
Sérgio

Hi @SergioF - how has the system behaved since the upgrade?

Good morning Stuart!

I think it has done well in my opinion. I have some automations that turn off the power supply where I have diybms, as well as the inverter controller, which causes the system to reset. But these are the data recorded immediately before the power cut:

12/20/2021:
uptime - 48h
oos - 88
badcrc - 20
commserr - 0
sent - 263394
received - 263294

12/21/2021:
uptime - 24h
oos - 38
badcrc - 5
commserr - 0
sent - 131566
received - 131326

What do you think of these values? Too high or are normal?

That looks much better, sounds like a successful fix to me.

Lets leave it to run for a few more days, and then I’ll merge the changes into the master code branch for others to use.

1 Like

I Stuart,

Just so you know, it’s been working for 7 days without interruptions and it’s still working great!

I see that you put this correction in the master. Thank you very much!

Sérgio Fernandes

1 Like

Fantastic, thanks for testing.

I think this is the right thread for me now :wink:

My setup is 5x 14s 80p

I have just updated to the latest controller firmware. Firmware on modules is from December 2021…

I am seeing an issue with module 13 out of my first 14S bank. When I try to calibrate this specific module, it doesn’t accept calibration. Save is shown but value is still the old one.
When i look on the modules tab, I can see that up to module 12 there are no bad packets and with module 13 bad packets arise.

I have replaced the specific module and the one before and after… no success… by replacing modules connection cables are replaced aswell, though it should not be an issue with cabling in that area.

any ideas?

when I reboot the controller, first 16 modules take very very long to show up, where as all others are already on the screen.diybms.pdf (128.8 KB)

Hi @Emir0815

Do you see some cell modules from time to time flashing fast with blue LED, like they are in the “stand alone” mode without a connection to the Controller board, even though they are connected to the controller board?

Yes, I do see them flasing in between

here an update of gui
diybms2.pdf (439.8 KB)

We have discussed it in the main topic not long ago. Based on Stuarts and other forum members advices I have made small change in the code and it has helped me. I do not know if Stuart has already implemented it in the master project, but that change has helped me much and now the system runs perfectly fine

Ok, lets wait what stuart says…

Thx

Hi, you have massively high CRC and OOS error counts (ideally they should always be zero).

The CRC errors are a concern as this is corruption on/in the data via the wires etc.

Assume you are using the 9600 comms speed?

As you say, it look like modules 0-12 are working as expected, but then something really weird happens between 12 and 13. If you have already swapped the module and the cables, I’m not sure what else to suggest.

Perhaps try reflashing the code on that module, especially if it won’t take a config change.

Extra weired thing: I was able to calibrate Module 13 (14S) after 10 or 15 attempts and it showed correct voltage then. After two days it now shows 500mV less again… it “decalibrates” ;-)…

Yes, I use 9600 comms speed. As said I have totally replaced modules in this ware with new cables as well.

I am considering using a second controller and split up the string in order to get this topic under control.

Can I use two controllers in parallel with CAN-bus talking to one single Victron Cerbo?

thx
Karl

No, unfortunately not, its not a situation either Victron or diybms supports.

The changes @SergioF made reduced the delay between message requests from the controller to the modules. I’ve not implemented that at the moment, but it might be worth trying that change as well.