1. Introduction
In recent years, demand for utilization of power electronic converters in industrial, commercial and household applications has increased significantly. It is critical for engineers to design these converters very quickly. Considering the time constraints on engineers, it is not surprising that rapid prototyping tools, different Hardware-in-the-Loop (HiL) systems and fault diagnosis techniques have become the key issue in Power Electronics System (PES) applications. For these applications, the modelling techniques process enables faster developing of the PESs. Off-line simulation using different tools is used widely to predict the behaviour of PESs in a time domain. Some ideas of simulation are exploited to some extent for real-time application as estimators and observers in different control processes.
HiL emulation techniques are used extensively in the control of electrical motors and generators designs as reported in [1,2,3,4,5], where the authors used the HiL emulator approach for rapid prototyping issues and studying fault tolerant operation of the observing systems. The research in [1] deals with the design and application of a new ultra-high speed real-time emulation platform for HiL testing and design of high-power PESs. The real-time HiL emulation is performed with a reconfigurable, heterogeneous, multi-core processor architecture that emulates power electronics and includes a circuit compiler that translates graphic system models into processor executable machine code. The authors of [2] developed a synchronous generator emulator by using a three-phase voltage source converter for transmission level power system testing. The research is concentrated to study the different interface algorithms in order to select the ideal voltage type transformer model by considering accuracy and stability. By means of decreasing the emulation error, a closed-loop voltage control is proposed with current feed-forward. The usage of the emulation system for study of the operation of DC-DC converters in a fuel-cell vehicle power-train application is studied in [3]. The bidirectional buck-boost type DC-DC converter is considered as a basic element, which is used as a device under test, and the rest of the system is emulated. Fault tolerant methods are described in [4,5]. Experimental tools for the development of fault-tolerant machines designed for aerospace motor drives are described in [4], where the authors studied safety critical systems that should be able to overcome hardware or software faults and, therefore, need to be fault tolerant. For safety purposes, the multi-phase machine is chosen to improve the fault-tolerance. The fault tolerant principle for a five-phase permanent-magnet motor operated with an appropriate PEC is described in [5]. The authors improved the motor operation under the open-circuit fault condition and proposed a new, remedial field-oriented control strategy. A review of literature on HiL systems yields several existing methods based on process modelling for the given systems [6,7,8,9,10]. These methods start by process modelling mainly for the high power systems, where it is suitable to study all modes of operation by developed models to avoid costs for real-time experimentation.
The complex power-transmission networks are usually modelled by using graph-theory because of its complexity. To study different operation modes, the incidence matrix approach is recognised as the most useful one. The usage of the network graph theory in this role is reviewed in [11,12,13,14,15,16,17]. In [11], the authors demonstrated the consequence of the calculated nodal voltages and branch currents to the eigenvalues and eigenvectors of the Laplacian matrix, which describes the connectivity of the electrical network. The authors of [12] exploited the benefits of systematic analyses by using the complex network theory in order to study the impact of the wind power system to the power grid. The reason why grid-connected wind power should be mitigated is interpreted based on the complex network theory. In the work presented in [13], the authors demonstrated how a simple model of an AC network for three-phase unbalanced power flow with embedded transformers can be obtained, conjugating the use of a complex vector based model in a stationary reference frame and the node incidence matrix based formulation. Zhang [14] proposed a numerical method, which identifies all the single and double edges of the network cut-sets in order to address these vulnerabilities. The described method is based on the factorization of reduced incidence matrix. Reliability Evaluation of the power system also relies on the fault incidence matrix approach. The authors of [15] proposed such an algorithm. Saleh [16] provided a review of the research conducted on complex network analysis in electric power systems. This work presents the finding of the optimal locations for micro-grids in electric distribution systems utilising complex network analysis. In [17], the authors researched the energy flow, material flow and information flow, considering the inherent dynamism and uncertainty of material, energy and information flows, by using the static and dynamic incidence matrices. The modelling approaches for different PECs are described in [18,19], where the authors described the connections of algebraic graph theory, the design and analysis of electric circuits for different network systems.
The emulation of the physical systems is recognised as a modern approach for rapid prototyping of different PESs in order to develop fast and cheap motor drives for different applications. However, all the above described approaches extract the power converter system from the emulators, and the PES is considered as HiL and the rest of the system is emulated due to the cost. The work described here deals with a software/hardware FPGA platform for emulation and verification of PES. The DC-AC converter is chosen to verify the thesis that any PEC can be described by mathematical models, which enables the detailed real-time emulation. The verification system consists of a real DC-AC converter and emulator, which is operating inside the FPGA in real-time, as shown in Figure 1. The paper is organised into five sections. The principle of system operation, method for developing the differential equations for a DC-AC converter model, and features the necessary mathematical background for modelling purposes are described in Section 2. The tie-set and incidence-matrix approach is also introduced for PEC modelling. Section 3 deals with the hardware system necessary in order to solve the developed differential equations by using the FPGA platform. The verification of the method is described in Section 4 as a description and discussion of the obtained experimental results. The main contribution of the paper is the proof of the thesis that it is possible to perform the emulation in real-time, synchronised with the operation of a real DC-AC converter. In general, by using the incidence matrix approach, any PEC can be described. Finally, the conclusion and contributions of this paper are outlined in Section 5 together with suggestions for future research topics.
2. Modelling Method Description
To develop the PEC model, the network topology based on Kirchhoff’s laws can be used. The network topology analysis is based on graphical representation of the electric circuits. This method is useful for analysing the complex electric circuits by converting them into network graphs. More precisely, the theory of network topology analyses can be found in [20]. The network representing the single-phase DC-AC converter shown in Figure 2a was chosen for describing the modelling method.
2.1. Basic Terminology for the Graph Theory
Any electric circuit or network (Figure 2a) can be transformed into a so-called equivalent graph, as shown in Figure 2b. Thus, an equivalent graph is obtained by replacing the passive elements (R, L, C, diodes or transistors) and voltage sources by short circuits, and the current sources by open circuits. A network graph could be connected, unconnected, directed or undirected. A graph is said to be directed (or oriented) when all the nodes and branches are numbered, and direction is assigned to the branches by arrow. The branch represents the line segment, indicated by Arabic numbers, that connects two nodes indicated by Arabic numbers in the circle. In electric circuits, the arrows can indicate the direction of current flow in each branch. For modelling purposes, the connected and directed graph is considered and the definitions of two sub-graphs, so-called tree and co-tree, need to be explained.
1. Tree is a connected sub-graph of a given graph, where branches only connect graph nodes. Tree is shown in Figure 2b indicated by bold lines. The branches of a tree are called twigs. A tree consists of only branches that do not form loops. The number of tree branches ( bT ) that form a graph tree can be calculated:
bT=n−1
where n represents the number of nodes.
2. Co-Tree is a sub-graph, which is formed with the branches that are removed while forming a tree. It is indicated in Figure 2b by dashed lines. If branches from the co-tree are connected to the tree, loops are formed. Hence, it is called a complement of a tree. For every tree, there will be a corresponding co-tree, and its branches are called links or chords.
3. Incidence matrix is description of any oriented graph in a compact matrix form. The incident matrix translates the graphical data of a network into algebraic form. For a graph with n nodes and b branches, the complete incidence matrix Ai is an n×b matrix with elements defined by:
aji=1;ifbranchileavesnodej−1;ifbranchientersnodej0;ifbranchiisnotincidentwithnodej
Using Kirchhoff’s Current Law (KCL), the rules can be obtained for an incidence matrix. For the chosen circuit graph shown in Figure 2a, it follows:
−i1−i2+i4−i6+i11=0i2−i3+i9+i10−i11=0i1+i3−i5+i7−i9=0i8−i10+i12=0−i4+i5+i6−i7−i8−i12=0
where i1 – i12 represent the branch currents, which are depicted in Figure 3a. Equation (2) can be expressed in the matrix form as follows:
n∖b→123456789101112↓12345−1−1010−100001001−10000011−101010−1010−1000000000010−101000−111−1−1000−1︸Aii1i2i3i4i5i6i7i8i9i10i11i12︸ib=00000︸0
where Ai represents the incidence matrix. If one complete row is removed from an incidence matrix, it results in a reduced incidence matrix, which is appropriate for further calculations. By choosing the node 5 as a reference node, and according to the graph shown in Figure 3a, the reduced incidence matrix is:
1234−1−1010−100001001−10000011−101010−1010−1000000000010−101︸Ai1i2i3i4i5i6i7i8i9i10i11i12︸ib=0000︸0
and using the matrix notations, it follows:
Aib=0
where A represents the reduced incidence matrix and ib is the branch current vector. Equation (5) also gives the maximum possible number of linearly-independent KCL equations for a connected circuit. The numbers of rows (N) in the reduced incidence matrix is:
N=n−1
where n is number of all graph nodes. To calculate the nodes voltages, Kirchhoff’s Voltage Law (KVL) can be used to connect branch and nodes voltages as follows:
v1=−V1+V3v2=−V1+V2v3=−V2+V3v4=V1v5=−V3v6=−V1v7=V3v8=V4v9=V2−V3v10=V2−V4v11=V1−V2v12=V4
which leads to:
v1v2v3v4v5v6v7v8v9v10v11v12︸vb=−1010−11000−110100000−10−10000010000101−10010−11−1000001︸ATV1V2V3V4︸VN
and in the matrix form
vb=AT VN
4. Tie-set matrix
For a given tree of a graph, the addition of each link between any two nodes forms a loop called the fundamental loop. In a loop, there exists a closed path and a circulating current, which is called the link current. The fundamental loop formed by one link has a unique path in the tree joining the two nodes of the link. This loop is also called a f-loop or a tie-set. The current in any branch of a graph can be found by using link currents. Consider the connected graph shown in Figure 3a, which has five nodes and twelve branches. In general, the tree branches are chosen arbitrarily, and are indicated by a bold line, as shown in Figure 3a. The twigs of this tree are branches 9–12. The links corresponding to this tree are branches 1–8. Every link defines a fundamental loop of the network. The number of graph links (or f-loops) bℓ can be calculated as follows:
bℓ=b−n+1
Thus, for a given oriented graph (Figure 3), the next set of parameters are defined: the number of nodes ( n=5 ), number of branches ( b=12 ), number of tree branches or twigs ( bT=n−1=4 ), and number of link branches ( bℓ=b−n+1=8 ). KVL can be applied to the f-loops to get a set of linearly independent equations. Consider Figure 3b, where there are eight fundamental loops iI−−iVIII corresponding to the link branches 1–8, respectively. If v1,v2,...v12 are the branch voltages, the KVL equations for the tree f-loops can be written as:
v1+v9+v11=0v2+v11=0v3+v9=0v4−v10−v11−v12=0v5−v9+v10+v12=0v6+v10+v11+v12=0v7+v9−v10+v12=0v8−v12=0
and in matrix form, Equation (11) becomes:
bℓ∖b→123456789101112↓IIIIIIVIVVIVIIVIII100000001010010000000010001000001000000100000−1−1−100001000−1101000001000111000000101−10−100000001000−1︸Bv1v2v3v4v5v6v7v8v9v10v11v12︸vb=00000000︸0
or
Bvb=0
where B is a so-called tie-set matrix or fundamental loop matrix, and vb is a column vector of the branch voltages.
5. Tie-set matrix and branch currents
Let i1,i2,...,i12 be the branch currents with directions as shown in Figure 3a. Then, add the links in their proper places to the tree, as shown in Figure 3b. It can be seen that the loops currents are formed by the tree branches 9–12. There is a formation of link currents indicated in Figure 3b by Roman numbers iI,iII,...,iVII . By convention, the f-loops currents are given the same orientation as their defining links currents, i.e., the link current iI coincides with the branch current direction i1 , the link current iII coincides with the branch current direction i2 , and so on until the link current iVII coincides with the branch current direction i7 , and, according to tree branches, the branches currents are combinations of f-loops currents. Thus, based on these assumptions, branches currents related with the loops currents can be expressed as:
i1=iIi2=iIIi3=iIIIi4=iIVi5=iVi6=iVIi7=iVIIi8=iVIIIi9=iI+iIII−iV+iVIIi10=−iIV+iV+iVI−iVIIi11=iI+iII−iIV+iVIi12=−iIV+iV+iVI−iVII−iVIII
Equation (14) can be written in matrix form as:
i1i2i3i4i5i6i7i8i9i10i11i12︸ib=10000000010000000010000000010000000010000000010000000010000000011010−1010000−111−10110−10100000−111−1−1︸BTiIiIIiIIIiIViViVIiVIIiVIII︸iℓ
which leads to:
ib=BT iℓ
2.2. General “Construction” of Circuit Differential Equations
The basic KVL and KCL used by the graph are explained above, which enables two different approaches for power converters modelling. In general, the node voltage or loop current calculation approach can be used.
Loop Current Differential Equations
According to the circuit and its graph, shown in Figure 2a,b, and to apply the above mentioned tie-set matrix developed facts, one branch can be extracted from the circuit. In general, between two arbitrary nodes x and y, there is a branch where the voltage source (e), the resistor (R), inductor (L) and the capacitor (C) can be present, as shown in Figure 4.
For every branches voltages in the circuit, the KVL gives:
vi=−ei+Ri ii+Lidiidt+Si qi
where ei is the voltage source present in the branch, ii is the branch current, qi is the charge present in the branch, and Ri , Li and Si(Si=1/Ci) are branch resistance, inductance and elastance respectively (elastance S=1/C ). Using the known connection between capacitor charge and currents yields:
dqidt=ii
where i=1,2,3,⋯b . Thus, for every graph branch, it is possible to write down its own equation, as follows:
v1=−e1+R1 i1+L1di1dt+S1 q1v2=−e2+R2 i2+L2di2dt+S2 q2⋮vb=−eb+Rb ib+Lbdibdt+Sb qb
Equation (19) can be expressed in a matrix form as follows:
vb=−eb+Rb ib+Lbdibdt+Sb qbdqbdt=ib
where
vb=v1v2⋮vb,eb=e1e2⋮eb,ib=i1i2⋮ib,qb=q1q2⋮qb,
Rb=R10⋯00R2⋯0⋮⋮⋱⋮00⋯Rb,Lb=L10⋯00L2⋯0⋮⋮⋱⋮00⋯Lb,Sn=S10⋯00S2⋯0⋮⋮⋱⋮00⋯Sb
where vb represents the voltage vector with the elements v1,v2,...,vb ; eb represents the voltage sources vector with the components e1,e2,...,eb ; ib represents the current branch vector with the elements i1,i2,...ib ; qb represents the branch charges vector (i.e., capacitor voltages vector) with the components q1,q2,...,qb ; Rb represents the resistance branch matrix with the elements R1,R2,...,Rb ; Lb represents the inductance branch matrix with the components L1,L2,...,Lb ; and Sb represents the elastance branch matrix with the elements S1,S2,...Sb . The system in Equation (20) represents the voltage drop on every circuit branch. With the KVL applied, which means that every equation member must be multiplied on the left side by tie-set matrix B , Equation (20) is modified as follows:
Bvb=−Beb+BRb ib+BLbdibdt+BSb qbdqbdt=ib
According to Equation (13) term Bvb=0 , substituting Equation (16) into Equation (23), and considering that qb=BT qℓ , yields:
0=−eℓ+BRb BTiℓ+BLb BTdiℓdt+BSb BT qℓdqℓdt=iℓ
where eℓ(eℓ=Beb) represents the transformation of branch voltage sources into the loops. After rearranging Equation (24), it follows:
diℓdt=Lℓ−1eℓ−Rℓ iℓ−Sℓ qℓdqℓdt=iℓ
where Rℓ=BRb BT , Sℓ=BSb BT and Lℓ=BLb BT .
The matrices Rℓ , Sℓ and Lℓ are called the loops matrices, and have the dimension ℓ×ℓ .
Rℓ=b11b12⋯⋯⋯b1bb21b22⋯⋯⋯b2b⋮⋮⋱⋮⋮⋮bℓ1bℓ2⋯bℓℓ⋯bℓbR10⋯⋯00R20⋯000⋱⋯00⋮⋮⋱00000Rbb11b21⋯bℓ1b12b22⋯bℓ2⋮⋮⋱⋮⋮⋮⋮bℓℓ⋮⋮⋮⋮b1bb2b⋮bℓb
Lℓ=b11b12⋯⋯⋯b1bb21b22⋯⋯⋯b2b⋮⋮⋱⋮⋮⋮bℓ1bℓ2⋯bℓℓ⋯bℓbL10⋯⋯00L20⋯000⋱⋯00⋮⋮⋱00000Lbb11b21⋯bℓ1b12b22⋯bℓ2⋮⋮⋱⋮⋮⋮⋮bℓℓ⋮⋮⋮⋮b1bb2b⋮bℓb
Sℓ=b11b12⋯⋯⋯b1bb21b22⋯⋯⋯b2b⋮⋮⋱⋮⋮⋮bℓ1bℓ2⋯bℓℓ⋯bℓbS10⋯⋯00S20⋯000⋱⋯00⋮⋮⋱00000Sbb11b21⋯bℓ1b12b22⋯bℓ2⋮⋮⋱⋮⋮⋮⋮bℓℓ⋮⋮⋮⋮b1bb2b⋮bℓb
The obtained system in Equation (25) describes the circuit by using the state variables, i.e., the inductor currents and capacitor voltages, and enables the modelling of the converter circuit.
2.3. Consideration of Circuit Loops Matrices
For converter emulation purposes, it is necessary to define the branches where the semiconductors switches and diodes are present. According to the DC-AC converter scheme (Figure 2a) and established graph (Figure 3a), the transistors are present in branches 4, 5, 9 and 11, and diodes in branches 2, 3, 6 and 7. For MOSFETs and diodes, the ON resistance and inductance are chosen to be Ron=20 m Ω , Lon=20 nH, and for OFF state Roff=100 k Ω , Loff=100 mH respectively. In this example, MOSFETs are used but there are also possibilities of other semiconductor switches (IGBT, GaN, SiC, etc.), where the correct equivalent resistances, inductances and applicable PWM technique should be used.
2.3.1. Control of Branches Containing Transistors
The emulation of switching the transistor is performed by changing the modelled equivalent resistance and inductance in the branches with semiconductors according to the used modulation signal and voltage polarity. Thus, by defining the branches with transistors, and by including the triggering pulses in order to select correct equivalent resistances Ri ( Ron or Roff ) and inductances Li ( Lon or Loff ) in appropriate branches of Equations (26) and (27), respectively, the obtained loops matrices can be used for converter emulation. To control the emulation variables, it is necessary for the circuit loops matrices to be connected with pulse width modulation (PWM) signals [21].
Based on the chosen graph (Figure 3) and using Table 1, the appropriate Ron , Lon and Roff , Loff values should be used in the branches containing the transistors. To produce the three-level voltage on the converter output, the necessary gate signals are shown in Figure 5. When gate signals QT1 – QT4 are equal to logic value 1, the matrices Rb and Lb contain Ron and Lon in appropriate branches, and, when these are equal to logic value 0, the matrices contain Roff and Loff in appropriate branches.
2.3.2. Control of Branches Containing Diodes
The emulation of switching the diodes is performed by changing the resistance and inductance in the branches with diodes according to the voltage polarity. To make the diode forward or reverse biased, the branch voltages where diodes are present can be evaluated by Equations (7) and (19) with the help of Equation (25). During the integration process (solving the differential equation system), it is necessary to calculate the exact voltage transient through zero, which is almost impossible. For simulation purposes, it is possible by introducing the iteration approach and changing the simulation step in order to obtain exactly the diode voltage transient-zero point [22], but for emulation purposes such approach is not appropriate. On the other hand, the exact time when diodes must be active is known by generated gate signals QT1 – QT4 for transistors T1 – T4 . To obtain the three-level output voltage between the nodes 2 and 5 , the dead-time intervals between transistors in the converter leg must be generated (first leg transistors T1 and T2 and second leg T3 and T4 ). During these intervals, the diodes must be activated, as shown in Figure 6a,b, respectively. The appropriate time sequences when diodes are active are shown in Figure 7a,b. Based on this, the decision table (Table 2) can be established, and the boolean logic function can be developed by using Karnaugh Maps minimization as follows:
QD2=Q¯T1&Q¯T2QD4=Q¯T3&Q¯T1
where QD2 and QD4 represent the logic signals with values 1 or 0. They are controlling branches 3 and 7, where the diodes are present, by putting in the branches the values Ron , Lon or Roff , Loff . Thus, the diode states ON or OFF are controlled indirectly by the PWM generator, which is summarised in Table 3. Diodes D1 and D3 are not active in any of the possible states of the converter by applied modulation, which can be seen in Figure 6. That is why branches 2 and 6 always have the values Roff and Loff , respectively.
Some combinations of the gate signals should never appear (Table 2), and can be used for FPGA logic cells configuration error identification (for safety reasons). Thus, if any of these combinations appear, it can be decoded as an error, which is indicated in the last column of Table 2. Boolean logic function for modulation error is also developed by Karnaugh Maps as follows:
Error=QT1&QT2ORQT3&QT4ORQ¯T2&QT3ORQT1&Q¯T4
To evaluate the voltages appearing on the transistors placed in the branches 4, 5, 9 and 11 and the voltages appearing on the diodes in the branches 2, 3, 6 and 7, the following procedure should be carried out. Loops currents can be calculated using Equation (25) and then converted to branches currents by Equation (16). Finally, using Equation (19), the voltages on every branch ( v1 to v12 ) can be evaluated. Using some expressions coming from Equation (7), the nodes voltages can be calculated as follows:
V1=v4=−v6V2=v10+v12V3=v7=−v5V4=v12=v8V5=0
By evaluating all nodes voltages as follows from Equation (31), the voltage drops can also be calculated on every element in the DC-AC converter. To verify the proposed modelling method for emulator purposes, the experimental test-bench system was built. It consists of three main units: A 500 W single-phase DC-AC converter, a Terasic DE10-Nano Cyclone V evaluation board (FPGA), and off-line data preparation (calculation), as can be seen in Figure 8. The performed tasks and necessary signals and data flow are evident from the block scheme shown in Figure 9.
2.4. Off-Line Data Calculation
For faster execution of the FPGA programme, two LUTs (Look Up Tables) were built off-line with a similar method as that presented in [23,24]. Difference to the compared method is in generation process of the possible scenarios, which here are derived from feasible converter power switches combinations, and different data calculation. Firstly, reference voltage signal calculation was performed, and, as result, reference LUT with modulation signal for PWM was designed by Equation (32):
mit=U^Udcsin(ω0t)=mIsin(ω0t)
and discretized to a 16-bit fix-point vector with 500 points. Thus, for every PWM period ( Ts=40μ s), there is different modulation signal value, defined as follows:
minTs=U^Udcsin(ω0nTs)=mIsin(ω0nTs);n=1:500
where U^ is the peak value of output sine voltage, Udc is the constant power source (DC) voltage, and ω0=2π50 rad/s. Further explanation of PWM follows in the next subsection. Secondly, LUT was designed for loops matrices. As shown in Table 2 and Figure 6, there are six possible states of converter, which means there are six different loops matrices calculated from Equations (26)–(28) by considering Table 1 and Table 3. The inverse of each loops inductance matrices L1,L2,...,L6 is calculated before conversion to a fix-point. Loops matrices LUT, shown as Matrix1–Matrix6 in Figure 9, were designed after conversion to fix-point. When all data were prepared in fix-point format, two separate Verilog modules were written automatically in Matlab. These modules can be imported in a Quartus Prime FPGA Design Software project, where main FPGA compilation and programming was performed.
3. Setup for Algorithm Verification 3.1. FPGA Unit
A PWM generator module programmed on FPGA uses an up–down counter with 2000 steps counting at f=100 MHz, which yields PWM switching frequency fs=25 kHz. The counter is forming a triangle carrier signal. Gate signal QT1 is formed by comparing the modulation signal to the triangle carrier signal as follows:
QT1=1;counter≤miandmi>00;counter>miormi≤0
Gate signal QT3 is formed by comparing the modulation signal to the triangle carrier signal as follows:
QT3=1;counter≤miandmi<00;counter>miormi≥0
Gate signals QT2 and QT4 are negations of their complementary pairs as follows: QT2=Q¯T1 and QT4=Q¯T3 . Each gate signal also has on-delay for 300 ns as a dead time generator. Diodes switching signals QD2 and QD4 are formed as defined in Equation (29).
An Analog to Digital Converter (ADC) was used to measure DC-link voltage, load current and load voltage. ADC measurements are triggered when the PWM generator counter is at value 0. The measurement of these three signals and serial communication to FPGA were taking 6 μ s, hence maximum sampling rate was 166 ksps. Due to synchronised measurement to centre of PWM pulse, update of measured values was taking place every 40 μ s. Measured values are used for load estimation (for updating load resistance in loops matrices LUT), emulator input (gate signals Qx for correct loops matrices LUT values selection and adapting eℓ vector of emulator to actual DC-link voltage), or further regulation and fault detection purposes that will be implemented.
The system emulation module was designed as a Euler differential equation solver, as follows from Equation (25):
iℓ(k+1)=iℓ(k)+hLℓ(k)−1eℓ(k)−Rℓ(k)iℓ(k)−Sℓ(k) qℓ(k)qℓ(k+1)=qℓ(k)+hiℓ(k)
where h=1×10−7 s is an integration step. This module state diagram can be seen in Figure 10. Values in loops matrices are being updated from corresponding LUTs at every gate signal or load change. Because a great number of parallel and serial calculations have to be done, clocked pipelining was used for the complete emulation system module. The right side of Equation (34) is calculated every FPGA clock cycle (f = 100 MHz) with the loops matrices values that are provided considering input control signals. Then, loop currents and loop charges are converted to branches currents and branches charges using Equation (16). Results are then used in Equation (19), by which branches voltages are obtained. Nodes voltages are calculated with usage of Equation (31).
A data store module was used for very high speed sampling of calculated data by the System emulation module and sending them to the host PC for verification purposes. Acquisition timing and synchronization was done via the FPGA clock post-scaler, which is scalable from a user interface on the Host PC, and triggers for positioning of data store start. Acquisition length is also settable from user interface within the limits of the RAM size synthesised on the FPGA.
3.2. Single-Phase DC-AC Converter
A single phase H-bridge structure, also known as a full-bridge structure, represents one of the fundamental converter topologies in power electronics. It can support bidirectional power flow between an alternating and a constant power source. In terms of power conversion capabilities, it provides a voltage step down feature for transferring power from a constant power source (DC) to an alternating power source (AC), and a voltage step up feature for transferring power in the opposite direction (rectifier or boost operating mode). A single-phase DC-AC converter operating in step-down mode was used for verification of the emulation system. The MOSFET single-phase DC-AC converter was equipped with drivers and appropriate measurement circuits.
4. Results and Discussion
For verification of the described modelling based on the system in Equation (25), the experimental test-bench system was built, as shown in Figure 8 and Figure 9. Based on the block scheme shown in Figure 1, the real DC-AC converter and Emulation block were built for experimental purposes. The frequency of 25 kHz (end application of household UPS—above audible range) for the PWM triangle carrier was chosen for both the Emulator and real DC-AC converter. Power supply source of Udc=250 V and the reference voltage (desired output) of uref=0.75·Udc·sin2π50·tV were chosen. The algorithm was tested under two cases: The first one in the steady state, where load resistance was a constant R=57Ω ( R12 in network topology representation), and the second one, where the load resistance was changed from R=57Ω to R=114Ω and vice versa. The results of these experiments are shown in Figure 11. To compare the experimental results with the emulated ones, synchronous calculation was performed according to triggering signals. The emulated and real DC-AC converter were exited with the same gate signals QT1 – QT4 . The measured results from the oscilloscope are written to “comma separated values; CSV” file, and, during the emulation, the results were written into the available RAM module. Afterwards, the waveforms were extracted and displayed, as shown in Figure 12, Figure 13 and Figure 14.
Figure 12 shows the emulated and measured voltages on the converter output indicated by V2 , inductor currents i10 and resistor currents i12 . The obtained results are in a good accordance between emulation and experimentation during the load change. The emulation system enables the observation of any converter variable, component voltages and/or component currents. The emulation system is based on Equation (34), so the loops currents have been calculated. By using the developed tie-set matrix, the branch currents were evaluated as linear transformation of loops currents as follows from Equation (15). Figure 13 shows all of the calculated currents in every converter branch. Emulation and experimental results are marked. All current waveforms directions are indicated according to the graph branches orientation. The emulation system also enables the study of variables in close-up, which is shown in Figure 14. The parts of the positive and negative inductor currents (branch i10 ) are shown as close-up. The currents can also be seen through semiconductors (transistors and diodes). These are almost impossible to measure on the real converters. These variables can be used for evaluation of possible malfunctions of the semiconductors in fault-tolerant circuits. According to the applied PWM procedure, it is also possible to see the diodes in operation. Diodes are active during the dead-time, which is applied to gate signals ( QT1 to QT4 ) in order to avoid short circuits in both converter legs.
Figure 15 shows all the calculated voltages on every node in the DC-AC converter. The emulation results are in good accordance with the measured ones. To evaluate the voltages, firstly, Equation (19) was calculated, and then, by using these results with Equation (31), the voltages were evaluated on all nodes. The signs of all calculated voltages are in accordance with the voltage drops indicated by arrows in the converter graph.
5. Conclusions
An emulator for a DC-AC converter is described in this paper. Using the graph network theory with the proposed approach enables organising the converter mathematical model with the differential equations system. With the help of the tie-set and reduced incidence matrices, all converter currents and voltages can be calculated. Using PWM signals in the converter loops matrices ( Rℓ , Sℓ and Lℓ ), the branch values, where semiconductors are placed, were changed to introduce the switching behaviour of the MOSFETs and diodes of the DC-AC converters. As follows from the algorithm, the loops inductance inverse matrix Lℓ−1 should always be calculated when switching actions occur. Due to the requirement that the emulation process must be performed synchronously with the real converter operation, this task is impossible to solve in real-time. This problem was solved by studying the converter operations, and six inverse matrices were pre-calculated and written in LUT, which were available during the used integration method, and, used correctly, when switching action occurs.
In future work, the focus will be on using the described algorithm for fault tolerant DC-AC converters systems to improve the safety integration level. In addition, the authors would like to extend the used algorithm to other PECs circuits, especially for three-phase systems. The comparison will be done between real and emulated converter total harmonic distortion to check the influence of emulator model parameters and tweak them for better analogy.
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
[Image omitted. See PDF.]
Gate Signals | T1 | T2 | T3 | T4 |
---|---|---|---|---|
QTi=1 | R11=Ron | R9=Ron | R4=Ron | R5=Ron |
i=1,2,3,4 | L11=Lon | L9=Lon | L4=Lon | L5=Lon |
QTi=0 | R11=Roff | R9=Roff | R4=Roff | R5=Roff |
i=1,2,3,4 | L11=Loff | L9=Loff | L4=Loff | L5=Loff |
# | QT1 | QT2 | QT3 | QT4 | QD2 | QD4 | Error |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | x | x | 0 |
1 | 0 | 0 | 0 | 1 | 1 | x | 0 |
2 | 0 | 0 | 1 | 0 | x | x | 1 |
3 | 0 | 0 | 1 | 1 | x | x | 1 |
4 | 0 | 1 | 0 | 0 | x | 1 | 0 |
5 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
6 | 0 | 1 | 1 | 0 | x | 0 | 0 |
7 | 0 | 1 | 1 | 1 | x | x | 1 |
8 | 1 | 0 | 0 | 0 | x | x | 1 |
9 | 1 | 0 | 0 | 1 | 0 | x | 0 |
10 | 1 | 0 | 1 | 0 | x | x | 1 |
11 | 1 | 0 | 1 | 1 | x | x | 1 |
12 | 1 | 1 | 0 | 0 | x | x | 1 |
13 | 1 | 1 | 0 | 1 | x | x | 1 |
14 | 1 | 1 | 1 | 0 | x | x | 1 |
15 | 1 | 1 | 1 | 1 | x | x | 1 |
Gate Signals | D2 | D4 |
---|---|---|
QDi=1 | R3=Ron | R7=Ron |
i=2,4 | L3=Lon | L7=Lon |
QDi=0 | R3=Roff | R7=Roff |
i=2,4 | L3=Loff | L7=Loff |
Author Contributions
J.M. and M.M. conceived, designed and performed the algorithm necessary for emulation of the PECs, J.M. and M.T. designed the hardware, including the DC-AC converter and test-bench system. M.R. helped in off-line Matlab tasks and communication protocols for the experimental set-up. All authors contributed analysis tools, analysed the data and wrote the paper.
Funding
The authors acknowledge the financial support from the Slovenian Research Agency (Research Core Funding No. P2-0028).
Conflicts of Interest
The authors declare no conflict of interest.
Abbreviations
The following abbreviations are used in this manuscript:
PEC Power Electronics Converter
FPGA Field-Programmable Gate Array
PWM Pulse-Width Modulation
FD Fault Diagnosis
HiL Hardware in the loop
LUT Look-Up Table
PES Power Electronics System
DSP Digital-Signal-Processor
KCL Kirchhoff's Current Law
KVL Kirchhoff's Voltage Law
ADC Analog to Digital Converter
UDC Constant Power Source (DC) Voltage
T1 , T2 , T3 , T4 Converter MOSFET switches
D1 , D2 , D3 , D4 MOSFETs body diodes
L, R, C Converter output filter and load
bT number of tree branches (or twigs)
n number of graph nodes
b number of graph branches
Ai Incidence matrix
A Reduced incidence matrix
AT Transpose of reduced incidence matrix
N Number of rows in reduced incidence matrix
aji Incidence matrix element ( j∈1...n , i∈1...b )
ib Branch current vector
vi Graph branch voltages
Vj Graph nodes voltages
vb Branch voltage vector
VN Node voltage vector
bℓ Number of graph links (or f-loops)
B Tie-set matrix or fundamental loop matrix
BT Transpose of tie-set matrix or fundamental loop matrix
ii Graph branch currents
ij Graph link (or f-loops) currents (j in Roman numbers)
iℓ Link (or f-loops) current vector
ei Branch voltage sources
Ri Branch resistances
Li Branch inductances
Si Branch elastances ( Si=1Ci )
qi Branch charges (i.e., branch capacitor voltages)
eb Branch voltage sources vector
Rb Branch resistances diagonal matrix
Lb Branch inductances diagonal matrix
Sb Branch elastances diagonal matrix
qb Branch charges vector (i.e., capacitor voltages vector)
eℓ Loops voltage sources vector
Rℓ Loops resistances matrix
Lℓ Loops inductances matrix
Sℓ Loops elastances matrix
qℓ Loops charges vector (i.e., capacitor voltages vector)
QT1 , QT2 , QT3 , Transistor gate signals and diode switching signals, respectively
QT4 , QD2 ,
and QD4
Ron , Lon Conducting model value of resistance and inductance for MOSFETs and diodes
Roff , Loff Non-conducting model value of resistance and inductance for MOSFETs and diodes
fs PWM Frequency
Ts PWM period
uref Modulation reference voltage function
U^ Peak value of reference output sine voltage
ω0 Sine reference output signal angular frequency
f FPGA clock frequency
h Integration step
PC Personal Computer
RAM Random-Access Memory
CSV Comma-Separated Values
© 2019 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/).
1. Kinsy, M.; Khan, O.; Celanovic, I.; Majstorovic, D.; Celanovic, N.; Devadas, S. Time-Predictable Computer Architecture for Cyber-Physical Systems: Digital Emulation of Power Electronics Systems. In Proceedings of the 2011 IEEE 32nd Real-Time Systems Symposium, Vienna, Austria, 29 November-2 December 2011; pp. 305-316.
2. Yang, L.; Wang, J.; Ma, Y.; Wang, J.; Zhang, X.; Tolbert, L.M.; Wang, F.F.; Tomsovic, K. Three-Phase Power Converter-Based Real-Time Synchronous Generator Emulation. IEEE Trans. Power Electron. 2017, 32, 1651-1665.
3. Geng, Z.; Hong, T.; Qi, K.; Ambrosio, J.; Gu, D. Modular Regenerative Emulation System for DC-DC Converters in Hybrid Fuel Cell Vehicle Applications. IEEE Trans. Veh. Technol. 2018, 67, 9233-9240.
4. De Lillo, L.; Empringham, L.; Wheeler, P.W.; Khwan-On, S.; Gerada, C.; Othman, M.N.; Huang, X. Multiphase Power Converter Drive for Fault-Tolerant Machine Development in Aerospace Applications. IEEE TIE 2010, 57, 575-583.
5. Zhou, H.; Zhao, W.; Liu, G.; Cheng, R.; Xie, Y. Remedial Field-Oriented Control of Five-Phase Fault-Tolerant Permanent-Magnet Motor by Using Reduced-Order Transformation Matrices. IEEE TIE 2017, 64, 169-178.
6. Steurer, M.; Edrington, C.S.; Sloderbeck, M.; Ren, W.; Langston, J. A Megawatt-Scale Power Hardware-in-the-Loop Simulation Setup for Motor Drives. IEEE Trans. Ind. Electron. 2010, 57, 1254-1260.
7. Hazra, S.; Shrivastav, A.S.; Gujarati, A.; Bhattacharya, S. Dynamic emulation of oscillating wave energy converter. In Proceedings of the 2014 IEEE Energy Conversion Congress and Exposition (ECCE), Pittsburgh, PA, USA, 14-18 September 2014; pp. 1860-1865.
8. Kesler, M.; Ozdemir, E.; Kisacikoglu, M.C.; Tolbert, L.M. Power Converter-Based Three-Phase Non-linear Load Emulator for a Hardware Testbed System. IEEE Trans. Power Electron. 2014, 29, 5806-5812.
9. Chai, E.; Celanovic, I.; Poon, J. Validation of Frequency- and Time-domain Fidelity of an Ultra-low Latency Hardware-in-the-Loop (HIL) Emulator. In Proceedings of the 2013 IEEE 14th Workshop on Control and Modeling for Power Electronics (COMPEL), Salt Lake City, UT, USA, 23-26 June 2013; pp. 1-5.
10. Pietrusewicz, K. Metamodelling for Design of Mechatronic and Cyber-Physical Systems. Appl. Sci. 2019, 9, 376.
11. Dassios, I.; Keane, A.; Cuffe, P. Calculating Nodal Voltages Using the Admittance Matrix Spectrum of an Electrical Network. Mathematics 2019, 7, 106.
12. Sun, Y.; Tang, X.; Zhang, G.; Miao, F.; Wang, P. Dynamic Power Flow Cascading Failure Analysis of Wind Power Integration with Complex Network Theory. Energies 2018, 11, 63.
13. Arboleya, P.; González-Morán, C.; Coto, M. Unbalanced Power Flow in Distribution Systems With Embedded Transformers Using the Complex Theory in αβ0 Stationary Reference Frame. IEEE Trans. Power Syst. 2014, 29, 1012-1022.
14. Zhang, L.; Abur, A. Single and Double Edge Cutset Identification in Large Scale Power Networks. IEEE Trans. Power Syst. 2012, 27, 510-516.
15. Wang, C.; Zhang, T.; Luo, F.; Li, P.; Yao, L. Fault Incidence Matrix Based Reliability Evaluation Method for Complex Distribution System. IEEE Trans. Power Syst. 2018, 33, 6736-6745.
16. Saleh, M.; Esa, Y.; Mohamed, A. Applications of Complex Network Analysis in Electric Power Systems. Energies 2018, 11, 1381.
17. Ma, F.; O'Hare, G.M.P.; Zhang, T.; O'Grady, M.J. Model Property Based Material Balance and Energy Conservation Analysis for Process Industry Energy Transfer Systems. Energies 2015, 8, 12283-12303. [Green Version]
18. Mostacciuolo, E.; Vasca, F.; Baccari, S. Differential Algebraic Equations and Averaged Models for Switched Capacitor Converters with State Jumps. IEEE Trans. Power Electron. 2018, 33, 3472-3483.
19. Dörfler, F.; Simpson-Porco, J.W.; Bullo, F. Electrical Networks and Algebraic Graph Theory: Models, Properties, and Applications. Proc. IEEE 2018, 106, 977-1005.
20. Chen, R.R.; Davis, M. Network Laws and Theorems. In The Circuit and Filters Handbook; Chen, W.-K., Ed.; CRC Press LLC: Boca Raton, FL, USA; London, UK; New York, NY, USA; ashington, DC, USA, 2003; pp. 529-583.
21. Milanovic, M. PWM spectrum evaluation and over-modulation phenomena in a three-phase inverters-analytical approach. In Proceedings of the 2008 13th International Power Electronics and Motion Control Conference, Poznan, Poland, 1-3 September 2008; pp. 301-306.
22. Eisenack, H.; Hofmeister, H. Digitale Nachbildung von elektrischen Netzwerken mit Dioden und Thyristoren. Archiv far Elektrotechnik 1972, 55, 32-43.
23. Mohagheghi, E.; Gabash, A.; Li, P. A Framework for Real-Time Optimal Power Flow under Wind Energy Penetration. Energies 2017, 10, 535.
24. Mohagheghi, E.; Gabash, A.; Alramlaw, M.; Li, P. Real-time optimal power flow with reactive power dispatch of wind stations using a reconciliation algorithm. Renew. Energy 2018, 126, 509-523.
Faculty of Electrical Engineering and Computer Science, University of Maribor, Koroška cesta 46, 2000 Maribor, Slovenia
*Author to whom correspondence should be addressed.
You have requested "on-the-fly" machine translation of selected content from our databases. This functionality is provided solely for your convenience and is in no way intended to replace human translation. Show full disclaimer
Neither ProQuest nor its licensors make any representations or warranties with respect to the translations. The translations are automatically generated "AS IS" and "AS AVAILABLE" and are not retained in our systems. PROQUEST AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY AND ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES FOR AVAILABILITY, ACCURACY, TIMELINESS, COMPLETENESS, NON-INFRINGMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Your use of the translations is subject to all use restrictions contained in your Electronic Products License Agreement and by using the translation functionality you agree to forgo any and all claims against ProQuest or its licensors for your use of the translation functionality and any output derived there from. Hide full disclaimer
© 2019. This work is licensed under https://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.