Patent ID: 12244264

DETAILED DESCRIPTION

Specific embodiments of the disclosure will now be described in detail with reference to the accompanying figures. In the following detailed description of embodiments of the disclosure, numerous specific details are set forth in order to provide a more thorough understanding of the disclosure. However, it will be apparent to one of ordinary skill in the art that the disclosure may be practiced without these specific details. In other instances, well known features have not been described in detail to avoid unnecessarily complicating the description.

Throughout the application, ordinal numbers (e.g., first, second, third, etc.) may be used as an adjective for an element (i.e., any noun in the application). The use of ordinal numbers is not intended to imply or create any particular ordering of the elements nor to limit any element to being only a single element unless expressly disclosed, such as using the terms “before”, “after”, “single”, and other such terminology. Rather, the use of ordinal numbers is to distinguish between the elements. By way of an example, a first element is distinct from a second element, and the first element may encompass more than one element and succeed (or precede) the second element in an ordering of elements.

In one aspect, embodiments disclosed herein relate to an inverter built upon a reconfigurable fabric architecture such that a control algorithm that controls the inverter is able to flexibly adjust the inverter's operation according to ambient operating conditions. The control algorithm is developed by an Internet of Things (IoT) controller, and is wirelessly transmitted from the IoT controller to the inverter.

In order to develop the control algorithm, a mathematical model of a system including the solar panel array is developed and processed. The mathematical model is a state space model of the system and includes a control signal, a state vector, a system matrix, and an input matrix. More specifically, the process for determining the control algorithm includes processes of determining eigenvalues of the system matrix, creating a weighting matrix that transforms the eigenvalues, and controlling the process of converting power based upon the weighting matrix. The control algorithm is then transmitted to the inverter, and the inverter is then operated according to the determined algorithm.

The controller may also connect to multiple inverters, in which case the controller can control the multiple inverters as an array. During this process, the controller treats each panel and inverter as a separate input to the state vector, and activates or deactivates the individual inverters at the behest of the control algorithm. Alternatively, the controller can control multiple inverters by transmitting a single control algorithm to each inverter, such that the individual inverters each have a different control algorithm. Accordingly, embodiments of the invention are applicable to small and large scale solar arrays, the process of converting output power thereof, and methods of generating control algorithms for inverters.

FIG.1depicts a physical system overview in accordance with one or more embodiments of the invention. As shown inFIG.1, the system includes a solar panel array13, an inverter17, and a controller29. The solar panel array13is connected to the inverter17and is formed by a series of solar panels11. The structure of the solar panels is routine in the art; the solar panels are formed as a series of silicon layers stacked between encapsulant layers, which may be glass or an elastomeric polymer. The output wires of the solar panel array13are connected to the inverter17at the input terminal18, which receives output power of a first type, such as direct current (DC), from the solar panel array13and outputs synchronized power of a second type, such as alternating current (AC), at its output terminals19to a battery20or other output device.

As shown inFIG.1, the connection between each of the solar panels11and the input terminal18of the inverter17includes a bypass diode15. Each bypass diode15is configured to be selectively biased in order to allow or prevent current from flowing from the solar panel11to the inverter17. In particular, in order to prevent overloading shaded cells of the solar panel array13, the bypass diode15may be forward biased during regular operation in which case current flows freely from the respective solar panels11to the inverter17via the input terminal18, but prevents current from reversing into the solar panel11. As a result, a shaded solar panel11, which has a higher resistance than its non-shaded counterpart, may be bypassed in order to avoid overloading the shaded solar panel11or wasting power thereon. Furthermore, the bypass diodes15prevent the individual solar cells11from supplying power to each other.

Overall, the system ofFIG.1is controlled according to instructions generated by the controller29. The controller29contains communication module25and a processor21, which serve to generate and transmit instructions to the inverter17via a network connection27. The network connection27is a wireless connection using high-level communication network protocols, such as Wi-Fi or Zigbee®. Consequently, the controller29forms, with the solar panel array13and the inverter17, an Internet of Things (IoT) or Internet of Everything (IoE) network. Although depicted as being wirelessly connected to the controller29via the network connection27, the inverter17may alternatively be connected to the controller via a wired connection (not shown) such as ethernet, or an offline wireless connection such as Bluetooth® or Near Field Communication (NFC).

