A public repository for BMS algorithms for a NUCLEO BOARD.

Dependencies:   mbed

Hi Everyone!

Welcome to this repository from Howey's Research Group at the University of Oxford.

The code published here incorporates BMS algorithms for diagnosis functions such as SOC, SOH and Power estimation on a Kokam 53Ah Li-ion battery. This code was designed to work with a NUCLEO F401-RE board and to be tested with a dSPACE HIL Simulator. A short guide on how the set up works is available at https://bitbucket.org/ff95/bms .

The code is made up of three key parts. "Headers" and "Source" folders and the "main.cpp" file. As the code was generated by converting a Simulink model ( available on the BitBucket page), the headers and source code files generated by the conversion are in the corresponding "Headers" and "Source" folders. The "main.cpp" file sets up the ADC, the USB data transmission and starts the estimation (once a character "y" has been received by the computer it is connected to). It also transmits the data from the estimation via USB. Explanation on how to set up the communication with the board is available at BitBucket webpage, from where a MATLAB file can be downloaded which allows real time communication.

For any questions you can contact the author at federicomariaferrari@gmail.com .

The Simulink and Matlab files, together with a short guide, are all available at: https://bitbucket.org/ff95/bms.

Thanks for trying this out!

Federico

Committer:
fmferrari
Date:
Thu Jul 13 10:50:13 2017 +0000
Revision:
23:447ef1071e49
Parent:
8:339dd9885af3
A working version of the code needed to run an mbed micro controller.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fmferrari 8:339dd9885af3 1 //
fmferrari 8:339dd9885af3 2 // Academic License - for use in teaching, academic research, and meeting
fmferrari 8:339dd9885af3 3 // course requirements at degree granting institutions only. Not for
fmferrari 8:339dd9885af3 4 // government, commercial, or other organizational use.
fmferrari 8:339dd9885af3 5 //
fmferrari 8:339dd9885af3 6 // File: rtGetNaN.h
fmferrari 8:339dd9885af3 7 //
fmferrari 8:339dd9885af3 8 // Code generated for Simulink model 'EKF'.
fmferrari 8:339dd9885af3 9 //
fmferrari 8:339dd9885af3 10 // Model version : 1.6
fmferrari 8:339dd9885af3 11 // Simulink Coder version : 8.11 (R2016b) 25-Aug-2016
fmferrari 8:339dd9885af3 12 // C/C++ source code generated on : Thu Dec 8 19:03:07 2016
fmferrari 8:339dd9885af3 13 //
fmferrari 8:339dd9885af3 14 // Target selection: ert.tlc
fmferrari 8:339dd9885af3 15 // Embedded hardware selection: STMicroelectronics->ST10/Super10
fmferrari 8:339dd9885af3 16 // Code generation objectives: Unspecified
fmferrari 8:339dd9885af3 17 // Validation result: Not run
fmferrari 8:339dd9885af3 18 //
fmferrari 8:339dd9885af3 19
fmferrari 8:339dd9885af3 20 #ifndef RTW_HEADER_rtGetNaN_h_
fmferrari 8:339dd9885af3 21 #define RTW_HEADER_rtGetNaN_h_
fmferrari 8:339dd9885af3 22 #include <stddef.h>
fmferrari 8:339dd9885af3 23 #include "rtwtypes.h"
fmferrari 8:339dd9885af3 24 #include "rt_nonfinite.h"
fmferrari 8:339dd9885af3 25 #ifdef __cplusplus
fmferrari 8:339dd9885af3 26
fmferrari 8:339dd9885af3 27 extern "C" {
fmferrari 8:339dd9885af3 28
fmferrari 8:339dd9885af3 29 #endif
fmferrari 8:339dd9885af3 30
fmferrari 8:339dd9885af3 31 extern real_T rtGetNaN(void);
fmferrari 8:339dd9885af3 32 extern real32_T rtGetNaNF(void);
fmferrari 8:339dd9885af3 33
fmferrari 8:339dd9885af3 34 #ifdef __cplusplus
fmferrari 8:339dd9885af3 35
fmferrari 8:339dd9885af3 36 } // extern "C"
fmferrari 8:339dd9885af3 37 #endif
fmferrari 8:339dd9885af3 38 #endif // RTW_HEADER_rtGetNaN_h_
fmferrari 8:339dd9885af3 39
fmferrari 8:339dd9885af3 40 //
fmferrari 8:339dd9885af3 41 // File trailer for generated code.
fmferrari 8:339dd9885af3 42 //
fmferrari 8:339dd9885af3 43 // [EOF]
fmferrari 8:339dd9885af3 44 //