[go: up one dir, main page]

WO2016202623A1 - Contrôle prédictif de modèle fpga - Google Patents

Contrôle prédictif de modèle fpga Download PDF

Info

Publication number
WO2016202623A1
WO2016202623A1 PCT/EP2016/062807 EP2016062807W WO2016202623A1 WO 2016202623 A1 WO2016202623 A1 WO 2016202623A1 EP 2016062807 W EP2016062807 W EP 2016062807W WO 2016202623 A1 WO2016202623 A1 WO 2016202623A1
Authority
WO
WIPO (PCT)
Prior art keywords
switch position
block
next switch
possible next
explorer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/EP2016/062807
Other languages
English (en)
Inventor
Tobias Geyer
Eduardo ROHR
Joel VALLONE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ABB Schweiz AG
Original Assignee
ABB Schweiz AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ABB Schweiz AG filed Critical ABB Schweiz AG
Publication of WO2016202623A1 publication Critical patent/WO2016202623A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02MAPPARATUS FOR CONVERSION BETWEEN AC AND AC, BETWEEN AC AND DC, OR BETWEEN DC AND DC, AND FOR USE WITH MAINS OR SIMILAR POWER SUPPLY SYSTEMS; CONVERSION OF DC OR AC INPUT POWER INTO SURGE OUTPUT POWER; CONTROL OR REGULATION THEREOF
    • H02M7/00Conversion of AC power input into DC power output; Conversion of DC power input into AC power output
    • H02M7/42Conversion of DC power input into AC power output without possibility of reversal
    • H02M7/44Conversion of DC power input into AC power output without possibility of reversal by static converters
    • H02M7/48Conversion of DC power input into AC power output without possibility of reversal by static converters using discharge tubes with control electrode or semiconductor devices with control electrode
    • H02M7/483Converters with outputs that each can have more than two voltages levels
    • H02M7/487Neutral point clamped inverters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02MAPPARATUS FOR CONVERSION BETWEEN AC AND AC, BETWEEN AC AND DC, OR BETWEEN DC AND DC, AND FOR USE WITH MAINS OR SIMILAR POWER SUPPLY SYSTEMS; CONVERSION OF DC OR AC INPUT POWER INTO SURGE OUTPUT POWER; CONTROL OR REGULATION THEREOF
    • H02M7/00Conversion of AC power input into DC power output; Conversion of DC power input into AC power output
    • H02M7/42Conversion of DC power input into AC power output without possibility of reversal
    • H02M7/44Conversion of DC power input into AC power output without possibility of reversal by static converters
    • H02M7/48Conversion of DC power input into AC power output without possibility of reversal by static converters using discharge tubes with control electrode or semiconductor devices with control electrode
    • H02M7/483Converters with outputs that each can have more than two voltages levels
    • H02M7/4837Flying capacitor converters
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42058General predictive controller GPC
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02MAPPARATUS FOR CONVERSION BETWEEN AC AND AC, BETWEEN AC AND DC, OR BETWEEN DC AND DC, AND FOR USE WITH MAINS OR SIMILAR POWER SUPPLY SYSTEMS; CONVERSION OF DC OR AC INPUT POWER INTO SURGE OUTPUT POWER; CONTROL OR REGULATION THEREOF
    • H02M1/00Details of apparatus for conversion
    • H02M1/0095Hybrid converter topologies, e.g. NPC mixed with flying capacitor, thyristor converter mixed with MMC or charge pump mixed with buck

