Dear @mariuslucianand
I have a question regarding the balancing blockset from the Simulink MBDT. I am currently testing to enable the balancing features for the actual 14 battery cell setup using MC33771TPL.
I can monitor the 14 cells using daisy chain configuration. Note that, I was replacing the actual 14- battery cells instead of 14 battery emulator.
I am intentionally to replace the "Cellvoltage[7]" and "Cellvoltage[8]" to be a low voltage cell at (3.99V) and let another 12 cell to be high voltage around 4.06. In order to further investigate whether the balancing blocksets can perform the balancing function or not.
The first method that I tried to configure is using the BC set individual MBDT block. I was using the Freemaster to check whether the configure status of PTD16 LED GREEN is ON and CB_ONOFF= 0. which the BCC status - no error and configure properly.
Second method, I was trying to use MC3377XB Cell balancing MBDT and selected the CB:"enable". However, config result showed CB_ONOFFMAIN = 0 and no error which supposed to be working. But I tested the FRDM33771TPL EVK for more than 5 or 8 hours+, all the battery cell still cannot be performed the cell balancing. So far, only BC set individual can working properly. I was wondering what's the setting can be
I am curious that if I have 14 cells setup. Do I need to place the multiple 14 set of BC individual MBDT set to balance 14 cells? How was the timer settings, are they allow trigger at the same times?
Can you provide a support for this question? Thanks Marius.
Solved! Go to Solution.
Hello @NPXLONG,
MBDT provides three blocks related to the Cell Balancing process. I will try to explain their functionality based on which bits are set or cleared inside the MC3377xB peripheral. A good idea would be to get the full datasheet you can find here MC33771B Full DataSheet
For pausing the balancing switches when a measurement is performed, there is a second option: CB_AUTO_PAUSE. This will automatically pause the balancing switches when a measurement is performed. This option is already enabled in the MBDT configuration.
Last but not least, I would like to explain a bit how to change the initial configuration that is sent during the initialization to the BCC. This configuration enables the CB_AUTO_PAUSE bit of the MC33771B. Even if this default configuration is not visible in the BCC Config block, you can change it to the one that suits your application. For that, you have to edit the file bcc_initial_configuration.h available on the mbdtbx_s32k\src\BCC_SDK_SW\SDK_SW_Driver\bcc_s32k location. This file is copied every time you press the code generation button so you need to change it only once. (Please backup this file first!). If you want to disable the CB_AUTO_PAUSE, simply replace it with BCC_CB_AUTO_PAUSE_DISABLED.
Hope this helps,
Marius
Hello @NPXLONG,
MBDT provides three blocks related to the Cell Balancing process. I will try to explain their functionality based on which bits are set or cleared inside the MC3377xB peripheral. A good idea would be to get the full datasheet you can find here MC33771B Full DataSheet
For pausing the balancing switches when a measurement is performed, there is a second option: CB_AUTO_PAUSE. This will automatically pause the balancing switches when a measurement is performed. This option is already enabled in the MBDT configuration.
Last but not least, I would like to explain a bit how to change the initial configuration that is sent during the initialization to the BCC. This configuration enables the CB_AUTO_PAUSE bit of the MC33771B. Even if this default configuration is not visible in the BCC Config block, you can change it to the one that suits your application. For that, you have to edit the file bcc_initial_configuration.h available on the mbdtbx_s32k\src\BCC_SDK_SW\SDK_SW_Driver\bcc_s32k location. This file is copied every time you press the code generation button so you need to change it only once. (Please backup this file first!). If you want to disable the CB_AUTO_PAUSE, simply replace it with BCC_CB_AUTO_PAUSE_DISABLED.
Hope this helps,
Marius
Hi Marius,
Thanks for your details explanation and providing the good approach how to enhance the BMS during the balancing and monitoring the cell performances.
1. Yes, now I understand the BC individual set is based on the switch on/off action to ensure the desired balancing voltage is satisfied. I have a concept in my mind now. Thanks for this advise.
2. I would like to double confirm regarding the timer. If the timer set "0" and the enable is set "true". so the balancing switch is activated for 30 sec. However, if the enable still hold on "true" state so that the next cycle will keep on running for 30sec? Unless, I set the disable to false state then the balancing switch only will be deactivated after 30 sec right? just want to confirm this statement
3. The initialization of the BCC configuration, I will need to try it out after I done the above testing and will come back to you again if I have any question.
Thanks for your great support. Marius.
Hi Marius,
1. Update some of the progress. I tried the BC set individual can make the particular cell to follow the lower value of cell voltage. so BC blockset working properly as expected. But this blockset cannot control the balancing set point which may caused the particular set cell voltage over drop.
I saw there's a MBDT blockset called "Balancing pause/unpause", I was thinking that the pause/unpause action is required using an additional custom code with condition loop to decide the balancing action. In this case, I need to calculate the delta cellvoltage and trigger them when the balancing voltage reach the set point then only active the "balancing pause" MBDT.
2. I have a question regarding the timer set for the BC individual blockset. "Zero value" represent the 30 seconds. May you explain more in details how does this timer works or are they enable after 30 seconds to balance or any other meaning of that
Thanks.
Regards,
Hello @NPXLONG ,
Let's take them point by point:
1. The balancing process is not performed automatically by the MC33771B. You can only turn the switches on or off. Only your algorithm decides when to open the switches. Typically you set a time for which the switches to be on. I've explained in the previous response. The balancing pause/unpause will only suspend the switches states while you perform a voltage measurement. But the timer set on each cell is still running. It is not recommended to perform any cell measurement when cell balancing switches
are activated.
2.I think I've already explained that in my previous response. By balancing for 30 seconds, the cell is connected to the balancing resistor, which on the EVB is 39Ohms, for 30 seconds.
Hope this helps,
Marius
Hi Marius,
Thanks for your details explanation and providing the good approach how to enhance the BMS during the balancing and monitoring the cell performances.
1. Yes, now I understand the BC individual set is based on the switch on/off action to ensure the desired balancing voltage is satisfied. I have a concept in my mind now. Thanks for this advise.
2. I would like to double confirm regarding the timer. If the timer set "0" and the enable is set "true". so the balancing switch is activated for 30 sec. However, if the enable still hold on "true" state so that the next cycle will keep on running for 30sec? Unless, I set the disable to false state then the balancing switch only will be deactivated after 30 sec right? just want to confirm this statement
3. The initialization of the BCC configuration, I will need to try it out after I done the above testing and will come back to you again if I have any question.
Thanks for your great support. Marius.