From 7d6866042b60677ba57fa24c7891efab6c4d8157 Mon Sep 17 00:00:00 2001 From: rodrigomha Date: Tue, 2 Apr 2024 13:58:27 -0700 Subject: [PATCH 1/7] update sauer pai equations --- docs/src/component_models/machines.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/src/component_models/machines.md b/docs/src/component_models/machines.md index 191b10e09..905af2dbb 100644 --- a/docs/src/component_models/machines.md +++ b/docs/src/component_models/machines.md @@ -219,12 +219,12 @@ The Sauer Pai model defines 6 differential equations as follows: \begin{align} \dot{\psi}_d &= \Omega_b(r_ai_d + \omega \psi_q + v_d) \tag{9a} \\ \dot{\psi}_q &= \Omega_b(r_ai_q - \omega \psi_d + v_q) \tag{9b} \\ -\dot{e}_q' &= \frac{1}{T_{d0}'} \left[(-e_q' - (x_d - x_d')(i_d + \gamma_d2 * \dot{\psi}_d'') + v_f)] \tag{9c}\\ -\dot{e}_q' &= \frac{1}{T_{q0}'} \left[(-e_d' + (x_q - x_q')(i_q + \gamma_q2 * \dot{\psi}_q''))] \tag{9d}\\ -\dot{\psi}_d'' &= \frac{1}{T_{d0}''} \left[(-\psi_d'' + e_q' - (x_d' - x_l)*i_d)] \tag{9e} \\ -\dot{\psi}_q'' &= \frac{1}{T_{q0}''} \left[(-\psi_q'' - e_d' - (x_q' - x_l)*i_q)] \tag{9f} \\ -i_d &= \frac{1}{x_d''} (\gamma_d1 * e_q' - \psi_d + (1 - \gamma_d1) * \psi_d'') \tag{9g} \\ -i_q &= \frac{1}{x_q''} ((-\gamma_q1 * e_d' - \psi_q + (1 - \gamma_q1) * \psi_q'') \tag{9h} \\ +\dot{e}_q' &= \frac{1}{T_{d0}'} \left[(-e_q' - (x_d - x_d')(i_d + \gamma_{d2} \cdot \dot{\psi}_d'') + v_f)\right] \tag{9c}\\ +\dot{e}_q' &= \frac{1}{T_{q0}'} \left[(-e_d' + (x_q - x_q')(i_q + \gamma_{q2} \cdot \dot{\psi}_q''))\right] \tag{9d}\\ +\dot{\psi}_d'' &= \frac{1}{T_{d0}''} \left[(-\psi_d'' + e_q' - (x_d' - x_l)\cdot i_d)\right] \tag{9e} \\ +\dot{\psi}_q'' &= \frac{1}{T_{q0}''} \left[(-\psi_q'' - e_d' - (x_q' - x_l)\cdot i_q)\right] \tag{9f} \\ +i_d &= \frac{1}{x_d''} (\gamma_{d1} \cdot e_q' - \psi_d + (1 - \gamma_{d1}) * \psi_d'') \tag{9g} \\ +i_q &= \frac{1}{x_q''} ((-\gamma_{q1} \cdot e_d' - \psi_q + (1 - \gamma_{q1}) \cdot \psi_q'') \tag{9h} \\ \tau_e &= \psi_d i_q - \psi_q i_d \tag{9i} \end{align} ``` @@ -233,9 +233,9 @@ with ```math \begin{align*} - \gamma_d1 &= \frac{x_d'' - x_l}{x_d' - x_l} \\ - \gamma_q1 &= \frac{x_q'' - x_l}{x_q' - x_l} \\ - \gamma_d2 &= \frac{1 - \gamma_d1}{x_d' - x_l} \\ - \gamma_q2 &= \frac{1 - \gamma_q1}{x_q' - x_l} + \gamma_{d1} &= \frac{x_d'' - x_l}{x_d' - x_l} \\ + \gamma_{q1} &= \frac{x_q'' - x_l}{x_q' - x_l} \\ + \gamma_{d2} &= \frac{1 - \gamma_d1}{x_d' - x_l} \\ + \gamma_{q2} &= \frac{1 - \gamma_q1}{x_q' - x_l} \end{align*} ``` \ No newline at end of file From 598b06fccc19e0ea0209a11e772cf0f07b9081ad Mon Sep 17 00:00:00 2001 From: rodrigomha Date: Tue, 2 Apr 2024 13:58:42 -0700 Subject: [PATCH 2/7] update png links in PSY --- docs/src/models.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/models.md b/docs/src/models.md index 5d3985885..e5f704b2f 100644 --- a/docs/src/models.md +++ b/docs/src/models.md @@ -65,7 +65,7 @@ The implementation of Synchronous generators as components uses the following st share values across components. ```@raw html - + ``` ## Inverter Models @@ -84,7 +84,7 @@ components in a way that resembles current practices for synchronoues machine mo The following figure summarizes the components of a inverter and which variables they share: ```@raw html - + ``` Contrary to the generator, there are many control structures that can be used to model From a06d2dbd64f82ade71717988ac0dc86b069a8b20 Mon Sep 17 00:00:00 2001 From: rodrigomha Date: Tue, 2 Apr 2024 16:01:25 -0700 Subject: [PATCH 3/7] add active load model --- docs/src/component_models/loads.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/src/component_models/loads.md b/docs/src/component_models/loads.md index f30b08d33..74f95b42e 100644 --- a/docs/src/component_models/loads.md +++ b/docs/src/component_models/loads.md @@ -160,4 +160,25 @@ Finally, the withdrawed current from the bus is: I_r = \left(\frac{S_\text{motor}}{S_\text{base}}\right) (i_{ds} - v_{qs} B_{sh}) \\ I_i = \left(\frac{S_\text{motor}}{S_\text{base}}\right) (i_{qs} + v_{ds} B_{sh}) \end{align*} -``` \ No newline at end of file +``` + +### Active Constant Power Load Model + +The following 12-state model Active Load model that measures the AC side using a Phase-Lock-Loop (PLL) and regulates a DC voltage to supply a resistor $r_L$. This model induces a CPL-like behavior as it tries to maintain a fixed DC voltage to supply ``P = v_\text{DC}^2 / r_L`` (based on [the following reference](https://www.sciencedirect.com/science/article/pii/S0142061516000740)). + +```math +The complete model is given by: +\begin{align} + \dot{\theta} &= \Omega_b (\omega_\text{pll} - \omega_s) \tag{4a} \\ + \dot{\epsilon} &= v_\text{o}^\q \tag{4b}\\ + \omega_\text{pll} &= \omega^\star + k^p_\text{pll} v_\text{o}^\q + k_\text{pll}^i \epsilon \tag{4c}\\ + \dot{\zeta} &= v_\text{DC}^\star - v_\text{DC} \tag{4d} \\ + i_\text{cv}^{\d,\star} &= k_\text{DC}^p ( v_\text{DC}^\star - v_\text{DC}) + k_\text{DC}^i \zeta \tag{4e} \\ + \frac{c_\text{DC}}{\Omega_b} \dot{v}_\text{DC} &= \frac{p_\text{cv}}{v_\text{DC}} - \frac{v_\text{DC}}{r_L} \tag{4f} \\ + \dot{\gamma}_\d &= i_\text{cv}^\d - i_\text{cv}^{\d,\star} \tag{4g}\\ + \dot{\gamma}_\q &= i_\text{cv}^\q - i_\text{cv}^{\q,\star} \tag{4h} \\ + v_\text{cv}^{\d,\star} &= k_\text{pc}( i_\text{cv}^\d - i_\text{cv}^{\d,\star}) + k_\text{ic} \gamma_\d + \omega_\text{pll} l_f i_\text{cv}^\q \tag{4i}\\ + v_\text{cv}^{\q,\star} &= k_\text{pc}( i_\text{cv}^\q - i_\text{cv}^{\q,\star}) + k_\text{ic} \gamma_\q - \omega_\text{pll} l_f i_\text{cv}^\d \tag{4j} +\end{align} +``` +Equations (4a)--(4c) describes the PLL dynamics to lock the active load to the grid. Equations (4d)-(4e) describes the DC Voltage Controller to steer the DC voltage to ``v_\text{DC}^\star``, while equation (4f) describes the DC voltage dynamics at the capacitor assuming an ideal converter. Finally, equations (4g)--(4j) describes the dynamics of the AC Current Controller. Additionally six states are defined for the LCL filter in a similar fashion of GFM inverters. \ No newline at end of file From bcf05f6efda5b0ec9d73f74dc70f2836cbdde806 Mon Sep 17 00:00:00 2001 From: rodrigomha Date: Tue, 2 Apr 2024 16:09:56 -0700 Subject: [PATCH 4/7] update typo --- docs/src/component_models/loads.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/component_models/loads.md b/docs/src/component_models/loads.md index 74f95b42e..475aa03a5 100644 --- a/docs/src/component_models/loads.md +++ b/docs/src/component_models/loads.md @@ -164,10 +164,10 @@ I_i = \left(\frac{S_\text{motor}}{S_\text{base}}\right) (i_{qs} + v_{ds} B_{sh}) ### Active Constant Power Load Model -The following 12-state model Active Load model that measures the AC side using a Phase-Lock-Loop (PLL) and regulates a DC voltage to supply a resistor $r_L$. This model induces a CPL-like behavior as it tries to maintain a fixed DC voltage to supply ``P = v_\text{DC}^2 / r_L`` (based on [the following reference](https://www.sciencedirect.com/science/article/pii/S0142061516000740)). +The following 12-state model Active Load model that measures the AC side using a Phase-Lock-Loop (PLL) and regulates a DC voltage to supply a resistor $r_L$. This model induces a CPL-like behavior as it tries to maintain a fixed DC voltage to supply ``P = v_\text{DC}^2 / r_L``. The model is based on [the following reference](https://www.sciencedirect.com/science/article/pii/S0142061516000740). -```math The complete model is given by: +```math \begin{align} \dot{\theta} &= \Omega_b (\omega_\text{pll} - \omega_s) \tag{4a} \\ \dot{\epsilon} &= v_\text{o}^\q \tag{4b}\\ From 0dcf032fbf6f971eaef22b7c429ed0c9c96507d6 Mon Sep 17 00:00:00 2001 From: rodrigomha Date: Tue, 2 Apr 2024 16:30:10 -0700 Subject: [PATCH 5/7] typo on dq axes --- docs/src/component_models/loads.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/src/component_models/loads.md b/docs/src/component_models/loads.md index 475aa03a5..9e6663c82 100644 --- a/docs/src/component_models/loads.md +++ b/docs/src/component_models/loads.md @@ -170,15 +170,15 @@ The complete model is given by: ```math \begin{align} \dot{\theta} &= \Omega_b (\omega_\text{pll} - \omega_s) \tag{4a} \\ - \dot{\epsilon} &= v_\text{o}^\q \tag{4b}\\ - \omega_\text{pll} &= \omega^\star + k^p_\text{pll} v_\text{o}^\q + k_\text{pll}^i \epsilon \tag{4c}\\ + \dot{\epsilon} &= v_\text{o}^q \tag{4b}\\ + \omega_\text{pll} &= \omega^\star + k^p_\text{pll} v_\text{o}^q + k_\text{pll}^i \epsilon \tag{4c}\\ \dot{\zeta} &= v_\text{DC}^\star - v_\text{DC} \tag{4d} \\ i_\text{cv}^{\d,\star} &= k_\text{DC}^p ( v_\text{DC}^\star - v_\text{DC}) + k_\text{DC}^i \zeta \tag{4e} \\ \frac{c_\text{DC}}{\Omega_b} \dot{v}_\text{DC} &= \frac{p_\text{cv}}{v_\text{DC}} - \frac{v_\text{DC}}{r_L} \tag{4f} \\ - \dot{\gamma}_\d &= i_\text{cv}^\d - i_\text{cv}^{\d,\star} \tag{4g}\\ - \dot{\gamma}_\q &= i_\text{cv}^\q - i_\text{cv}^{\q,\star} \tag{4h} \\ - v_\text{cv}^{\d,\star} &= k_\text{pc}( i_\text{cv}^\d - i_\text{cv}^{\d,\star}) + k_\text{ic} \gamma_\d + \omega_\text{pll} l_f i_\text{cv}^\q \tag{4i}\\ - v_\text{cv}^{\q,\star} &= k_\text{pc}( i_\text{cv}^\q - i_\text{cv}^{\q,\star}) + k_\text{ic} \gamma_\q - \omega_\text{pll} l_f i_\text{cv}^\d \tag{4j} + \dot{\gamma}_d &= i_\text{cv}^d - i_\text{cv}^{d,\star} \tag{4g}\\ + \dot{\gamma}_q &= i_\text{cv}^q - i_\text{cv}^{q,\star} \tag{4h} \\ + v_\text{cv}^{d,\star} &= k_\text{pc}( i_\text{cv}^d - i_\text{cv}^{\d,\star}) + k_\text{ic} \gamma_d + \omega_\text{pll} l_f i_\text{cv}^q \tag{4i}\\ + v_\text{cv}^{q,\star} &= k_\text{pc}( i_\text{cv}^q - i_\text{cv}^{q,\star}) + k_\text{ic} \gamma_q - \omega_\text{pll} l_f i_\text{cv}^d \tag{4j} \end{align} ``` Equations (4a)--(4c) describes the PLL dynamics to lock the active load to the grid. Equations (4d)-(4e) describes the DC Voltage Controller to steer the DC voltage to ``v_\text{DC}^\star``, while equation (4f) describes the DC voltage dynamics at the capacitor assuming an ideal converter. Finally, equations (4g)--(4j) describes the dynamics of the AC Current Controller. Additionally six states are defined for the LCL filter in a similar fashion of GFM inverters. \ No newline at end of file From 0af3e8557bccdaa5e7401eb53ad3ed939212b82c Mon Sep 17 00:00:00 2001 From: rodrigomha Date: Tue, 2 Apr 2024 16:47:00 -0700 Subject: [PATCH 6/7] last typo on d axis --- docs/src/component_models/loads.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/component_models/loads.md b/docs/src/component_models/loads.md index 9e6663c82..c1bece741 100644 --- a/docs/src/component_models/loads.md +++ b/docs/src/component_models/loads.md @@ -173,11 +173,11 @@ The complete model is given by: \dot{\epsilon} &= v_\text{o}^q \tag{4b}\\ \omega_\text{pll} &= \omega^\star + k^p_\text{pll} v_\text{o}^q + k_\text{pll}^i \epsilon \tag{4c}\\ \dot{\zeta} &= v_\text{DC}^\star - v_\text{DC} \tag{4d} \\ - i_\text{cv}^{\d,\star} &= k_\text{DC}^p ( v_\text{DC}^\star - v_\text{DC}) + k_\text{DC}^i \zeta \tag{4e} \\ + i_\text{cv}^{d,\star} &= k_\text{DC}^p ( v_\text{DC}^\star - v_\text{DC}) + k_\text{DC}^i \zeta \tag{4e} \\ \frac{c_\text{DC}}{\Omega_b} \dot{v}_\text{DC} &= \frac{p_\text{cv}}{v_\text{DC}} - \frac{v_\text{DC}}{r_L} \tag{4f} \\ \dot{\gamma}_d &= i_\text{cv}^d - i_\text{cv}^{d,\star} \tag{4g}\\ \dot{\gamma}_q &= i_\text{cv}^q - i_\text{cv}^{q,\star} \tag{4h} \\ - v_\text{cv}^{d,\star} &= k_\text{pc}( i_\text{cv}^d - i_\text{cv}^{\d,\star}) + k_\text{ic} \gamma_d + \omega_\text{pll} l_f i_\text{cv}^q \tag{4i}\\ + v_\text{cv}^{d,\star} &= k_\text{pc}( i_\text{cv}^d - i_\text{cv}^{d,\star}) + k_\text{ic} \gamma_d + \omega_\text{pll} l_f i_\text{cv}^q \tag{4i}\\ v_\text{cv}^{q,\star} &= k_\text{pc}( i_\text{cv}^q - i_\text{cv}^{q,\star}) + k_\text{ic} \gamma_q - \omega_\text{pll} l_f i_\text{cv}^d \tag{4j} \end{align} ``` From e1b6acda7dbd9cec764bd407d4eae0c1754157b1 Mon Sep 17 00:00:00 2001 From: rodrigomha Date: Tue, 2 Apr 2024 16:48:02 -0700 Subject: [PATCH 7/7] cpl remove --- docs/src/component_models/loads.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/component_models/loads.md b/docs/src/component_models/loads.md index c1bece741..9c9ec3842 100644 --- a/docs/src/component_models/loads.md +++ b/docs/src/component_models/loads.md @@ -164,7 +164,7 @@ I_i = \left(\frac{S_\text{motor}}{S_\text{base}}\right) (i_{qs} + v_{ds} B_{sh}) ### Active Constant Power Load Model -The following 12-state model Active Load model that measures the AC side using a Phase-Lock-Loop (PLL) and regulates a DC voltage to supply a resistor $r_L$. This model induces a CPL-like behavior as it tries to maintain a fixed DC voltage to supply ``P = v_\text{DC}^2 / r_L``. The model is based on [the following reference](https://www.sciencedirect.com/science/article/pii/S0142061516000740). +The following 12-state model Active Load model that measures the AC side using a Phase-Lock-Loop (PLL) and regulates a DC voltage to supply a resistor $r_L$. This model induces a constant power load-like behavior as it tries to maintain a fixed DC voltage to supply ``P = v_\text{DC}^2 / r_L``. The model is based on [the following reference](https://www.sciencedirect.com/science/article/pii/S0142061516000740). The complete model is given by: ```math