As noted above, the inverter17receives DC voltage from the solar panel array13and outputs synchronized AC voltage at its output terminals19to a battery20. To do such, the inverter17includes output terminals19, a processor21, a reconfigurable fabric circuit23, and a communication module25. During a power conversion process, the inverter17receives a control algorithm from the controller29via the network connection27and the communication module25. The control algorithm comprises a series of instructions, enacted by the processor21and the reconfigurable fabric circuit23, that increases or decreases the current of a circuit commensurate with voltage changes, which may be environmentally related as described above. Accordingly, when the processor21issues a control command to the reconfigurable fabric circuit23, the reconfigurable fabric circuit23increases or decreases the output power of the inverter17responsive to the control command.

Because the microinverter operates with a non-optimized (or non-existent) inverter algorithm prior to receiving an algorithm from the controller29, the process starts by transmitting voltage and current output from the solar panel array13to the controller29. This process may be facilitated with voltage, current, and/or power sensor(s) (not shown) that sense the respective voltage, current, and/or power output by the solar panel array13. The sensor transmits the voltage, current, and/or power values to the processor21of the inverter17, and the inverter17transfers the values to the controller29via the network connection27. The controller29logs the voltage and current over a period of time, during which the controller performs maximum power point tracking and determines the minimum, average, and maximum outputs of the solar panel. These values may be stored, for example, in a graph of the form shown inFIG.2, which is further discussed below. As the most efficient inverters assume an open-loop current source, the controller29assumes that the output current of the solar panel array13does not depend on the input current when logging and tracking system power outputs.

Continuing withFIG.1, the control algorithm is developed by the processor21of the controller29, and is initiated by developing a mathematical state space model of the entire system depicted inFIG.1. The state space model is initially developed by abstracting the circuit into state space notation, which is performed by the processor21and further described below. As the orientation and configuration of the solar panels varies according to the environment and application of the solar panel array13, the inverter17initiates the process by assuming the solar panel array13is a controllable system of the form shown below:
x′(t)=Ax(t)+Bu(t)  (1)
where A is a system matrix representing physical components of the system, B is an input matrix representing control inputs, u(t) is a control signal, and x(t) is a state vector that is representative of the current and voltage output of the solar panel array as a function of time. Accordingly, Ax(t) represents the physical system signals while Bu(t) represents the control signals and their weights.

For a solar panel array13or other photovoltaic systems, the state vector x(t) can be determined according to a variety of methods. In its most common form, the state vector is a two row vector containing the instantaneous voltage and current signals received by the inverter17from the solar panel array13, and the inverter17provides instantaneous feedback by applying the control signal u(t), which is derived from the instantaneous voltage and current. In other instances, the state vector can be formed as a vector containing the voltage and current as a function of time. For example, the processor21may use GMPPT to track the voltage and current of the solar panel array13over a period of days, assume that the voltage and current will follow similar patterns in order to avoid having to receive feedback from the solar panel array13, and determine the state vector x(t) according to the assumed voltage and current. Alternatively, voltage and current output models (which may be generated using solar irradiance or circuit modelling software) of the solar panel array13may be input to the processor21during the installation process according to manufacturing specification, ambient weather conditions, etc.

Accordingly, the control algorithm is developed as a function of a control signal, u(t), which may be, for example, a signal to control whether the output current and/or voltage of the inverter17is stepped up or stepped down. The control signal u(t) is related to the state vector x(t) by the following equation, where F is a feedback gain matrix and xr(t) is a reduced system matrix, which is further described below.
u(t)=−Fxr(t)  (2)

The feedback gain matrix F is a function of input and control matrices of the system, G and M, as shown in equation (3), below.
F=−GTM(3)

In equation (3), G is defined to be an input matrix related to the input matrix B by formula (4), below. In formula (4), λAdenotes the left eigenvector of system matrix A.
G=BλA(4)

