Hello everyone, my name is Francesco Alderisio and I'm an application engineer at
MathWorks. Today I've been joined by my colleague Maurizio Dalbard, Senior
Application Engineer. Today we will show you the methods and techniques
that you can adopt in Simulink to verify validate and test BMS requirements
before deploying the software onto an embedded microprocessor. So let's start
by analyzing the system that we have here. So we have a controller, and then we
have a plant, so let's go into the plant. And here we can recognize three
different components: battery pack, a recharge circuit, and then charger and
load. And here you can see the physical connections between the electrical
components. So let's go into the pre-charge circuit and here you can see
that we have six different switching devices that we need to appropriately
control so that we can avoid undesired spikes between the battery and between
the charger and the load. Let's go back and now let's analyze the battery pack.
So here we have two more components in particular. Here we can see that we have
six different cells connected in series, and then we have also modeled the
thermal behavior by convection. Okay then here we have the cell monitoring unit. So
in particular, here we have other switching devices that we can
appropriately open and close with our controller, so as the balanced state of
charge of the different cells.
Okay so now let's go into the BMS ECU. So here we have four different model
references. So we have different components that do different tasks. In
particular we have a balancing logic to balance the set of charge of the cells.
We have an SOC estimation model to estimate the set of charge of our cells
and then we have here the main component which we will analyze today, which is the
state machine. And here we have implemented a logic in Stateflow. In
particular we have different states that run in parallel, so we have the main
state machine in which we can see that we have a standby mode charging mode a
driving mode and so on. And we also have a fault mode. Then we have a fault
monitoring state, where we can monitor folds on the current faults on a
temperature or folds on the cell voltages. And then we have two more
parallel states where we can actually control the contactors in our model so
that we can avoid spikes. We have one for the inverter and then one for the
charger. Okay so this was a very brief overview of the model. If you want to
have more details on how this was built and more details on the passive
balancing logic please refer to the webinar battery management system
development Simulink where our colleague Javier will walk you through it.
Thank you Francesco for the introduction. Hi everyone, my name is Maurizio Dalbard. I'm in
application engineering at MathWorks. Before starting by seeing in practice
the methods and techniques you can adopt in Simulink to verify, validate, and test, I
would like to give you another view of the Model-Based Design workflow with a
more specific focus on verification and validation in the traditional process. We
start from the requirements that are refined into design specification. And
under is a gap in the process that we have to fill to the end written code.
Using this process, it is difficult to find the errors especially in the
initial design, because we can't simulate and we can just test in the final phase.
Many studies also show that the cost of finding a bug increases over time. In
the Model-Based Design process, Simulink replaces ambiguous designs using
graphical models or executable specifications that have precise
meanings, adding some some information about the software. And the targets will
obtain the model ready for cogeneration so that similar designs can be
automatically converted into code that we can download in our final target. With
the complete Model-Based Design process, you can validate your design here
earlier where errors are cheaper and easier to identify. Simulation
is a great way to validate behavior early but it is mainly among our forces
and largely ad hoc. And to define if all requirements are met and functioning
correctly we need to take a more rigorous approach to systematically test
our model in order to get the complete confidence in the correctness
of our designer using a complete Model-Based Design workflow.
So now adding some verification validation and test activities we have
to do some component and system testing, review and static analysis equivalent
testing, and we run and checked in, for example the motor position workflow is
complete. Step by step we'll touch some of the many techniques we can leverage
in Simulink to get more confidence in the correctness of our designs. This workflow is
a workflow to develop critical embedded software that was
reviewed and approved by the TUV certification authority. And there is
complete documentation describing it included in the IEC Certification Kit
and DO Qualification Kit according to the standards. In this slide you can see
LG, using the Model-Based Design workflow, developed software for a BMS
for a hybrid vehicle achieving the ISO 26262 SLC certification
for AUTOSAR code.