DIYBMS v4

@Jon_Coop,

You asked a few days ago for other parts needed.

I’m not an expert but you do need high and low voltage disconnect.
Low Amperage installation can get away with mosfets (aka solid-state relays) higher (+50A) are better off to use contactors.

As I have an hybrid, MPPT and inverter in one, there is not a separate line to the battery for charge and discharge.

I use small contactor to stop the charge at the solar panels connection.

I use AC contactor for discharge

And a larger one to disconnect the battery when needed in absolute emergency.

All bought from AliExpress.

I also have a smoke detector that have relay.(+alarm) that triggers the jumper on the controler board.

@stuart, please help me locate it again.
I thought it was J2

That is 3 of the 4 relays used on the relay board at the controller.

I use the 4th for fans, if the cells (or cell PCB’s) ever get too hot.

That’s about it.

You need to control your power into the battery array for too high cell voltage.
You need to control your power out of the battery array for too low cell voltage.

The rest is (a welcome) extra.

For the wemos, both standard “pro D1”(8mb) and clone (4mb) works with the software from Stuart.
If you can buy the pro, better to have enough space on the wemos if future software upgrade would need it.

4
Hi stuart
On the firmware with hysteresis (although the wizard is the same), the settings logic is not clear. Relay default - It is logical to assume what state to keep the relay in before any logic rule is triggered (if enabled, then it is logical that the level is high and vice versa).
Pack over voltage (mV) - It is logical to assume that when the enable value is reached, switch the output to the state indicated in the corresponding field opposite and vice versa.
However, in practice, everything works the other way around.

@stuart What is the maximum voltage we can monitor?

Most relays have NO/NC wiring option are you sure you didn’t wire NC ?

To add to @rolfbartels question to you, “Normal” refers to the state of the relay contacts with no voltage applied to the coil.

That is not the same as the logic output, because it depends on how the coil is driven by the logic. A coil that is wired between the power rail and the logic output will be energised when the logic is LOW, and the NO contact will be closed. If the coil is wired between the logic output and ground, it will be energised when the logic is HIGH, and the NO contact will again be closed.

I see some confusion. In your image, On and On doesn’t necessarily mean ‘On’.
If this pack over voltage becomes True: then do this.
On means change the default relay state, not the relay is now on. If On means On, then there is no need for the default relay section.

The relay “ON” state the BMS refers to is the energizing of the relay. As others have said, if you use the “NC” connections then this will be inverted.

The BMS supports up to 64 modules so over 250V DC - however I really don’t recommend that, it was designed for 48V usage.

Each module can only measure up to 4.4V - normal range for a lithium cell.

So I will need to make a hardware modification on the modules to support 6.5v?

What type of cells operate at 6.5v?

The diybms isn’t suitable for this voltage, the modules use attiny chips which are only rated to 5v max.

What the parameter is responsible for - Relay default? In my understanding, what state should the relay be in by default? I understand correctly that if I switch this parameter to on, then the logic output will be 1, if I turn it off, then 0? (Other parameters are disabled)

5 posts were merged into an existing topic: NiMH cell/packs

Suggestion:
A controller code version number somewhere on the web page.

@Fred7421 would you mind requesting this feature over on GITHUB ? Issues · stuartpittaway/diyBMSv4Code · GitHub

Correct. The “default” rule is the starting position of the relay when the BMS is powered up (after the code has started running). On=1=Energised, Off=0=Not Energised.

Wow. Maybe that’s the problem? I expect the output to change immediately after the setting is changed, and you say that only after a restart.
Or I misunderstood and this does not affect the level of the logical output?

You misunderstood, what I mean is when you first power on the controller the relays will be in an unknown state, after a few seconds the code will start and set the relays to the “default” state.

Once the code has then stabilised and read the modules it will run and process the rules, and then apply the relay state as the rules determine.

When changing the “Relay default” settings from off to on - should the state of the logic output to BMS change?

Yes, it should, as long as another rule is not over riding it. Perhaps this is a bug with the new rules code?

The last clarification. Should the change in the output be instant or only after a restart?