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)

reset()[source]

Reset the EESM operation point selection

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.