Definitions

  • the invention relates to the field of model predictive control or electrical converters.
  • the invention relates to an FPGAfor controlling an electrical converter and to an electrical converter comprising a controller with such an FPGA.
  • Electrical converters for converting an input voltage into an output voltage of different frequency and/or different voltage magnitude comprise controllable semiconductors which are switched by a control method to achieve the desired output voltage.
  • One such control method is model predictive control, in which the switch position of the switches is determined by solving an optimization problem that is based on a physical model of the converter and optionally a connected load.
  • the model is usually stated in discrete-time differential equations.
  • such type of control method is usually computational demanding and the control hardware has to be fast to solve the specific model predictive control problem within the short time available before the next switch position is needed.
  • WO 2009/080 407 A1 proposes a method for operating an electrical machine, in which a model predictive control method is performed by an FPGA (field programmable gate array) interconnected with a DSP (digital signal processor) to reduce the computation time of the method.
  • FPGA field programmable gate array
  • DSP digital signal processor
  • WO 2013/1 10 532 A1 relates to a model predictive control method for an electrical converter, which is parallelized and executed in a multi-core processor to avoid an FPGA-based solution.
  • WO 2014/006200 A1 discloses a FPGA for controlling an electrical converter.
  • An aspect of the invention relates to an FPGA for controlling an electrical converter.
  • the FPGA may be a component of a controller of the electrical converter, which receives measured or estimated system variables such as input currents and/or output currents and/or voltages and/or fluxes and/or speeds and/or frequencies, and which determines switch positions for semiconductor switches of the electrical converter with the aid of a model predictive control method.
  • the FPGA comprises an enumeration block, a plurality of explorer blocks and an arbiter block.
  • enumeration block a plurality of explorer blocks
  • arbiter block an arbiter block
  • the enumeration block is adapted for generating possible next switch positions for semiconductor switches of the electrical converter based on an actual applied switch position.
  • a switch position of the electrical converter may comprise all of the individual switch positions (such as on/off) of the semiconductor switches.
  • the actual applied switch position may be the actual switching state of the semiconductor switches and, for example, may be provided by the FPGA during the previous control cycle at the previous time step.
  • the explorer blocks are used for calculating a cost value for each of the possible next switch positions based on model predictive control. This calculation may be performed in parallel in different explorer blocks for different possible next switch positions.
  • Each explorer block is adapted for calculating a cost value for a possible next switch position of the semiconductor switches by: receiving a possible next switch position from the arbiter block; calculating system variables at future time instants from system variables at the current time instant of the electrical converter based on the possible next switch position, wherein the system variables at future time instants are calculated from the system variables at the current time instant with differential equations modelling the electrical converter and the load; and determining a cost value from the system variables at future time instants by evaluating a cost function with the system variables at future time instants.
  • the system variables may be interpreted as the state of the electrical converter and the load, and, for example, may comprise input currents and/or voltages, output currents and/or voltages, physical properties of a load connected to the electrical converter, such as currents, voltages, fluxes, torque, speed, frequency, etc.
  • the explorer block calculates the future behavior of the system variables (i.e. the system variables at future time instants) by the use of discrete-time differential equations. These equations model the electrical converter and optionally a load supplied by the electrical converter.
  • the evolution of the system variables at future time instants may be determined for a maximal prediction horizon of a predefined length.
  • a cost value is determined from the system variables at future time instants with a cost function, which, for example, encodes switching losses of the electrical converter and/or a switching frequency and/or penalizes a deviation of a capacitor voltage from a desired voltage and/or penalizes a deviation of a load current from a reference current, etc.
  • a cost function which, for example, encodes switching losses of the electrical converter and/or a switching frequency and/or penalizes a deviation of a capacitor voltage from a desired voltage and/or penalizes a deviation of a load current from a reference current, etc.
  • the arbiter block is used for distributing the possible next switch position determined by the enumeration block to the explorer blocks and for finding the possible next switch position with the best (usually lowest) cost value. This possible next switch position is then applied to the semiconductor switches of the electrical converter.
  • the arbiter block is adapted for selecting the next switch position to be applied to the electrical converter from the possible next switch position by: receiving possible next switch position from the enumeration block; selecting a non-operating explorer block and sending a received possible next switch position to the non-operating explorer block; receiving a cost value for the respective possible next switch position from a finished explorer block (which then becomes a non-operating explorer block); when all possible next switch positions received from the enumeration block have been processed, selecting the next switch position as the possible next switch position with the best (for example lowest) cost value.
  • the enumeration block determines all possible next switch positions, which are then sent to the arbiter block. Whenever the arbiter block receives a new possible next switch position (that may need to be valid), it looks for a non-operating explorer block, sends this possible next switch position to this explorer block, which then calculates the respective cost value. Meanwhile, the arbiter block may receive further possible next switch positions and may distribute them to further non-operating explorer blocks. Thus, the enumeration block, the arbiter block and the explorer blocks may operate in parallel.
  • an enumeration block When an enumeration block is ready, it sends the cost value to the arbiter block, which then may save it together with the corresponding possible next switch position as a potential next switch position, when the cost value is better than a previously saved cost value.
  • each explorer block is further adapted for determining a time interval (such as a number of time steps or sampling intervals) for the possible next switch position at which at least one of the calculated system variables at future time instants has a deviation from a reference for the system variable, which is bigger than a predefined deviation for the system variable.
  • This time interval may be interpreted as a prediction horizon of a possible next switch position.
  • the explorer block may calculate the deviation of the system variable at future time instants (which may be predicted up to a maximal prediction horizon) from the reference.
  • its prediction horizon is set to the future time instant after which it leaves the bounds.
  • This may be imagined as a trajectory of the system variable at the future time instants leaving a band enclosing the reference, with this band having a width that is based on the predefined deviation.
  • the prediction horizon of the possible next switch position may be the minimal prediction horizon of all system variables at future time instants.
  • the cost function depends on the inverse of the prediction horizon of the possible next switch position.
  • the cost function may be weighted with the number of switching transitions. In such a way, the cost value for a possible next switch position with a long horizon is usually better than the cost value of one with a short horizon.
  • the FPGA will select switch positions for which it is likely that there are no switching transitions for the next time steps/sampling intervals.
  • a prediction horizon for a future system variable is determined via a linear extrapolation, in which the future system variable at a future time instant (for example the maximal prediction horizon) is calculated from the system variable at the current time instant.
  • the prediction horizon is determined based on an intersection point of the linearly extrapolated system variable between the current time instant and the future time instant with a maximal possible deviation from a reference of the system variable.
  • the intersection point is determined iteratively by a binary search method.
  • the intersection point may be found by dividing a search interval into two new search intervals and by proceeding with the interval containing the intersection point. This interval may be determined by comparing the value of the future system variable, which may be determined by interpolation with a boundary value.
  • a binary search the computational costs of a division may be avoided.
  • the cost function is only evaluated, when the prediction horizon is longer than one time step (or sampling interval).
  • the cost value is determined based on a predicted violation of the bounds, which is the difference between the predicted system variable and the violated bound.
  • the arbiter block chooses the possible next switch position with the lowest violations of the bounds. This may be achieved by calculating a cost value based on the degree of the violation of a system variable at the next time step of its bound for possible next switch positions. This cost value should be rather high compared to cost values determined from the cost function.
  • the cost function is only evaluated, when the prediction horizon is longer than a given number of time steps.
  • the cost function is based on a number of switching transitions between the actual applied switch position and the possible next switch position.
  • the FPGA selects switch positions with a low number of switching transitions, which also results in lower switching losses.
  • the cost function is based on the switching losses that are predicted to occur when switching from the actual applied switch position to the possible next switch position.
  • the switching losses often depend on the switching transition, the commutated phase current and the DC link voltage. Assuming that the DC link voltage is effectively constant, the switching losses can be predicted based on the commutated phase current and the switching transition.
  • This information can be stored in a look-up table. In such a way, the FPGA selects switch positions that result in lower switching losses.
  • the enumeration block comprises a look-up table providing a possible next switch position based on the actual applied switch position. It may be possible that the set of possible next switch positions is dependent on the actual applied switch position. The look-up table may provide these sets indexed by an actual applied switch position.
  • the electrical converter has more than one phase, there may be one lookup table that may be used for each phase of the electrical converter.
  • the enumeration block is adapted for determining, whether a possible next switch position is valid with respect to actual applied switch position and/or constraints on the system variables at the current time instant. For example, there may be constraints on the possible next switch positions based on a sign of an actual current.
  • the enumeration block may determine, whether a possible next switch position is valid and may provide this information to the arbiter block. The arbiter block then only sends valid possible next switch positions to an explorer block.
  • the arbiter block is adapted for: sending the actual applied switch position to an explorer block for determining, whether the actual applied switch position has a prediction horizon longer than one time step; and selecting the actual applied switch position as the next switch position, when the prediction horizon is longer than the next time instant.
  • the arbiter then sends the possible next switch position to the explorer block, only when the prediction horizon of the actual applied switch position is shorter than the next time step.
  • the arbiter may check, whether it is possible to keep the actual applied switch position. This may be the case, when the prediction horizon of the actual applied switch position is longer than one time step/sampling interval. In this situation it is not necessary to switch at all, resulting in no switching losses, which is desirable.
  • the FPGA further comprises a pre-computation block adapted for calculating commonly used values and predictions from the system variables at the current time instant, wherein the commonly used values and predictions are used by the explorer blocks during the calculation of the system variables at future time instants.
  • these variables may comprise currents and/or voltages in the abc coordinate system, predicted reference currents and/or voltages, predicted rotor flux variables, and/or error currents with respect to a reference current.
  • the number of explorer blocks is smaller than a maximal number of possible next switch positions.
  • the arbiter block may have to wait for explorer blocks to finish before a further switch position can be evaluated by the enumeration block.
  • the number of explorer blocks may be selected based on the time an explorer block requires to evaluate a possible next switch position, and the maximal number of possible next switch positions to be evaluated during one cycle of the controller. In such a way, the capacity of the available logic blocks of the FPGA may be used in an optimal way.
  • a next switch position by predicting the number of time steps a next switch position can be applied before one of the system variables violates a bound, by predicting the cost value associated with this next switch position and choosing the next switch position with the best (i.e. usually lowest) cost value, a sequence of future switch positions is established from the current time step until the time step at which the first system variable violates a bound. Out of this sequence of future switch positions, only the first element, i.e. the switch position at the current time step, is applied to the converter, in order to apply closed-loop feedback. At the next time-step, new measurements and/or estimates are obtained and the optimization problem described above is solved again, albeit it over a shifted horizon.
  • This policy is referred to as receding horizon control and is a distinguishing feature of model predictive control.
  • model predictive control combines (open-loop) constrained optimal control with the receding horizon policy that provides feedback and closes the control loop.
  • a further aspect of the invention relates to an electrical converter system, which comprises an electrical converter comprising a plurality of semiconductor switches for converting a DC or AC input voltage into a DC or AC output voltage of a different frequency, and a controller with an FPGA applying the next switch position determined by the FPGA to the semiconductor switches based on measurements and/or estimates of voltages and/or currents in the electrical converter provided to the FPGA.
  • This FPGA may be designed as described above and in the following.
  • the semiconductor switches may be IGBTs or thyristors, which are switched on and off by gate signals from the controller based on the next switch position.
  • the converter may be a DC-DC, AC-DC, DC-AC or AC-AC converter. It may comprise one or more phases and/or may have two or more output levels. It may be a direct converter or an indirect converter with a DC link.
  • the electrical converter may be an active neutral point clamped voltage source inverter with five output levels.
  • the load may be an electrical machine, such as a three-phase induction machine or a three- phase synchronous machine.
  • the load may be a grid or a point of common coupling or a transformer connected to such a point of common coupling.
  • Fig. 1 schematically shows a converter system according to an embodiment of the invention.
  • Fig. 2 schematically shows an FPGA according to an embodiment of the invention.
  • Fig. 3 schematically shows a component of the FPGA of Fig. 2.
  • Fig. 4 schematically shows a further component of the FPGA of Fig. 2.
  • Fig. 5 schematically shows a further component of the FPGA of Fig. 2.
  • Fig. 6 schematically shows a further component of the FPGA of Fig. 2.
  • Fig. 7 shows a diagram illustrating a binary search performed in the FPGA of Fig. 2.
  • Fig. 1 shows an electrical converter system 10 comprising an electrical converter 12 with three phase legs 14.
  • Each of the phase legs 14 comprises a five-level active neutral point clamped inverter 16, which is adapted to convert the DC voltage of a DC link 18 into a phase voltage of a three-phase system with the current i s ,abc.
  • the inverter comprises eight semiconductor switches (here transistors with anti-parallel diodes) S1 to S8, which may be either opened “0" or closed “1 ".
  • the semiconductor switches S1 to S8 may encompass multiple series-connected semiconductor switches.
  • the converter system 10 furthermore comprises a controller 20 with an FPGA 22, which will be described below, and a load 24, such as an electrical machine.
  • the model of the converter 12 may be formulated in the orthogonal ⁇ frame or in the three- phase abc frame with the per unit system.
  • K is set in such a way that the -axis and the a-axis are ali ned.
  • the state of the converter 12 corresponds to its actual applied switch position s a ,s b ,s c e ⁇ 0,1,...,7 ⁇ , its neutral point potential v n and its three phase capacitors voltages
  • the continuous-time model is discretized with forward Euler discretization and the sampling interval T S ⁇
  • the discrete-time representation is denoted with the variable k e M.
  • the discrete-time equation of the phase capacitor voltage dynamic is given by
  • Vphxik + 1) v p k) + ⁇ ⁇ (i SiX (k),s x (k)),x e ⁇ a, b, c ⁇ (2)
  • ⁇ ⁇ 3 ⁇ 4 and ⁇ 3 ⁇ 4 denote scalar functions with the phase currents and switch positions as arguments at time step k.
  • An implementation of the controller 20 may use a sampling interval of 25/JS or 50/JS, for example.
  • the electrical machine 24 may be a squirrel-cage induction machine.
  • the state-space model of a squirrel-cage induction machine in the ⁇ reference frame is described in the following.
  • x m i a p Wra ⁇
  • the model inputs are the rotor's angular velocity o r and the inverter switch position s a bc.
  • v(s a bc(k)) maps the inverter switch position into the three-phase abc voltage applied to the stator windings of the machine.
  • the constants in matrix A are summarized in the following table:
  • the T s pco r term is a quadratic correction term to compensate for the error introduced by the forward Euler discretization method. It has been numerically derived by comparing forward Euler with exact Euler discretization. It is a machine-dependent parameter. Forward Euler has been chosen as a discretization method because it provides sufficient accuracy and avoids the computationally expensive exponentiation of the exact Euler approach.
  • the selection of the switch position may be stated as a discrete optimization problem.
  • the objective is to minimize the switching frequency (and/or the switching power losses) of the converter 12 while constraining its phase capacitor voltages, the neutral point potential and the stator current error with respect to a reference.
  • the components of the state vector may be interpreted as system variables.
  • system variables may be either measured or determined for the current time instant (system variables at the current time instant) and/or they may be predicted or calculated for future time instants (system variables at future time instants).
  • the input vector is defined as the switch position Sahc It is assumed that the rotor and stator speed o r and ( O s respectively vary slowly, allowing one to consider them to beconstant within the prediction horizon.
  • the current is directly controlled by explicitly bounding it in the optimization problem statement.
  • TDD Total Harmonic Distortion
  • V I k,..., k + N
  • the last term in the cost function is used to reduce the likelihood of deadlocks. Indeed, when the neutral point potential deviates too much from zero, the risk of deadlocks may increase quickly.
  • a deadlock occurs when no switching sequence S(/ ) exists that meets (5e).
  • the weight ⁇ ⁇ is used to fine tune the deadlock avoidance.
  • the two first constraints (5b), (5c) define the state evolution of the system 10 (the converter and the electrical machine) as explained before.
  • the sampled system state x(/ ) and the actual switch position s(/ - 1 ) of the converter 12 are used as a starting point for the predictions.
  • the third constraint (5d) builds the output vector from a subset of the system vector and the appropriate transformation.
  • the fourth constraint (5e) bounds the output vector y(/) around its reference y * (/).
  • the reference y * (/) is time varying for the phase capacitor voltages and the stator current. Hence, they are also an input to the optimization problem.
  • y err determines the width of the error bounds around the references.
  • S(l) is the set of allowed switch positions at time instant /.
  • the optimization problem may become computationally intractable as N increases. This is because at each time step a large number of new switch positions is available that needs to be evaluated by the algorithm.
  • Several heuristics may allow one to limit the computational burden without significantly impacting the performance. The following concepts have been implemented in the FPGA 22 to increase its performance and to reduce the computational burden:
  • a switching transition should be triggered only when at least one of the output variables exceeds its bound or is predicted to exceed its bound within the sampling interval. That is, at time-step k, if the output vector is predicted to remain within its bounds
  • ⁇ y err when applying the previously applied switch position again, then maintain the previous switch position and set s(/ ) s(/ -1 ). Thus it is possible to minimize the switching frequency (and thus the switching losses) by delaying switching as much as possible.
  • a switching sequence may be interpreted as a succession of switching decisions at discrete time- steps.
  • the switching horizon is a string composed of "E" (extension) steps and “S” (switching) steps.
  • the extension step maintains the previous switch position until a bound is violated.
  • the trajectory of the system output vector y is predicted by (2), (3) and (4).
  • the controller 20 may proceed to a switching step. That is, the controller 20 needs to enumerate all the admissible switching transitions from the no longer feasible switch position to a new candidate switch position.
  • An example, which will be explained in more detail below, is the "SE" string.
  • the controller 20 first enumerates all valid switch positions s(k) as new switching sequences and then extends each of them until they hit their respective boundaries.
  • Commonly used switching horizons include SE, SSE, SESE, SSESE and so on.
  • SSESE for example, implies that switching is considered at time steps k and k+ * ⁇ , followed by an extension step, another switching transition and a second extension step.
  • One approach is to predict the system evolution by incrementally evaluating the system model at each time step. The advantage of doing so is the high accuracy of the procedure. However, it is computationally expensive to evaluate it when the prediction horizons are long.
  • An alternative is, for a given switch position, to evaluate the system model at several points in time, such as k, k + I, k + 21, where / is a positive integer, and to then approximate the underlying function by quadratic or linear interpolation. This method requires far less computations and is sufficiently accurate for the prediction horizons typically observed.
  • Fig. 2 shows an overview of the blocks of the FPGA 22.
  • the "SE" prediction horizon is implemented in the FPGA 22.
  • the FPGA 22 must first enumerate all possible next switch positions at time step / and then extend each of them.
  • the architecture of the FPGA 22 is based on dynamic scheduling.
  • the FPGA 22 comprises a central scheduler block 26 that samples the system state x(/ ) into registers and also enumerates and distributes possible next switch positions s new to a number of n explorer blocks 28.
  • the scheduler block comprises a pre-computation block 30, which pre-computes values that, for example, are needed in the explorer blocks 28, an enumeration block 32, which generates the possible next switch positions s new and an arbiter block 34, which distributes the possible next switch positions s new to the explorer blocks 28.
  • the system state x(/ ) together with a switching sequence may be defined as a node in the solution space to be explored.
  • the explorer blocks 28 evaluate these nodes, by assessing their prediction horizon N through an extension step performed by an extension block 36 and then evaluate their cost value J in a cost evaluation block 38.
  • the exploration Once the exploration has completed its computations for a node, it is returned to the scheduler 26, in particular to the arbiter block 34. Only the switch position of the node with the lowest cost value J * is maintained by the arbiter block 34. At the end of the enumeration and evaluation process, the scheduler returns the best switch position s(/ ) to the external system.
  • Arbiter 34 2 1 64 -34/n
  • the total hardware cost of the FPGA 22 depends on the number n of explorer blocks 28 instantiated.
  • the worst case execution time in FPGA cycles is linearly dependent on the number of explorer blocks 28: 13+34+64 ⁇ 34/n cycles.
  • the FPGA 22 will first pre-compute the model, operate the lazy evaluation and then evaluate all the possible nodes through the n explorer blocks 28.
  • the explorer blocks 28 are expensive in terms of area usage. This is mainly due to the complexity involved in the extension step as explained below.
  • Scheduler block model pre-computation
  • Fig. 3 shows the pre-computation block 30.
  • the FPGA 22 can spare execution time by pre- computing some elements in common to all explorer blocks 28 with the pre-computation block 30.
  • the discrete state-space model of formulas (5b) and (5c) is divided into two parts. The part in common for all explorer blocks 28 is computed in the pre-computation block 30. The part of the model specific to each node is evaluated by the explorer blocks 28 themselves.
  • the input to the pre-computation block 30 is the system state x(/ ), the stator and rotor rotational speeds co s ⁇ k), co r ⁇ k) and the current reference i s a p ⁇ k) at time instant k.
  • the following equations describe how the output variables of the pre-computation block 30 are computed.
  • the stator current reference i s a p is rotated forward with the stator frequency co s .
  • h is the identity matrix of size two.
  • the s abc ⁇ + ⁇ ) part of the current error is common to the explorer blocks 28.
  • the second part of the equation relates to the possible next switch position s(k) specific to the node. Hence this part is computed in the explorer blocks 28.
  • the first part of the equation is computed in block 30. It may be called open-loop current error at time step k+l. It is computed in ⁇ and then transformed into abc coordinates: (g)
  • the second equation to be pre-computed is the stator current error at time step k:
  • the third and last variable to be pre-computed is the stator current at time step k in abc coordinates:
  • the second way to leverage centralization is achieved by the scheduler 26, which manages enumeration and distribution of possible next switch positions s new . This is done with the help of the two blocks 32, 34 operating in parallel.
  • the enumeration block 32 enumerates and filters the allowed switch positions s new .
  • the enumeration block 32 takes as input the actual applied switch position s(/ -1 ) of the converter 12. With this information, it is possible to enumerate all the admissible next switch positions S x (k) for each phase leg 14 separately. Thus, each phase leg 14 has a set of possible next switch positions S x (k) z ⁇ 0,1,...7 ⁇ , ⁇ G ⁇ i,b,c ⁇ . These sets are stored in look-up tables 40 and selected depending on s x (/ -1 ). By construction of the converter 12, none of the sets has more than four elements. The elements in the sets of each phases are then combined in combination block
  • a constraint detector block 44 which may be implemented as a combinatorial circuit, detects any invalid transition given the previous information.
  • the constraint detector block 44 outputs a corresponding binary value "valid".
  • the enumeration block 32 is managed by a finite state machine, which increments the counter controlling an enumeration multiplexer until a valid possible next switch position s new is detected by the constraint detector block 44.
  • the finite state machine starts searching when the "next" signal is asserted.
  • Fig. 5 shows the relationship between the enumeration block 32 and the arbiter block 34.
  • the arbiter block 34 arbitrates the exploration of the enumerated switch positions s new .
  • the arbiter block 34 sequentially distributes the enumerated switch positions s new to the explorer blocks 28, gathers their results and maintains the best switch position s(k) according to its cost J * .
  • the arbiter block comprises two finite state machines 46, 48 running in parallel.
  • the first finite state machine 46 operates in two stages. In a first stage, the finite state machine 46 makes a "lazy evaluation" by sending s(/ -1 ) to an explorer block 28 as a possible next switch position s new (k) to be extended. If the prediction horizon N of this possible next switch position is greater or equal to one sampling interval, the arbiter block 34 stops and returns s(/ -1 ) as the next switch position s(k) for the new time instant. Otherwise, the second stage of the finite state machine 46 starts.
  • Explorer block Fig. 6 shows one explorer block 28.
  • An explorer block 28 can be considered as a computation unit.
  • the explorer block 28 is composed of the two blocks
  • the extension block 36 first computes the prediction horizon N. Then, the cost evaluation block 38 applies the cost function J on the explored node. To optimize hardware usage, the two blocks 36, 38 may share 4 common multipliers.
  • the extension block 36 goes through several steps. It first evaluates the system state evolution at time step k + 1 by computing the stator current error (8) and the inverter voltages (2) and (3). After this step, the explorer knows the system output y at time steps k and k + I. Thus, it can now build a linear approximation of the system evolution:
  • Fig. 7 shows the linear approximation of one variable as dashed line. Now that the model is fully available, the extension step can evaluate the time step N when one of the 7 components first hits its boundary:
  • the output vector y is composed of the current error ⁇ s abc and the inverter voltages v n , v phflbc .
  • the variables s abc and ⁇ ⁇ are bounded by constant values, while the capacitor voltages v pn ,abc might have time-varying boundaries that depend on ⁇ ⁇ .
  • v P h and _ ph are parameters that are provided as input. The upper or lower bounds are enforced depending on the signs of the individual component slopes cy.
  • the output vector y is composed of 7 components with each one having their own linear model to be evaluated.
  • One possibility is to use (14) for evaluating the prediction horizon M of each component.
  • an integer divider may be rather expensive in terms of area and computation delay.
  • Another possibility is to use a binary search method, which exploits the shared multipliers and requires only two more adders.
  • the binary search which is described with respect to Fig. 7, first evaluates the linear function at Nmax, which may be a predefined prediction horizon. If the result is within the bound yi,bnd, N max is returned as the prediction horizon ⁇ /,. Otherwise the search starts within the interval between the actual time instant k and k+N max .
  • the binary search divides the time interval into two subintervals and continues with the subinterval that comprises the point at which the bound equals the linearly approximated output variable.
  • the time interval is less than N m m, the computation is aborted and the prediction horizon ⁇ /, for the variable indexed with / ' is set to 0, wherein N m m is a minimal horizon length as explained below.
  • the binary search has the advantage that it relies only on one multiplier and two adders to compute (14) because it evaluates the linear model (12) at different points in time instead of using a division.
  • the binary search reduces the size of its search interval by two at each iteration. In theory, the worst case of the number of iterations required is 0 ⁇ log2(N max )).
  • the binary search may furthermore use upper and lower bounds to reduce the computation time.
  • an upper bound N max on the interval to be explored can be imposed.
  • N max may be set to the current shortest prediction horizon among the components y that have already been evaluated. If the evaluated component y has a horizon of M > N max , then the binary search on y stops since the /th component is not critical (i.e. the violation of its bound is predicted to occur after another component violates its bound). Before any evaluation, N max may be initialized to 32, for example, thus providing real time guarantees even in the worst case.
  • the binary search method is used to find ⁇ .
  • N t Ni[m] , with ⁇ [1 ] being the least significant bit.
  • Let a, b, c, and s be temporary variables to be used in the binary search procedure.
  • the m-th bit of s is denoted by s[m], with s[l] being the least significant bit.
  • a is used as a candidate solution
  • b is used as a lower bound of the solution
  • c is used to store the results of a division by 2 (implemented as a right shift)
  • s is an upper bound of the solution.
  • M log 2 1 iterations, described below.
  • the standard solution for the problem (13) would involve a numeric long division to solve (14).
  • the division requires X iterative steps, where X is the number of bits of the numerator, and therefore is performed over at least X FPGA clock cycles.
  • the proposed method presents the advantage that fewer clock cycles are necessary to obtain the result.
  • the proposed algorithm takes at most log 2 1 iterations to execute. Since log 2 1 ⁇ X, fewer iterations are required in the proposed method.
  • the algorithm features an early detection of when a solution for the problem does not exist in the cases that the upper bound of the solution s is lesser than N min . Fewer clock cycles means that the solution for the problem (13) is found faster.
  • the cost value J may be computed by the cost evaluation block 38 in two different ways.
  • the explorer block 28 provides the switch position s(/ ) that was investigated together with its prediction horizon N and the related cost value J. While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive; the invention is not limited to the disclosed embodiments. Other variations to the disclosed embodiments can be understood and effected by those skilled in the art and practising the claimed invention, from a study of the drawings, the disclosure, and the appended claims.
  • the word “comprising” does not exclude other elements or steps, and the indefinite article "a” or “an” does not exclude a plurality.
  • a single processor or controller or other unit may fulfil the functions of several items recited in the claims.
  • the mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Any reference signs in the claims should not be construed as limiting the scope. LIST OF REFERENCE SYMBOLS

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Inverter Devices (AREA)