Similarly, M is defined to be a control matrix of the form shown in equation (5), which is determined according to the control signal u(t) and a pseudo control variable v. The values of the pseudo control variable v may vary between the minimum voltage and maximum voltage output by the inverter, and is used to ensure that the process of determining a control signal as specified in equation (2) converges on a solution. Values of the pseudo control variable v may be selected by the processor randomly, or the processor may choose values of v in order to minimize or maximize outputs of equations (6), (10), and/or (11), below. Furthermore, the pseudo control variable v may be changed during the stability analysis in order to converge on a desired output value.
M=vTu(t)  (5)

Because the control matrix M and the control signal u(t) are fed back into the system, the control signal u(t) is determined to be the optimal control signal u(t) that minimizes a performance index J as shown in equation (6). Accordingly, equation (6) is used as the control algorithm for the inverter17, where the processor21of the controller29and the processor21of the inverter17operate to minimize the performance index J. In equation (6), Q and R are weighting matrices that shift the values of the control signal u(t) and the state vector x(t).

J=12⁢∫0∞(xT(t)⁢Q⁢x⁡(t)+uT⁢R⁢u⁡(t))⁢d⁢t(6)

The determination of Q and R is not trivial, and is commonly found by trial and error. However, the experimental nature of trial and error results in different dynamic outputs of the circuit, which cause inverter inefficiencies in the control process. Furthermore, dynamic factors, such as shading conditions or panel damage, necessitate that the weighting matrices Q and R are repeatedly calculated to ensure optimal power conversion.

To avoid the aforementioned trial and error process, the weighting matrices Q and R are determined based upon a stable control region of the system. The stable control region is defined according to GMPPT data, such that when a system has eigenvalues located in the stable control region the resultant control algorithm is operating in the maximum power output range identified by the GMPPT data. In particular, the stable control region may be defined, for example, such that the output power from the solar panel array13is outputting power above a power threshold derived from the GMPPT data, or such that the output power from the array is within an acceptable error margin of the maximum power point of the solar panel array13. The thresholds and error margins may be predetermined by manufacturer or operator specification, or according to environmental or other factors.

One example of GMPPT data is shown inFIG.2, which depicts the tracked output power and current of the solar panel array13as a function of the voltage generated by the solar panel array13. As shown inFIG.2, the output current and power are tracked over a period of time for a minimum temperature of 25 degrees Celsius and a maximum temperature of 45 degrees Celsius. The power output is also tracked according to its efficiency of the solar panel array13, of which 1000 W/m2, 700 W/m2, and 400 W/m2efficient panels are analyzed. The efficiency may vary according to manufacturer specification or location irradiance, while the solar panel array13temperature varies according to the ambient weather conditions.

Regardless of the efficiency or ambient temperature thereof,FIG.2depicts that the maximum power point is the location at which the power is highest. Specifically, because power is a function of the current and voltage of a circuit, the maximum power point will always be the highest multiplicative combination of the voltage and current shown in the left diagram, or the peak power of the right diagram ofFIG.2. Accordingly, the stable control region, described herein as being related to a global maximum power point, may be described as a fraction of the highest point of the power graph ofFIG.2, which may be determined by an operator according to the use case of the inverter or determined as a required amount of output power to achieve a specific function, such as charging a battery20or other device.

Returning toFIG.1, as it is assumed that the system does not initially have eigenvalues located in the stable control region, the eigenvalues must be relocated to the stable control region prior to calculating the weighting matrices Q and R. Accordingly, in order to simplify the determination of Q and R, the order of the system is reduced as shown in equation (7), below, where xr(t) is a reduced system matrix and λAdenotes the left eigenvector of system matrix A.
xr(t)=λAx(t)  (7)

The calculation of the eigenvalues is routine in the art, and may be realized by finding the roots of a characteristic equation of the form |A−∥·I|, where A is the system matrix (or other matrices) described above, λ denotes an eigenvalue of the system matrix A, and I represents an identity matrix with the same dimensions of matrix A.

