Externally Excited Synchronous Motor Operation Point Selection
- class gem_controllers.stages.operation_point_selection.eesm_ops.EESMOperationPointSelection(max_modulation_level: float = 1.1547005383792517, modulation_damping: float = 1.2)[source]
This class represents the operation point selection of the torque controller for cascaded control of an externally synchronous motor. The operating point is selected in the analog to that of the PMSM and SynRM, but the excitation current is also included in the optimization of the operating point.
- Parameters
max_modulation_level (float) – Maximum value for the modulation controller.
modulation_damping (float) – Damping of the gain of the modulation controller.
- _calculate_luts()[source]
Calculates the lookup tables for the maximum torque and the optimal currents for a given torque reference.
- _get_psi_idx(psi)[source]
Get the index of the lookup tables for a given flux.
- Parameters
psi (float) – optimal magnetic flux.
- Returns
index of the lookup tables of the currents
- Return type
index(int)
- _get_t_idx(torque)[source]
Get the index of the lookup tables for a given torque.
- Parameters
torque (float) – The clipped torque reference value.
- Returns
index of the lookup tables of the currents
- Return type
index(int)
- _select_operating_point(state, reference)[source]
Calculate the current operation point for a given torque reference value.
- Parameters
state (np.ndarray) – The state of the environment.
reference (np.ndarray) – The reference of the state.
- Returns
references for the current control stage
- Return type
current_reference(np.ndarray)
- solve_analytical(torque, psi, i_e)[source]
Assuming linear magnetization characteristics, the optimal currents for given reference, flux and exitation current can be obtained by solving the reference and flux equations. These lead to a fourth degree polynomial which can be solved analytically.
- Parameters
torque (float) – The torque reference value.
psi (float) – The optimal flux value.
i_e (float) – The excitation current.
- Returns
optimal i_sd current i_q(flaot): optimal i_sq current
- Return type
i_d(float)
- tune(env, env_id, current_safety_margin=0.2)[source]
Tune the operation point selcetion stage.
- Parameters
env (gym_electric_motor.ElectricMotorEnvironment) – The environment to be controlled.
env_id (str) – The id of the environment.
current_safety_margin (float) – Percentage of the current margin to the current limit.