Abstract

L'invention concerne un FPGA (22) qui est destiné à contrôler un convertisseur électrique (12), et qui comprend un bloc d'énumération (32) conçu pour générer des positions de commutateurs suivantes possibles (s new (k)) pour des commutateurs à semi-conducteurs du convertisseur électrique (12) sur la base d'une position de commutateur réelle appliquée (s(k-1)) ; une pluralité de blocs d'exploration (28), chaque bloc d'exploration (28) étant conçu pour calculer une valeur de coût (J) pour une position de commutateur suivante possible des commutateurs à semi-conducteurs : recevant une position de commutateur suivante possible (s new (k)) ; en calculant des variables de système à des moments futurs à partir de variables de système à un moment présent du convertisseur électrique (12) et de la charge (24) sur la base de la position de commutateur suivante possible, les variables de système aux moments futurs étant calculées à partir des variables de système aux moments présents, avec des équations différentielles qui modélisent le convertisseur électrique (12) et la charge (24) ; en déterminant une valeur de coût (J) à partir des variables de système à des moments futurs en évaluant une fonction de coût avec les variables de système à des moments futurs ; un bloc d'arbitrage (34) destiné à sélectionner la position de commutateur suivante (s(k)) à appliquer au convertisseur électrique (12) à partir des positions de commutateurs suivantes possibles : en recevant les positions de commutateurs suivantes possibles (s new (k)) en provenance du bloc d'énumération (32) ; en sélectionnant un bloc d'exploration non-opérationnel (28) et en envoyant une position de commutateur suivante possible reçue au bloc d'exploration non opérationnel ; en recevant une valeur de coût (J) pour la position de commutateur suivante possible respective en provenance d'un bloc d'exploration fini ; une fois que toutes les positions de commutateurs suivantes possibles reçues en provenance du bloc d'énumération (32) ont été traitées, en sélectionnant la position de commutateur suivante (s(k)) comme étant la position de commutateur suivante possible (s new (k)) ayant la valeur de coût la plus faible (J). Chaque bloc d'exploration (28) est en outre conçu pour déterminer un horizon de prédiction (N) pour la position de commutateur suivante possible (snew(k)) dans laquelle au moins l'une des variables de système calculées à des moments futurs présente un écart, par rapport à une référence pour la variable de système, qui est supérieur à un écart prédéfini pour la variable de système. Un horizon de prédiction (N) pour une variable de système à des moments futurs est déterminé par une extrapolation linéaire, dans laquelle la variable de système aux moments futurs est calculée à partir de la variable de système au moment présent, et l'horizon de prédiction (N) est déterminé sur la base d'un point d'intersection de la variable de système extrapolée linéairement entre le moment présent et le moment futur avec un écart possible maximal par rapport à une référence de la variable de système. En outre, le point d'intersection est déterminé de manière itérative par une recherche binaire.
PCT/EP2016/062807 2015-06-16 2016-06-06 Contrôle prédictif de modèle fpga Ceased WO2016202623A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP15172241 2015-06-16
EP15172241.0 2015-06-16

