Code examples

This section sums up all the code examples for the BoomBox control platform. Each example is relying on a classic power electronic application in order to introduce good coding practices with the BoomBox control platform.

Boost converter for solar applications with MPPT

boost_schematic

Tutorial n°1 C/C++ project

This tutorial presents a simple DC/DC converter interfacing a low voltage PV panel to a DC bus. The objective is to extract the maximum available power using an MPPT algorithm. This tutorial addresses:

  • Configuration of the analog inputs
  • Configuration of the sampling
  • Basic use of the command-line interface
  • Implementation of a PI-based control
  • Single-phase inverter with Fictive Axis Emulation (FAE)

    Application schematic

    Tutorial n°2 C/C++ project

    This tutorial presents an example of a relatively complex control scheme as to illustrate how the BoomBox libraries can help with the implementation of control code. The tutorial addresses:

  • Use of the libraries (routines, PLLs, etc.)
  • Implementation of a basic state machine
  • Three-phase grid-tied solar inverter

    Scheme

    Tutorial n°3 C/C++ project

    This tutorial presents the control of a 3-phase solar inverter in dq reference frame. It is similar to tutorial n°2, but involves a 3-phase implementation as well as an MPPT tracking on two PV strings. It addresses:

  • Use of the libraries
  • Implementation of a basic state machine
  • Five-level NPC converter

    Application schematic

    Tutorial n°4 C/C++ project

    This tutorial shows the control implementation of a five-level NPC converter and its operation in open-loop mode. Besides, the following topics are addressed:

  • Implementation of a multi-level modulation
  • Use of the analog outputs
  • Three-phase grid-tied solar inverter

    Scheme

    Tutorial n°5 Simulink-based project

    This tutorial is similar to tutorial #3, except that it presents a control implementation using Simulink. This development environment allows for both simulation and Automated Code Generation (ACG) modes. It addresses:

  • Use of the BoomBox Simulink blockset
  • Automated generation of code
  • Comparison of simulation and HIL results
  • Modular Multilevel Converter control with multiple BoomBox units

    3-phase Multilevel Modular Converter schematic

    Tutorial n°6 Simulink-based project

    This example shows the essential elements of a possible control implementation for a three-phase nine-level Modular Multilevel Converter with 24 submodules. The control is meant to be implemented using 3 BoomBox units, using the automated code generation process (ACG).
    The selected control approach is one of the simplest possible full closed-loop control scheme. The related Simulink files can be simultaneously used for simulation and automated code generation purposes. This example shows:

    • Use of the BoomBox Simulink blockset
    • Multi-BoomBox operation

    Field-oriented control of a PMSM

    3-phase inverter with PMSM schematic

    Tutorial n°7 Simulink-based project

    This example shows a control implementation for a permanent magnet synchronous motor. The control is implemented using one BoomBox and the Automated Code Generation process (ACG). This example shows:

  • Use of the BoomBox Simulink blockset
  • Use of position sensors with the BoomBox
  • Single-phase inverter with proportional-resonant-based current control

    Application schematic

    Tutorial n°8 C/C++ project

    This tutorial re-uses the set-up of tutorial n°2, but presents an alternative control approach in the stationary reference frame using a proportional-resonant current controller. Hence, it addresses:

  • Use of PR-type controllers