Hi @mariuslucianand and everyone,
This is Ozan and I am using MC33771 board with S32K144 and try to develop BMS algorithms with Matlab 2020a and mbdt v4.2.
I want to learn more about the balancing blocks and the logic behind these blocks. I reviewed the help section of these blocks in Matlab but I could not find certain information.
There are three main blocks for balancing; first one is balance disable/enable, second is balance pause and the third is set individual balance. I want to learn more about these blocks and details about following topics;
I hope that the points that I need help are clear.
Thanks in advance.
You're correct, in the FRDM33771BSPIEVB board, the cell balance resistors are connected to the IC CB pins. The value is 39 Ohm.
So, you just have to connect the cells to the board and the activatiion the CB switches inside the IC for a particular cell will turn on the cell balancing operation for this cell through its external resistor.
The detailed schematics of the EVB can be downloaded from nxp.com on the FRDM33771BSPIEVB webpage:
Regarding your question on algorithm for CB, it will greatly depend on the cell chemistry and the amount of computing power that you are willing to put into it. But basically your BMS solftware should be able to determine the SOC for each of the cells based on their accurate cell voltage measurement over time. Based on this SOC estimation, your algorithm should be able to determine the amount of charge (or current over time) to be removed from each cells so that they all align to the least charged cell. This eventually translates into a cell balancing time that you can program inside the IC to get each cell to the desired amount of charge.
Hi @Phil_Perruchoud ,
First of all thanks a lot for the detailed answer and your effort, I learned a lot appreciated.
I forgot to mention in my question but I am using FRDM33771BSPIEVB board with MC33772. My intention was asked these questions based on this board but I only mentioned the BCC IC sorry for that. Could you please add specific information regarding FRDM33771BSPIEVB board to your answers? Especially balancing current and resistor values important for me.
Please correct me if I am wrong, but I understand that there are fixed CB resistors and the balancing current is simply equal to (Cell Voltage)/(CB Resistor) and the current decreases slightly as the voltage level of the cell decreases. We can control the CB by turning on and off the resistor via a switch (Mosfet) but we can only set time and enable/disable CB but can not control the current (except HW updates or PWM)?
Also could you please share more detail about two main algorithm options for CB? How we can calculate the required amount of time that CB should be activated for each cells? It will be great if you could provide an example with cell voltage levels (for example Cell1:3700 mV, Cell2:3600 mV, Cell3: 3650 mV) what will be the balancing current for these cells and what should be the time for these cells?
In last question, I meant the status output of balancing blocks in mbdt. As you know each balance block has a status output (I insert a ss for the block) and there are explanations for faults in help section. What I want to learn is that if we insert two of these blocks for two different cells will their status output will be different or should I check FAULTH 2 register for balancing faults.
Thanks in advance.
Hello @oeren5 ,
I hope this answers the question that you had.