I'm part of a formula student team. When we go testing we are logging the CAN bus data the car produces to further understand what the car is doing.

We log all the battery cell temperatures/voltages and the current going trough the cells. With this data I want to calculate the resistance as a function of the temperature. In the laboratory this task is easy since you have a constant current going through the cells. With the voltage drop over the cell you can easily calculate the resistance. Unfortunately this is not possible with the logs since the current is always changing.

Voltage of an individual cell

Temperature of an individual cell

Current(green) vs. Accumulator Voltage (blue)

Things I've tried:

  1. Get all the voltages when no current is flowing. Connect this data. Then try to guess a resistance of the cells so the actual voltage and voltage with no current is lining up. This approach while giving decent results neglects the dynamic nature of the cells.

The "ideal" approach:

Creating a bode plot of the current as input and the voltage as output. Then fitting a model of a cell onto that plot. This model has a resistance parameter. Also other parameters like capacitance could be measured this way. Being a frequency analysis, this would show all the dynamic behavior of a cell. Doing this in 30s parts to the whole signal and assigning the parameters to the mean temperature of that period would get the temperature dependence.

Available tools:

  • Python(favored)
  • MATLAB R2018a
  • Any free program/language

Also any suggestions or insights would be great!

Here is the data in pickle format (Python): https://classic.hidrive.com/lnk/rZHA1ahy

Here is the data in MATLAB format: https://classic.hidrive.com/lnk/tdng1sOb (just rename it .mat)

  • 1
    \$\begingroup\$ Also the cell resistance changes depending on the charge state, not only the temperature. \$\endgroup\$ – PlasmaHH Apr 25 '18 at 10:58
  • \$\begingroup\$ Though the data comes from messages send out on a CAN bus, this question is really not about CAN bus (and thus should be retagged) - if the data was recorded by some other means it would make no difference to this question. \$\endgroup\$ – Peter Mortensen Apr 25 '18 at 14:42
  • \$\begingroup\$ If it helps I don‘t mind removing the tag. On the other hand part of the question is about processing the CAN-data, which is different from for example simulation data. \$\endgroup\$ – JulianWgs Apr 25 '18 at 14:46
  • \$\begingroup\$ Resistance as a function of the temperature? Isn't it dependent on the voltage as well (that is, the charge state of the battery)? \$\endgroup\$ – Peter Mortensen Apr 25 '18 at 14:46
  • \$\begingroup\$ What Formula? Formula Student (mixed)? \$\endgroup\$ – Peter Mortensen Apr 25 '18 at 14:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.