Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
actions-user committed Sep 7, 2024
1 parent 7eec7af commit 781ede9
Show file tree
Hide file tree
Showing 198 changed files with 867 additions and 864 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
5.5-kW PM-SyRM, saturated
=========================
This example simulates sensorless stator-flux-vector control of a 5.5-kW
PM-SyRM (Baldor ECS101M0H7EF4) drive. The machine model is parametrized using
the algebraic saturation model from [#Lel2024]_, fitted to the flux linkage
maps measured using the constant-speed test. For comparison, the measured data
is plotted together with the model predictions. Notice that the control system
used in this example does not consider the saturation, only the system model
This example simulates sensorless stator-flux-vector control of a 5.5-kW
PM-SyRM (Baldor ECS101M0H7EF4) drive. The machine model is parametrized using
the algebraic saturation model from [#Lel2024]_, fitted to the flux linkage
maps measured using the constant-speed test. For comparison, the measured data
is plotted together with the model predictions. Notice that the control system
used in this example does not consider the saturation, only the system model
does.
"""
Expand Down Expand Up @@ -41,11 +41,11 @@
def i_s(psi_s):
"""
Saturation model for a 5.5-kW PM-SyRM.
This model takes into account the bridge saturation in addition to the
regular self- and cross-saturation effects of the d- and q-axis. The bridge
saturation model is based on a nonlinear reluctance element in parallel
with the Norton-equivalent PM model.
This model takes into account the bridge saturation in addition to the
regular self- and cross-saturation effects of the d- and q-axis. The bridge
saturation model is based on a nonlinear reluctance element in parallel
with the Norton-equivalent PM model.
Parameters
----------
Expand All @@ -59,9 +59,9 @@ def i_s(psi_s):
Notes
-----
For simplicity, the saturation model parameters are hard-coded in the
function below. This model can also be used for other PM-SyRMs by changing
the model parameters.
For simplicity, the saturation model parameters are hard-coded in the
function below. This model can also be used for other PM-SyRMs by changing
the model parameters.
"""
# d-axis self-saturation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n# 6.7-kW SyRM, saturated, disturbance estimation\n\nThis example simulates sensorless stator-flux-vector control of a saturated\n6.7-kW synchronous reluctance motor drive. The saturation is not taken into\naccount in the control method (only in the system model). Even if the machine \nhas no magnets, the PM-flux disturbance estimation is enabled [#Tuo2018]_. In \nthis case, this PM-flux estimate lumps the effects of inductance errors. \nNaturally, the PM-flux estimation can be used in PM machine drives as well. \n"
"\n# 6.7-kW SyRM, saturated, disturbance estimation\n\nThis example simulates sensorless stator-flux-vector control of a saturated\n6.7-kW synchronous reluctance motor drive. The saturation is not taken into\naccount in the control method (only in the system model). Even if the machine\nhas no magnets, the PM-flux disturbance estimation is enabled [#Tuo2018]_. In\nthis case, this PM-flux estimate lumps the effects of inductance errors.\nNaturally, the PM-flux estimation can be used in PM machine drives as well.\n"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n# 10-kVA converter, LCL filter\n \nThis example simulates a grid-following-controlled converter connected to a\nstrong grid through an LCL filter. The control system includes a phase-locked\nloop (PLL) to synchronize with the grid, a current reference generator, and a\nPI-type current controller. The dynamics of the LCL filter are not taken into\naccount in the control system.\n"
"\n# 10-kVA converter, LCL filter\n\nThis example simulates a grid-following-controlled converter connected to a\nstrong grid through an LCL filter. The control system includes a phase-locked\nloop (PLL) to synchronize with the grid, a current reference generator, and a\nPI-type current controller. The dynamics of the LCL filter are not taken into\naccount in the control system.\n"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
This example simulates observer-based V/Hz control of a 2.2-kW PMSM drive. The
mechanical subsystem is modeled as a two-mass system. The resonance frequency
of the mechanics is around 85 Hz. The mechanical parameters correspond to
[#Saa2015]_, except that the torsional damping is set to a smaller value in
of the mechanics is around 85 Hz. The mechanical parameters correspond to
[#Saa2015]_, except that the torsional damping is set to a smaller value in
this example.
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n# 12.5-kVA converter, RFPSC\n \nThis example simulates reference-feedforward power-synchronization control \n(RFPSC) of a converter connected to a weak grid. \n"
"\n# 12.5-kVA converter, RFPSC\n\nThis example simulates reference-feedforward power-synchronization control\n(RFPSC) of a converter connected to a weak grid.\n"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
"""
10-kVA converter, DC-bus voltage
================================
This example simulates a grid-following-controlled converter connected to a
strong grid and regulating the DC-bus voltage. The control system includes a
DC-bus voltage controller, a phase-locked loop (PLL) to synchronize with the
strong grid and regulating the DC-bus voltage. The control system includes a
DC-bus voltage controller, a phase-locked loop (PLL) to synchronize with the
grid, a current reference generator, and a PI-type current controller.
"""
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n# 2.2-kW induction motor, diode bridge\n\nA diode bridge, stiff three-phase grid, and a DC link is modeled. The default\nparameters in this example yield open-loop V/Hz control. \n"
"\n# 2.2-kW induction motor, diode bridge\n\nA diode bridge, stiff three-phase grid, and a DC link is modeled. The default\nparameters in this example yield open-loop V/Hz control.\n"
]
},
{
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n# 6.7-kW SyRM, saturated\n\nThis example simulates observer-based V/Hz control of a saturated 6.7-kW\nsynchronous reluctance motor drive. The saturation is not taken into account in \nthe control method (only in the system model).\n"
"\n# 6.7-kW SyRM, saturated\n\nThis example simulates observer-based V/Hz control of a saturated 6.7-kW\nsynchronous reluctance motor drive. The saturation is not taken into account in\nthe control method (only in the system model).\n"
]
},
{
Expand Down Expand Up @@ -51,7 +51,7 @@
},
"outputs": [],
"source": [
"def i_s(psi_s):\n \"\"\"\n Magnetic model for a 6.7-kW synchronous reluctance motor.\n\n Parameters\n ----------\n psi_s : complex\n Stator flux linkage (Vs).\n\n Returns\n -------\n complex\n Stator current (A).\n\n Notes\n -----\n For nonzero `i_f`, the initial value of the stator flux linkage `psi_s0` \n needs to be solved, e.g., as follows::\n\n from scipy.optimize import minimize_scalar\n res = minimize_scalar(\n lambda psi_d: np.abs(\n (a_d0 + a_dd*np.abs(psi_d)**S)*psi_d - i_f))\n psi_s0 = complex(res.x)\n\n \"\"\"\n # Parameters\n a_d0, a_dd, S = 17.4, 373., 5 # d-axis self-saturation\n a_q0, a_qq, T = 52.1, 658., 1 # q-axis self-saturation\n a_dq, U, V = 1120., 1, 0 # Cross-saturation\n i_f = 0 # MMF of PMs\n # Inverse inductance functions\n G_d = a_d0 + a_dd*np.abs(psi_s.real)**S + (\n a_dq/(V + 2)*np.abs(psi_s.real)**U*np.abs(psi_s.imag)**(V + 2))\n G_q = a_q0 + a_qq*np.abs(psi_s.imag)**T + (\n a_dq/(U + 2)*np.abs(psi_s.real)**(U + 2)*np.abs(psi_s.imag)**V)\n # Stator current\n return G_d*psi_s.real - i_f + 1j*G_q*psi_s.imag"
"def i_s(psi_s):\n \"\"\"\n Magnetic model for a 6.7-kW synchronous reluctance motor.\n\n Parameters\n ----------\n psi_s : complex\n Stator flux linkage (Vs).\n\n Returns\n -------\n complex\n Stator current (A).\n\n Notes\n -----\n For nonzero `i_f`, the initial value of the stator flux linkage `psi_s0`\n needs to be solved, e.g., as follows::\n\n from scipy.optimize import minimize_scalar\n res = minimize_scalar(\n lambda psi_d: np.abs(\n (a_d0 + a_dd*np.abs(psi_d)**S)*psi_d - i_f))\n psi_s0 = complex(res.x)\n\n \"\"\"\n # Parameters\n a_d0, a_dd, S = 17.4, 373., 5 # d-axis self-saturation\n a_q0, a_qq, T = 52.1, 658., 1 # q-axis self-saturation\n a_dq, U, V = 1120., 1, 0 # Cross-saturation\n i_f = 0 # MMF of PMs\n # Inverse inductance functions\n G_d = a_d0 + a_dd*np.abs(psi_s.real)**S + (\n a_dq/(V + 2)*np.abs(psi_s.real)**U*np.abs(psi_s.imag)**(V + 2))\n G_q = a_q0 + a_qq*np.abs(psi_s.imag)**T + (\n a_dq/(U + 2)*np.abs(psi_s.real)**(U + 2)*np.abs(psi_s.imag)**V)\n # Stator current\n return G_d*psi_s.real - i_f + 1j*G_q*psi_s.imag"
]
},
{
Expand Down
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
The SyR-e project has been licensed under the Apache License, Version 2.0. We
acknowledge the developers of the SyR-e project. The flux maps from other
sources can be used in a similar manner. It is worth noticing that the
saturation is not taken into account in the control method, only in the system
sources can be used in a similar manner. It is worth noticing that the
saturation is not taken into account in the control method, only in the system
model. Naturally, the control performance could be improved by taking the
saturation into account in the control algorithm.
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n# 5.5-kW PM-SyRM, saturated\n\nThis example simulates sensorless stator-flux-vector control of a 5.5-kW \nPM-SyRM (Baldor ECS101M0H7EF4) drive. The machine model is parametrized using \nthe algebraic saturation model from [#Lel2024]_, fitted to the flux linkage \nmaps measured using the constant-speed test. For comparison, the measured data \nis plotted together with the model predictions. Notice that the control system \nused in this example does not consider the saturation, only the system model \ndoes.\n"
"\n# 5.5-kW PM-SyRM, saturated\n\nThis example simulates sensorless stator-flux-vector control of a 5.5-kW\nPM-SyRM (Baldor ECS101M0H7EF4) drive. The machine model is parametrized using\nthe algebraic saturation model from [#Lel2024]_, fitted to the flux linkage\nmaps measured using the constant-speed test. For comparison, the measured data\nis plotted together with the model predictions. Notice that the control system\nused in this example does not consider the saturation, only the system model\ndoes.\n"
]
},
{
Expand Down Expand Up @@ -51,7 +51,7 @@
},
"outputs": [],
"source": [
"# pylint: disable=too-many-locals\ndef i_s(psi_s):\n \"\"\"\n Saturation model for a 5.5-kW PM-SyRM.\n \n This model takes into account the bridge saturation in addition to the \n regular self- and cross-saturation effects of the d- and q-axis. The bridge \n saturation model is based on a nonlinear reluctance element in parallel \n with the Norton-equivalent PM model. \n\n Parameters\n ----------\n psi_s : complex\n Stator flux linkage (Vs).\n\n Returns\n -------\n complex\n Stator current (A).\n\n Notes\n -----\n For simplicity, the saturation model parameters are hard-coded in the \n function below. This model can also be used for other PM-SyRMs by changing \n the model parameters. \n\n \"\"\"\n # d-axis self-saturation\n a_d0, a_dd, S = 3.96, 28.46, 4\n # q-axis self-saturation\n a_q0, a_qq, T = 5.89, 2.672, 6\n # Cross-saturation\n a_dq, U, V = 41.52, 1, 1\n # PM model and bridge saturation\n a_b, a_bp, k_q, psi_n, W = 81.75, 1, .1, .804, 2\n\n # Inverse inductance functions for the d- and q-axis\n G_d = a_d0 + a_dd*np.abs(psi_s.real)**S + (\n a_dq/(V + 2)*np.abs(psi_s.real)**U*np.abs(psi_s.imag)**(V + 2))\n G_q = a_q0 + a_qq*np.abs(psi_s.imag)**T + (\n a_dq/(U + 2)*np.abs(psi_s.real)**(U + 2)*np.abs(psi_s.imag)**V)\n\n # Bridge flux\n psi_b = psi_s.real - psi_n\n # State of the bridge saturation depends also on the q-axis flux\n psi_b_sat = np.sqrt(psi_b**2 + k_q*psi_s.imag**2)\n # Inverse inductance function for the bridge saturation\n G_b = a_b*psi_b_sat**W/(1 + a_bp*psi_b_sat**W)\n\n # Stator current\n return G_d*psi_s.real + G_b*psi_b + 1j*(G_q + k_q*G_b)*psi_s.imag"
"# pylint: disable=too-many-locals\ndef i_s(psi_s):\n \"\"\"\n Saturation model for a 5.5-kW PM-SyRM.\n\n This model takes into account the bridge saturation in addition to the\n regular self- and cross-saturation effects of the d- and q-axis. The bridge\n saturation model is based on a nonlinear reluctance element in parallel\n with the Norton-equivalent PM model.\n\n Parameters\n ----------\n psi_s : complex\n Stator flux linkage (Vs).\n\n Returns\n -------\n complex\n Stator current (A).\n\n Notes\n -----\n For simplicity, the saturation model parameters are hard-coded in the\n function below. This model can also be used for other PM-SyRMs by changing\n the model parameters.\n\n \"\"\"\n # d-axis self-saturation\n a_d0, a_dd, S = 3.96, 28.46, 4\n # q-axis self-saturation\n a_q0, a_qq, T = 5.89, 2.672, 6\n # Cross-saturation\n a_dq, U, V = 41.52, 1, 1\n # PM model and bridge saturation\n a_b, a_bp, k_q, psi_n, W = 81.75, 1, .1, .804, 2\n\n # Inverse inductance functions for the d- and q-axis\n G_d = a_d0 + a_dd*np.abs(psi_s.real)**S + (\n a_dq/(V + 2)*np.abs(psi_s.real)**U*np.abs(psi_s.imag)**(V + 2))\n G_q = a_q0 + a_qq*np.abs(psi_s.imag)**T + (\n a_dq/(U + 2)*np.abs(psi_s.real)**(U + 2)*np.abs(psi_s.imag)**V)\n\n # Bridge flux\n psi_b = psi_s.real - psi_n\n # State of the bridge saturation depends also on the q-axis flux\n psi_b_sat = np.sqrt(psi_b**2 + k_q*psi_s.imag**2)\n # Inverse inductance function for the bridge saturation\n G_b = a_b*psi_b_sat**W/(1 + a_bp*psi_b_sat**W)\n\n # Stator current\n return G_d*psi_s.real + G_b*psi_b + 1j*(G_q + k_q*G_b)*psi_s.imag"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
"""
12.5-kVA converter, RFPSC
=========================
This example simulates reference-feedforward power-synchronization control
(RFPSC) of a converter connected to a weak grid.
This example simulates reference-feedforward power-synchronization control
(RFPSC) of a converter connected to a weak grid.
"""

Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
2.2-kW PMSM, diode bridge
=========================
This example simulates sensorless current-vector control of a 2.2-kW PMSM
drive, equipped with a diode bridge rectifier.
This example simulates sensorless current-vector control of a 2.2-kW PMSM
drive, equipped with a diode bridge rectifier.
"""
# %%
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
"""
12.5-kVA converter, disturbance observer
========================================
This example simulates a converter using disturbance-observer-based control in
grid-forming mode. The converter output voltage and the active power are
directly controlled, and grid synchronization is provided by the disturbance
grid-forming mode. The converter output voltage and the active power are
directly controlled, and grid synchronization is provided by the disturbance
observer. A transparent current controller is included for current limitation.
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n# 2.2-kW PMSM, 2-mass mechanics\n\nThis example simulates observer-based V/Hz control of a 2.2-kW PMSM drive. The\nmechanical subsystem is modeled as a two-mass system. The resonance frequency\nof the mechanics is around 85 Hz. The mechanical parameters correspond to \n[#Saa2015]_, except that the torsional damping is set to a smaller value in \nthis example.\n"
"\n# 2.2-kW PMSM, 2-mass mechanics\n\nThis example simulates observer-based V/Hz control of a 2.2-kW PMSM drive. The\nmechanical subsystem is modeled as a two-mass system. The resonance frequency\nof the mechanics is around 85 Hz. The mechanical parameters correspond to\n[#Saa2015]_, except that the torsional damping is set to a smaller value in\nthis example.\n"
]
},
{
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
6.7-kW SyRM
===========
This example simulates sensorless current-vector control of a 6.7-kW SyRM
This example simulates sensorless current-vector control of a 6.7-kW SyRM
drive.
"""
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n# 12.5-kVA converter, disturbance observer\n \nThis example simulates a converter using disturbance-observer-based control in\ngrid-forming mode. The converter output voltage and the active power are \ndirectly controlled, and grid synchronization is provided by the disturbance \nobserver. A transparent current controller is included for current limitation.\n"
"\n# 12.5-kVA converter, disturbance observer\n\nThis example simulates a converter using disturbance-observer-based control in\ngrid-forming mode. The converter output voltage and the active power are\ndirectly controlled, and grid synchronization is provided by the disturbance\nobserver. A transparent current controller is included for current limitation.\n"
]
},
{
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
2.2-kW induction motor, 6-step mode
===================================
This example simulates V/Hz control of a 2.2-kW induction motor drive. The
six-step overmodulation is enabled, which increases the fundamental voltage as
well as the harmonics. Since the PWM is not synchronized with the stator
frequency, the harmonic content also depends on the ratio between the stator
This example simulates V/Hz control of a 2.2-kW induction motor drive. The
six-step overmodulation is enabled, which increases the fundamental voltage as
well as the harmonics. Since the PWM is not synchronized with the stator
frequency, the harmonic content also depends on the ratio between the stator
frequency and the sampling frequency.
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"\n# 10-kVA converter, DC-bus voltage\n \nThis example simulates a grid-following-controlled converter connected to a\nstrong grid and regulating the DC-bus voltage. The control system includes a \nDC-bus voltage controller, a phase-locked loop (PLL) to synchronize with the \ngrid, a current reference generator, and a PI-type current controller.\n"
"\n# 10-kVA converter, DC-bus voltage\n\nThis example simulates a grid-following-controlled converter connected to a\nstrong grid and regulating the DC-bus voltage. The control system includes a\nDC-bus voltage controller, a phase-locked loop (PLL) to synchronize with the\ngrid, a current reference generator, and a PI-type current controller.\n"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
====================================
A diode bridge, stiff three-phase grid, and a DC link is modeled. The default
parameters in this example yield open-loop V/Hz control.
parameters in this example yield open-loop V/Hz control.
"""
# %%
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
2.2-kW induction motor, saturated
=================================
This example simulates sensorless current-vector control of a 2.2-kW induction
motor drive. The magnetic saturation of the machine is also included in the
system model, while the control system assumes constant parameters.
This example simulates sensorless current-vector control of a 2.2-kW induction
motor drive. The magnetic saturation of the machine is also included in the
system model, while the control system assumes constant parameters.
"""
# %%
Expand Down
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit 781ede9

Please sign in to comment.