The reduced system matrix xr(t) is then related to the control signal u(t) and system matrix A by formula (8). Within formula (8), W denotes a system matrix that encompasses the system matrix A and its associated eigenvalues after system order reduction, while G is an input matrix that encompasses input matrix B and its associated eigenvalues after system order reduction.
xr(t)=Wxr(t)+Gu(t)  (8)

Once the system order is reduced, the eigenvalues of the system are relocated from an initial control region31to a stable control region33to ensure system stability and facilitate the Q and R weighting matrix determination process.FIG.3depicts one example of the stable control region and the relocation process in the form of an S-Plane diagram. As shown inFIG.3, the eigenvalues35of the system are originally located in an initial control region31that delimits the potential locations of the eigenvalues35prior to relocation.

Relocation of the eigenvalues is achieved by applying a control signal u(t) according a weighting matrix Q that causes the eigenvalues35to relocate to the stable control region33. The stable control region33is defined, in part, according to equation (9), which requires that the stable control region Qcontrolis related to the left eigenvector λAand its transpose.
Qcontrol=λAQcontrolλTA(9)

As shown inFIG.3, the stable control region33identified by equation (9) is disposed closer to the origin of the S-Plane than the initial control region31, and, thus, is more stable than the initial control region31. Consequently, eigenvalues35located in the stable control region33will also be more stable than their non-relocated counterparts in the initial control region31. Moreover, as the stable control region is placed in a location where all eigenvalues must be non-negative in relation to the real axis, the system will always have positive semidefinite stability.

Because the eigenvalues35are independent of each other, they must be relocated to the stable control region33in a recursive and sequential process. Accordingly, the weighting matrix Q is formed of a series of individual weighting values, Qi, that individually relocate a corresponding eigenvalue to the stable control region33. The general weighting matrix Q can be found by equation (10), where λ denotes system eigenvalues, M denotes the aforementioned control matrix, and G denotes the input matrix.
Q=−2λM+MGGTM(10)

In addition, individual values Qiof the general weighting matrix Q can be found according to equation (11), below, where i denotes an index of an individual eigenvalue or eigenvalue set. Specifically, equation (11) is a positive, semi-definite Riccati equation that relates the individual weighting matrix values Qito the control matrix M, the pseudo control variable v, the input matrix G, and the system matrix W.
Qi=MTiMvi−MivWi+MiWGiGTiMWi(11)
Once individual values of Qiare known, these values are agglomerated into the general weighting matrix Q, which must obey the relationship of equation (10).

Returning toFIG.1, once the eigenvalues are relocated, and Q is known to be the weighting values that transpose the eigenvalues, the processor21must determine a value for the system weighting matrix R. The weighting matrix R relates to the eigenvalues as shown in equation (12). In equation (12), H denotes the stable eigenvalues after the transformation, while M is the aforementioned control matrix, u is the aforementioned control signal, R+is the pseudo inverse of the system weighting matrix R, and biis the value of the input matrix at index i.
R+i+1HTi+1=WTi−bTiMiMTi+bFriui+1(12)

The pseudo inverse may be calculated using the Moore-Penrose method, for example, or any other suitable method of calculation. Once the pseudo inverse R+of the weighting matrix R is known, the pseudo inverse is inverted to get the system weighting matrix R.

As the values of Q and R are now known to the processor21, the processor21can now determine the value of the control signal u(t). Furthermore, because the Q and R weighting matrices are known, the processor21uses the performance index J of equation (6) as a control algorithm to perpetually control the inverter17, where the system is controlled such that the control signal u(t) is always the control signal that minimizes the performance index J.

In order to transmit the control algorithm from the processor21of the controller29to the inverter17, the control algorithm is transmitted from the processor21of the controller29to the communication module25of the controller29. The control algorithm is then wirelessly transmitted via the network connection27from the communication module25of the controller29to the communication module25of the inverter17. The communication module25of the inverter17then transmits the control algorithm to the processor21of the inverter17. The processor21of the inverter17controls the reconfigurable fabric circuit23according to the control algorithm such that the reconfigurable fabric circuit23increases or decreases the output voltage according to the control signal u(t).

