MDPI
MDPI
MDPI
Article
Design and Implementation of a Low-Cost Real-Time
Control Platform for Power Electronics Applications
José Aravena 1 , Dante Carrasco 1 , Matias Diaz 1, * , Matias Uriarte 1 , Felix Rojas 1 ,
Roberto Cardenas 2 and Juan Carlos Travieso 1
1 Electrical Engineering Department, University of Santiago of Chile, Avenida Ecuador 3519,
Santiago 9170124, Chile; [email protected] (J.A.); [email protected] (D.C.);
[email protected] (M.U.); [email protected] (F.R.); [email protected] (J.C.T.)
2 Electrical Engineering Department, University of Chile, Avenida Tupper 2007, Santiago 8370451, Chile;
[email protected]
* Correspondence: [email protected]
Received: 5 February 2020; Accepted: 17 March 2020; Published: 24 March 2020
Abstract: In recent years, different off-the-shelf solutions for the rapid control prototyping of power
electronics converters have been commercialised. The main benefits of those systems are based on
a fast and easy-to-use environment due to high-level programming. However, most of those systems
are very expensive and are closed software and hardware solutions. In this context, this paper
presents the design and implementation of a control platform targeting at the segment in between
expensive off-the-shelf control platforms and low-cost controllers. The control platform is based
on the Launchpad TMS320F28379D from Texas Instruments, and it is equipped with an expansion
board that provide analogue-to-digital measurements, switching signals and hardware protections.
The performance of the control platform is experimentally tested on a 20 kVA power converter.
1. Introduction
Some of the principal challenges in power electronics research are the fast development
of new topologies, such as modular multilevel converters and matrix converters, and the
requirement of new control strategies, such as non-linear control and model predictive control [1].
Frequently, new topologies have more components, and new control strategies require more powerful
computational capabilities [2]. Accordingly, the controller is a critical element of every power
electronics converter that should provide real-time control of the operation of the converter [3].
In industrial applications, the controller, usually referred to as Real-Time Control Platform (RTCP),
is designed to be as cheap as possible and intended for the specific application with it will be used.
On the other hand, sophisticated control platforms are used in research and development to provide
Rapid-Control-Prototyping (RCP). RCP enables a more straightforward identification of design errors
in the development process, diminishing delays, and improving the overall product quality [4].
For research and development, technology demonstrations can be performed in earlier project stages,
without the requirement for complex coding and integration [5].
In power electronics, RCP is widely used to test and iterate control strategies in a developing
stage, and it is also used to test control techniques and topologies. Based on these requirements,
different controllers have been developed and commercialised on the market as off-the-shelf products.
Among the leading market players, dSpace controllers represent a well-known example [6], as they
offer a wide range of different solutions for research in power electronics. Several research works have
reported experimental implementations using DSpace devices. OPAL-RT is another popularly used
solution for Real-Time (RT) simulation, RCP, and Hardware-in-the-Loop (HIL) control and testing of
power converters [7,8]. The RT-Box controller is designed for RCP and HIL tests, and it is compatible
with PLECS software [9]. Additionally, Imperix controller offers similar functionalities than the RT-Box
in their controller referred to as Boombox RT [10]. Another commercial solution is the PED-Board,
a power electronic controller with several interface boards [11]. Finally, it is important to mention HIL
producers as Typhon [12] and RTDS [13].
Table 1 presents the main characteristics of the off-of-the-shell controllers already available
on the market. Most of them can handle up to 32 Digital Inputs (DI) and Digital Outputs (DO),
and 32 Analogue Input (AI) and Analogue Outputs (AO). Additionally, besides the cost of the
controller, licensed software must be acquired. Regardless of the multiple advantages offered by
the products above-mentioned, those systems have a high price limiting its use for applications where
a high number of RCP platforms is required. Additionally, most of those systems are closed software
and hardware solutions, restricting the flexibility and adjustment for particular purposes.
To handle this problem, multiple research groups have developed custom RTCPs based on
low-cost Digital-Signal Processors (DSPs) and Field-Programmable Gate Array (FPGA).
Tailored RCP platforms have been developed. For instance, a novel control platform, referred to
as uCube, has been developed by the University of Nottingham and it is aimed at low-cost RCP
market [14]. The uCube is based on the Microzed evaluation board equipped with the Xilinx Zynq-7000
System on a Chip (SoC). The uCube has expansion boards that can handle 24 optical fibre channels,
16 Analog Digital (AD) converters and encoder reading. In [15], a new real-time computing platform
based on a high-performance FPGA SoC is presented. The platform is suitable for the implementation
of complex control algorithms, and it can handle complex topologies with a high number of I/O.
Compared to many commercial platforms, it offers the advantages of a fully adjustable logic system
and a customised amount of analogue inputs and digital I/O.
Tailored HIL implementations can also be found in the literature. An experimental platform
for microgrid HIL analyses is presented in [16]. In this case, the physical system is emulated using
an OPAL-RT emulator and the control layer is implemented using Raspberry-Pi. Similarly, an RTDS
real-time emulator is implemented for power HIL experiments [17]. Additionally, the development
of a real-time virtual test bed for HIL is presented in [18]. The system uses Linux and open software
to reduce the total cost. The same platform is used to test HIL of a boost converter and a full-bridge
in power electronics applications [19]. Furthermore, a HIL implementation using a DSP LaunchPad
C2000 Delfino F28377S is presented for microgrids applications in [20]. Three different converters are
modelled in this study to validate the capabilities of the proposed DSP based HIL platform.
Energies 2020, 13, 1527 3 of 15
The main drawback of low-cost platforms for HIL emulation and RCP is that the time of
development is long, and expertise in DSP and FPGA based development is needed to work with
them. Besides, it is challenging to carry out a precise comparison of them, because most of the low-cost
platforms are not commercially available and they are case a case implemented by research groups,
tailored to a particular application. However, using the comparison reported in [20], it is concluded
that the control systems implemented utilising some DSP platforms, can achieve time steps as low
as 860 ns, higher than that achievable with the (relatively high cost) Typhoon system (≈560 ns) but
still good enough to represent IGBTs in some typical application, for instance, microgrids, where the
power converter switching frequency is about 10 kHz. As discussed in [8], the implementations based
on FPGAs are also relatively low-cost alternatives for HIL and RTCP, achieving applications with
low time steps. However, the lack of high-level software programming tools could be a significant
disadvantage in this case (see [8]).
In this context, this paper presents the design and implementation of a low-cost and effortless
RTCP for RCP of power electronics applications. The proposed RTCP is based on the Delfino
TMS320F28379D microcontroller from Texas Instruments. Additionally, due to the complementary
resources of the Delfino TMS320F28379D microcontroller, the RTCP can be programmed using either
C/C++ code or Matlab Simulink. The principal contributions of this paper can be summarised
as follows:
• A benchmark on the main off-the-shelf controllers for HIL and RCP applications is presented.
To the best of the authors’ knowledge, the principal commercial alternatives have been included
and compared in terms of the number of input-output capabilities, price and requirement of
licensed software.
• An expansion board is designed to expand the capabilities of the Delfino TMS320F28379D
microcontroller. This expansion board is equipped with analogue-to-digital measurements,
optical fibre Pulse Wide Modulation (PWM), and hardware protections.
• The effectiveness of the proposed RTCP for power electronics applications is validated by
experiments conducted with a 20 kVA power converter.
The rest of the paper is organised as follows. A benchmark on the main off-the-shelf controller
characteristics is presented in Section 2. The proposed RTCP is detailed, and its main functionalities
are explained in Section 3. Next, an example application and its implementation on the RTCP are
presented. Later, the performance of the control platform is experimentally tested on a 20 kVA power
converter. Lastly, conclusions are provided.
The proposed RTCP expands the launchpad capabilities through the implementation of
an expansion board, as shown in Figure 1b. The RTCP provides optical fibre interfaces that can
be used to transmit PWM signals, it performs signal conditioning to measure analogue signals, and it
provides hardware protections. All the protections are cascaded to interrupt the operation of the
converter if over-voltages or over-currents arise. The expansion board is presented in Figure 2. It is
a four-layer PCB (Printed Circuit Board) measuring 179 × 156 mm. Its main components are drivers
for an optical fibre interface, operational amplifiers for analogue-digital conversion, and comparators
and logic gates for hardware protection. The total RTCP cost is approximately USD 400, as presented
in Table 2, and it considers the cost of the Delfino Launchpad, plus the expansion board assembly and
electronic components.
Launchpad
TMS320F28379D
Power
converter
Op�c fibre
Interface
board
PWM
Signals
ADC Measurements
Protec�on
(a) (b)
Figure 1. (a) Launchpad TMS320F28379D. (b) Overview of the proposed RTCP.
The principal features of the proposed RTCP are listed below and they are detailed in the
next subsections.
RTCP Cost
Item Quantity Cost per Unit (USD) Total Cost (USD)
Bare PCB 1 5 5
Delfino board 1 35 35
Fiber optic transmitters 14 10 140
IC fiber optic drivers 14 1 14
IC OP-AMP 16 5 80
IC Comparators 16 4 64
IC Logic gates 20 0.2 10
Passive components 1 20 20
Connectors 1 30 30
Total cost 398
+5V
From
μC PWM signal
Buffer
MOSFET fibre
driver circuit
Using the optical fibre interface to send the PWM signals has advantages such as noise immunity
and electrical isolation between the control and the power stage [21,22]. Is important to notice that the
TMS320F28379D chip is capable of generating 24 PWM signals. However, the Launchpad board is
available with only 14 of them. For that reason, 14 optic fibres were considered in the final design of
the board.
Figure 4 presents the electrical circuit used in the AD conversion. The TMS320F28379D chip consists of
4 independent Analog Digital Converter (ADC) channels. Each of them is capable of measuring six
multiplexed signals allowing the microcontroller to read a total of signals. However, the Launchpad
board provides 16 of them. For that reason, 16 analogue measurements were considered in the final
design of the board.
+
-1.5V 0V -
Voltage/ +1.5V +3V Upper limit
LATCH
Current OPA4344 ENABLE
transducer Gate
Rm + NAND
OP-AMP - Gate
Lower limit
I2C
μC
Digital
poten�ometer
a time specified by the user (S/H Sample and Hold). Typical acquisition values range from 10 ns to
500 ns.
Finally, the AD block processes the data and save it in a register. This register can be accessed by
the microcontroller to execute the control algorithm.
D
ADCD0 S/H Conversor C
ADCC0 MUX S/H Conversor
ADC de 12 o B
ADCB0 MUX S/H ADC de1612bitoA
ADCA0 ADCD16 MUX S/H 12/16 bit ADC
16 bit
ADCC16
MUX 12/16 bit ADC
ADCB16
ADCA16 Registro de
SOC Registro de
resultados
SOC ADCresultados
Register
SOC ADC Register
results
SOC results
11 11
10 10
9 9
UP7 8 A 8
B
DOWN
7
6 Comparator 6
5 5
4 4
SYSCLOCK SYSCLOCK 3 3
200MHz Prescale 2 2
1 1
CPU2 BUS
CPU1 BUS
0 0
Δt= 1 SYSCLOCK=
5nS
ePWM ePWM
1A 1B
CPU-1
PWM 35nS
CPU-2
Outputs
ePWM ePWM
12A 12B
120nS
(a) (b)
Figure 6. (a) PWM block operation diagram. (b) PWM signal generation with Up-Down type counter.
Energies 2020, 13, 1527 8 of 15
For a basic configuration of the PWM blocks, the input parameters are to the counter and the
comparator. The counter is an integer between 0 and 65,535 that represents the counts that will be
made in clock cycles. The crystal frequency determines the clock cycles. This crystal is 200 MHz which
means that each account is equivalent to a period of 5 ns.
The behaviour of the counter can be set as Up-Down, Up and Down. In the Up-Down mode,
the counter starts counting from zero until it reaches the defined setpoint. Once it reaches the value,
it returns with a descending counter until it reaches zero and then repeats the process indefinitely.
On the one hand, the Up mode starts with an ascending count from zero until reaching the defined
number repeating the process. On the other hand, the Down mode counter behaves like the Up counter
but in the opposite way, starting with the maximum count and then descending until it reaches zero.
The comparator is an integer value between zero and the maximum count value. This value can
be set by the user or be continuously refreshed as needed. When the counter reaches the comparison
value, the user can trigger different events pulling the PWM signal in high or low. The example in
Figure 6b shows an Up-Down counter of 11 counts and two points of comparison. The signal is set to
low when the counter is equal to zero, set to high when it reaches comparator A and then set to low
when it reaches comparator B.
The signal generated in Figure 6b is a high-frequency signal since a small number of clock cycles
were used for illustrative purposes. For lower order frequencies, a higher counter can be set, or the
SYSCLOCK (oscillator frequency equal to 200 MHz) can be scaled to half its frequency, decreasing the
PWM frequency by half.
Control Loop ωn ζ
Id Current loop 100 0.707
Iq Current loop 100 0.707
Vd Voltage Nested loop 12 0.9
Idc Current loop 20 0.9
Energies 2020, 13, 1527 9 of 15
HOST PC
USB Communica�on
TMS320F28379D
SIMULINK
Code Compilator
MATLAB Composer
Studio (CCS)
PWM
ADC
INTERFACE BOARD
Op�cal fibre
Signal input
PWM
AC GRID RL Load
Gate Driver Sensors
POWER CONVERTER
(a)
AC Grid
RL Filter DC Load
(b)
Figure 7. (a) Overview of the experimental setup. (b) AC-DC back-to-back converter topology.
The implemented experimental system is shown in Figure 9 where the power converter,
control platform and RL load lays inside. A metal box covers the control platform for noise immunity.
A Variable AC source is used to work with variable voltage in the AC side. The main parameters of
the power converter are specified in Table 4. The AC-DC controlled rectifier is equipped with Infineon
IGBTs, model FF75R12R74, with a nominal current of 75 A and an emitting collector voltage of 1200 V.
Energies 2020, 13, 1527 10 of 15
The DC-DC full-bridge is equipped with Infineon IGBTs model FF300R12KT4, with a nominal capacity
of 300 A and 1200 V. Both devices have a modular packaging that contains two IGBTs that form
a converter leg. Finally, it is worth to mention that the DC-Link has a capacity of 2 mF and supports
800 V.
4. Experimental Results
In this section, four tests are described to corroborate the proper performance of the proposed
RTCP as RCP controller. In the first test, the RTCP is configured to regulate the AC-DC converter
as a controlled rectifier. The second test is related to the regulation of the DC-DC converter. In the
third test, the current control is shown on the AC side when the converter operates at nominal power.
Finally, the last test shows the operation of the hardware protections under an over-voltage scenario.
Energies 2020, 13, 1527 11 of 15
DC-link Voltage
140
130
120
Voltage(V)
110
100
90
DC-Link Voltage
80 DC-Link Voltage reference
70
10 20 30 40
Time(s)
In this test, the RTCP imposes unity power factor operation. The results presented in Figure 11
shows a phase-to-neutral voltage (yellow), its respective phase current (pink), and the current in the
load (green). It is verified that the converter is operating with unitary power factor since the voltage
and AC current are in phase.
50
Id
Current A
Id ref
45
40
(a)
10
Iq
Current A
Iq ref
0
-10
(b)
50
Ia
Current A
Ib
0 Ic
-50
(c)
110
I Load
Current A
100
90
80
0 0.1 0.2 0.3 0.4 0.5
Time s
(d)
Figure 13. Experimental Results. (a) AC d-axis current. (b) AC q-axis current. (c) AC abc currents.
(d) DC load current.
Energies 2020, 13, 1527 13 of 15
5. Conclusions
The design and implementation of a new RTCP for power electronic applications have been
presented in this paper. The proposed RTCP is composed of the Launchpad TMS320F28379D and
an expansion board to provide analogue measurements, switching signals and hardware protections.
The expansion board is equipped with optical fibre drivers for 14 PWM signals and an AD conditioning
interface for up to 16 analogue signals. Additionally, each AD channel is equipped with hardware
protections to prevent any potential damage in the power stage.
If compared to all the current off-the-shelf solutions on the market, the proposed RTCP offers is
a cheaper solution that offers a good trade-off among cost and capabilities, targeting at the segment
in between expensive off-the-shelf control platforms and low-cost controllers. The RTCP features
easy-to-use and straightforward programming, which is very useful for RCP applications.
Due to its capabilities, the proposed RTCP can be used as RCP in a wide range of teaching and
research applications. For instance, it is expected to use it to control interlinking converters in AC-DC
microgrid applications, interconnection of renewable energy generation units, and variable-speed
drive for electrical machines.
Author Contributions: J.A., D.C. and M.D. worked on the RTCP design and implementation. M.U. helped
to write the paper and to implement control strategies on the RTCP. R.C., F.R. and J.C.T. Travieso provided
supervision on all the stages of this research work. All authors have read and agreed to the published version of
the manuscript.
Funding: This work was funded by the Agencia Nacional de Investigación y Desarrollo (ANID) of Chile,
under projects Fondecyt 11191163, Fondecyt 1180879, and Fondef ID19I10370.
Conflicts of Interest: The authors declare no conflicts of interest.
Energies 2020, 13, 1527 14 of 15
References
1. Rashid, M.H. Power electronics—Challenges and trends. In Proceedings of the 2017 International Conference
on Innovations in Electrical Engineering and Computational Technologies (ICIEECT), Karachi, Pakistan,
5–7 April 2017. doi:10.1109/icieect.2017.7916589. [CrossRef]
2. Suntio, T.; Messo, T. Power electronics in renewable energy systems. Energies 2019, 12, 1852.
doi:10.3390/en12101852. [CrossRef]
3. Revol, B.; Azzopardi, S.; Youssef, T.; Teu, J.S.N.; Gautier, C.; Khazaka, R.; Roggia, S. Overview and new trends
in technology bricks for reliability enhancement in future wide band gap power converters for More Electrical
Aircraft (MEA) and More Electrical Propulsion (MEP) systems. In Proceedings of the IECON 2019—45th
Annual Conference of the IEEE Industrial Electronics Society, Lisbon, Portugal, 14–17 October 2019; pp.
7128–7134. doi:10.1109/iecon.2019.8927816. [CrossRef]
4. Zhong, Q.; Matthews, C.; Nguyen, P.; Clarke, S. Low-cost Rapid Control Prototyping paradigm.
In Proceedings of the UKACC International Conference on Control 2010, Coventry, UK, 7–10 September 2010;
pp. 1–5. doi:10.1049/ic.2010.0463. [CrossRef]
5. Lu, J.; Guo, Y.Q.; Wang, H.Q. Rapid prototyping real-time simulation platform for digital electronic engine
control. In Proceedings of the 2008 2nd International Symposium on Systems and Control in Aerospace and
Astronautics, ISSCAA 2008, Shenzhen, China, 10–12 December 2008. doi:10.1109/ISSCAA.2008.4776230.
[CrossRef]
6. Power Electronics and Electric Drive Technology—dSPACE. Available online: https://www.dspace.com/
en/pub/home/applicationfields/stories/electricaldrive.cfm (accessed on 5 March 2020).
7. Real-Time Simulation|OPAL-RT. Available online: https://www.opal-rt.com/ (accessed on 5 March 2020).
8. Herrera, L.; Li, C.; Yao, X.; Wang, J. FPGA-Based Detailed Real-Time Simulation of Power Converters
and Electric Machines for EV HIL Applications. IEEE Trans. Ind. Appl. 2015, 51, 1702–1712.
doi:10.1109/TIA.2014.2350074. [CrossRef]
9. RT Box|Plexim. Available online: https://www.plexim.com/products/rt_box (accessed on 3 March 2020).
10. Control Products—Imperix. Available online: https://imperix.ch/products/control (accessed on
3 March 2020).
11. About Us|PED-Board. Available online: http://www.ped-board.com/about-us/ (accessed on
3 March 2020).
12. HIL Hardware|Typhoon HIL. Available online: https://www.typhoon-hil.com/hil-hardware/ (accessed
on 4 March 2020).
13. Home—rtds-Technologies. Available online: https://www.rtds.com/ (accessed on 4 March 2020).
14. Galassini, A.; Lo Calzo, G.; Formentini, A.; Gerada, C.; Zanchetta, P.; Costabeber, A. UCube: Control
platform for power electronics. In Proceedings of the 2017 IEEE Workshop on Electrical Machines
Design, Control and Diagnosis, WEMDCD 2017, Nottingham, UK, 20–21 April 2017; pp. 216–221.
doi:10.1109/WEMDCD.2017.7947749. [CrossRef]
15. Wendel, S.; Geiger, A.; Liegmann, E.; Arancibia, D.; Duren, E.; Kreppel, T.; Rojas, F.; Popp-Nowak, F.; Diaz, M.;
Dietz, A.; et al. UltraZohm—A powerful real-time computation platform for MPC and multi-level inverters.
In Proceedings of the PRECEDE 2019: 2019 IEEE International Symposium on Predictive Control of Electrical
Drives and Power Electronics, Quanzhou, China, 31 May–2 June 2019. doi:10.1109/PRECEDE.2019.8753306.
[CrossRef]
16. Wang, Y.; Nguyen, T.L.; Xu, Y.; Li, Z.; Tran, Q.; Caire, R. Cyber-Physical Design and Implementation
of Distributed Event-Triggered Secondary Control in Islanded Microgrids. IEEE Trans. Ind. Appl. 2019,
55, 5631–5642. doi:10.1109/TIA.2019.2936179. [CrossRef]
17. Wang, Y.; Syed, M.H.; Guillo-Sansano, E.; Xu, Y.; Burt, G.M. Inverter-Based Voltage Control of Distribution
Networks: A Three-Level Coordinated Method and Power Hardware-in-the-Loop Validation. IEEE Trans.
Sustain. Energy 2019. doi:10.1109/TSTE.2019.2957010. [CrossRef]
18. Lu, B.; Wu, X.; Monti, A. Implementation of a low-cost real-time virtue test bed for hardware-in-the-loop
testing. In Proceedings of the 31st Annual Conference of IEEE Industrial Electronics Society, IECON 2005,
Raleigh, NC, USA, 6–10 November 2005. doi:10.1109/IECON.2005.1568910. [CrossRef]
Energies 2020, 13, 1527 15 of 15
19. Lu, B.; Wu, X.; Figueroa, H.; Monti, A. A Low-Cost Real-Time Hardware-in-the-Loop Testing Approach
of Power Electronics Controls. IEEE Trans. Ind. Electron. 2007, 54, 919–931. doi:10.1109/TIE.2007.892253.
[CrossRef]
20. Bastos, R.F.; Fuzato, G.H.; Aguiar, C.R.; Neves, R.V.A.; Machado, R.Q. Model, design and implementation
of a low-cost HIL for power converter and microgrid emulation using DSP. IET Power Electron. 2019,
12, 3833–3841. doi:10.1049/iet-pel.2019.0302. [CrossRef]
21. Jacobs, I.; Miller, S.E. Communications: Optical transmission of voice and data: Bandwidth
and noise immunity are up; size, weight, and costs are down. IEEE Spectrum 1977, 14, 33–41.
doi:10.1109/MSPEC.1977.6369325. [CrossRef]
22. Zhang, X.; Li, H.; Brothers, J.A.; Fu, L.; Perales, M.; Wu, J.; Wang, J. A Gate Drive With Power Over
Fiber-Based Isolated Power Supply and Comprehensive Protection Functions for 15-kV SiC MOSFET. IEEE J.
Emerg. Sel. Top. Power Electron. 2016, 4, 946–955. doi:10.1109/JESTPE.2016.2586107. [CrossRef]
23. Modeling Basics—MATLAB & Simulink—MathWorks. Available online: https://es.mathworks.com/help/
supportpkg/texasinstrumentsc2000/modeling-basics.html?category=modeling-basics&s_tid=CRUX_gn_
documentation_modeling-basics (accessed on 3 March 2020).
24. Pan, L.; Zhang, C. An integrated multifunctional bidirectional AC/DC and DC/DC converter for electric
vehicles applications. Energies 2016, 9, 493. doi:10.3390/en9070493. [CrossRef]
25. Fitri, I.R.; Kim, J.S.; Song, H. A robust suboptimal current control of an interlink converter for a hybrid
AC/DC microgrid. Energies 2018, 11, 1382. doi:10.3390/en11061382. [CrossRef]
26. Díaz, M.; Cárdenas-Dobson, R. Dual current control strategy to fulfill LVRT requirements in WECS.
COMPEL Int. J. Comput. Math. Electr. Electron. Eng. 2014, 33, 1665–1677. doi:10.1108/COMPEL-09-2013-0305.
[CrossRef]
27. Blaabjerg, F.; Teodorescu, R.; Liserre, M.; Timbus, A.V. Overview of control and grid synchronization
for distributed power generation systems. IEEE Trans. Ind. Electron. 2006, 53, 1398–1409.
doi:10.1109/TIE.2006.881997. [CrossRef]
c 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license (http://creativecommons.org/licenses/by/4.0/).