From the models provided from the blockset version of plecs from this link :https://www.plexim.com/support/application-examples/976
How are the CONST I and CONSTV coefficients determined for a certain battery model in the Matlab script?
The provided example has coefficient given as follows:
%% Battery Pack controls
ConstI = 0.15cellNominalDischargeI * n_parallel; % Target Constant charging current
ConstV = 0.95cellFullChargeV * n_series; % Target Constant charging voltage
1 Like
Hello, this depends on what Constant Current and Constant Voltage algorithm you want to implement. This would change from project to project. The example shown here is a very simple example of using nested loops to achieve CVCC regulation. The constant current region was set to 15% of NominalDischargeCurrent (i.e. at a 0.15C rate). Additionally, the terminal voltage increases as the battery is charged (specially near full charge). The CV loop ensures that the terminal voltage doesn’t exceed 95%.
Hi munadir, thanks for answering this question too. That makes sense! I want to ask in the case of discharging the battery model, do you have any idea how to implement it in plecs? cuz that cvcc model they gave is for charging
well this wasn’t the focus of the model and is beyond the scope of the app note. wouldn’t you simply connect it to a converter as the source instead of the sink? Regardless, that is a completely different model which requires it’s own research and development. If you end up implementing such a model, would be very interesting to see it posted here!
Hi munadir ,
I tested the model again with 0.2C data for a 62 Ah battery ; my charge current and soc scopes looked fine however my voltage scope looked pretty weird. I ll attach it below. Please if u have any idea what could be the cause of that let me knw.
Li_ion_RonlyModel_init.m (2.48 KB)
Looks like the polarizing voltage block is causing a huge negative voltage at the beginning. Not sure why but you’ll probably need to look into literature on if this has been a problem with the proposed model in the paper. You could email the authors of the paper that proposes the model since they are really the experts on the implementation. Maybe it is a limitation of the model itself? is there a datasheet for this battery btw?
This battery doesnt have a public datasheet online, but some tests were done on the battery itself and charging and discharging data was acquired to find the parameters. It doesn’t look like theres a problem with the initial battery tested with the model; however, it started from 50% SOC which i dont completely understand why as u can see in the attachement. Do you have any advice for parameter changing in the matlab script? I ve been struggling with the voltage scope now and tried to change several variables and see how it affects the voltage but still cant get it to work as intended.
Hi Munadir,
I was wondering if I contact you by email regarding the model, because I have a few questions to ask.
hello,
as I mentioned earlier, the issue seems related to the basic model rather than the implementation. unfortunately, i’m not an expert on batteries and would recommend that you contact the original authors of the model.
additionally, there might be other models that are better suited for your project. here is one way to implement a battery model:
https://www.plexim.com/support/application-examples/285
maybe this would be a better fit?
hi again,
yea i have read about that model , but it seems harder to implement with the data I have.
I attempted to adjust the original plecs model to work on at 1C rate charge as a cell only not a pack and it worked fine. But for some reason whenever I change the data to mine the voltage just goes crazy and doesnt increase as it should do. I believe this model is the best for my project but I am not sure if the problem is from my data or not.
below are the adjusted plecs model with original data.
second is the my data
Li_ion_RonlyModel.plecs (184 KB)