DIYBMS v4

this one is the one i have on my test bench:
DIYBMS CONTROLLER V4.2, 9.APR.2021
it is the one with the two switches on the right lower corner

the one on order, is the latest.

Ok, I didnā€™t actually release a V4.2 with two switches on the corner, that was a prototype, but if its working for you :slight_smile:

1 Like

Well, no it does not, at least not the CAN interface with Cerbo.
I got it from another guy that had some spare, did not explicitly ask for this version.

Unexpected quick delivery of the boards!

Soldered all required parts (D8, C3, C4 and the throughhole parts), programmed and connected.
CAN-Bus works now.

the only strange reading is the AMP of the shunt. Have to doublecheck that.

New question.
Did anyone try to connect 3 controller boards to the Victron Cerbo?
Can i just connect the parallel, and just close the JP1 on the last board?

I doubt that would work. Does victron support multiple battery packs? I didnā€™t see any reference to that in the documentation.

I guess i have to try.

@stuart
is it possible to set a static ip adress to the bms?

This is best done within your router, you can capture the MAC address and assign it a fixed IP usually in the router configuration.

Hi all, I need a bit of help diagnosing an issue with my new ESP32 Controller. I have had to modify the code and recompile in PlatformIO because the TCA9534A chips are fakes with the wrong address. I also had to hand solder the TCA6408A in place (Iā€™m pretty sure this is the correct chip, its marked PH408A 87k04 AHFH.

When trying to run the ESP32BoardTest I get flashing Red/Blue, which suggests an SD Card issue. The SD card slot is facing inwards so you have to insert the SD card from the side of the ESP32 pushing the SD card out towards the edge of the board to seat it.

This is the error I get from the serial monitor:
[W][sd_diskio.cpp:175] sdCommand(): crc error
[E][sd_diskio.cpp:775] sdcard_mount(): f_mount failed: (13) There is no valid FAT volume
[E][main.cpp:345] mountSDCard(): Card Mount Failed

This is a different error from when there is no SD card mounted.

The card is a 64GB Sandisk Ultra

Could the issue be that this is an SDXC card, which is formatted as ExFAT rather than FAT32?

OK, yes this was the issue. I have now found a way of formatting it to FAT32 using Guiformat.

If itā€™s the PCB from the master branch, you have to slide the SD card metal clip open. I think you are forcing the card into the holder!!

Smaller cards are better, anything over 2gb is probably overkill.

Thanks oops! Itā€™s working now that itā€™s formatted FAT32 (I donā€™t any other cards at home).

Next issue is that the relays are quite working properly. The serial tests all pass, and the yellow LEDS by the relays light up, but they arenā€™t clicking. Also only RE3 is changing continuity, RE4 remains open circuit.

Edit: The mechanical relays are incorrect, somehow bought 12v rather than 5v. Still not sure why RE4 isnā€™t working as expected.

Edit2: RE4 issue resolved, it was a dry solder joint from JLPCB, quick reflow with the soldering iron and the solid state relays are working.

So the outstanding issue is the TFT screen, the green light on the RGB led is flashing, unless the TFT is plugged in then the RGB led doesnā€™t flash at all after the blue serial test flashes. The TFT screen doesnā€™t turn on at all.

Edit3: Solved it, this time the issue was poor soldering by me on the TCA5934

Well sorry that I seem to be spamming this thread, I am working hard to try and solve the problems myself. So I have another issue or two to sort out:
The touchscreen was unresponsive on the controller test, the pressure figure stayed at 4095 and the x and y figures didnā€™t change unless I ran my fingers over the pins of the screen. This isnā€™t a major deal breaker as Iā€™m not fussed about the screen particularly (but it would be nice to get it working).

More importantly can someone run through the steps of correctly compiling the main controller software and file system in Platform IO, I canā€™t just use the compiled bin in Github, because Iā€™ve had to change the i2c address of the TCA9534A.

Thanks in advance for the help.

Verify that your TFT supports touch, Iā€™ve ordered a few on AliExpress and most of them came in without the touch IC which causes the controller to not detect the TFT (since it reads from the touch IC).

  1. Download the Controller code (git clone is best).
  2. Install PlatformIO (I use the command line version on Linux, for Windows Iā€™d suggest use VSCode with the plugin).
  3. Modify the code as you need for your alternative address.
  4. Modify platformio.ini to configure upload_port and monitor_port to match your environment.
  5. Run the ā€œUploadā€ target (pio run -t upload) to upload the controller code.
  6. Run the ā€œUpload Filesystemā€ target (pio run -t uploadfs) to upload the filesystem image.
  7. Run the ā€œMonitorā€ target (pio run -t monitor) to monitor startup and ensure that the controller starts correctly.

Thanks for taking the time to explain. Spot on about the Screens, I hadnā€™t even realised my mistake when ordering them.

Iā€™m using windows and didnā€™t have the pio commands set up in terminal, but it was easy enough to google it and find the GUI instructions for uploading the file system and as far as I can tell it works! I need to finish the modules now and build the battery to test it all.

Thanks again, this really is a fantastic community.

1 Like

2 posts were split to a new topic: Victron Integration - feedback

i stuart and guys

Very good job.
An analogue port receive rs232 data.

I didnā€™t see it in the kicad schematics.
all are connected
no?
Connect mppt controller votronic.

tks

At the moment it is very difficult to find the TCA9534A in any electronic shop, therefore I used the PCA9534. The only problem that I realised later is, that the address of the PCA9534 (0100) is different to the TCA9534A (0111). I think to make the software running it is necessary to change TCA9534APWR_ADDRESS to 0x20. Any suggestions if this makes sense?