FIG.4shows an example of an inverter17as described above. As shown inFIG.4and as further detailed above, the inverter17comprises a processor21connected to a communication module25, the solar panel array13and a reconfigurable fabric circuit23. The reconfigurable fabric circuit23is connected to the output terminals19, and changes the ratio of voltage and current supplied to the output terminal19by selectively connecting the output terminals19to the solar panel array13. Components of the inverter17depicted inFIG.4that are substantially similar to their counterparts inFIG.1are not further described for the sake of brevity.

At its core, the reconfigurable fabric circuit23is formed as a logic-controlled switch37, a voltage gate39, and a current gate41that connect the solar panel array13to the input terminals18, the output terminals19, and the processor21. The voltage gate39is connected to a first terminal that measures the voltage drop across the output terminals of the solar panel array13, and is further connected to a target voltage terminal that receives a target voltage from the processor21. Similarly, the current gate41is connected to a first terminal that transmits the current output from the solar panel array13, and is further connected to a second terminal that transmits the target current output of the system from the processor21. The target voltage and target current are derived from the control signal u(t).

By virtue of the switch37being directly connected to the processor21, the switch37is controlled via instructions from the processor21according to the control algorithm containing the control signal u(t). As noted above, the control algorithm is determined by the controller29and transmitted to the communication module25of the inverter17, which then transmits the control algorithm containing the control signal u(t) to the processor21of the inverter17. Thus, when the control signal u(t) dictates that the voltage of the output terminals19is lower than a desired voltage, the switch37connects to the voltage gate39until the voltage at the output terminals19matches the target voltage, as identified by the voltage gate39. Similarly, if a current increase is required, the switch37connects to the current gate41until the current at the output terminals19matches the target current.

In addition to being connected to the solar panel array13, the inverter17may be connected to an additional power source (not shown), which may be, for example, a battery. If the processor21recognizes that additional voltage is necessary to provide consistent power output, the processor21may direct the switch37to connect to the battery in order to supply supplemental power to the inverter17. The inclusion (or lack thereof) of a battery is based upon the power output of the solar panel array13and its contemplated use case.

The reconfigurable fabric circuit23is also configured to convert the direct current output of the solar panel array13to alternating current using a similar process. Specifically, the switch37may connect to the voltage gate39and/or current gate41in oscillatory fashion, creating AC phases in the power output by the output terminals19. The DC-to-AC conversion is routine in the art, and is not further covered in the interest of brevity.

Due to the reconfigurable nature of the reconfigurable fabric circuit23, and that the processor21of the inverter17receives its instructions wirelessly via the network connection27, the controller29can also control multiple inverters17by establishing wireless connections with each inverter17. One such embodiment is depicted inFIG.5, which demonstrates that multiple inverters17, each connected to a separate solar panel11, are connected to a single controller29. Thus, the individual inverters17operate as microinverters that each control a single solar panel11according to the formula output by the controller29. Elements ofFIG.5that are substantially similar to elements ofFIG.1use the same numbering for consistency. Furthermore, descriptions of the substantially similar elements have been omitted for the sake of brevity.

When the controller29is connected to multiple inverters17as shown inFIG.5, two separate modes of operation may be used. In a first mode, the controller29treats each inverter17and its associated solar panel11as individual arrays, and sends separate control algorithms to each inverter17such that each inverter17is operated within the stable control region33. The control algorithms are determined as described above, and the controller29collects the outputs of each solar panel11and returns a control algorithm for the specific solar panel11.

The first mode may be used in cases where the maximum power output is always required, or when the solar panel array13is placed in a region of consistent sunlight with relatively low volatility. In particular, because each inverter17operates according to its own control algorithm, the system may be considered to be always converting the maximum amount of solar power available, regardless of how the array is shaded. However, such may also come with the computational and/or electrical cost of always operating every solar panel11and its corresponding inverter17.