Publications (1)

Publication Number Publication Date
WO2016202623A1 true WO2016202623A1 (fr) 2016-12-22

Family

ID=53404413

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/062807 Ceased WO2016202623A1 (fr) 2015-06-16 2016-06-06 Contrôle prédictif de modèle fpga

Country Status (1)

Country Link
WO (1) WO2016202623A1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110190764A (zh) * 2019-05-20 2019-08-30 华南理工大学 单相pwm整流器二次纹波抑制电路的模型预测控制方法
CN110794674A (zh) * 2019-10-30 2020-02-14 北京交通大学 一种交流机车多重化网侧变流器的试验平台
EP3614218A1 (fr) 2018-08-22 2020-02-26 Technische Hochschule Nuernberg Georg-Simon-Ohm Commande prédictive de modèles finis et continus en cascade pour systèmes mécatroniques
EP3722896A1 (fr) * 2019-04-11 2020-10-14 Hamilton Sundstrand Corporation Commande prédictive de modèle pour convertisseur matriciel fonctionnant en mode de commande de courant avec estimation du courant de charge

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009016113A1 (fr) * 2007-07-27 2009-02-05 Abb Research Ltd Commande d'un réseau électrique
WO2009080407A1 (fr) 2007-12-20 2009-07-02 Abb Research Ltd Procédé de fonctionnement d'une machine électrique rotative
WO2013110532A1 (fr) 2012-01-24 2013-08-01 Abb Research Ltd Commande prédictive à mise en œuvre multicœur d'un convertisseur électrique sur la base d'une fonction pondérée
WO2014006200A1 (fr) 2012-07-06 2014-01-09 Abb Technology Ag Commande d'un convertisseur modulaire

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009016113A1 (fr) * 2007-07-27 2009-02-05 Abb Research Ltd Commande d'un réseau électrique
WO2009080407A1 (fr) 2007-12-20 2009-07-02 Abb Research Ltd Procédé de fonctionnement d'une machine électrique rotative
WO2013110532A1 (fr) 2012-01-24 2013-08-01 Abb Research Ltd Commande prédictive à mise en œuvre multicœur d'un convertisseur électrique sur la base d'une fonction pondérée
WO2014006200A1 (fr) 2012-07-06 2014-01-09 Abb Technology Ag Commande d'un convertisseur modulaire

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TOBIAS GEYER ET AL.: "IECON 2009 - 35TH ANNUAL CONFERENCE OF IEEE INDUSTRIAL ELECTRONICS (IECON 2009", 3 November 2009, IEEE, article "Model Predictive Direct Torque Control of a variable speed drive with a five-level inverter", pages: 1203 - 1208
TOBIAS GEYER ET AL: "Model Predictive Direct Torque Control of a variable speed drive with a five-level inverter", IECON 2009 - 35TH ANNUAL CONFERENCE OF IEEE INDUSTRIAL ELECTRONICS (IECON 2009) - 3-5 NOV. 2009 - PORTO, PORTUGAL, IEEE, PISCATAWAY, NJ, USA, 3 November 2009 (2009-11-03), pages 1203 - 1208, XP031629326, ISBN: 978-1-4244-4648-3 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3614218A1 (fr) 2018-08-22 2020-02-26 Technische Hochschule Nuernberg Georg-Simon-Ohm Commande prédictive de modèles finis et continus en cascade pour systèmes mécatroniques
EP3722896A1 (fr) * 2019-04-11 2020-10-14 Hamilton Sundstrand Corporation Commande prédictive de modèle pour convertisseur matriciel fonctionnant en mode de commande de courant avec estimation du courant de charge
US11290023B2 (en) 2019-04-11 2022-03-29 Hamilton Sundstrand Corporation Model predictive control for matrix converter operating in current control mode with load current estimation
CN110190764A (zh) * 2019-05-20 2019-08-30 华南理工大学 单相pwm整流器二次纹波抑制电路的模型预测控制方法
CN110794674A (zh) * 2019-10-30 2020-02-14 北京交通大学 一种交流机车多重化网侧变流器的试验平台

