2025-04-21 1:33 AM - last edited on 2025-04-22 1:29 AM by Peter BENSCH
Hello,
I want to see basic SOC & SOH values via CAN to PCAN using aek-pow-bmslv. Is there any way to do this?
2025-05-28 9:19 AM
Hi,
Yes, it is possible to extend the CAN messages to send SoC and SoH just by defining dedicate functions in the function below.
As the code does not include SoC and SoH calculation, you should add the calculation routine based on voltage, current and temperatures read from the cells.
Best Regards,
AutoDevKit Team
----
void AEK_POW_BMSLV_can_send_all(void){
AEK_POW_BMSLV_l9963e_can_current(L9963E_CURRENT_ID);
AEK_POW_BMSLV_l9963e_can_vcell_01_04(L9963E_VOLTAGE_01_04_ID);
AEK_POW_BMSLV_l9963e_can_vcell_05_08(L9963E_VOLTAGE_05_08_ID);
AEK_POW_BMSLV_l9963e_can_vcell_09_12(L9963E_VOLTAGE_09_12_ID);
AEK_POW_BMSLV_l9963e_can_vcell_12_14(L9963E_VOLTAGE_13_14_ID);
AEK_POW_BMSLV_l9963e_can_tcell_01_04(L9963E_TCELL_01_04_ID);
AEK_POW_BMSLV_l9963e_can_tcbal_01_02(L9963E_TBAL_01_02_ID);
AEK_POW_BMSLV_l9963e_can_gpio_03_05(L9963E_GPIO_03_05_ID);
AEK_POW_BMSLV_l9963e_can_gpio_06_09(L9963E_GPIO_06_09_ID);
AEK_POW_BMSLV_can_adc_supply(ADC_SUPPLY_ID);
AEK_POW_BMSLV_can_adc_temp(ADC_TCELL_05_08_ID);
AEK_POW_BMSLV_can_adc_voltage(ADC_VOLTAGE_ID);
AEK_POW_BMSLV_can_hsd_diag(DEV_VNQ7050_DIAG_ID);
AEK_POW_BMSLV_can_hsd_current(DEV_VNQ7050_DATA_mA_ID);
AEK_POW_BMSLV_can_hsd_voltage(DEV_VNQ7050_DATA_mV_ID);
AEK_POW_BMSLV_can_sbc_sr1_sr2(SPSB100_SR1_SR2_ID);
AEK_POW_BMSLV_can_sbc_sr3_sr4(SPSB100_SR3_SR4_ID);
AEK_POW_BMSLV_can_sbc_sr5_sr6(SPSB100_SR5_SR6_ID);
AEK_POW_BMSLV_can_sbc_sr7_sr8(SPSB100_SR7_SR8_ID);
AEK_POW_BMSLV_can_send_timer(TIMER_DATA_ID);
}
2025-07-01 7:47 AM
so, if i put this on the main, i am able to read the SOC and SOH?
2025-07-01 8:40 AM
Hi,
The answer is NO.
As clearly said in the below post:
"the code does not include SoC and SoH calculation"
Best Regards,
AutoDevKit Team
2025-07-02 1:16 AM
there is an example? or someone just did this?
2025-07-02 3:42 AM
Hi,
Yes the example is present in the DEMO BMS_CHAIN inside AutoDevKit.
The employed Model (extended Kalman Filter) strongly depends on battery data that need to be extracted for each type of cell and even cell lot. For our example we use only a specific battery model compatible for our AEK-POW-BMSHOLD.
Obviously code should be readapted for the BMSLV case.
Best Regards,
AutoDevKit Team
2025-07-02 4:39 AM - edited 2025-07-03 12:20 AM
so in my case i use 4 cells and i have a battery holder different. it works or i have to buy your battery holder? I have this
which one of this demo i have to pick up for SOC/SOH on AEK-POW-BMSLV?
Cause the demo for this board hasn't this operation
2025-07-03 1:05 AM
where i have to connect the positive of battery pack? cause the negative is J5 pin 7
2025-07-03 10:44 AM
Hi,
No, our battery holder does not work with 4 cells, so keep yours. What is key is that you follow the correct IC wiring specified in the user manual on st.com or the system will not work.
I am not sure about your cell characteristics, if they are different from the one used in our model, the resulting SoC estimation might be poor.
The extended Kalman filter used for the calculation can be found in standard Matlab toolbox.
Our implementation can be extracted from Single_access_CHAIN_GUI demo.
Please understand that we cannot follow all single steps of a project in here. Community is for key points clarification not for step-by-step development consultancy.
Best Regards,
AutoDevKit Team
2025-07-07 1:13 AM
okk thank you, what NTC I have to buy for SOC/SOH calculation and how much? Cause the datasheet says that there are 8 Channels for NTC: 4 for L9963e and 4 for the uM.
I have to populate everyone?