Accordingly, the processor21may operate according to a second operation mode, in which case the processor21treats the individual solar panels11and their corresponding inverters17as a single array. In this case, the processor21of the controller29treats each solar panel11as a separate input of the state vector x(t), and calculates a state vector for the entire solar panel array13containing the individual panels11. The processor21then selectively directs the inverters17to control their individual panels11. If any of the outputs of a process for controlling the solar panel11based upon the state vector indicate that a voltage from a respective solar panel11is unnecessary (such as a control signal u(t) with a non-positive value), the controller29directs that inverter17to cease operation, in which case the particular inverter17will not actuate the switch37.

The second mode may be used in cases where efficiency is valued, in cases of high volatility, or if a solar panel11becomes damaged. Specifically, because the second mode allows microinverters to be selectively deactivated, power is not wasted in trying to adjust the voltage of solar panels that are not performing optimally. However, the second mode of operation demands a high computational cost from the controller29, and, thus, the first mode may be more beneficial in situations where processing time is essential or when the system is stable. The method of operation of the controller29is determined by an operator during system installation according to the contemplated use case. However, the operation mode may be adjusted by the operator at a later date based on changes to the system or a user request, which may be implemented by directing the processor21to change its operating mode. It is also within the bounds of the invention that multiple solar panel arrays13may be controlled by a single controller29, in which case the controller29separately determines a control algorithm for each solar panel array13.

FIG.6depicts a flowchart describing a process of determining whether the solar panel array13is achieving maximum power throughput. The steps ofFIG.6may be performed, for example, by the processor21of the controller29, or the processor21of the inverter17. As shown inFIG.6, the process starts at step610, at which point the processor21determines whether the power output by the inverter17is greater than the amount of input power received. When the output power is greater than the input power, the process continues to step630, at which point the output voltage is perturbed, as described below. Alternatively, when the output power is less than the input power the processor21waits at step620until the input power is less than the output power. As the output power depends on the position of the sun, a step of waiting may be for a period of minutes or hours until the amount of sunlight received by the solar panel array13changes.

At step630, the processor21introduces a minor voltage perturbation to the solar panel array13. At this time, the processor21of the inverter17connects the switch37to the voltage gate39for a brief period of time (e.g., less than 5 seconds), which causes additional power to flow into the inverter17, causing a minor fluctuation in the overall power output of the system. If the system is stable and functioning from a controls perspective, then the voltage perturbation causes the voltage output by the system to increase. However, if the derived control algorithm does not have stability, the voltage perturbation may cause a decrease in power output (which may be caused by overcompensating for the increased voltage by decreasing system output current), or not cause a measurable response. Accordingly, the process of perturbing the system voltage only requires a minor change in the operation of the switch37, which may be enacted by increasing (or decreasing) the amount of voltage received in the inverter17. The increased or decreased new voltage is then evaluated at step640, as described below.

Once the system voltage is perturbed, the method proceeds to step640, at which point the processor21determines whether the new voltage is above a voltage threshold. The threshold of step640may be calculated according to a variety of methods. For example, the threshold may be representative of a specific target output voltage of the solar panel array in relation to a desired use case, such as charging a battery or powering a device. Alternatively, the voltage threshold may be determined as a fraction or percentage of the maximum voltage output of the solar panel array13. Such is not limited to the examples given, however, and the voltage threshold may be determined according to other criterion without departing from the spirit of the invention.

As shown inFIG.6, if the voltage is less than the voltage threshold then the method proceeds to step650, in which case the voltage is increased, and the to step680, at which point the new voltage is compared to the voltage threshold. If the new voltage is greater than the threshold, the processor21determines that a global maximum power point has been achieved. Alternatively, if the new voltage is less than the threshold, the processor21returns to step630, where the voltage is adjusted. Accordingly, steps630,640,650, and680of the method form an iterative loop for increasing the voltage until the output voltage overcomes a voltage threshold.

Alternatively, if the processor21determines at step640that the output voltage is greater than the threshold voltage, the process continues to step670, at which point the processor21compares the power output by the solar panel array13to a power threshold. Similar to the voltage threshold described above, the power threshold may be determined as a function of the total power output of the solar panel array13, a required output to achieve a specific use case, or other criterion. If the processor21determines that the output power is greater than the identified power threshold, the process continues to step690, at which point it is determined that the global maximum power point has been achieved. Alternatively, if the output power is determined to be less than the power threshold, the process reverts to step630, at which point the voltage is disturbed again. Thus, steps630,640, and670form a second iterative loop that increases the system voltage until a required power output greater than the power threshold is achieved.

