Introduction
The MMC Valves Library enables the simulation of Modular Multilevel Converters in CPU or in FPGA according to the application needs in terms of time step simulation, number of sub-modules and interface with a user-defined custom external controller.
The library provides a powerful and flexible HIL solution for the Real Time simulation of diverse kinds of power converters that are based on valves of sub-modules. Some examples of these converters are:
- MMC AC-DC converters for high voltage and medium voltage
- MMC STATCOM devices
- Modular Multilevel AC-AC converter
- Modular Multilevel DC-DC converters
In principle any topology based in the use of sub-modules can be simulated. As examples, the following figure shows some of the Modular Multilevel Converters that can be implemented with the library. Some of these converters are provided as DEMO models in the library.
Figure 1. Some Modular Multilevel Converters that can be simulated with the MMC Valves library.
Main features
- Offline or Real Time implementation in CPU, or Real Time implementation in FPGA
- Accelerated simulations in offline mode
- Small simulation time steps involving hundreds of sub-modules (going below one microsecond is possible in the implementation on FPGA)
- Flexible and easily adaptable to different converter topologies
- Interconnection with real external control hardware by SFP Aurora or Gigabit Ethernet protocols
- Different model types according to the required level of detail and development stage (offline, average model, switched function model, interconnection with real controller)
- Easy to change between different type of models enabling a smooth transition between different development stages
- Simulations including the detailed behavior of individual sub-modules
- Advanced features such as individual sub-module switch failures (open or short-circuit), and discrepancies between sub-module parameters
- Low level control is provided including diverse capacitor voltage balancing, modulation algorithms and protection actions in case of overvoltage / undervoltage on the converter sub-modules
- Debugging tools, like SM status monitoring, forcing valve currents or fixing capacitor voltages to a specific value whatever is the valve current.
Use of the library in the RT-LAB workflow
The library is presented in the RT-LAB workflow as a set of blocks available directly in Simulink. It is composed of three main blocks:
- MMC Valves → this block is the core of the library. It implements the valve model supporting different types of sub-modules and model implementations. Up to 12 valves can be simulated per MMC Valves block.
- MMC Valves Parameters Block → this block sets some of the parameters for the MMC Valves block which allows to change some of the parameters during simulation
- MMC Valves Low Level Control Block→ this block provides different low level control algorithms for the control of the MMC Valves block. The user can focus in the high level control design by using the provided block or create its own custom low level control according to the needs. Alternatively,the user can also connect the model directly to external controller.
The figure below shows a typical use of these blocks. This example assumes a generic use without specifying the type of converter. In the figure the blocks are set arbitrarily to simulate 1 valve, for a detailed example of utilization in a real converter refer to the provided examples.
Figure 2. Typical use of the MMC Valves library showing how the three blocks of the library are used together.
As seen, the MMC Valves Parameters Block block is placed in the console sub-system and the other two blocks from the library are used inside the computation sub-systems. It means that some of the parameters can be set / changed directly from the host PC even in on-line mode while the simulation is running (see MMC Valves Parameters Block for details on which parameters can be set online and which cannot).
The MMC Valves block implements the converter valves and interconnect them to the power system through its electrical ports. The block is also interfaced with the converter control receiving the control signals and giving back the measurements. It also receives from the MMC Valves Parameters Block block some of the needed configuration parameters.
Concerning the converter control, it is divided in high level control and low level control. The output of the high control stage are the modulation indices for each one of the valves. i.e. the percentage of SMs that are in insertion mode. The low level control converts these modulation signals into the individual SM gating signals.
The library provides different capacitor balancing algorithms and modulations schemes available in the MMC Valves Low Level Control Block block. This block is connected to the user high level control and with the MMC Valves block. It needs also some parameters provided by the MMC Valves Parameters Block. Alternatively, The user can define its own Low Level Control instead of using the proposed one (MMC Valves Low Level Control Block block). To do this the user should respect the signal formatting expected by the MMC Valves block (refer to the MMC Valves documentation).
When the converter is implemented in FPGA, the user can also use an external controller connecting it to the FPGA board of the simulator via optical fibers and SFP.
Flexible and scalable
The MMC Valves library is user friendly and easy to implement for diverse applications.
The library is suitable for the simulation of systems including multiple converters. In such cases, the user can use as many of the library blocks as necessary. Depending on the needs each converter can be simulated with different type of model.
In some applications one converter needs to be implemented with different kind of valves. For example some of the valves in the circuit require Full-bridge SMs, while others use only Half-bridge SMS, some of them require 50 SMs while other only 30 SMs. The MMC Valves library is adapted for such cases. Indeed, these converters can be implemented by separating the converter in different MMC Valves groups that have the same characteristics. For each group one MMC Valves block is used
Another possibility can be when inside one valve different types of SMs are required. In such case, the FPGA implementation of MMC Valves provides a easy-to-use solution.
Example models
- HVDC Point-to-Point Link with two MMCs: In this example see how to use the MMC Valves block together with MMC Valves Parameters Block and MMC Valves Low Level Control Block blocks. To implement a monopolar HVDC link with two MMCs.
Version History
This block has been introduced in MMC 2.10.0