Similar Documents

Publication Publication Date Title
EP2469692B1 (fr) Procédé de contrôle d'un convertisseur
Geyer et al. On the benefit of long-horizon direct model predictive control for drives with LC filters
CN108028599B (zh) 控制三相电力转换器
CN104737440B (zh) 具有参考跟踪的模型预测控制
EP3529888B1 (fr) Commande d'un convertisseur modulaire à plusieurs niveaux cc-ca
JP4957304B2 (ja) 交流−交流直接変換装置の空間ベクトル変調方法
Kieferndorf et al. Model predictive control of the internal voltages of a five-level active neutral point clamped converter
CN113708688B (zh) 一种永磁电机降矢量模型预测控制方法
WO2014033155A1 (fr) Commande de convertisseur modulaire en deux étages
WO2016202623A1 (fr) Contrôle prédictif de modèle fpga
CN104253556B (zh) 一种五电平逆变器七段式svpwm调制方法
Almaktoof et al. Finite-set model predictive control and DC-link capacitor voltages balancing for three-level NPC inverters
Begh et al. Gradient-based predictive pulse pattern control with active neutral point potential balancing for medium-voltage induction motor drives
WO2014076167A2 (fr) Commande d'un convertisseur électrique
CA2705721A1 (fr) Procede de fonctionnement d'une machine electrique rotative
Al-Othman et al. Selective harmonic elimination of PWM AC/AC voltage controller using hybrid RGA-PS approach
Jin et al. A Novel Adaptive Model Predictive Current Control for Three-Level Simplified Neutral-Point-Clamped Inverter With Carrier-Based Modulation
CA2762473C (fr) Methode de regulation d'un convertisseur
JP7182478B2 (ja) 電力変換装置
El-Wakeel et al. A Modified Selective Harmonic Elimination method for balancing capacitor voltage in modular multilevel converter
Vallone et al. FPGA implementation of model predictive direct current control
Baig et al. Improved Finite Control Set Model Predictive Control of Switch Ladder Multilevel Inverter
Kadir et al. Model Predictive Control of a New Low Cost 31-Level Inverter
Espinosa et al. An Efficiency Comparison of Cost Functions for FCS-MPC in a Three-phase Inverter
Brunoni et al. Preselected Adjacent Vectors with Sphere Decoding Algorithm for Fast FCS-MPC in Three-Phase 2L-VSI

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16729832

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16729832

Country of ref document: EP

Kind code of ref document: A1