Once the output voltage is greater than the voltage threshold and the output power is greater than the output power threshold, the system is considered to be operating at its global maximum power point. Accordingly, the process ends at step690, where the processor21concludes that a global maximum power point is achieved once the respective power and voltage thresholds of steps670and680are eclipsed by the output power and voltage of the system.

FIG.7depicts a flowchart of a method for controlling an output power of an inverter. Elements described above that may be used in the method shown inFIG.7have been numbered for clarity, but are not limited to such. Initially, in step710, a state space model of a solar pane system is developed by abstracting the circuit into state space notation, which may be performed by any suitable processor (e.g., processor21). In particular, the processor21of the controller29initiates the abstraction process by assuming that the solar panel array13is a controllable system, and forming a state vector x(t) containing the instantaneous voltage and current signals received by the inverter17from the solar panel array13. Alternatively, the state vector x(t) can be formed by the controller29as a vector containing the voltage and current as a function of a maximum power point tracking (MPPT), or the voltage and current of the solar panel array13may be input to the processor21during the installation process by an operator.

In step720, the controller29applies a transformation to the state vector that causes eigenvalues of the state vector to relocate to a stable control region33. In particular, the processor21of the controller29recursively determines a weighting value Qithat transitions a single eigenvalue of the state vector x(t) to the stable control region33. The weighting values Qiare agglomerated to form a weighting matrix Q and the weighting matrix Q is applied to the system, which causes all eigenvalues to relocate to the stable control region33.

In step730, the controller29determines a control algorithm for controlling the inverter based upon the relocated state vector x(t). Specifically, the weighting matrix Q and the state vector x(t) are input into a performance index J containing the control signal u(t). The control signal u(t) is determined to be the value that minimizes the performance index J. Accordingly, the control algorithm is defined as outputting a control signal u(t) according to the minimized performance index J.

In step740, power is converted from a first type to a second type based upon the determined control algorithm. Specifically, based upon the control signal u(t), the controller29directs the inverter17to change the ratio of voltage and current supplied to the output terminals19. The inverter17contains a reconfigurable fabric circuit23containing a voltage gate39, a current gate41, and a switch37, where the voltage gate39and the current gate41connect the solar panel array13to the output terminals19. Thus, by selectively directing the switch37of the reconfigurable fabric circuit23to connect to the voltage gate39and the current gate41, the inverter17controls the power output to the output terminals19by the solar panel array13. More specifically, the selective connection process creates oscillatory phases in the power, which serves to convert the power from direct current to alternating current, where the frequency of the alternating current is determined according to the number of oscillatory phases.

Accordingly, the aforementioned embodiments as disclosed relate to devices and methods useful for converting power from a first power type to a second power type, and for controlling solar panel arrays for maximum efficiency and/or power output. As a direct consequence of abstracting the solar panel array and the inverter(s), the system can dynamically respond to changes in operating conditions at a system wide level. Furthermore, because the inverter is controlled remotely, multiple inverters and solar panels systems can be controlled at the same time. Finally, because the controller knows the outputs of the system on a panel by panel basis, the controller is able to control the solar panel array to avoid inefficiencies caused by damaged panels or poor weather conditions. Although only a few example embodiments have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the example embodiments without materially departing from this invention. Accordingly, all such modifications are intended to be included within the scope of this disclosure as defined in the following claims. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents, but also equivalent structures. Thus, although a nail and a screw may not be structural equivalents in that a nail employs a cylindrical surface to secure wooden parts together, whereas a screw employs a helical surface, in the environment of fastening wooden parts, a nail and a screw may be equivalent structures. It is the express intention of the applicant not to invoke 35 U.S.C. § 112(f) for any limitations of any of the claims herein, except for those in which the claim expressly uses the words ‘means for’ together with an associated function.