Clear Filters
Clear Filters

Simscape battery (table_based) for A123 ANR26650M1 charge dynamics params dont work

10 views (last 30 days)
how to reproduce.
  1. create simple simscape model with component Battery (table based) included. name Battery (table based) block "batt" or use openExample('simscapebattery/BatterySOCEstimationExample')
  2. open dialog for batt, and click "select part" find the ANR26650M1 part, and review the parameters in the lower pane. you will see there are RO(SOC,T) and R1(SOC,T), where the latter is the resistance lookup table for the first RC circuit resistor component. tau1(SOC,T) pairs with R1 to complete the params for the first RC circuit. if you care, you can see right here that the dimensions of R1 and tau1 do not match thta of R0, but you can skip the manual effort
  3. check the "override datasheet value" checkbox for R1 and tau1.
  4. click apply all in the top left
  5. go bakc to batt params, and in "Dynamics" find "charge dynamics", and select "one time-constant dynamics" from the drop down. you should see the R1 and tau1 params that you saw in step 2 above.
  6. close the batt dialog.
  7. try to run a simulation, you should get the error below.
['model/batt']: Size of First polarization resistance, R1(SOC,T) must be equal to length of Vector of state-of-charge values, SOC by length of Vector of temperatures, T.
so my questions are:
  1. what did i do wring or what am i misunderstanding?
  2. does the pre-characterized A123 ANR26650M1 part actually have usable values for charge dynamics? if so, how do i access them?
  3. why does the pre-charactered part have values for R1 and tau1, but they are the wrong dimension? shouldn't there just params of the correct shape, or no params at all? were the basic param dimension updated at one point, and the charge dynamics params overlooked?
  4. is there a way to use the "reduced" dimension R1 and tau1 values with different length SOC and T vectors?
  5. same questions for all the params of the 2nd, ...5th charge dynamics RC circuits.

Accepted Answer

Joel Van Sickel
Joel Van Sickel on 27 Mar 2024
Hello Albert,
unfortunately, the charge dynamics for that part are not included in it's preparamaterized model, so all that is happening is your block is using the default values before a part was selected. The UI is not that clear on this, as I was equally confused, but when you see the "not set" on a parameter, that means it doesn't have data for it from the data sheet or pre-paramaterized part, and instead will just use the existing values in the block. Checking the blox to overwite unfortunately doesn't do anything since there is no useful data from the data sheet to overwrite your existing values with.
Getting these values is unfortunatley non-trivial when they aren't included in the data sheet. You can always perform your own pulsed discharge test to extract them (time consuming and easy to do wrong if you don't control temperature well), search online to see if there is any publicly available data on these dynamics for this part, or reach out to the manufacturer and see if they will share more details than what are on the publicly available data sheet.

More Answers (0)


Find more on Energy Storage in Help Center and File Exchange




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!